{"version":3,"sources":["webpack:///./src/lib/eligibility.ts","webpack:///./src/lib/fraudNet.ts","webpack:///./src/lib/serviceWorker.js","webpack:///./src/store/storeHooks.ts","webpack:///./src/lib/logger/cpl.ts","webpack:///./src/lib/logger/loggerUtils.ts","webpack:///./src/lib/logger/logger.ts","webpack:///./src/lib/customerInteractions/setupCiLogger.ts","webpack:///./src/styles/assetUrls.js","webpack:///./src/styles/commonStyles.ts","webpack:///./src/styles/globalStyles.ts","webpack:///./src/styles/mappings.ts","webpack:///./src/styles/styleUtils.ts","webpack:///./src/styles/theme/controlTheme.ts","webpack:///./src/styles/theme/ppReactTheme.ts","webpack:///./src/styles/theme/utils.ts","webpack:///./src/styles/theme/paypalThemedProvider.tsx","webpack:///./src/styles/styleVariables.ts","webpack:///./generated/graphql.tsx","webpack:///./src/lib/features/utils.ts","webpack:///./src/components/Common/Accordion/StyledComponents.ts","webpack:///./src/components/Common/Accordion/Accordion.tsx","webpack:///./src/components/Common/Alerts/utils.ts","webpack:///./src/components/Common/Alerts/StyledComponents.ts","webpack:///./src/components/Common/Alerts/Alerts.tsx","webpack:///./src/components/Common/Typography/StyledComponents.ts","webpack:///./src/components/Common/Typography/MainHeading.tsx","webpack:///./src/components/Common/Typography/HeadingCentered.tsx","webpack:///./src/components/Common/Typography/SecondaryHeading.tsx","webpack:///./src/components/Common/Typography/SubHeading.tsx","webpack:///./src/components/Common/Typography/Paragraph.tsx","webpack:///./src/components/Common/Typography/Span.tsx","webpack:///./src/components/Common/Containers/StyledComponents.ts","webpack:///./src/components/Common/Containers/ParentContainer.tsx","webpack:///./src/components/Common/Alerts/PageLevelAlert.tsx","webpack:///./src/components/Common/Buttons/StyledComponents.ts","webpack:///./src/components/Common/Buttons/CloseButton.tsx","webpack:///./src/components/Common/Checkbox/StyledComponents.ts","webpack:///./src/components/Common/Checkbox/Checkbox.tsx","webpack:///./src/components/Common/styles.ts","webpack:///./src/components/Common/LoadingElement.tsx","webpack:///./src/components/Common/Components.tsx","webpack:///./src/components/Common/RadioButton/styles.ts","webpack:///./src/components/Common/RadioButton/RadioButton.tsx","webpack:///./src/components/Common/Input/StyledComponents.ts","webpack:///./src/components/Common/Input/MultiBoxInput.tsx","webpack:///./src/components/Common/Link/StyledComponents.ts","webpack:///./src/components/Common/Link/Link.tsx","webpack:///./src/components/Common/List/StyledComponents.ts","webpack:///./src/components/Common/List/ListItem.tsx","webpack:///./src/components/Common/List/List.tsx","webpack:///./src/components/Common/TextElements.tsx","webpack:///./src/lib/features/index.ts","webpack:///./src/lib/constants.ts","webpack:///./src/lib/utils/banners/setDownloadAppBanner.ts","webpack:///./src/lib/utils/browserAutocomplete.ts","webpack:///./src/lib/utils/codeSplitting.js","webpack:///./src/lib/utils/graphql.ts","webpack:///./src/lib/reactHooks/useCookieBannerHeight.ts","webpack:///./src/lib/reactHooks/useCheckInventorySoldout.ts","webpack:///./src/lib/reactHooks/useOnMount.ts","webpack:///./src/lib/reactHooks/useMountLogging.ts","webpack:///./src/lib/reactHooks/useNavigateToBillingPage.ts","webpack:///./src/lib/reactHooks/useNavigateToReceiptPage.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/typeChecks.js","webpack:///./src/lib/features/constants.ts","webpack:///./src/components/Form/util/crsUtils.ts","webpack:///./src/components/Form/util/payloadUtils.ts","webpack:///./src/components/Form/graphql/constants.ts","webpack:///./src/components/Form/util/validations.ts","webpack:///./src/components/Form/constants.ts","webpack:///./src/components/Form/util/formatters.ts","webpack:///./src/components/Form/util/phoneConfirmationUtils.ts","webpack:///./src/lib/utils/typeUtils.ts","webpack:///./src/lib/apollo/cache/cache.ts","webpack:///./src/lib/apollo/links/authLink.ts","webpack:///./src/lib/apollo/links/loggerLink.ts","webpack:///./src/lib/apollo/links/httpLink.ts","webpack:///./src/lib/apollo/links/retryLink.ts","webpack:///./src/lib/apollo/client.ts","webpack:///./src/lib/apollo/links/index.ts","webpack:///./src/lib/customerInteractions/hooks/useOnceSync.tsx","webpack:///./src/lib/customerInteractions/hooks/useCI.tsx","webpack:///./src/lib/customerInteractions/hooks/useEndAndStartCI.tsx","webpack:///./src/store/models/utils.ts","webpack:///./src/components/Form/StyledComponents.ts","webpack:///./src/lib/utils/miscUtils.ts","webpack:///./src/components/Interstitials/AddressNormalizationInterstitial/graphql/queries/addressNormalization.gql.ts","webpack:///./src/components/Interstitials/AddressNormalizationInterstitial/graphql/fragments/normalizedAddresses.gql.ts","webpack:///./src/components/Interstitials/AddressNormalizationInterstitial/graphql/queries/normalizedAddresses.gql.ts","webpack:///./src/components/Interstitials/AddressNormalizationInterstitial/api.ts","webpack:///./src/components/Interstitials/AddressNormalizationInterstitial/mapper.ts","webpack:///./src/components/Form/handlers.js","webpack:///./src/lib/utils/params.ts","webpack:///./src/lib/utils/shipping/v1/index.ts","webpack:///./src/lib/utils/shipping/v2/index.ts","webpack:///./src/lib/utils/shipping/index.ts","webpack:///./src/lib/utils/env.ts","webpack:///./src/components/Common/Spots/StyledComponents.ts","webpack:///./src/components/Common/Spots/Spots.tsx","webpack:///./node_modules/@checkout/react-components/dist/modern/styles/variables.js","webpack:///./src/components/OnboardTerms/utils.ts","webpack:///./src/components/ContactInformation/Email/styles.ts","webpack:///./src/components/Common/ValueAsFieldLabel/StyledComponents.ts","webpack:///./src/components/Common/ValueAsFieldLabel/ValueAsFieldLabel.tsx","webpack:///./src/components/ContactInformation/Email/fpti.ts","webpack:///./src/components/ContactInformation/Email/Email.tsx","webpack:///./src/components/ContactInformation/Name/Name.tsx","webpack:///./src/components/ContactInformation/Phone/CupOtpMessage/StyledComponents.ts","webpack:///./src/components/ContactInformation/Phone/CupOtpMessage/CupOtpMessage.tsx","webpack:///./src/components/ContactInformation/Phone/DialingCodeSelect/styles.ts","webpack:///./src/components/ContactInformation/Phone/DialingCodeSelect/DialingCodeSelect.tsx","webpack:///./src/components/ContactInformation/Phone/PhoneContainer/styles.ts","webpack:///./src/components/ContactInformation/Phone/PhoneContainer/PhoneContainer.tsx","webpack:///./src/components/ContactInformation/Phone/PhoneNumber/styles.ts","webpack:///./src/components/ContactInformation/Phone/PhoneType/constants.ts","webpack:///./src/components/ContactInformation/Phone/PhoneType/utils/validations.ts","webpack:///./src/components/ContactInformation/Phone/PhoneType/PhoneType.tsx","webpack:///./src/components/ContactInformation/Phone/PhoneNumber/graphql/queries/fetchPhoneMetadata.gql.ts","webpack:///./src/components/ContactInformation/Phone/PhoneNumber/utils.ts","webpack:///./src/components/ContactInformation/Phone/PhoneNumber/hooks.ts","webpack:///./src/components/ContactInformation/Phone/PhoneNumber/graphql/operations/fetchPhoneMetadata.ts","webpack:///./src/components/ContactInformation/Phone/PhoneNumber/PhoneNumber.tsx","webpack:///./src/components/ContactInformation/ContactFields/StyledComponents.ts","webpack:///./src/components/ContactInformation/ContactFields/LegalAgeDisclosure.tsx","webpack:///./src/components/ContactInformation/ContactFields/ContactFieldsSection.tsx","webpack:///./src/components/ContactInformation/ContactFields/utils.ts","webpack:///./src/lib/utils/url/constants.ts","webpack:///./src/lib/utils/url/index.ts","webpack:///./src/lib/graphql/operations/queryCheckoutSession.gql.ts","webpack:///./src/lib/utils/redirects/redirects.ts","webpack:///./src/lib/utils/redirects/goToMemberXO.ts","webpack:///./src/lib/content/fetchContent.ts","webpack:///./src/components/Form/util/addressOperations.ts","webpack:///./src/lib/logger/cplUtils.ts","webpack:///./src/lib/features/fpti.ts","webpack:///./src/lib/features/featureEligibility.ts","webpack:///./src/components/Headings/StyledComponents.tsx","webpack:///./src/components/Headings/Heading.tsx","webpack:///./src/components/Form/fpti.ts","webpack:///./src/lib/atomics/atomicConstants.ts","webpack:///./src/lib/atomics/atomicsSetup.ts","webpack:///./src/components/Form/graphql/fragments/buyer.gql.ts","webpack:///./src/components/Form/graphql/fragments/fundingOptions.gql.ts","webpack:///./src/components/Form/graphql/fragments/threeDS2ContingencyData.gql.ts","webpack:///./src/components/Form/graphql/fragments/threeDomainSecure.gql.ts","webpack:///./src/components/Common/Spots/Icons/AlertSpot.tsx","webpack:///./src/components/Common/Spots/Icons/BagHandleSpot.tsx","webpack:///./src/components/Common/Spots/Icons/BlueCheckmark.tsx","webpack:///./src/components/Common/Spots/Icons/CartSpot.tsx","webpack:///./src/components/Common/Spots/Icons/CheckMarkV2.tsx","webpack:///./src/components/Common/Spots/Icons/ChevronIcon.tsx","webpack:///./src/components/Common/Spots/Icons/CloseSmIcon.tsx","webpack:///./src/components/Common/Spots/Icons/GreyTrophy.tsx","webpack:///./src/components/Common/Spots/Icons/LockSpot.tsx","webpack:///./src/components/Common/Spots/Icons/MobileSpot.tsx","webpack:///./src/components/Common/Spots/Icons/InfoSpot.tsx","webpack:///./src/components/Common/Spots/Icons/InfoSpotV2.tsx","webpack:///./src/components/Common/Spots/Icons/PhoneSpot.tsx","webpack:///./src/components/Common/Spots/Icons/ShieldCheckSpot.tsx","webpack:///./src/components/Common/Spots/Icons/ShieldEmptySpot.tsx","webpack:///./src/components/Common/Spots/Icons/ShieldLockSpot.tsx","webpack:///./src/components/Common/Spots/Icons/ShieldSpot.tsx","webpack:///./src/components/Common/Spots/Icons/StampPercentSpot.tsx","webpack:///./src/components/Common/Spots/Icons/StepTwoSpot.tsx","webpack:///./src/components/Common/Spots/Icons/StepOneSpot.tsx","webpack:///./src/components/Common/Spots/Icons/TrackingSpot.tsx","webpack:///./src/components/Common/Spots/Icons/TrackingNewSpot.tsx","webpack:///./src/components/Common/Spots/Icons/TrophySpot.tsx","webpack:///./src/components/Common/Spots/Icons/TrophyNewSpot.tsx","webpack:///./src/components/Common/Spots/Icons/OFACInfoIcon.tsx","webpack:///./src/components/Form/util/formOperations.ts","webpack:///./src/components/Billing/Components.tsx","webpack:///./src/lib/graphql/fragments/addressMetadata.gql.ts","webpack:///./src/lib/graphql/fragments/cartAmounts.gql.ts","webpack:///./src/lib/graphql/fragments/cartItems.gql.ts","webpack:///./src/lib/graphql/fragments/shippingMethods.gql.ts","webpack:///./src/lib/graphql/fragments/cartDonePage.gql.ts","webpack:///./src/lib/graphql/fragments/completedPaymentInfo.gql.ts","webpack:///./src/lib/graphql/fragments/cartOvercapture.gql.ts","webpack:///./src/lib/graphql/fragments/cartSubscription.gql.ts","webpack:///./src/lib/apollo/utils.ts","webpack:///./src/components/Form/formInputHandlers.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/constants.js","webpack:///./src/types.ts","webpack:///./src/store/models/constants.ts","webpack:///./src/components/SignupFields/LegalDisclosures/Components.tsx","webpack:///./src/lib/logger/fptiPayloads.ts","webpack:///./src/components/CRSFields/constants.ts","webpack:///./src/lib/utils/globalsUtils.js","webpack:///./src/lib/globals/globals.ts","webpack:///./src/lib/errors/constants.ts","webpack:///./src/components/OnboardTerms/StreamlineOnboardTerms/streamlineTermsEmbeddedLinks.tsx","webpack:///./src/lib/customerInteractions/constants.ts","webpack:///./src/lib/customerInteractions/ci.ts","webpack:///./src/components/Form/util/miscUtils.ts","webpack:///./src/components/VenmoMessage/constants.ts","webpack:///./src/components/Billing/StyledComponents.ts","webpack:///./src/components/Button/StyledComponents.ts","webpack:///./src/components/Button/hooks/useButtonCurrencyCode.ts","webpack:///./src/components/Button/hooks/useSubmitButtonContent.ts","webpack:///./src/components/Button/utils.ts","webpack:///./src/components/Button/Button.tsx","webpack:///./src/components/Button/hooks/useInterstitialOpen.ts","webpack:///./src/components/Button/fpti.ts","webpack:///./src/components/OnboardTerms/constants.ts","webpack:///./src/components/Billing/utils/incontext.ts","webpack:///./src/components/Billing/utils/miscUtils.ts","webpack:///./src/lib/utils/incontext/index.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/objectUtils.js","webpack:///./src/components/Common/Alerts/constants.ts","webpack:///./src/lib/content/content.ts","webpack:///./src/components/Form/graphql/responseHandlers.js","webpack:///./src/components/Form/graphql/mutations/approveOnboardPayment.gql.ts","webpack:///./src/components/Form/graphql/mutations/createMemberAccount.gql.ts","webpack:///./src/components/Form/graphql/mutations/createOnboardingPaymentPlan.gql.ts","webpack:///./src/components/Form/graphql/mutations/onboardGuest.gql.ts","webpack:///./src/components/Form/graphql/mutations/signUpNewMember.gql.ts","webpack:///./src/components/Form/graphql/mutations/preAuthorizePayment.gql.ts","webpack:///./src/components/Form/graphql/getMutationName.ts","webpack:///./src/components/Form/graphql/onboardAction.js","webpack:///./src/components/Form/graphql/isGuestMemberBenefitsEligible.gql.ts","webpack:///./src/components/SignupFields/KYCFields/Nationality/StyledComponents.ts","webpack:///./src/lib/apollo/constants.ts","webpack:///./src/lib/graphql/queries/appDownloadBanner.gql.ts","webpack:///./src/lib/graphql/queries/addressMetadata.gql.ts","webpack:///./src/lib/graphql/queries/checkoutSession.gql.ts","webpack:///./src/lib/graphql/queries/griffinMetadata.gql.ts","webpack:///./src/lib/graphql/queries/guestUpgradeableToMemberQuery.gql.ts","webpack:///./src/lib/graphql/queries/wpsDonePage.gql.ts","webpack:///./src/lib/graphql/queries/currencyConversionFromCreditCard.gql.ts","webpack:///./src/components/SignupFields/PrimaryResidentialAddress/styles.ts","webpack:///./src/components/SignupFields/PrimaryResidentialAddress/handlers.ts","webpack:///./src/components/SignupFields/PrimaryResidentialAddress/fpti.ts","webpack:///./src/components/SignupFields/PrimaryResidentialAddress/PrimaryResidentialAddress.tsx","webpack:///./src/components/SignupFields/styles.ts","webpack:///./src/components/SignupFields/SignupFields.tsx","webpack:///./src/components/SignupFields/PrimaryResidentialAddress/hooks.ts","webpack:///./src/lib/emailLookup/fpti/iwcEmailLookupFpti.ts","webpack:///./src/lib/emailLookup/iwcEmailLookup.ts","webpack:///./src/lib/emailLookup/fpti/xobuyerLookupFpti.ts","webpack:///./src/lib/emailLookup/emailLookup.ts","webpack:///./src/lib/emailLookup/handleSignupSuppress.ts","webpack:///./src/lib/emailLookup/iwcAutofillEmailLookup.ts","webpack:///./src/lib/utils/shipping/constants.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/stringUtils.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/LoadingElement.js","webpack:///./src/lib/utils/currencyConversion/fpti.ts","webpack:///./src/lib/graphql/operations/currencyConversion/conditionallyFetchConversionData.ts","webpack:///./src/lib/graphql/operations/currencyConversion/getCurrencyConversionData.ts","webpack:///./src/components/Landing/constants.ts","webpack:///./src/lib/experiments/resolvers/constants.ts","webpack:///./src/lib/experiments/resolvers/contentExperiments.ts","webpack:///./src/lib/experiments/resolvers/featureExperiments.ts","webpack:///./src/lib/experiments/getExperiment.ts","webpack:///./src/components/Locale/Country/Dropdown/styles.ts","webpack:///./src/components/Locale/Country/Dropdown/Dropdown.tsx","webpack:///./src/components/Locale/Country/Text/StyledComponents.ts","webpack:///./src/components/Locale/Country/Text/Text.tsx","webpack:///./src/components/Locale/Country/Selector/Selector.tsx","webpack:///./src/components/Locale/Language/shared/eventHandlers.ts","webpack:///./src/components/Locale/Language/Dropdown/styles.ts","webpack:///./src/components/Locale/Language/Dropdown/StyledComponents.ts","webpack:///./src/components/Locale/Language/List/StyledComponents.ts","webpack:///./src/components/Locale/Language/List/List.tsx","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PasswordInput/constants.js","webpack:///./src/lib/utils/terms/index.ts","webpack:///./src/components/SignupFields/LegalDisclosures/PrivacyStatement/StyledComponents.ts","webpack:///./src/lib/globals/constants.ts","webpack:///./src/components/Layout/StyledComponents.js","webpack:///./src/components/Locale/shared/graphql/queries/cookieBanner.gql.ts","webpack:///./src/components/Locale/shared/graphql/operations/queryCookieBanner.ts","webpack:///./src/components/Locale/shared/fpti.ts","webpack:///./src/components/Locale/shared/utils/cookieBanner.ts","webpack:///./src/components/Address/constants.ts","webpack:///./src/lib/utils/currencyConversion/constants.ts","webpack:///./src/lib/utils/currencyConversion/index.ts","webpack:///./src/lib/logger/fpti.ts","webpack:///./src/components/Locale/Country/shared/constants.ts","webpack:///./src/components/Locale/Country/shared/graphql/lenses/getSuggestedDefaultLanguageForCountry.ts","webpack:///./src/components/Locale/Country/shared/fpti.ts","webpack:///./src/components/Locale/Country/shared/eventHandlers.ts","webpack:///./src/components/Shipping/graphql/mutations/updateCallbackOptions.gql.ts","webpack:///./src/components/Shipping/graphql/mutations/updateProfileShippingOptions.gql.ts","webpack:///./src/components/Form/threeDSHandler.js","webpack:///./src/components/Billing/fpti.ts","webpack:///./src/lib/utils/shipping/fpti.ts","webpack:///./src/components/Layout/constants.ts","webpack:///./src/components/Layout/styles.ts","webpack:///./src/components/Common/Images.tsx","webpack:///./src/components/Layout/Components.tsx","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/miscUtils.js","webpack:///./src/hooks/shippingCallbacks/v1/useShippingChange.ts","webpack:///./src/hooks/shippingCallbacks/v1/useShippingChangeCallback.ts","webpack:///./src/hooks/shippingCallbacks/v2/useShippingAddressChangeCallback.ts","webpack:///./src/hooks/shippingCallbacks/v2/useShippingAddressChange.js","webpack:///./src/hooks/shippingCallbacks/useShippingAddressCallbacks.ts","webpack:///./src/components/Shipping/fpti.js","webpack:///./src/lib/utils/responseMappers/index.js","webpack:///./src/components/PasswordlessOnboarding/utils.tsx","webpack:///./src/lib/weasleyEligibility/graphql/queries/weasleyEligibilityQuery.gql.ts","webpack:///./src/lib/weasleyEligibility/constants.ts","webpack:///./src/lib/weasleyEligibility/getWeasleyEligibility.ts","webpack:///./src/components/App/LoadingSpinnerFromIndexFile.tsx","webpack:///./src/components/Common/StyledComponents.tsx","webpack:///./src/components/Common/PageMessages/styles.ts","webpack:///./src/components/Common/PageMessages/InfoMessage.tsx","webpack:///./src/lib/logger/cplHelperFunctions.ts","webpack:///./src/components/Billing/styles.ts","webpack:///./src/components/App/graphql/queries/checkoutSessionData.gql.ts","webpack:///./src/components/App/api.js","webpack:////home/jenkins/agent/workspace/checkoutweb__client-only/c3/utils/c3-init-fraudnet/src/fraudNet.ts","webpack:///./src/components/App/utils/miscUtils.js","webpack:///./src/components/App/utils/prefillFields.js","webpack:///./src/components/App/utils/responseMappers.js","webpack:////home/jenkins/agent/workspace/checkoutweb__client-only/c3/utils/c3-shared-globals/src/globals.ts","webpack:////home/jenkins/agent/workspace/checkoutweb__client-only/c3/utils/c3-shared-globals/src/enums.ts","webpack:///./src/lib/health-check/health-utils.ts","webpack:///./src/lib/health-check/scoreCard.ts","webpack:///./src/lib/health-check/sendScoreCard.ts","webpack:///./src/lib/health-check/index.ts","webpack:///./src/components/Form/graphql/errorHandlers.js","webpack:///./src/components/PasswordlessOnboarding/styles.tsx","webpack:///./src/components/PasswordlessOnboarding/StyledComponents.tsx","webpack:///./src/components/PasswordlessOnboarding/Components.tsx","webpack:///./src/components/Form/graphql/api.ts","webpack:///./src/components/Common/Spots/Icons/CheckMark.tsx","webpack:///./src/components/Interstitials/AddressNormalizationInterstitial/fpti.ts","webpack:///./src/components/Landing/applepay/utils.ts","webpack:///./src/components/Footer/utils.tsx","webpack:///./src/store/models/api/api.ts","webpack:///./src/store/models/types.ts","webpack:///./src/store/models/form/form.ts","webpack:///./src/store/models/ui/ui.ts","webpack:///./src/store/models/user/user.ts","webpack:///./src/store/models/index.ts","webpack:///./src/lib/browser/featureDetection.ts","webpack:///./src/lib/browser/performanceTiming.ts","webpack:///./src/components/Common/Spinner/utils.ts","webpack:///./src/components/Billing/constants.ts","webpack:///./src/components/OnboardTerms/StyledComponents.tsx","webpack:///./src/components/BillingTerms/constants.ts","webpack:///./src/components/BillingTerms/fpti.ts","webpack:///./src/components/BillingTerms/Components.tsx","webpack:///./src/components/BillingTerms/utils.ts","webpack:///./src/components/BillingTerms/styles.ts","webpack:///./src/components/BillingTerms/BillingTerms.tsx","webpack:///./src/components/OnboardTerms/StreamlineOnboardTerms/StreamlineOnboardTerms.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/StreamlineLegalDisclosures/StreamlineLegalDisclosures.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/MarketingOptIn/MarketingOptIn.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/MarketingOptIn/utils.ts","webpack:///./src/components/Form/util/checkMemberBenefits.js","webpack:///./src/components/OnboardTerms/styles.ts","webpack:///./src/components/OnboardTerms/OnboardTermsWithCheckbox.tsx","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FullName/validations.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/DateOfBirth/utils.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/SVGIcons.js","webpack:///./src/components/Shipping/utils.ts","webpack:///./src/components/Common/Icons.tsx","webpack:///./src/lib/errors/utils.ts","webpack:///./src/lib/errors/mappings/postAccountCreationErrors.ts","webpack:///./src/lib/errors/mappings/preAccountCreationErrors.ts","webpack:///./src/lib/errors/handlers.ts","webpack:///./src/lib/errors/handleApiError.ts","webpack:///./src/components/Header/utils.js","webpack:///./src/components/Header/StyledComponents.js","webpack:///./src/components/Header/Header.jsx","webpack:///./src/components/Layout/Layout.tsx","webpack:///./src/components/Shipping/graphql/lenses/utils.js","webpack:///./src/components/Shipping/graphql/lenses/mapCallbackShippingMethodsInput.js","webpack:///./src/components/Shipping/graphql/lenses/mapProfileShippingMethodsInput.js","webpack:///./src/components/Shipping/graphql/operations/updateShippingOptions.js","webpack:///./src/components/Common/Spots/Icons/PurchaseIcon.jsx","webpack:///./src/components/Common/Spinner/StyledComponents.ts","webpack:///./src/components/Common/Spinner/Spinner.tsx","webpack:///./src/components/Common/Spinner/TransitionSpinnerContainer.tsx","webpack:///./src/lib/features/features.ts","webpack:///./src/lib/utils/flow/index.ts","webpack:///./src/store/store.ts","webpack:///./src/store/utils.ts","webpack:///./src/lib/utils/login.ts","webpack:///./src/lib/icons.ts","webpack:///./src/components/Form/util/logFunctions.ts","webpack:///./src/components/Shipping/graphql/queries/profileShippingOptions.gql.ts","webpack:///./src/components/Form/hooks/useFilteredFormState.ts","webpack:///./src/components/Locale/Country/shared/graphql/operations/queryInitialData.ts","webpack:///./src/components/Locale/Country/shared/graphql/operations/readSuggestedLanguagesQuery.ts","webpack:///./src/components/Shipping/graphql/lenses/getShippingMethodsToStoreInState.js","webpack:///./src/components/Shipping/graphql/operations/clearShippingAndTaxes.js","webpack:///./src/components/Shipping/graphql/operations/calculateShippingAndTaxes.ts","webpack:///./src/lib/features/config.ts","webpack:///./src/lib/features/resolvers.ts","webpack:///./src/components/Locale/Country/shared/graphql/queries/suggestedDefaultLanguages.gql.ts","webpack:///./src/components/Shipping/graphql/queries/calculateShippingAndTaxes.gql.ts","webpack:///./src/components/OnboardTerms/OnboardTerms.tsx","webpack:///./src/lib/utils/constants.ts","webpack:///./src/components/Common/Spinner/fpti.ts","webpack:///./src/initialDataQuery.graphql","webpack:///./src/components/Interstitials/MemberBenefitsInterstitial/memberBenefitsMutation.gql.ts","webpack:///./src/components/Locale/Country/shared/helpers.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FloatingLabelInput/utils.js","webpack:///./src/components/OnboardTerms/Components.tsx","webpack:///./src/components/SignupFields/Components.tsx","webpack:///./src/lib/reactHooks/useNationalityOptions.tsx","webpack:///./src/components/SignupFields/PasswordInput/index.js","webpack:///./src/components/SignupFields/LegalDisclosures/styledComponents.ts","webpack:///./src/components/SignupFields/SelectAllTerms/index.tsx","webpack:///./src/components/Form/PayNowForm/PaymentServiceActAuthText/StyledComponents.ts","webpack:///./src/components/Form/PayNowForm/PaymentServiceActAuthText/PaymentServiceActAuthText.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/LegalDisclosures.tsx","webpack:///./src/components/Locale/Country/Dropdown/utils.ts","webpack:///./src/components/Locale/Country/Dropdown/handlers.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FloatingLabelInput/styledComponents.js","webpack:///./src/components/CRSFields/fpti.ts","webpack:///./src/components/Landing/applepay/index.ts","webpack:///./src/components/Interstitials/ResidentialAddress/utils.ts","webpack:///./src/components/SignupFields/KYCFields/Gender/constants.tsx","webpack:///./src/components/SignupFields/KYCFields/IdentityDocumentNumber/utils.ts","webpack:///./src/components/SignupFields/KYCFields/IdentityDocumentNumber/handlers.js","webpack:///./src/components/SignupFields/KYCFields/IdentityDocumentNumber/validation.ts","webpack:///./src/components/SignupFields/KYCFields/IdentityDocumentType/utils.js","webpack:///./src/components/SignupFields/KYCFields/IdentityDocumentType/handlers.js","webpack:///./src/components/SignupFields/KYCFields/Nationality/fpti.ts","webpack:///./src/components/SignupFields/KYCFields/Nationality/NationalitySelect.tsx","webpack:///./src/components/SignupFields/KYCFields/Nationality/NationalitySelectBox.tsx","webpack:///./src/components/SignupFields/KYCFields/Occupation/utils.ts","webpack:///./src/components/SignupFields/KYCFields/SecondaryIdentityDocumentNumber/validation.ts","webpack:///./src/components/SignupFields/KYCFields/KYCFields.tsx","webpack:///./src/components/SignupFields/KYCFields/CountryOfResidence/CountryOfResidence.tsx","webpack:///./src/components/SignupFields/KYCFields/DateOfBirth/DateOfBirth.tsx","webpack:///./src/components/SignupFields/KYCFields/Gender/Gender.tsx","webpack:///./src/components/SignupFields/KYCFields/IdentityDocumentNumber/IdentityDocumentNumber.tsx","webpack:///./src/components/SignupFields/KYCFields/IdentityDocumentType/IdentityDocumentType.tsx","webpack:///./src/components/SignupFields/KYCFields/Nationality/Nationality.tsx","webpack:///./src/components/SignupFields/KYCFields/Occupation/Occupation.tsx","webpack:///./src/components/SignupFields/KYCFields/PlaceOfBirth/PlaceOfBirth.tsx","webpack:///./src/components/SignupFields/KYCFields/SecondaryIdentityDocumentNumber/SecondaryIdentityDocumentNumber.tsx","webpack:///./src/components/SignupFields/KYCFields/SecondaryIdentityDocumentType/SecondaryIdentityDocumentType.tsx","webpack:///./src/components/VenmoMessage/utils.ts","webpack:///./src/components/VenmoMessage/styles.ts","webpack:///./src/components/VenmoMessage/VenmoHeader/VenmoHeader.tsx","webpack:///./src/components/VenmoMessage/VenmoOverlay/StyledComponents.tsx","webpack:///./src/components/VenmoMessage/VenmoOverlay/VenmoOverlay.tsx","webpack:///./src/components/VenmoMessage/fpti.ts","webpack:///./src/components/VenmoMessage/VenmoMessage.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/SepaMandate/graphql/mutations/createBankAccountCandidate.gql.ts","webpack:///./src/components/SignupFields/LegalDisclosures/SepaMandate/handlers.ts","webpack:///./src/components/SignupFields/LegalDisclosures/SepaMandate/api.ts","webpack:///./src/components/SignupFields/LegalDisclosures/SepaMandate/StyledComponents.ts","webpack:///./src/components/SignupFields/LegalDisclosures/SepaMandate/SepaMandate.tsx","webpack:///./src/components/ConsumerAddBankForm/graphql/queries/consumerFlowId.gql.ts","webpack:///./src/components/ConsumerAddBankForm/hooks.ts","webpack:///./src/components/ConsumerAddBankForm/StyledComponents.ts","webpack:///./src/components/ConsumerAddBankForm/ConsumerAddBankForm.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/RightOfWithdrawal/styles.ts","webpack:///./src/components/SignupFields/LegalDisclosures/RightOfWithdrawal/RightOfWithdrawal.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/PrivacyStatement/PrivacyStatement.tsx","webpack:///./src/components/SignupFields/LegalDisclosures/PrivacyStatement/utils.ts","webpack:///./src/components/SignupFields/SelectAllTerms/StyledComponents.ts","webpack:///./src/components/SignupFields/SelectAllTerms/SelectAllTerms.tsx","webpack:///./src/components/SignupFields/SelectAllTerms/handlers.ts","webpack:///./src/components/Header/styles.js","webpack:///./src/components/Header/hooks.js","webpack:///./src/components/SignupFields/LegalDisclosures/UniqueInformationProcessing/UniqueInformationProcessing.tsx","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PhoneInput/phoneUtils.js","webpack:///./src/components/Address/utils.js","webpack:///./src/components/CRSFields/utils.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/commonStyles.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/CurrencyConversionOptions/styles.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/CurrencyConversionOptions/constants.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/CurrencyConversionOptions/StyledComponents.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/CurrencyConversionOptions/Components.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/CurrencyConversionOptions/CurrencyConversionOptions.js","webpack:///./src/components/PaymentInformation/CardFields/CurrencyConversion/StyledComponents.js","webpack:///./src/components/PaymentInformation/CardFields/CurrencyConversion/Components.jsx","webpack:///./src/components/PaymentInformation/CardFields/CurrencyConversion/utils.tsx","webpack:///./src/components/PaymentInformation/CardFields/CurrencyConversion/constants.ts","webpack:///./src/components/PaymentInformation/CardFields/CurrencyConversion/fpti.js","webpack:///./src/components/PaymentInformation/CardFields/CurrencyConversion/CurrencyConversion.jsx","webpack:///./src/lib/utils/redirects/goToAuthflow.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CardFields/CardDate/constants.js","webpack:///./src/components/Address/styles.ts","webpack:///./src/components/PaymentInformation/CardFields/CardIconsBar/Components.jsx","webpack:///./src/components/SignupFields/LegalDisclosures/ThirdPartyDataConsent/ThirdPartyDataConsent.tsx","webpack:///./src/components/Interstitials/MemberBenefitsInterstitial/hooks/useMemberMatchContent.ts","webpack:///./src/components/Header/CartDropdown/subscriptionUtils.ts","webpack:///./src/components/Interstitials/ResidentialAddress/fpti.ts","webpack:///./src/components/Footer/constants.tsx","webpack:///./src/components/Locale/Country/SelectionMenu/StyledComponents.tsx","webpack:///./src/components/Locale/Country/SelectionMenu/CountrySelectionMenu.tsx","webpack:///./src/components/Footer/StyledComponents.tsx","webpack:///./src/components/Footer/styles.tsx","webpack:///./src/components/Footer/Components.tsx","webpack:///./src/components/Footer/Footer.tsx","webpack:///./src/components/Locale/Country/Interstitial/StyledComponents.ts","webpack:///./src/components/Locale/Country/Interstitial/styles.ts","webpack:///./src/components/Locale/Country/Interstitial/Interstitial.tsx","webpack:///./src/components/Interstitials/MemberBenefitsInterstitial/hooks/useCheckoutAsGuest.ts","webpack:///./src/components/Interstitials/MemberBenefitsInterstitial/hooks/useCheckoutAsMember.ts","webpack:///./src/components/Interstitials/MemberBenefitsInterstitial/hooks/useCheckMemberBenefits.ts","webpack:///./src/components/Receipt/WPSLazyReceiptPage.tsx","webpack:///./src/components/Landing/applepay/fpti.ts","webpack:///./src/lib/reactHooks/useApplePay.ts","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PhoneInput/PhoneInput/validatePhone.js","webpack:///./src/components/CheckoutIncentives/StyledComponents.ts","webpack:///./src/components/CheckoutIncentives/AccountBenefits.tsx","webpack:///./src/components/CheckoutIncentives/PurchaseProtection.tsx","webpack:///./src/components/CheckoutIncentives/StretchRewards.tsx","webpack:///./src/components/CheckoutIncentives/ExpandedValueProps.tsx","webpack:///./src/components/Form/Components.jsx","webpack:///./src/components/DisabledMask/StyledComponents.ts","webpack:///./src/components/DisabledMask/DisabledMask.tsx","webpack:///./src/components/PaymentInformation/LazyComponents.jsx","webpack:///./src/components/Form/PayNowForm/PayLaterTextLink/fpti.ts","webpack:///./src/components/Form/PayNowForm/PayLaterTextLink/PayLaterTextLink.tsx","webpack:///./src/components/Form/PayNowForm/styles.ts","webpack:///./src/components/Form/SignupFlow/FormSubmission/fpti.ts","webpack:///./src/components/Form/SignupFlow/FormSubmission/Components.tsx","webpack:///./src/components/Form/SignupFlow/FormSubmission/FormSubmission.tsx","webpack:///./src/components/OnboardOptions/StyledComponents.ts","webpack:///./src/components/GuestTermsAndLegalDisclosure/GuestTermsAndLegalDisclosure.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/ForcedGuest/ForcedGuest.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/constants.ts","webpack:///./src/components/OnboardOptions/StreamlineOnboardOptions/StyledComponents.ts","webpack:///./src/components/OnboardOptions/StreamlineOnboardOptions/utils.ts","webpack:///./src/components/CheckoutIncentives/Icons.tsx","webpack:///./src/components/CheckoutIncentives/Components.tsx","webpack:///./src/components/CheckoutIncentives/fpti.ts","webpack:///./src/components/CheckoutIncentives/CheckoutIncentives.tsx","webpack:///./src/components/CheckoutIncentives/handlers.ts","webpack:///./src/components/OnboardOptions/StreamlineOnboardOptions/fpti.ts","webpack:///./src/components/OnboardOptions/StreamlineOnboardOptions/StreamlineOnboardOptions.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/Streamline/Streamline.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/ForcedPassword/ForcedPassword.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/ForcedPasswordless/ForcedPasswordless.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/ForcedSignup.tsx","webpack:///./src/components/OnboardOptions/styles.ts","webpack:///./src/components/OnboardOptions/utils.ts","webpack:///./src/components/OnboardOptions/OnboardOptions.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/OptionalPassword/OptionalPassword.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/OptionalPasswordless/OptionalPasswordless.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/OptionalSignup.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/flows/POMA/POMA.tsx","webpack:///./src/components/Form/SignupFlow/FlowTypes/FlowTypes.tsx","webpack:///./src/components/Form/LogBrowserAutoComplete/StyledComponents.ts","webpack:///./src/components/Form/LogBrowserAutoComplete/LogBrowserAutoComplete.tsx","webpack:///./src/components/Form/hooks/useHandleFormFocus.ts","webpack:///./src/components/Interstitials/ResidentialAddress/LazyResidentialAddress.tsx","webpack:///./src/components/Common/PageLevelAlert/PageLevelAlert.tsx","webpack:///./src/components/Common/PageLevelAlert/GuestIneligibleAlert/StyledComponents.tsx","webpack:///./src/components/Common/PageLevelAlert/GuestIneligibleAlert/GuestIneligibleAlert.tsx","webpack:///./src/components/Form/PayNowForm/PayNowForm.tsx","webpack:///./src/components/Form/PayNowForm/utils.tsx","webpack:///./src/components/Interstitials/FILimitExceededInterstitial/LazyFILimitExceededInterstitial.tsx","webpack:///./src/components/Interstitials/MemberOTPInterstitial/LazyMemberOTPInterstitial.tsx","webpack:///./src/components/Common/Spinner/SpinnerRender.tsx","webpack:///./src/components/Form/PayLaterForm/styles.ts","webpack:///./src/components/Form/PayLaterForm/PayIn4Illustration.tsx","webpack:///./src/components/Form/PayLaterForm/StyledComponents.ts","webpack:///./src/components/Form/PayLaterForm/PayLaterForm.tsx","webpack:///./src/components/Form/PayLaterForm/utils.tsx","webpack:///./src/components/Form/hooks/useFormList.ts","webpack:///./src/components/Form/TabsComponent/utils.ts","webpack:///./src/components/Form/TabsComponent/TwoTabsComponent.tsx","webpack:///./src/components/Form/Form.tsx","webpack:///./src/components/PageLevelError/StyledComponents.ts","webpack:///./src/components/PageLevelError/PageLevelError.tsx","webpack:///./src/pages/RealMoneyGamingPage/StyledComponents.ts","webpack:///./src/pages/RealMoneyGamingPage/StepComponent.tsx","webpack:///./src/pages/RealMoneyGamingPage/fpti.ts","webpack:///./src/pages/RealMoneyGamingPage/RealMoneyGamingPage.tsx","webpack:///./src/lib/features/deferredFeatures/deferredFeatureQuery.gql.ts","webpack:///./src/components/Billing/Billing.tsx","webpack:///./src/lib/features/deferredFeatures/useDeferredFeatures.tsx","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/reactUtils.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/LoadingSpinner/styledComponents.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/LoadingSpinner/icons.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/LoadingSpinner/LoadingSpinner.js","webpack:///./src/lib/polyfills/modernBrowsers.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PasswordInput/validations.js","webpack:///./src/components/Landing/LazyLanding.tsx","webpack:///./src/components/Landing/LazyApplePayReceipt.tsx","webpack:///./src/components/App/App.tsx","webpack:///./src/components/ErrorBoundary/ErrorBoundary.tsx","webpack:///./src/dev/DevToolsDrawer/tabs/StyledComponents.tsx","webpack:///./src/dev/DevToolsDrawer/StyledComponents.tsx","webpack:///./src/index.jsx","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/Buttons/styles.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/Buttons/Buttons.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FieldError/styledComponents.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FieldError/FieldError.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/Overlay.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/TextButtons.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CardFields/CardExpiry/utils.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/PageMessages.js","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/domUtils.js","webpack:///./node_modules/@checkout/react-components/dist/modern/styles/defaults.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/HigherOrderComponents/withCursorTracking/index.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Interstitial/styledComponents.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Interstitial/styles.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Interstitial/components.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Interstitial/InterstitialPortal.js","webpack:///./node_modules/@checkout/react-components/dist/modern/utils/containTabs.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Interstitial/Interstitial.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CheckboxesAndRadioButtons/RadioButton/styles.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CheckboxesAndRadioButtons/BaseCheckboxAndRadioButton/utils.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CheckboxesAndRadioButtons/BaseCheckboxAndRadioButton/constants.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CheckboxesAndRadioButtons/BaseCheckboxAndRadioButton/styledComponents.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CheckboxesAndRadioButtons/BaseCheckboxAndRadioButton/BaseCheckboxAndRadioButton.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CheckboxesAndRadioButtons/RadioButton/RadioButton.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PhoneInput/PhoneInput/constants.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PhoneInput/PhoneInput/styles.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PhoneInput/PhoneInput/styledComponents.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/PhoneInput/PhoneInput/PhoneInput.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FloatingLabelSelect/constants.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FloatingLabelSelect/styles.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FloatingLabelSelect/FloatingLabelSelect.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/InlineFieldsContainer.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FullName/FullName.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FullName/utils.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/constants.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/Common/Tooltip.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CustomInputContainer/styledComponents.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/CustomInputContainer/CustomInputContainer.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FloatingLabelInput/constants.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/FloatingLabelInput/FloatingLabelInput.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/DateOfBirth/validation.js","webpack:///./node_modules/@checkout/react-components/dist/modern/components/FormElements/DateOfBirth/DateOfBirth.js"],"names":["INELIGIBLE_FLOWS","name","test","features","isActive","Boolean","getParams","native_xo","redirect_uri","isLiteEligible","eligibilityViolation","find","_ref","logger","info","fpti","concat","error_code","error_description","state_name","transition_name","filterPrefilledFields","prefilledFields","arguments","length","undefined","FRAUD_NET_FIELD_LIST","filter","id","includes","getFraudNetConfig","uri","getGlobals","endpoint","fraudNetEndpoint","sourceId","APP_NAME","typingSpeed","delegate","fields","type","userToken","getClientMetadataID","window","location","hostname","match","useStoreActions","useStoreState","useStoreDispatch","useStore","createTypedHooks","logPerformance","customParams","_window","_window$PAYPAL","_window$PAYPAL$analyt","PAYPAL","analytics","deviceAndNetworkInfo","getDeviceAndNetworkInfo","timeToInteract","data","_objectSpread","_objectWithoutProperties","_excluded","tt","getPageLoadTime","view","bh","screen_height","bw","screen_width","cd","screen","colorDepth","dh","height","devicePixelRatio","dw","width","et","network_effectiveType","pt","document","title","ru","referrer","sh","sw","t11","getTimeToInteract","e","this","error","getIntegrationType","isWPS","getCheckoutSessionFlags","isSPB","hasOwnProperty","loggerEndpoint","device","initialGqlData","loggerInstance","beaver","url","initial_state_name","autoLog","silent","process","debounceInterval","flushInterval","heartbeat","heartbeatInterval","heartbeatMaxThreshold","heartbeatTooBusy","heartbeatTooBusyThreshold","logUnload","logUnloadSync","sizeLimit","buttonSessionID","nativeXo","getUrlQueryParams","_window$xprops","xprops","amplitude","_window2","_window2$xprops","user_id","addMetaBuilder","addTrackingBuilder","addPayloadBuilder","addHeaderBuilder","X_APP_NAME","token","getToken","isBasl","createCustomLogger","logMethod","logName","payload","locale","country","getLocale","key","LOG_PREFIX","clientCountry","clientLocale","clientTimestamp","Date","now","addMetadata","metadata","cpl","_len","args","Array","_key","apply","warn","flush","immediateFlush","flushThen","fn","isFunction","TypeError","then","catch","atomicMetric","metric","metricEventName","_initialGqlData$local","_initialGqlData$local2","_initialGqlData$local3","_window3","_window3$performance","_window3$performance$","_window4","_window4$performance","_window4$performance$","deviceType","date","getReleaseMetaData","region","localeMetadata","businessRegions","Object","assign","metricNamespace","metricValue","dimensions","clientApp","integrationType","pageRefresh","performance","navigation","TYPE_RELOAD","releaseDate","track","_len2","_key2","logFPTI","fptiTrackPageLoad","configure","opts","__buffer__","weasleyLogger","_window$PPClientInter","_window$PPClientInter2","PPClientInteractions","interaction","setLogger","events","forEach","event","errorReason","flow","page","status","toUpperCase","metricName","setupCiLogger","handleItemLoaded","items","delete","size","PAGE_LOAD_PAYLOAD","call","Set","registerItem","add","FLAGS_SPRITE_URL","getCdnHostName","passwordStyleOverrides","css","_templateObject","_taggedTemplateLiteral","DISABLED_BACKGROUND_COLOR","DISABLED_BORDER_COLOR","secondaryLink","_templateObject2","LINK_COLOR","resetStyles","globalStyles","HIGH_CONTRAST_TEXT_COLOR","PAYPAL_OPEN_FONT","PRIMARY_COLOR_V2","FONT_WEIGHT_BOLD_PP","FLAG_SPRITE_POSITION_MAP","AD","AE","AG","AI","AL","AM","AN","AO","AR","AT","AU","AW","AZ","BA","BB","BE","BF","BG","BH","BI","BJ","BM","BN","BO","BR","BS","BT","BW","BY","BZ","C2","CA","CD","CG","CH","CI","CK","CL","CM","CO","CR","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GI","GL","GM","GN","GP","GR","GT","GW","GY","HK","HN","HR","HU","ID","IE","IL","IN","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LC","LI","LK","LS","LT","LU","LV","MA","MC","MD","ME","MG","MH","MK","ML","MN","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PL","PM","PN","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","ST","SV","SZ","TC","TD","TG","TH","TJ","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","VA","VC","VE","VG","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW","getWordBreak","offset","controlTheme","button","closeButton","borderRadius","color","CONTROL_PRIMARY_TEXT_COLOR","padding","hover","background","focus","border","CONTROL_PRIMARY_COLOR","boxShadow","CONTROL_COLOR_BLUE_300","active","CONTROL_COLOR_BLUE_600","default","WHITE_COLOR","font_size","text_decoration","weight","disabled","CONTROL_COLOR_GREY_400","CONTROL_COLOR_BLUE_700","box_shadow","CONTROL_SECONDARY_COLOR","variant","outlined","CONTROL_COLOR_BLUE_800","text","fontSize","border_radius","input","CONTROL_FORM_TEXT_COLOR","CONTROL_COLOR_RED_500","PP_ERROR_OUTLINE_COLOR","checkbox","container","paddingBottom","terms","checked","labelBefore","noFocus","noChecked","label","after","top","before","CONTROL_BORDER_HIGH_CONTRAST_COLOR","fontWeight","lineHeight","CONTROL_TERMS_COLOR","link","outline","legalLink","themeType","loadingSkeleton","viewBoxHeight","typography","caption","CONTROL_SUPPORTING_TEXT_COLOR","caption_light","font","family","PAYPAL_HELVETICA_FONT","headingH1","headingH2","body","textHelper","xLarge","large","medium","regular","small","xBold","bold","soldoutTag","SOLD_OUT_TAG_COLOR","borderColor","wrappers","content","maxWidth","RED_COLOR","ppReactTheme","PP_LIGHT_GRAY_COLOR","PP_TERTIARY_COLOR","PP_SELECTED_COLOR","PP_SECONDARY_COLOR","LIGHT_BLUE_RGBA","PP_ACTIVE_BG_COLOR","PP_PRIMARY_COLOR","PP_FOCUS_BORDER_COLOR","PP_FOCUS_OUTLINE_COLOR","PP_BORDER_HIGH_CONTRAST_COLOR","PP_LINK_MAIN_COLOR","PP_SYSTEM_COLOR","PP_ERROR_COLOR","PP_ACCENT_ONE_COLOR","THEME_MAP","ppReactV7","PAYPAL_THEME","getTheme","themeName","appStore","getState","ui","theme","PaypalThemedProvider","children","React","createElement","ThemeProvider","PRIMARY_COLOR","ERROR_COLOR","ERROR_COLOR_V3","ERROR_COLOR_V2","SUCCESS_COLOR","SUCCESS_COLOR_V2","WARNING_COLOR","WARNING_COLOR_V2","YELLOW_BACKGROUND_COLOR","BORDER_FOCUSED_COLOR","BUTTON_FOCUSED_COLOR","DEFAULT_BORDER_COLOR","INPUT_DEFAULT_COLOR","LABEL_COLOR","LANG_COUNTRY_DIVIDER_COLOR","NON_INPUT_BORDER_COLOR","PP_REACT_TOGGLE_HOVER_COLOR","ERROR_MESSAGE_BACKGROUND_COLOR","INFO_MESSAGE_BACKGROUND_COLOR","INFO_MESSAGE_BACKGROUND_COLOR_V2","INFO_MESSAGE_BACKGROUND_COLOR_V3","SUCCESS_MESSAGE_BACKGROUND_COLOR","WARNING_MESSAGE_BACKGROUND_COLOR","TEXT_COLOR","TEXT_COLOR_V2","HEADER_COLOR","SUB_HEADING_COLOR","GREYS_BLACK_COLOR","ALERT_RESEND_ERROR_TEXT_COLOR","INCENTIVES_YELLOW_COLOR","INCENTIVES_LILAC_COLOR","INCENTIVES_BLUE_COLOR","INCENTIVES_GREEN_COLOR_V1","INCENTIVES_GREEN_COLOR_V2","PP_SELECTED_RANGE_COLOR","PP_WARNING_MAIN_COLOR","PP_SUCCESS_COLOR","PP_INFO_COLOR","PP_DIVIDER_COLOR","PP_BORDER_LOW_CONTRAST_COLOR","PP_BOX_SHADOW_COLOR","FONT_SIZE_MEDIUM","FONT_SIZE_REGULAR","FONT_SIZE_SMALL","FONT_WEIGHT_NORMAL_PP","ADDRESS_MARGIN_BOTTOM_PP","LINK_HOVER_BOTTOM_PPREACT","LINK_HOVER_OPACITY_PPREACT","BillingType","CheckoutContentLanguageCode","CheckoutSessionType","CollectedConsentName","CollectedConsentType","CountryCodes","FundingOptionType","InstrumentClassification","getPropOrDefault","config","featureName","propNames","featureConfig","isObject","featureKey","isArray","featureValue","getCountryConfigValue","geoRegion","getGeoRegion","getExperiment","experiments","getFactors","feature","factors","getTreatment","treatmentName","hasExactTreatment","_ref2","treatment","hasTreatment","isString","startsWith","includesTreatment","_ref3","getVariantFromTreatmentName","_ref4","defaultVariant","split","getFptiFlowName","_ref5","clientFeatures","isWpsGuestUpgradeEligible","isPOMAEligible","isWps","isOptionalSignup","isForcedSignUp","isForcedGuest","passwordlessForcedSignup","getNationalityBasedKycValue","kycConfigKey","nationality","isDev","global","elmo","allExperiments","AccordionContent","styled","div","AccordionButtonContainer","alignButtonContent","AccordionContainer","_templateObject3","AccordionButton","_templateObject4","ChevronContainer","span","_templateObject5","Accordion","buttonContent","onClick","ChevronIcon","pageLevelBackgroundColor","success","warning","pageLevelTextColor","AlertContainer","ALERT_TYPE","ERROR","INFO","SUCCESS","WARNING","AlertMessage","p","IconButton","props","styleOverrides","PageLevelAlertContainer","pageLevelAlertVariant","flexBasis","svg","Alert","closed","setClosed","useState","handleClose","CloseIcon","commonStyles","margin","textAlign","StyledHeading","h1","SecondaryStyledHeading","h2","_ref6","StyledHeadingCentered","StyledSubHeading","_templateObject6","_ref7","_ref8","_ref9","commonInlineElementsStyles","_ref10","isTermsContent","textColor","_templateObject7","isTermsContentStyles","StyledParagraph","_templateObject8","StyledSpan","_templateObject9","_templateObject10","_ref11","_ref12","_ref13","MainHeading","testID","rest","_extends","HeadingCentered","SecondaryHeading","SubHeading","Paragraph","Span","ContainerSC","containerWidth","containerHeight","display","isFirstLine","ParentContainer","PageLevelAlert","alertContent","icon","IconComponent","icons","StyledCloseButton","Button","CloseButton","iconComponent","CloseSmIcon","tertiary","LegalConsent","LegalConsentppv7","customStyle","getValidation","isChecked","isRequired","valueMissing","errors","isValid","Checkbox","blurHandler","changeHandler","focusHandler","required","isTermsCheckbox","Component","CheckboxPP","onBlur","onChange","target","validation","onFocus","loadingElementStyleOverrides","marginBottom","LoadingElement","useTheme","LoadingElementComponent","getLoadingElementStyles","LoadingFields","numLoaders","loaders","Fragment","map","_","i","getRadioBoxShadow","displayError","getCommonRadioButtonStyleOverrides","labelFontSize","radioButtonContainerMargin","containerStyleOverrides","inputStyleOverrides","labelStyleOverrides","RadioButton","hasError","value","RadioButtonRC","StyledCodeInput","CodeInputPP","MultiBoxInput","forwardRef","ref","errorMessage","inputValue","autoFocus","errorText","numberOnly","primaryTextButtonStyles","getLinkStateStyles","StyledAnchor","a","Link","href","testId","rel","StyledListItem","li","UnorderedList","ul","OrderedList","ol","ListItem","List","StyledText","AML_COUNTRIES","At","Be","Bg","Cy","Cz","De","Dk","Ee","Es","Fi","Fr","Gg","Gf","Gi","Gp","Gr","Hr","Hu","Ie","Il","Is","It","Lt","Li","Lu","Lv","Mq","Mt","Ne","Nl","No","Pl","Pt","Re","Ro","Se","Si","Sj","Sk","Sm","Va","Yt","BOLT_COUNTRIES","Kr","Tw","DCC_INELIGIBLE_COUNTRIES","DEFAULT_ENABLED_LANGUAGES","min","KYC_DOB_NATIONALITY","KYC_DOB_NATIONALITY_ID","MULTI_PRODUCT_SUPPORTED","Us","CHECKOUT_SESSION_TYPES","BILLING_WITH_PURCHASE","BILLING_WITHOUT_PURCHASE","REGULATION_E_COUNTRIES","STREAMLINE_COUNTRIES_WITH_CHECKBOX_TERMS","Br","APPLE_PAY_ELIGIBILITY_METRICS","INELIGIBLE","START","HTML_TAG_REG_EXP","createAppDownloadBannerElement","str","tagName","el","textContent","replace","nonce","setDownloadAppBanner","receiptPageTestId","html","js","receiptPageWPS","querySelector","fragment","createDocumentFragment","markupContainer","innerHTML","bannerEl","firstElementChild","setAttribute","styleEl","scriptEl","appendChild","interstitialOverlay","firstChild","prepend","browserAutocompleteCallback","cb","setTimeout","isBrowserAutoComplete","matches","err","mozAutofillFilter","compStyle","getComputedStyle","getLazyLoaderRenderFunction","options","fptiTrackName","getComponentName","componentName","loaded","exportName","isLoaded","component","componentsToBeLoaded","lazyLoader","loader","loading","render","setComponentAsLoaded","triggerInitialCPLEvent","PAGE","LANDING","EVENTS","LAZY_COMPONENTS_LOADED","isNumber","delay","timeout","Loadable","setComponentAsLoading","fallback","reason","parseGqlError","_result$response","_result$response$erro","result","response","errorData","message","shift","isFiConfirmationContingency","isOasError","isResidentialAddressError","isRiskPhoneConfirmationContingency","validateGraphQLResponse","operation","_data$errors","Error","calculateCookieBannerHeight","cookieBanner","strictIsFinite","offsetHeight","useCookieBannerHeight","calculatedCookieBannerHeight","setCalculatedCookieBannerHeight","useLayoutEffect","handleWindowResize","throttle","addEventListener","removeEventListener","useCheckInventorySoldout","_getGlobals$initialGq","_getGlobals$initialGq2","showSoldoutPage","checkoutSession","cart","getActions","toggleIsInventorySoldOutOpen","useOnMount","onMount","useEffect","COMPONENT_NAME_REGEX","useMountLogging","toLowerCase","useNavigateToBillingPage","language","navigate","useNavigate","navigateToBillingPage","useCallback","async","eligibilityResponse","getWeasleyEligibility","eligible","queryInitialData","countryCode","languageCode","resetStoreOverridesKey","pathname","search","redirectToXoon","params","fromVIPPage","stack","useNavigateToReceiptPage","fci","ErrorReason","Application","isBoolean","b","f","n","isNaN","o","prototype","toString","s","isFinite","assertType","assertion","errorMsg","assertFunction","every","assertObject","_len4","_key4","assertString","_len5","_key5","freeze","COMMIT","DEFAULT","EXISTING_MEMBER_ACCOUNT_BASED_CTA_V1","TREATMENTS","FEATURE_CRS_DATA_COLLECTION","FEATURE_EXPAND_MEMBER_MATCHING_WPS","FEATURE_PP_REACT_MOCK_STYLES","FEATURE_SIGNUP_MANDATORY_PHONE_CONFIRMATION","FEATURE_STOP_ADDRESS_PREFILL","FEATURE_WPS_PASSWORDLESS","MARKETING_OPT_IN","SIGNUP_AGREE_TO_TERMS","SIGNUP_AGREE_TO_PRIVACY_STATEMENTS","UNIQUE_INFORMATION_PROCESSING","THIRD_PARTY_DATA_CONSENT","isEligibleForCRS","form","formState","onboardOption","shouldShowCRSInterstitial","bypassCRSInterstitial","logMessage","uiActions","toggleIsCRSInterstitialOpen","getCardPayload","uiState","fiType","cardCvv","cardExpiry","cardNumber","cardType","currencyConversionSelection","currencyConversionType","cardProductClass","productClass","card","expirationDate","formatExpiryForBackend","securityCode","getBankPayload","bankAccountNumber","bankAccountType","bankIban","bankSortCode","bankPayload","accountNumber","routingNumber","iban","bank","getCrsPayload","crsData","crsLegalFirstName","crsLegalLastName","crsTaxStatus","crsTaxDetails","subjectToTaxOutsideLegalCountry","PAYS_TAXES_OUTSIDE_COUNTRY","taxDetails","comment","taxPayerIdType","taxPayerIdValue","noTaxPayerIdReason","crsNoTaxIdReasons","getCrsNoTaxpayerIdReasons","taxPayerIdValueResult","noTaxPayerIdReasonResult","CRS_TAXPAYERID_OPTIONS","NO_TAXPAYER_ID","NO_TAX_ID_REASON_ADD_EXPLANATION","getCrsTaxDetails","firstName","lastName","IDENTITY_DOCUMENT_NUMBER","SECONDARY_IDENTITY_DOCUMENT_NUMBER","CRS_TAX_DETAILS","IDENTITY_DOCUMENT_ERROR_CONTENT","identityDocumentNumber","secondaryIdentityDocumentNumber","shouldDisplayErrorOnChange","fieldState","meta","api","allowedCardTypes","firstError","isMaxLength","validateForm","state","someActive","sepaMandate","addressFields","keys","reduce","field","isAddressField","hasOwnProp","errorCode","formErrors","getFieldError","errorLogPayload","entries","fieldName","capitalizeFirst","triggerErrorBasedSpecificActions","actions","appState","sumErrorFlags","updateBypassCRSInterstitial","hasCRSErrors","hasResidentialAddressErrors","toggleIsFormSubmitting","isUpgradeInterstitialOpen","updateResidentialAddressButtonShouldSubmit","toggleIsResidentialAddressOpen","getErrorPayload","index","getContent","getErrorFieldAndPayload","_FIELD_LEVEL_ERRORS$c","addressType","code","parseInt","_formState$CRS_TAX_DE","_formState$CRS_TAX_DE2","errorFlags","taxPayerIdValuePayload","contentKey","FIELD_LEVEL_ERRORS","ADDRESS_TYPES","RESIDENTIAL_ADDRESS","UI_STATE_FIELDS_TO_FORM_STATE_MAP","cvv","dob","expiry","serializeFormDataForGuestUpgradeEligible","email","billingAddress","serializeAddressFields","trim","getCollectedConsents","_data$SIGNUP_AGREE_TO","_data$THIRD_PARTY_DAT","_data$UNIQUE_INFORMAT","collectedConsents","push","consentName","PrivacyStatementAgreement","consentType","FullConsent","PrivacyStatementThirdPartyDataSharingAgreement","PrivacyStatementUniqueIdentificationInformationProcessingAgreement","serializeFormData","_data$dateOfBirth","installmentData","isPayLater","isSignup","isPasswordlessForcedSignup","isStreamlinePasswordlessForcedSignup","isPasswordlessOptionalSignup","isStreamlinePasswordlessOptionalSignup","isPOMAFlow","dialingCode","getDialingCode","phone","number","phoneType","installment","_data$installmentTerm","term","installmentTerm","shareAddressWithDonatee","cardFieldsToDisplay","dateOfBirth","stringToDateObject","_discount$amount","discount","monthlyPayment","totalCost","discountValue","amount","currencyValue","discountPercentage","percentage","currencyCode","paymentCurrency","paymentValue","totalCostCurrency","totalCostValue","selectedInstallmentOption","discountCurrency","formatInstallmentOption","isSignupIncentiveOptInStretch","supportedThreeDsExperiences","get","formData","_formData$password","marketingOptIn","password","contentHash","getContentHash","isPasswordlessUpgrade","contentIdentifier","kycFields","accum","formattedField","substring","dobString","dateObject","identityDocumentType","identityDocument","_formData$countryOfRe","countryOfResidence","secondaryIdentityDocumentType","secondaryIdentityDocument","_formData$formattedFi","marketingOptOut","getSignupData","getPomaFlowData","getLegalAgreementsData","getIsSignupIncentiveOptIn","serializeOnboardingPlanData","apiState","cupOtpfundingInstrumentId","cupOtpEncryptedCardLoginAccountNumber","shippingAddress","userType","encryptedCardLoginAccountNumber","fundingInstrumentId","filterFormState","_phone$meta","residentialAddress","filteredFormState","getCommonFormState","getBankState","getCardState","getInstallmentTermState","filterOutNonApplicableAddressFields","getAddressMetaKey","accountQuality","getAccountQualityMetaDataFromAddress","twoFactorPhoneVerificationId","verificationId","getCrsState","formStateField","isPrimaryResidentialAddressRequested","guestAgreeToTerms","_formState$countryOfR","containsRightOfWithdrawalCheckbox","rightOfWithdrawal","hasSepaMandate","isSepaMandateCountry","isBankFiType","hasPrefillAddress","prefillAddressMetadata","getForcedValidCopy","getShippingAddressFromBillingAddress","shipToBilling","triggerMemberBenefitsTrueGuestsInterstitial","isStreamlineOptionalExperience","shouldShowOptionalUpsellHalfSheet","hasFeature","isUserExists","isExistingAccount","isPomaButtonFlow","isMemberBenefitsTrueGuestsInterstitialOpen","isMemberBenefitsTrueGuestsInterstitialReject","onboardOptionValue","fieldsWithErrors","isBNPL","shouldShowSCAPhoneConfirmationInterstitial","_formState$phone$meta","phoneConfirmationAlertType","isConfirmed","toggleIsPhoneConfirmationOpen","cache","InMemoryCache","dataIdFromObject","object","__typename","defaultDataIdFromObject","ApolloLink","forward","operationName","Observable","observer","subscription","subscribe","complete","bind","next","isAccountCreation","isAccountCreationMutation","isAccountUpdate","isAccountUpdateMutation","_response$data","_response$data$respon","_buyer$auth","responseObjectKey","OPERATION_NAME_TO_RESPONSE_KEY_MAP","buyer","auth","accessToken","setAccessToken","getAccessTokenType","_subscription$unsubsc","unsubscribe","errorLink","onError","graphQLErrors","authLink","camelToSnakeCase","apiCorrelationId","getApiCorrelationId","networkError","some","_errorData$extensions","extensions","class","Server","handleGraphQLErrors","handleNetworkError","loggerLink","BASE_HEADERS","BASE_URI","_getGlobals$uri","_getGlobals$uri$query","queryEndpoint","getDescriptiveUri","isBatchedQuery","httpContextLink","getAccessToken","setContext","headers","baseHttpLink","createHttpLink","credentials","batchHttpLink","BatchHttpLink","httpLink","getContext","RETRY_OPERATION_BLOCKLIST","retryLink","RetryLink","attempts","count","isOperationRetryBlocked","has","isOperationInBlocklist","skipRetries","maxAttempts","statusCode","has400RangeStatusCode","max","attemptsRemaining","apolloClient","ApolloClient","from","queryDeduplication","resolvers","fundingSource","writeQuery","query","INITIAL_DATA_QUERY","variables","channel","countryCodeAsString","isBaslAsString","apolloMutation","requestFactoryMutate","apolloQuery","requestFactoryQuery","useOnceSync","isRun","useRef","current","useEndCiWith","endWith","useStartCi","start","useEndAndStartCi","endReason","endStatus","end","getDefaultKycStateOverride","kycIdTypes","placeOfBirth","secondaryKycIdTypes","VALID_FIELD_STATE","revalidatePassword","_state$dateOfBirth","_state$firstName","_state$lastName","user","validatePassword","wasInfoSecFieldChanged","getDefaultInputState","isDirty","getDefaultEmailState","_getGlobals$initialGq3","ulEmail","getUnifiedLoginContextData","cartEmail","stringValue","landingPageUserEmail","getLandingPageUserEmail","emailValue","genericValidationFn","getBaseAddressFields","getAddressValidationPayload","action","isSetError","hasValidationError","getCrsFields","AddressLoadingContainer","marginY","gutter","lg","mb","md","Section","section","SignupValueProp","SignupValuePropBold","CobrandedDisclaimerContainer","OvercaptureDisclaimerMessage","CTADisclaimerMessage","FormContainer","StreamlineSectionTitle","buildMPPUrl","mppPath","origin","getPayPalDomain","mppMiddlePath","adjustedPath","additionalParams","buildUrl","withCurrentParams","TERMS_FUNCTIONS","backupPayment","path","getDynamicPath","feeInformation","generateHelpLink","buildTermsUrl","useFunction","buildUrlFn","fetchJson","fetch","json","DEFAULT_PREDICATE","filterObject","obj","predicate","once","hasBeenCalled","focusOnFirstError","forms","fieldWithError","elements","_state$field","getElementById","inputEl","setSelectionRange","getAddressMetadata","addressMetaKey","layout","strings","getObjectProperty","defaultValue","splitOn","pathArray","defaultID","_urlParams$clientMet","urlParams","clientMetadataID","REG_EXP","noop","containsRightOfWithdrawalInUserAgreement","isGuestOnboarding","_formState$onboardOpt","ADDRESS_NORMALIZATION_QUERY","gql","NORMALIZED_ADDRESSES_FRAGMENT","NORMALIZED_ADDRESSES_QUERY","isAddressNormalized","hasAddressNormalizationShipping","hasAddressNormalizationBoth","_shippingAddress$coun","griffinMetadata","address","_shippingAddress$valu","_shippingAddress$coun2","shippingAddressMetaKey","billingAddressMetaKey","shippingAddressLayout","billingAddressLayout","billingcountry","shippingcountry","_shippingAddress$valu2","_billingAddress$value","mapANSRequest","logFPTIForANSApi","alreadyNormalized","isANSResponseAlreadyNormalized","apiActions","addressNormalization","griffinFormattedAddresses","griffin","normalizedAddressFound","formattedNormalizedAddress","setNormalizedShippingAddress","NormalizedBillingAddress","NormalizedShippingAddress","billingAddressAlreadyNormalized","shippingAddressAlreadyNormalized","setNormalizedBillingAddress","toggleIsAddressNormalizeOpen","int_error_code","logBlurOrFocusEvent","oldValue","_e$persist","persist","fieldType","currentState","getFieldData","isCheckbox","shouldDisplayError","isErrorStatusChange","isErrorCodeChange","logPayload","INPUT_FIELD_ERROR_STATUS_PAYLOAD","hasCardTypeSelector","kycNationalityOnChange","isKYCTeslaRedirectIntersitialOpen","toggleIsKYCTeslaRedirectIntersitialOpen","dispatchFormAction","payLaterTermsCheckedHandler","logPayLaterTermsCheckedToFpti","displayFormErrors","formActions","addressRegex","isBatchUpdate","payNowSubmitHandler","submitHandler","logProcessBillingPageToFpti","payLaterSubmitHandler","logPayLaterContinueButtonSubmittedToFpti","logFormSubmittedFunction","preventDefault","logAtomicsSubmitHandler","isGuest","buttonClickCi","atomicsCi","clickContinueAsGuestButton","clickCreateAccountAndContinueButton","waitingContext","atomicsWaitingContext","selectContinueAsGuest","selectCreateAccountAndContinue","atomics","__markUIWaiting","atomicsViewNames","ryp","shippingCallbackErrorMappingValues","values","SHIPPING_CALLBACK_ERROR_MAPPING","isFormSubmitting","pageLevelError","scrollTo","User","endCurrent","accountType","field_list","join","user_opts_signup","toggleIsMemberBenefitsTrueGuestsInterstitialOpen","Event","GUEST_PAY_SUBMIT","Status","Flag","CONTINGENCY_ACCOUNT_BENEFITS_USER_INPUT","setPageLevelError","setPageWarningMessage","isEligibleForMemberBenefits","checkMemberBenefits","logCheckMemberBenefitsOccured","memberMatchNoOptIn","memberMatchNoToggleInterstitial","setIsMemberBenefitsInterstitialOpen","setIsMemberCheckoutError","Ok","hasAddressNormalization","isAllowChangeShipping","bypassAddressNormalization","shouldCallOnboardAccount","onboardAccount","doCheckoutGuestAsMember","logOverCapturesDataOnSubmit","onboardAction","onboardingPaymentPlanHandler","createOnboardingPaymentPlan","threeDSHandler","handleApiError","MEMBER_MATCH_PAY_SUBMIT","serializeDataForMemberBenefits","checkoutGuestAsMember","setIsEligibleForMemberBenefits","slice","parseParams","getOverrideParams","paramType","WHITE_LIST_REGEX","URL_PARAM_REGEX_WHITE_LIST","param","overrides","decodeURIComponent","mapValue","reset","buildAmountBreakdown","breakdown","currencyMapper","handling","handlingFee","insurance","item_total","subtotal","shipping","shipping_discount","shippingDiscount","tax_total","tax","currencyObj","currency_code","normalizeShippingOption","gqlShippingOption","normalizeAddressForMerchant","city","postalCode","country_code","postal_code","addressAreEqual","address1","address2","ignoreCase","modifiers","specificity","applyModifers","modifiedStr","modifier","addrComponentsToCheck","addrKey","addr1CompVal","String","addr2CompVal","buildAmountBreakdownV2","currencyMapperV2","itemTotal","taxTotal","normalizeShippingOptionV2","normalizeAddressForMerchantV2","addressAreEqualV2","mapAddressValues","mappedAddress","addressField","addressFieldDetails","getShippingMethodsVariant","_window3$xprops","isSntSupported","onShippingAddressChange","onShippingOptionsChange","onShippingChange","getShippingCountry","getShippingAddress","trimOrEmpty","getSimpleShippingAddressString","line1","line2","simplifyShippingAddress","shippingAddressFields","getSelectedShippingMethod","shippingMethods","method","selected","deployEnv","env","development","isProd","production","sandbox","isTest","staging","logDevErrorToConsole","log","console","SpotsBlock","spotsBlockMargin","SpotsHeader","headerFontSize","headerFontWeight","headerPadding","spotsContainerInitialStyles","spotsContainerColStyles","SpotsContainer","col","SpotCardContainer","spotCardContainerWidth","SpotLabel","h3","spotLabelWeight","spotLabelWidth","ALERT","AlertSpot","BAG_HANDLE","BagHandleSpot","CART","CartSpot","CHECK_MARK","CheckMark","CHECK_MARK_V2","CheckMarkV2","INFO_SPOT","InfoSpot","INFO_SPOT_V2","InfoSpotV2","LOCK","LockSpot","MOBILE_SPOT","MobileSpot","PHONE","PhoneSpot","SHIELD","ShieldSpot","SHIELD_LOCK","ShieldLockSpot","STAMP_PERCENT","StampPercentSpot","TRACK","TrackingSpot","TRACK_NEW","TrackingNewSpot","TROPHY","TrophySpot","TROPHY_NEW","TrophyNewSpot","Spots","spots","header","iconName","onIconCardClick","iconProps","_excluded2","Icon","uuidv4","SECONDARY_COLOR","WARN_COLOR","BORDER_COLOR","FUNDING_SOURCE_LOGO_BORDER_COLOR","INPUT_BORDER_COLOR","INPUT_BORDER_COLOR_PP","INPUT_PP_REACT_FOCUSED_COLOR","INPUT_BORDER_FOCUSED_COLOR","INPUT_BORDER_FOCUSED_COLOR_LIGHT","INPUT_TEXT_COLOR","INPUT_TEXT_BLUE_COLOR","WARN_MESSAGE_BACKGROUND_COLOR","TEXT_DEFAULT_COLOR","TEXT_LIGHT_GRAY_COLOR","TEXT_GRAY_COLOR","PP_LABEL_COLOR","TOOLTIP_BACKGROUND_COLOR","TOOLTIP_BORDER_COLOR","BANNER_BACKGROUND_COLOR","getOnboardTermsKey","RIGHT_OF_WITHDRAWAL_TERM_KEY","isEmeaLiteCountry","getOnboardTermsStreamlineKey","isPasswordless","isEmeaPasswordlessWithoutCookiesCountry","termsType","emeaKey","streamlineKey","hasShorterSignupTerms","logTermClick","linkName","snakedLinkName","eventName","logLinkClick","getFeeInformationServiceDescriptionKey","isoCode","customInputContainerStyles","inputContainerStyles","tooltipStyleOverrides","EmailAndTooltipContainer","ChangeFieldContainer","paddingTop","visibility","ChangeFieldValue","ChangeFieldTextButton","TextButton","ValueAsFieldLabel","shouldRenderAsValue","isValue","setIsValue","shouldAutoFocus","handleChangeButtonClick","logFptiForEmailChangeButtonClick","forced_signup_offered","view_name","getCommonPayload","showTabs","existingAccountCheck","event_name","field_name","Email","isTooltipDisplayed","setIsTooltipDisplayed","infoButtonRef","showMessage","showIsExistingAccountEmailMessage","emailState","partialEmailState","shouldLookupEmail","customBlurHandler","emailLookup","tooltipClickHandler","_infoButtonRef$curren","tooltipBlurHandler","_e$target","_e$relatedTarget","relatedTarget","emailInput","activeElm","activeElement","CustomInputContainer","inputContainerStyleOverrides","inputId","focusAndBlurHandler","FloatingLabelInput","autoComplete","Tooltip","arrowPosition","InfoMessage","logInLink","LogInLink","linkType","withoutIcon","Name","FullName","labels","InlineContentContainer","CupOtpStyledText","CupOtpMessage","mobileNumberOnFile","dropdownLabelStyleOverrides","getDropdownContainerStyleOverrides","flagPos","DialingCodeSelect","dialingCodeSelectOptions","propsToSpread","FloatingLabelSelect","floatingLabelContainerStyleOverrides","focusedClassName","className","selectOptions","selectStyleOverrides","isRightRadiusSquared","dialingCodeStyles","streamlineDialingCodeStyles","ComponentContainer","InputsContainer","canDialingCodeChange","_p$phoneType","_p$phone","PhoneInputsContainer","_p$phone2","PhoneContainer","isStreamlineExperience","withPhoneType","jsx","FieldError","phoneInputStyleOverrides","PhoneConfirmationText","PHONE_TYPES","validatePhoneType","errorsObject","patternMismatch","PhoneType","validationFn","FETCH_PHONE_METADATA_QUERY","infoMessageContainerOverrides","infoMessageOverrides","useChangeHandlerFactory","propsChangeHandler","updatePhoneMetadata","_phone$patterns","masks","pattern","patterns","mask","mobile","mapPhoneMetadata","redirectToGenericError","newPhoneMetadata","debounce","PhoneNumber","_phoneMeta$mask","isFocused","setIsFocused","phoneFieldValue","hasCupOneTimePasswordConfirmationMessage","phoneMeta","territoriesToDialingCodeMap","updateNonAddressField","dialingCodeNum","dialingCodeLabel","isAllowChangePhoneType","shouldShowSCAPhoneConfirmation","optionalSignupAndStreamline","isCupOtpFlow","remainingDialingCodeProps","dialingCodeChangeHandler","getMobileNumberHintLang","phoneNumberProps","_props$blurHandler","_props$focusHandler","showMobileNumberHintLang","shouldShowPhoneConfirmationSCAInfo","shouldShowMobileHintLanguage","PhoneInput","maxLength","ariaDescribedBy","HiddenElementA11y","LegalAgeDisclosureContainer","LegalAgeDisclosure","showDisclosure","allNotActive","ContactFieldsSection","showHeading","fieldOrder","position","shouldNotRender","isTop","shouldRenderFields","isAddressless","fieldLookup","activeSCAPhoneConfirmation","SectionHeading","Field","formInputHandlers","REDIRECT_URLS_MAP","billing","base","dumbledore","forgotEmail","hermes","organicSignup","pwRest","tesla","xoon","getRedirectUrl","app","redirectUrl","isSubscriptionV1","isBillingTypeSubscriptionV1","baseParams","cmd","onboardingRedirectFromHermes","separator","encodedKey","encodeURIComponent","encodedValue","buildIWCRedirectUrl","URL","dumbledoreUrl","queryCheckoutSession","context","fetchPolicy","CHECKOUT_SESSION_QUERY","handleRedirect","navigator","cookieEnabled","paramsString","noCookie","nsid","_csrf","style","tokenInput","csrfInput","nsidInput","globalThis","submit","goToMemberXO","flushLogsAndRedirect","logKey","logFPTISpinnerDuration","endAll","redirect","outcome","outcomeReason","isXoon","isHermes","appName","fromSignupLite","landingIWCData","genericErrorEndpoint","queryParams","btoa","cancelUrl","cancelLink","redirectToMerchantOnSuccess","returnUrl","logAtomicsTransactionSuccessfulAndLeaveCheckout","isSignUpToken","redirectOptions","conditionallyDropLoginCookie","isUserLoggedIn","redirectToLogIn","LOG_IN_PAYLOAD","hermesLoginRedirect","prompt","redirectToEndpoint","abTestThrottle","redirectToMember","redirectToConsumer","flowId","flowValue","redirectToOrganicSignup","redirectToForgotEmail","ecToken","contextId","redirectUri","redirectToPasswordReset","redirectParams","redirectToBilling","mode","_getParams$sdkMeta","sdkMeta","mfid","fallbackToHermesFIContingency","addFIContingency","rcache","redirectToHermes","uiReadyContext","atomicsContexts","leaveFlow","spinner","atomicsStatus","ok","CONTENT_MANIFEST","manifest","promise","fetchContentManifest","Promise","resolve","manifestUrl","contentManifestUrl","checkForApiError","getContentUrl","fileName","hash","_CONTENT_MANIFEST$man","getContentFileName","contentEndpoint","fetchContent","localeOverrides","locality","mergeLocale","contentUrl","updateContentCache","fetchAndResetContent","resetContent","fetchContentAndMetadata","toggleIsPageLoading","hasCachedContentForLocale","territories","territoriesByRegion","GRIFFIN_METADATA_QUERY","shippingCountryCode","mapGriffinMetadata","setGriffinMetadata","shippingCountry","ADDRESS_METADATA_QUERY","addressMeta","formatGriffinAddressMetadata","addAddressMetadata","addressMetadata","keyRequested","keysAvailable","getAddressMetaFromId","_address$autoComplete","_address$isManipulate","autoCompleteType","isUserModified","isManipulated","mapAddressValueToName","addressKey","upperCase","_data$lastName$value","_data$firstName$value","_data$lastName$value2","_data$firstName$value2","familyName","givenName","_data$shippingAddress","_data$shippingAddress2","shipCountry","INITIAL_DATA_FETCHED","LANDING_PAGE_RENDER","LANDING_USER_INTERACTION","PROCESS_APPROVE","REVIEW_PAGE_RENDER","THREE_DS_CONTINGENCY","USER_INTERACTION","logPerformanceTimes","store","hasContingencies","triggerInitialLandingCPLEvent","triggerCPLLatencyMetricsFPTI","transition","_window2$cplPhases","_window3$cplPhases","_window4$cplPhases","cplPhases","comp","chunk","ssrt","ssrtParam","isValidSSRT","Number","timeTaken","server_side_redirect_time","populateServerSideRedirectMetrics","cplLatencyMetrics","application_name","cpl_chunk_metrics","JSON","stringify","cpl_comp_metrics","cpl_query_metrics","page_name","total_page_load_time","updateEvents","LANDING_PAGE","shouldTriggerInitialCPLEvent","uicomp","uitype","updateTriggerInitialCPLEvent","startLogPerformanceTime","logPerformanceName","logPerformanceWithStartTime","savedTime","FPTI","logEligibility","fptiKey","getForcedGuestEligibility","hasExistingAccount","hasExistingMemberAccount","isExistingAccountBased","getAccountBasedForcedSignupEligibility","passwordlessForcedSignupEligibility","isBillingAgreement","getPasswordlessForcedSignupEligibility","isShiftExpWithPasswordlessSignup","isStreamlinePasswordlessExp","passwordlessOptionalSignupEligibility","isStreamlineExpWithPasswordlessSignup","getCommonWpsGuestUpgradeIneligibilities","isGuestEligible","isWpsSubscription","isWpsAutobilling","isWpsInstallmentPlan","isSCAPhoneConfirmation","ineligible","hasCommonWpsGuestUpgradeIneligibility","getWpsMemberMatchEligiblity","requirement","getWpsGuestUpgradeEligibility","isWpsPOMATreatment","isStreamlineOptional","getStreamlineOptionalEligibility","ineligibleFeature","Th","getPOMAEligibility","isInvoiceFlow","checkoutSessionType","getCheckoutSessionType","isBAWithoutPurchase","isBillingAgreementWithoutPurchaseFlow","isRPSTreatment","isStreamlineExperienceEligible","isPOMAEnabled","isPOMAEC","isPOMAWps","getStreamlineForcedEligibility","isForcedSignup","isAccountBasedForcedSignup","getPasswordlessUpgradeEligibility","getMemberMatchNoOptInEligibility","isECMemberMatch","isWPSMemberMatch","optionalStreamlineSignupEligible","signupRequired","getPPReactMockStylesEligibility","isPPReactStylesEligible","HeadingText","PPHeadingText","BodyText","PPBodyText","marginTop","SectionHeadingLarge","SectionSubHeading","_ref14","_ref15","_ref16","_ref17","SectionHeader","subheader","level","as","FPTI_FOCUS_AND_BLUR_EVENT_PAYLOAD","eventType","isValidLike","int_error_desc","userAction","ship_to_billing","shipping_address_collection","user_action","getCurrencyConversionPayload","showCardConversionOptions","cartAmount","is_conversion_shown","iscbr","to","currencyConversionData","currency_conversion_from_curr","currency_conversion_selected","currency_conversion_to_curr","logOnboardSuccessToFpti","fptiPerfLogStart","ONBOARD_SUCCESS_PAYLOAD","startTime","logPayLaterLearnMoreClickedToFpti","STATE_NAME","logGuestToMemberTransitionToFpti","logPrepareTabbedViewToFpti","logFiTabClickEventToFpti","tabName","getHideOvercaptureReason","overcaptureAmount","getOvercaptureFPTILogKey","isApprove","showOvercapture","isUserActionCommit","logOvercapturesWhenRendering","_cart$amounts","_cart$amounts$total","merchant","defaultLogPayload","edm_est_amt","initial_amt","amounts","total","currencyFormatSymbolISOCurrency","merchant_acc_num","merchantId","merchant_country","fptiPayload","isOverCaptureVisible","logSilentMemberMatchDisclaimerShown","atomicsFlows","atomicsTasks","atomicsIntent","atomicsDomain","domain","task","rypLoaded","guestAndSignup","intentType","click","policy","interactions","tasks","viewNames","setupAtomics","createAtomics","singleEvent","metricId","metricPayload","client_app","BUYER_FRAGMENT","FUNDING_OPTIONS_FRAGMENT","THREE_DS_2_CONTINGENCY_FRAGMENT","THREE_DOMAIN_SECURE_FRAGMENT","spotFillColor","spotHeight","spotViewBox","spotWidth","svgProps","viewBox","fill","xmlns","d","clipPath","cx","cy","r","maskUnits","maskType","x","y","transform","BlueCheckmark","fillRule","clipRule","stroke","strokeLinecap","strokeLinejoin","strokeWidth","role","GreyTrophy","fillOpacity","spotBgColor","rx","ry","ShieldCheckSpot","ShieldEmptySpot","bgColor","opacity","StepTwoSpot","StepOneSpot","gradientUnits","x1","x2","y1","y2","stopColor","OFACInfoIcon","stripAddressPrefix","getFieldCurrentState","fieldGroup","bankState","_data$dialingCode","withConversion","isConversionNeeded","isConversionChangeable","isInstallmentButtonShown","getFormTabContent","tab","BaslLogInLink","logInElement","BaslButtonContainer","BaslHaveAnAccountText","OrDivider","OrText","NonBaslLogInLink","nonBaslLinkStyles","isButton","logInButtonStyleOverrides","BaslHaveAnAccountLogIn","isBaslApplePay","BaslApplePayLogInLink","LogIn","HaveAnAccountLogIn","LazyInventorySoldOutInterstitial","LazyVenmoMessage","LazyKYCTeslaRedirectInterstitial","LazyCartRender","LoadingSpinner","ConsumerAddBankForm","ApplePayButtonWrapper","showDividerOrText","showApplePayGuestDisclosure","useApplePayGuestDisclosure","navigateToReceiptPage","logBillingApplePayButtonShown","guestTermKey","ApplePayButtonSimple","handleClick","APPLE_PAY_BASL_RENDER","_initialGqlData$check","merchantAddressConfig","merchantShippingConfig","charges","shippingOptionsSource","paymentRequest","lineItems","shippingContact","merchantAddressConfigRequired","_cachedCheckoutSessio","_initialGqlData$check2","cachedCheckoutSession","getCachedCheckoutSession","shippingAndTaxesResponse","getCachedShippingAndTax","handleBuildApplePayMerchantConfig","shippingAndTaxes","calculateShippingAndTaxes","logBillingApplePayButtonClicked","createSession","applePayPaymentRequest","begin","APPLE_PAY_BILLING_BUTTON_METRICS","CLICK_COMPLETE","CLICK_ERROR","error_message","FCI","buttonStyle","ApplePayGuestDisclaimerMessage","streamlineGuestTermsEmbeddedLinks","BaslApplePayLinkStyles","ADDRESS_METADATA_FRAGMENT","CART_AMOUNTS_FRAGMENT","CART_ITEMS_FRAGMENT","SHIPPING_METHODS_FRAGMENT","CART_FRAGMENT","COMPLETED_PAYMENT_INFO_FRAGMENT","CART_OVERCAPTURE_FRAGMENT","CART_SUBSCRIPTION_FRAGMENT","NO_ERROR_MESSAGE_AVAILABLE","correlationId","correlation_id","opName","ACCOUNT_CREATION_OPERATIONS","APPROVE_GUEST_PAYMENT_APPLE_PAY","isApplePay","ONBOARD_GUEST","isOnboardGuest","SIGN_UP_NEW_MEMBER","isSignUpNewMember","CREATE_MEMBER_ACCOUNT","isCreateMemberAccount","UPGRADE_GUEST_TO_MEMBER","isGuestToMember","ACCOUNT_UPDATE_OPERATIONS","CHECKOUT_GUEST_WITH_MEMBER_BENEFITS","isGuestCheckoutWithMemberBenefits","OPERATION_TO_ACCESS_TOKEN_MAP","getErrorFromResponse","_networkError$result","_networkError$result$","firstGQLError","firstNetworkError","client","mutate","_graphQLErrors$filter","_graphQLErrors$filter2","_exception$stacktrace","exception","errDetails","_error$errorData","_error$errorData$map","errDetailObj","stacktrace","operation_name","error_source","int_error_details","_networkError$statusC","networkErrorStatusCode","status_code","COMMA_WITH_OPTIONAL_SPACE","EMAIL_REGEX","EVENT_HANDLER_REGEX","FIRST_LETTER","NON_DIGITS","NON_DIGITS_GLOBAL","NON_ALPHANUM_GLOBAL","NON_WHITESPACE","OBJECT_AS_STRING","ONLY_WHITESPACE","APP_MODE","GUEST","SIGNUP","FormTabs","CARD_FIELDS_TO_DISPLAY","ADDRESS_GROUP_REGEX","SPINNER_TYPES","almostDone","empty","thankYou","LazySepaMandate","SepaMandate","LazyRightOfWithdrawal","RightOfWithdrawal","LazyPrivacyStatement","PrivacyStatement","LazyThirdPartyDataConsent","ThirdPartyDataConsentCheckbox","LazyUniqueInformationProcessing","UniqueInformationProcessingCheckbox","backToMerchant","donePage","fallbackHermes","fallbackXoon","init","signup","TRANSITION_NAME","cancelAndRtm","interactive","login","pageLoaded","prepareBilling","renderThreeDS","submitPayment","COMMON_PAYLOAD","buyer_type","context_id","context_type","design","enrich","experience","feed_name","host_name","serverside_data_source","ACCOUNT_CREATION_PAYLOAD","buyerId","amt","ccpg","curr","cust","mrid","pgrp","INTERSTITIAL_PAYLOAD","stateName","IS_ADDRESSLESS_PAYLOAD","is_addr_shown","ONBOARD_OPTION_CHANGED_PAYLOAD","account_signup_type","event_time","_window$performance","page_load_time","PREPARE_BILLING_PAYLOAD","hasPayLaterIntent","isTabView","entry_point","pay_upon_invoice","TRANSACTION_DETAILS_PAYLOAD","parseFloat","seller_id","TRACK_FIELD_INPUT_PAYLOAD","charCount","char_cnt","field_type","DOES_NOT_PAY_TAXES_OUTSIDE_COUNTRY","CRS_FIRST_NAME_ID","CRS_LAST_NAME_ID","SET_TAX_STATUS","SET_TAX_DETAILS","ADD_TAX_DETAILS","REMOVE_TAX_DETAILS","SET_LEGAL_FIRST_NAME","SET_LEGAL_LAST_NAME","SSN","TIN","CRS_TAX_DETAILS_FIELDS","COUNTRY_CODE","TAX_PAYER_ID_TYPE","TAX_PAYER_ID_VALUE","NO_TAX_PAYER_ID_REASON","COMMENT","TAX_PAYER_ID_MAPPER","regex","FPTI_VALUE_MISSING_ERROR","FPTI_INVALID_VALUE_ERROR","formatTreatmentData","exp","_exp$factors","experimentName","globals","appConfig","deferredQueryData","elmoExperiment","treatments","otpLoginContext","redirectOnError","billingType","consentCode","subscriptionDetails","totalAllowedOverCaptureAmount","creditMeta","upstreamCreditPresentment","flags","nonMemberCreditOffers","allOffers","elmoExperimentWithRealTimeFilters","isInternalRequest","releaseMetaData","_window$__RELEASE_MET","__RELEASE_META__","_window2$__RELEASE_ME","route","requestType","applePayMerchantIdentifier","fallbackEndpoint","hermesEndpoint","iwcRedirectUrl","useraction","__INITIAL_DATA__","weasleyAppConfigFallback","configSource","healthCheck","ASSERTION_THRESHOLDS","rootElWidthOrHeight","visibleRootDepth","visibleTextCount","ASSERTION_WEIGHTS","rootElDimensionsZero","ENABLED","LIMIT_HEALTHECK_TO_SINGLE_RUN","SEND_SCORECARD_DETAILS_TO_CAL_FPTI","THRESHOLD_FATAL","getWeasleyAppConfig","accessTokenObj","clearAccessToken","updateLocale","updatedLocale","updateIwcContext","updatedContext","getCheckoutSession","_globals$initialGqlDa","_globals$initialGqlDa2","_globals$initialGqlDa3","_globals$initialGqlDa4","_globals$initialGqlDa5","_globals$initialGqlDa6","Purchase","regions","GEO_REGIONS","_unifiedLoginContext$","unifiedLoginContext","experienceMetadata","onboardingData","userEmailFromIWC","getMerchantPrefilledFields","_globals$initialGqlDa7","_globals$initialGqlDa8","phoneNumber","getEmailAutofill","_unifiedLoginContext$2","_checkoutSession$cart","_checkoutSession$cart2","fptiCustType","fptiEmail","getBillingType","_globals$initialGqlDa9","_globals$initialGqlDa10","_globals$initialGqlDa11","_globals$initialGqlDa12","hasSelectAllSignupTerms","SELECT_ALL_SIGNUP_TERMS_COUNTRIES","isChannelInitiatedBillingAgreement","ChannelInitiatedBilling","ChannelInitiatedBillingSingleAgreement","isMerchantInitiatedBillingAgreement","MerchantInitiatedBilling","MerchantInitiatedSingleBilling","SubscriptionsV1","isLegacySubscription","RecurringPayments","isNextGenSubscription","RecurringPaymentsV1","EMEA_LITE_COUNTRIES","EMEA_PASSWORDLESS_WITHOUT_COOKIES","SEPA_MANDATE_COUNTRIES","isRtlLang","directionality","_globals$initialGqlDa13","_globals$initialGqlDa14","isCommitFromQueryParam","isCommitFromCheckoutSession","isCommitFromWindowXProps","commit","updateExperiments","_globals$initialGqlDa15","landingPageElmos","landingPageTreatments","deferredExperiments","val","formatUrlOverrideTreatmentData","unescapeData","parse","unescape","_globals$uri","browserName","browserVersion","unescapeInitialGqlData","ADDRESS_VALIDATION_ERROR","API_CHECKPOINT","API_ERROR_CODE","CLIENT_ERROR_CODE","FIELDS","CPA_AUTH_DECLINED_ERROR","CROSS_BORDER_ERROR","NON_DOMESTIC_CARD","SHARED_FI_ERROR","EXCEEDING_TOTAL_DUPLICATE_LIMIT_SIGNUP","INSTRUMENT_SHARING_LIMIT_EXCEEDED_SIGNUP","R_I_ERROR","getPrivacyPolicyEmbeddedLink","embeddedLinkText","flowType","subPageAnchorNumber","privacyPolicyLink","TERMS_MAP","getTermsAndConditionsEmbeddedLink","termsAndConditionsLink","getUserAgreementLink","userAgreementLink","termsLink","countryUserAgreementLink","moreInformationLink","privacyPolicyStatementLink","privacyPolicyV2Link","termsV2Link","streamlineSignupTermsEmbeddedLinks","_getLocale","serviceDescriptionLink","cfsgpdsLink","eSignConsent","eSignDisclosureAndConsent","acceptableUsePolicyLink","sanctionsLink","commissionInformationLink","eSignConsentLink","eSignDisclosureAndConsentLink","feeInformationLink","financialServiceAndDisclosureLink","paypalUserAgreementLink","rightOfWithdrawalLink","termsAndConditionsLinkUpperCase","CUSTOMER_INTERACTION","START_APPLICATION","APP_ROUTING","GUEST_XO_SIGNUP_FORM_USER_INPUT","SAME_AS_SHIPPING_ADDRESS_RENDER","CURRENCY_CONVERSION_RENDER","GUEST_IWC_LANDING_RENDER","GUEST_IWC_LANDING_OTP_LOGIN_SUBMIT","GUEST_IWC_LANDING_PWD_LOGIN_SUBMIT","GUEST_IWC_INCONTEXT_OTP_LOGIN_SUBMIT","APPLE_PAY_IWC_LANDING_RENDER","PAY_BANK_RENDER","PAY_LATER_RENDER","PAY_NOW_RENDER","RMG_PAGE_USER_INPUT","CREATE_ACCOUNT_AND_PAY_SUBMIT","ADD_BANK_REDIRECT_TO_CONSUMER","ADD_BANK_REDIRECT_TO_MEMBER","CONTINGENCY_ADDRESS_NORMALIZATION_USER_INPUT","CONTINGENCY_BANK_ACCT_ALREADY_LINKED_USER_INPUT","CONTINGENCY_RESOLVE_3DS_USER_INPUT","CONTINGENCY_TAX_INFORMATION_USER_INPUT","hasLoggedNotInitialized","buildSafeMethod","methodName","_window$PPClientInter3","isInitialized","existsOnWindow","_CI$getCurrentClientI","currentCi","getCurrentClientInteractionEvent","getMetadata","_error","_x","_CI$getCurrentClientI2","_CI$getCurrentClientI3","setMetadata","Auth","Network","None","ThirdParty","_CI$getCurrentClientI4","_CI$getCurrentClientI5","flag","_CI$getCurrentClientI6","getClientInteractionEvent","getParent","childEventName","_window$PPClientInter4","allInteractions","childIndex","findIndex","interactionName","_allInteractions","_CI$getCurrentClientI7","_CI$getCurrentClientI8","Cancel","Start","updateMetadata","userCanceled","dateString","dateMeta","datePattern","getDateOfBirthSeparator","dateOrder","getDateOfBirthOrder","day","month","year","parseByDateOfBirthSeparator","padLeft","legalAgreementsFunctionMap","userAgreement","majorVersion","minorVersion","shouldSendUserAgreement","legalAgreements","previous","isSignupIncentiveOptIn","kycUsesNationalityOnChange","__","l","VENMO_OVERLAY_VARIANTS","CONTROL","HEADER","INTERSTITIAL_WITH_LOGIN","INTERSTITIAL_WITH_RTM","DisclaimerMessageContainer","MainContentAreaComponent","main","ButtonPPReactV7","useSubmitButtonContent","isNextGenSub","currency","useButtonCurrencyCode","_conversionData$conve","conversionData","selection","buttonKey","keyName","isStreamlineForcedExperience","isSilentMemberMatching","toggleSuppression","flowName","isStreamlineOptionalSignup","getFlowName","subFlow","getSubFlow","isRecurringPayment","isECStreamline","isWPSStreamline","deOnboardSwitchDefaultOverride","userActionCommit","customerInteraction","interstitial","isLoading","secondary","isInterstitialOpen","useInterstitialOpen","isMemberBenefitsInterstitialOpen","isPhoneConfirmationOpen","isPasswordlessUpgradeOpen","disabledState","field_value","logFPTICTAContentKey","btnState","buyerProtectionLink","collectionNoticeLink","getUserAgreementPath","creditCheckLink","eCommunicationsPolicyLink","nonAccountCheckoutLink","safetyAndSecurityLink","checkFrameBust","_window$paypal","_window$paypal$allowI","isIframe","paypal","allowIframe","logIncontext","isIncontext","isLegacyIntegration","isLegacyIncontext","isPopup","handleBlockedDomesticTransactions","merchantCountry","cartDetails","buyerCountry","Cn","logFPTIWhenDomesticTransactionBlocked","EXCLUDED_COUNTRIES","setIsBlockedDomesticTransaction","handleSignupAndGuestIneligible","isSignupDisabled","isSignupDisabledForGibraltar","shouldShowShippingOptions","updateAppleSheet","updateAppleShippingContact","merchantPassedShippingAddress","merchantPassedAddressLines","newLineItems","addressLines","administrativeArea","newShippingMethods","newTotal","readQuery","PROFILE_SHIPPING_OPTIONS_QUERY","lang","CALCULATE_SHIPPING_AND_TAXES_QUERY","self","opener","isIframeWindow","isPopupWindow","isVzeroIntegrationWindow","isVzeroIntegration","hasVzeroParam","windowName","isXpropsPresent","hasLegacyNameAndIsPopup","hasIncontextParam","postToMerchantForOldIncontext","_window$opener","_window$opener2","_window$opener2$frame","_window$opener3","_window$opener3$frame","msg","updateParent","isEdge","userAgent","isNotIE","postMessage","bridge","frames","PayPalBridge","returnToParent","ILLEGAL_TYPES","propsArray","prop","invert","inverted","CONTENT_CACHE","MISSING_CONTENT_KEYS","NESTED_CONTENT_KEY_REGEX","RTL_LANGUAGES","getContentFromCache","onContentMissing","__internalGetContent","getReactContent","currentDirectionality","documentElement","getAttribute","getNestedContentKeys","contentStr","responseContingencyHandlerFactory","paymentContingencies","threeDomainSecure","threeDS1ContingencyData","threeDSContingencyData","threeDS2ContingencyData","is3DSecureRequired","causeName","responseHandlerFactory","namespace","_responseData$funding","_fundingOption$allPla","_plan$fundingSources","responseData","fundingOption","fundingOptions","plan","allPlans","fundingSources","fundingInstrument","isBillingWithoutPurchase","_fundingInstrument$fu","instrumentId","instrumentIdPresent","setInstrumentId","setFundingSource","_window$PAYPAL$analyt2","instance","recordClick","_responseData$buyer","userId","stackTrace","onAuth","onAfterOnboardAccountCreationHandler","onAfterPaymentPlanCreationHandler","onAfterCheckoutGuestWithMemberBenefits","onAfterOnboardAccountSuccessHandler","onAfterPaymentPlanSuccessHandler","APPROVE_ONBOARD_PAYMENT_MUTATION","CREATE_MEMBER_ACCOUNT_MUTATION","CREATE_ONBOARDING_PAYMENT_PLAN_MUTATION","ONBOARD_GUEST_MUTATION","SIGN_UP_NEW_MEMBER_MUTATION","PRE_AUTHORIZE_PAYMENT_MUTATION","MutationName","onboardMutations","createMemberAccount","onboardGuest","signUpNewMember","isMultiProductSupported","mutationName","isMemberMatch","isOptionalSignupFlow","createMemberAccountMutation","onboardGuestMutation","signUpNewMemberMutation","getMutationName","mutation","mutationPromise","fptiOptions","payment_intent","fromSignup","multiProductSupported","onboardErrorHandler","IS_GUEST_MEMBER_BENEFITS_ELIGIBLE_QUERY","NationalityContainer","isFirstField","NationalitySpan","Flex","EditButton","SelectionMenuContainer","CheckoutGuestWithMemberBenefitsMutation","OnboardGuestMutation","SignUpNewMemberMutation","UpgradeGuestToMemberMutation","ApproveGuestPaymentWithApplePayTokenMutation","CreateMemberAccountMutation","APP_DOWNLOAD_BANNER_QUERY","GUEST_UPGRADEABLE_TO_MEMBER_QUERY","WPS_DONE_PAGE_QUERY","CURRENCY_CONVERSION_FROM_CREDIT_CARD_QUERY","AddressAndEditContainer","getCustomInputContainerStyleOverrides","isEditFocused","editButtonClick","PrimaryResidentialAddress","setIsEditFocused","readOnly","passwordContainerStyleOverrides","SignupFields","restProps","SelectedLegalDisclosures","StreamlineLegalDisclosures","LegalDisclosures","primaryResidentialAddressValue","usePrimaryResidentialAddressValue","LazyPasswordInput","LazyKYCFields","logLookup","eligibility","cust_type","product","iwcEmailLookup","lookupResponse","setIdentityAuthProviderStatus","setIsAutoSmsNotified","notified","validateLookup","lookup","baseUri","publicCredential","validateEmail","shouldUseIWC","setLastEmailLookup","setIsExistingAccount","lastEmailLookup","canBeToggledOn","updateOnboardOption","setShowIsExistingAccountEmailMessage","handleSignupSuppress","logEmailLookupCompleted","iwcAutofillEmailLookup","_appStore$getState$fo","autoFill","autoFilledEmail","safeTrim","defaultReturn","lowerCase","setCase","reverseString","substr","stripNonDigits","safeNormalize","stripNonAlphaNum","stripPrefix","prefixRegEx","pad","normalize","splice","idx","insert","baseStyles","styles","viewBoxWidth","pathId","gradientId","preserveAspectRatio","stopOpacity","attributeName","dur","repeatCount","defaultProps","propTypes","conditionallyFetchConversionData","nextFocusedEl","_formState$cardNumber","viaShippingCallback","getIsConversionNeeded","isCardNumberValid","isConversionShown","isDccEligible","isBuyerFxEligible","getCurrencyConversionData","cardBrand","_response$errors","currencyConversionFromCreditCard","conversionType","updateCurrencyConversionSelection","canChangeConversionType","setCurrencyConversionData","_nextFocusedEl$focus","is_conversion_needed","conversion_reason","conversion_selection","PREPARE_CURRENCY_CONVERSION_PAYLOAD","setShowCardConversionOptions","APP_NAME_FOR_FPTI_LOGS","FEATURE_GUEST_APPLE_PAY_SHOWN","APPLE_PAY_IDENTITY_BUTTON_METRICS","APPLE_PAY_PAYSHEET_ERROR","PASSWORDLESS_SIGNUP_CONTENT_KEYS","passwordlessContentKey","_getCheckoutSessionFl","isTreatment","contentKeys","defaultKey","shouldShowOTP","suppressSignup","memberMatchSilent","wpsMemberMatchSilent","memberMatchInterstitialWithNoToggle","wpsMemberMatchInterstitialWithNoToggle","toggleSuppressRoW","experimentResultCache","Map","resetExperimentCache","resetAllExperimentsCache","clear","set","experimentTesting","getFromCache","setExperiment","ppExperiments","containerStyles","tooltipErrorStyle","BlockNonDomesticPayer","hasBlockNonDomesticPayerRestriction","CountryDropdown","globalsCountry","isBoltActive","countriesList","isBlockedDomesticTransaction","onShippingAddressCallback","useShippingAddressCallbacks","setCountry","isDisabled","handleCountryChange","getCountryChangeHandler","toCountry","_e$target2","isValidCountrySelection","selectedIndex","isChangeBlocked","ARIA_ATTRIBUTES","CountryAsTextContainer","changeButtonStyleOverrides","CountryAsText","globalCountry","countryList","TextButtonWithUnderline","clickHandler","CountrySelector","showDropdown","setShowDropdown","handleCountryAsTextClick","handleLanguageChange","change_to_lang","removeCookieBanner","setCurrentLanguage","queryCookieBanner","setCookieBanner","LanguageButton","LanguageListContainer","LanguageList","currLanguage","enabledLanguages","DEFAULT_PASSWORD_HINTS","DIGIT_REG_EX","DOUBLE_BYTE_REG_EX","FOUR_CHAR_SEQUENCES","FOUR_REPEATED_REG_EX","MAX_HINTS","NON_VALID_CHARS_REG_EX","PASSWORD_HINT_KEYS","PASSWORD_HINT_MAP","hasDoubleByte","hasFourCharRepeated","hasFourCharSequence","hasNonValidChars","hasNonValidSymbol","infoSecViolation","missingNumberOrSymbol","tooLong","tooShort","PROPS_TO_FILTER","SYMBOL_REG_EX","NON_VALID_SYMBOL_REG_EX","_apiState$userAgreeme","activeUrl","errorStyleOverrides","PrivacyTermsList","PrivacyTermsContainer","FEATURE_SIGNUP_RIGHT_OF_WITHDRAW_CHECKBOX_COUNTRIES","Ch","Eg","Sa","Ua","Za","ValuePropContainer","MerchantLogoContainer","MerchantLogo","img","FlexWrapperStyles","FlexWrapper","showValueProps","AppWrapper","pageName","ContentWrapper","isContentFullWidth","COOKIE_BANNER_QUERY","CONTAINER_ID","BODY_CLASS_NAME_REG_EXP","containerEl","removeChild","createCookieBannerElement","_markupContainer$text","hasContent","is_consent_shown","logPrepareCookieBannerToFPTI","SESSION_ID","Math","random","MERCHANT_NAME_LENGTH_LIMIT","SHIPPING_AND_CALLBACK_ADDRESS_FIELDS","BILLING_ADDRESS","SHIPPING_ADDRESS","BUYER_FX_INELIGIBLE_COUNTRIES","FORCED_PAYPAL_CONVERSION_CARD_BRANDS","FORCED_VENDOR_CONVERSION_CARD_BRANDS","isDomesticTransaction","isRestrictedDomesticTransaction","isBFXEnabledOnIneligibleCountry","cartCurrency","localeCurrency","configureLoggerForFPTI","shipping_preference","loginMethod","fptiPrefilledFields","api_integration_type","app_int_type","integration_type","landing_page","login_type","market","merchant_prefill","planning_activity_handle","_initialData$initialG","_initialData$initialG2","_initialData$initialG3","_initialData$landingI","_payload$event_name","initialData","finalPayload","server_epoch_timestamp","sessn_id","visitor_id","xPaypalFptiStr","xPaypalFpti","user_session_guid","user_guid","BATCHED_QUERY_OPTIONS_OVERRIDES","RESET_STORE_OVERRIDES_MAPPER","isPageLoading","showVenmoMessage","landingToBilling","FALLBACK_LANGUAGE","En","logCountryChange","fromCountry","transitionName","billing_country","billing_country_changed","onShippingCallback","readSuggestedLanguagesQuery","suggestedDefaultLanguage","getSuggestedDefaultLanguageForCountry","promises","fetchLocaleMetadata","fetchCheckoutSessionData","all","logCountryChangeSuccessToFPTI","cacheInitialDataInReduxStore","checkoutSessionResponse","localeMetadataResponse","setIsReduxStoreHydrated","conditionallyCalculateShippingAndTaxes","In","setGuestIneligibleAlertDisplayed","logCountryChangeErrorToFPTI","UPDATE_CALLBACK_OPTIONS_MUTATION","UPDATE_PROFILE_SHIPPING_OPTIONS_MUTATION","CTAMessageTreatment","preAuthorizePaymentPlan","approvePayment","threeDS2ContingencyHandler","confimationMethod","confirmationMethod","currencyCodePresent","currencyValuePresent","setThreeDS2ContingencyData","toggleIsThreeDS2Shown","logBillingPageShown","applePayButtonShown","flow_name","selected_funding_option","logonShippingAddressChangeReceivedToFPTI","errorDescription","api_response","logShippingOptionsChangeReceivedToFPTI","EMOTION_CACHE_KEYS","ltrConfig","stylisPlugins","EMOTION_CACHE","LTR","createCache","RTL","stylisRTL","LEGACY_EMOTION_CACHE","createCacheLegacy","legacyStylisRTL","valuePropHeaderStyles","valuePropSubHeaderStyles","ShieldImage","ariaDescribedByContent","EmotionWrapper","cacheKey","CacheProviderLegacy","CacheProvider","Global","PageLoadingSpinner","overlayStyleOverrides","backgroundColor","PayPalValueProps","uniqueStr","rand","rand2","randAdj","floor","useShippingChange","cartId","setCartData","setShowLoadingSpinnerWithMessage","isBankForm","isShippingCallbackV1Eligible","onShippingChangeCbWrapper","useShippingChangeCallback","onShippingChangeCb","merchantShippingAddressRef","_amounts$total","_amounts$total2","formattedShippingAddress","selectedShippingOption","isViaShippingOptionsChange","spinnerMessage","sanitizedSelectedShippingOption","shippingAddressForMerchant","onShippingChangeParams","orderID","paymentToken","selected_shipping_option","shipping_address","reject","execute","logShippingChangeReceivedToFPTI","didCallbackFire","errMsg","checkoutSessionData","PATCH_OP","useShippingAddressChange","isShippingCallbacksV2Eligible","useShippingAddressChangeCallback","onShippingAddressChangeCb","toggleLoadingSpinner","onShippingAddressChangeParams","orderId","errorLookup","logShippingMethodsShownToFPTI","logMissingShippingMethodsToFPTI","logFetchingShippingMethodsToFPTI","logShippingMethodSelectedToFPTI","logShippingInsuranceSelectedToFPTI","logShippingOptionSelectedToFPTI","optionSource","optionSelected","hasInsurance","optsel","item","isState","isPostalCode","postalCodeLabel","postcodeLabel","stateList","displayText","dropOneTouchCookie","timeoutValue","timeoutPromise","failureHandler","clearTimeout","ulEventHandlers","oneTouchInterstitialOptInFailed","oneTouchInterstitialOptInNotAuthorized","_document$getElementB","remove","oneTouchInterstitialOptInSuccess","oneTouchInterstitialOptInAttempted","oneTouchInterstitialOptInLoaded","ulTargetElement","iframePathname","onPostMessage","handler","targetElement","ULInject","unifiedLogin","inject","pomaLogout","getPomaTooltipRenderPosition","questionButtonRef","tooltipContentRef","questionIconElement","questionTooltipContentElement","tooltipMarginTop","arrowRightPosition","offsetWidth","offsetLeft","WEASLEY_ELIGIBILITY_QUERY","WEASLEY_ELIGIBILITY_RESOURCE_OBJECT","filters","res","WEASLEY_RAMP_ELMO_EXPERIMENT_NAMES","matchingExperiment","returnObject","LoadingSpinnerFromIndexFile","version","xmlnsXlink","logOnMount","PageInfoMessage","getEntriesByType","round","domInteractive","time","timing","loadEventEnd","loadEventStart","navigationStart","_window2$navigator","_window3$navigator","_document","_document$documentEle","_window5","_document2","_document2$documentEl","netInfo","connection","device_memory","deviceMemory","network_downlink","downlink","network_downlinkMax","downlinkMax","effectiveType","network_roundTripTime","rtt","network_saveData","saveData","network_type","innerHeight","clientHeight","innerWidth","clientWidth","pageWarningContainerStyles","CHECKOUT_SESSION_DATA_QUERY","initFraudNet","fraudNetConfig","addCrossOrigin","existingConfig","parentElement","configuration","ts","fconfig","fraudnet","src","crossOrigin","fraudNet","queryOptions","_cart$cancelUrl","_cart$shippingAddress","_checkoutSession$merc","rawLocaleMetadata","shippingAddressMeta","description","intent","noteToBuyer","conditionallyUpdateShippingCountry","prefillFormFields","prefilledAddressFields","setPrefillAddressMetadata","allowedCardIssuers","isShipToStore","isStoreAddress","setMerchantId","fetchInitialData","_getGlobals$initialGq4","_getGlobals$initialGq5","prefilledNonAddressFields","isDomesticShippingOnly","addressApi","fetchAddressMetadata","updateShipToBilling","updateAddressField","getPrefillPayloadForField","prefillNonAddressFields","validatePhoneNumber","minLength","maskedValue","getMaskedPhoneNumber","validatePhone","getPhoneValidator","payer","getBillingNameFromCart","prefillActions","validator","validateName","currentStoreValue","_formState$billingAdd","_formState$billingAdd2","_formState$shippingAd","_formState$shippingAd2","shouldPrefillBilling","shouldPrefillShipping","_billingAddress$posta","updateAllAddressFieldsUsingMerchantPrefilledData","getPrefillAddressPayload","_shippingAddress$post","shippingPayload","prefillAddressFields","validatedAddress","validateAddressFields","shouldUpdateValue","NORTH_AMERICA","filteredTerritories","shouldExcludeGibraltar","filterTerritories","mapTerritories","defaultTerritories","AMERICAS","APAC","EMEA","territory","internationalDialingCode","getTerritoryRegion","access_token","claims","geo","cdnHostName","stagingHostName","authchallengeEndpoint","widgetBundleUrls","cap","capBaseUri","isLinkAndPay","isScaRegion","mockedMode","northstar","redirectedToAuth","commonWebFlows","returnParams","cookielessQueryParams","credit","productIdentifier","offerToken","newUser","isCreditSecondButton","isV3","checkWindow","updateGlobals","updatedGlobals","getUser","_process$env$NODE_ENV","_getUser","getCountry","_globals$locality","_globals$locality2","getCookielessQueryParams","_client","getClient","setClient","_globals$geo","_globals$geo2","getVisibleRootDepth","root","_root$checkVisibility","_root$dataset","depthCount","checkVisibility","dataset","healthcheckIgnore","nodeDepth","siblingDepth","nextElementSibling","generateSimpleDomTree","simplifiedHtmlElements","visit","node","_node$dataset","depthCounter","simpleHtmlTag","_node$innerText$lengt","_node$innerText","_node$checkVisibility","_node$dataset2","visibleTextLength","innerText","ariaLabel","testid","stringifyHtmlTag","weasleyAppConfig","sendSampleScoreCardsToCalAndFPTI","_weasleyAppConfig$hea","_weasleyAppConfig$hea2","_weasleyAppConfig$hea3","_weasleyAppConfig$hea4","_weasleyAppConfig$hea5","_weasleyAppConfig$hea6","minVisibleTextCountToPass","_ASSERTION_THRESHOLDS","minRootElDimWidthOrHeightToPass","_ASSERTION_THRESHOLDS2","minVisibleRootDepthToPass","_ASSERTION_THRESHOLDS3","generateHealthScore","rootEl","eventSrc","_weasleyAppConfig$con","_rootEl$querySelector","_rootEl$querySelector2","score","failedAssertions","_rootEl$innerText","getVisibleTextCount","_ASSERTION_WEIGHTS$vi","rootElDimensions","getRootElDimensions","_ASSERTION_WEIGHTS$ro","_ASSERTION_WEIGHTS$vi2","_assertionRules","RULE_SOURCE","scoreReasons","_domReadyState","readyState","formFields","rootDomTree","rootElDim","sendScoreCardsToCalAndFPTI","timestamp","getBrowserUrlPath","_window$location","sendDetailedScoreCard","_scoreCard$scoreReaso","_scoreCard$scoreReaso2","scoreCard","simpleFptiPayload","generateSimpleScoreCardPayloadForFPTI","domTree","hc_domTree","calPayload","_scoreCard$scoreReaso7","_window$performance$n2","_window5$performance","simpleScoreReasons","hc_ready_in","hc_url_path","generateScoreCardPayloadForCAL","tracking","_window2$logPayload","debug","_window3$__INITIAL_DA","_window3$__INITIAL_DA2","_props$event","_scoreCard$eventSrc","_scoreCard$failedAsse","_scoreCard$failedAsse2","_window$performance$n","_scoreCard$scoreReaso3","_scoreCard$scoreReaso4","_scoreCard$scoreReaso5","_scoreCard$scoreReaso6","hc_event","hc_eventSrc","hc_failed_assertions","hc_level","hc_reason","hc_formFields","hc_rootElDim","hc_score","hc_src","hc_threshold","hc_visibleRootDepth","hc_visibleTextCount","healthCheckHasRun","elmoMode","_getFactors","_getFactors2","healthCheckModeFromElmo","isInteger","runHealthCheck","_window$PAYPAL$checko","_window$PAYPAL$checko2","manualDisableFlag","checkout","weasleyCfgDisableFlag","firstFailureReason","logMetricAndFPTI","_window$PAYPAL2$check","_window$PAYPAL2","_window$PAYPAL$checko4","_window$PAYPAL$checko3","runCheck","metrics","metricSrc","handleResidentialAddressContingency","updateAddressPayload","getErrorMessageByAddressType","logPrepareResidentialAddressInterstitialToFPTI","invalidAddressContingency","handlePOBoxLine1AddressContingency","filteredErrors","firstFieldError","addressTypeError","addressFieldsRegexp","RegExp","consolidatedErrorFlags","PAGE_LEVEL_ERRORS","setCupOtpFundingInstrumentId","setCupOtpEncryptedCardLoginAccountNumber","setIsOneTimePasswordConfirmationOpen","setIsRiskPhoneConfirmation","paragraphStyles","TipsList","QuestionButton","POMAHeader","PomaTermsWithOneTouch","webLLSTreatment","isSubmitting","termsLinks","getTermsLinks","useHTML","PasswordlessTooltip","isEmeaNoCookies","isDisplayTooltip","setIsDisplayTooltip","positioningProps","onKeyDown","QuestionIcon","setProgressiveSpinnerType","approveOnboardPaymentMutationCall","fptiFlowName","update","approveGuestSignupData","approveGuestSignUpPayment","completedPaymentInfo","logUserInteractionTime","guestUpgradeToMemberRequiredVariables","isGuestUpgradeableToMemberQuery","_window$xprops2","_approveOnboardPaymen","_cart$returnUrl","_window$xprops3","approveOnboardPaymentMutationResponse","guestUpgradeableToMemberResponse","onAuthorize","methods","getConnectURL","_window$xprops4","_window$xprops6","authorizeData","payerID","paymentID","paymentId","connectURL","_window$xprops5","_window$xprops5$onAut","hasReturnUrl","isPasswordlessFlow","toggleIsWPSDonePageOpen","_guestUpgradeableToMe","_guestUpgradeableToMe2","isGuestUpgradeableToMember","toggleIsPasswordlessUpgradeOpen","toggleIsUpgradeInterstitialOpen","CHECKOUT_GUEST_WITH_MEMBER_BENEFITS_MUTATION","logFPTIForANSInterstitial","payLoad","cartData","merchantPassShippingAddress","_parseInitialData","_cartData$amounts","_cartData$amounts$tot","_cartData$amounts2","_cartData$amounts2$to","_merchantAddressConfi","hideShipping","merchantName","isChangeShippingAddressAllowed","parseInitialData","shouldUseShippingAndTaxId","requiredShippingContactFields","merchantCapabilities","requiredBillingContactFields","supportedNetworks","shippingType","merchantDidPassAddress","merchantAddressConfigNeeded","_merchantAddressConfi2","_merchantAddressConfi3","_merchantAddressConfi4","_merchantAddressConfi5","apiConfig","cachePaymentApproval","cacheQuery","eventHandlers","onCancel","onCancelApplePayPayment","appleError","_appleError$payload","userCanRetry","onSuccessfulPayment","loggerConfig","trackingBuilder","merchantDomain","parseMerchantDomain","getApplePayIneligibilityReason","_payload$eligibilityR","reasons","_payload$eligibilityR2","eligibilityResult","applePayButtonSeen","isApplePayTreatment","isTreatmentOrControl","getFooterLegalLinks","footerLinksMap","getFooterLegalContent","handleReturnToMerchantLinkClick","getApiState","getCartState","_cart$subscriptionDet","_cart$subscriptionDet2","billPayIntegratorName","BillingWithoutPurchase","currencyFormat","currencySymbol","initialPaymentInfo","getGriffinState","INITIAL_LOCALE","displayFormat","getMiscApiState","_getGlobals","_getGlobals$initialGq6","isUserAccount","evaluatedUserData","emailHasExistingAccount","bankCandidateData","accountNumberShort","bankIdentifierCode","beneficiaries","fullName","fullAddress","creditor","issuer","branchLocation","nickname","bankCurrencyConversionData","isMemberCheckoutError","normalizedBillingAddress","formattedOriginalAddress","normalizedShippingAddress","isPartialAddress","profileOverrideAllowed","AUTO_COMPLETE_TYPE","DEFAULT_PHONE_METADATA","isResidentialAddressEnabled","updateResidentialByBillingAddress","billingAddressData","addressData","_state$addressType3","_state$addressType3$f","_state$addressType4","_state$addressType4$f","updatedAddressFields","_state$addressType","_state$addressType$fi","_state$addressType2","_state$addressType2$f","fieldData","hasIsDirtyProperty","updateAutoCompleteType","updateIsManipulated","getInputState","getDefaultOnboardOption","isPoma","isSignupIneligible","hasGuestXOSepaUpdate","hasMemberAccount","hasSelectAllSignupTermsExperience","cobrand","isNotActive","initialOnboardOption","residentialAddressButtonShouldSubmit","shippingInsuranceSelected","charAt","accObj","override","getFormState","MANUAL","hasChanged","getInitialFundingInstrumentType","hasBank","isCardTabDefault","Jp","isTabFeatureEnabled","hasPayLaterTab","getUiState","addressNormalizationState","showBackButton","showNextButton","showSubmitButton","checkForMemberBenefits","continueToAutoReturn","countToggles","currentLanguage","guestIneligibleAlertDisplayed","hasFormBeenFocused","identityAuthProviderStatus","incentiveOfferState","shouldDisplayOffer","shouldDisplayOfferAccepted","isAddressNormalizeOpen","isAutoSmsNotified","isCRSInterstitialOpen","isFILimitExceededInterstitialOpen","isInstallmentInterstitialShown","isInventorySoldOutOpen","isOneTimePasswordConfirmationOpen","isReduxStoreHydrated","isResidentialAddressOpen","isRiskPhoneConfirmation","isSepaInterstitialOpen","isShippingAndTaxLoaded","isShippingShown","isThreeDS2Shown","isUpgradeErrorShown","isWPSDonePageOpen","multiBrandCardTypes","pageWarningMessage","showLoadingSpinnerWithMessage","soldOutUrlFromError","spinnerType","getUserState","storeModel","setUpstreamCreditPresentment","setBankCandidateData","setBankCurrencyConversionData","setInstallmentData","setProfileOverrideAllowed","setShippingOptionsSource","setThreeDS1ContingencyData","setUserAgreement","updateAddressValidationError","updateAllAddressFieldsUsingANS","ANS","updateAllAddressFieldsUsingGoogleAutocomplete","GOOGLE","MERCHANT_PREFILLED","updateBypassAddressNormalization","updateShareAddressWithDonatee","bypassAddressNormalizationListener","actionOn","shipTo","updateResidentialAddressIsDirty","option","updateShippingInsuranceSelected","onUpdateNonAddressField","Au","onUpdateStreetNameAndHouseNumber","isStreetNameOrHouseNumberField","houseNumber","streetName","newLine1","resetNamesErrorOnChangeNationality","defaultValues","firstNameField","lastNameField","resetPhoneMetadataWhenValueChanged","updateIsSignupIncentiveOptIn","setAddressNormalizationState","setCardFieldsToDisplay","setCheckForMemberBenefits","setContinueToAutoReturn","setCountToggles","setFiType","setHasCardTypeSelector","setHasCupOneTimePasswordConfirmationMessage","setHasFormBeenFocused","setIncentiveOfferState","setIsFILimitExceededInterstitialOpen","setIsInstallmentButtonShown","setIsInstallmentInterstitialShown","setIsMemberBenefitsTrueGuestsInterstitialReject","setIsShippingAndTaxLoaded","setIsShippingShown","setMultiBrandCardTypes","setOverCaptureVisible","setPhoneConfirmationAlertType","setShowVenmoMessage","setSoldOutUrlFromError","setSpinnerType","setTheme","toggleIsSepaInterstitialOpen","toggleIsUpgradeErrorShown","setUserLoggedIn","setUserLoggedOut","resetStore","getInitialStoreState","browserFeatureDetection","paymentRequestApi","PaymentRequest","supportedMethods","canMakePayment","logPerformanceTiming","_window$performance2","PerformanceNavigationTiming","navTiming","paintTimings","domComplete","requestStart","responseEnd","responseStart","paintTimingData","firstByte","serverRequestTime","source","domContentLoadedEventEnd","logPerformanceTimingOnLoadEvent","markSpinnerOnRender","mark","detail","StyledOnboardTermsText","BILLING_WITH_PURCHASE_FLOW_TO_CONTENT_KEY_MAP","CHANNEL_INITIATED_BILLING","CHANNEL_INITIATED_BILLING_SINGLE_AGREEMENT","MERCHANT_INITIATED_BILLING","MERCHANT_INITIATED_SINGLE_BILLING","ENTERPRISE_CONTENT_KEYS","termsKey","backupPaymentPolicyLink","ebayPolicyLink","fbPrivacyLink","overseasRemittance","paypalLink","paypalPolicy","recurringPaymentsPolicyLink","getTermsMap","nestedKeys","allowedKeys","termsObj","TermLink","isEnterpriseLink","logBillingTermLinkClickToFpti","getFlowEligibility","isChannelInitiatedBA","isMerchantInitiatedBA","isBrProjectMacawNoBalanceFlow","countrycodes","isPaymentServiceActAppliedFlow","isRecurringPaymentsFlow","isNextGenSubscriptionFlow","getMerchantName","getBAWithoutPurchaseContentKey","getBAWithoutPurchaseDefaultKey","keySuffix","getKeySuffix","isCIB","contentBillingType","isIndianMerchant","isReferenceTransaction","isChannelInitiatedBilling","isMerchantInitiatedBilling","isMerchantInitiatedSingleBilling","getNextGenSubscriptionKey","Sg","getRecurringPaymentsKey","billingAgreementContentKey","textStyles","BillingTerms","_cartDetails$merchant","billingAgreementKey","getBillingAgreementKey","account_type","billing_intent","BillingWithPurchase","billing_type","terms_key","StreamlineOnboardTerms","hasSelectAllExp","contentString","OnboardTermsWithCheckbox","errorContentKey","signupContent","LazySelectAllTerms","hasMarketingOptInCheckbox","showSepaIfGuest","shouldRenderRightOfWithdrawalCheckbox","DisclosuresContainer","MarketingOptIn","isSelectAllExperience","getMarketingOptinContentKey","_isMemberEligible$dat","_isMemberEligible$dat2","isMemberEligible","isEligible","isGuestMemberBenefitsEligible","checkboxName","agreeToTerms","PATTERN","isPresent","LETTER_TO_PROP_NAME","D","M","Y","formatComponents","dayIdx","indexOf","monthIdx","matchArr","dobInput","inputComponents","first","sec","third","inputToFormattedDateOfBirth","formattedInput","numNonDigitGroups","foundAtIdx","replaceDateOfBirthNonDigits","formattedDate","dateInput","nextProp","isRoughlyValid","m","dateUnitLetter","dateUnit","overflowStart","overflow","nextPropLetter","lastUnit","j","digit","autoFormatDateOfBirth","newValue","firstUnit","secUnit","thirdUnit","dateOfBirthToString","ErrorSVGContainer","ErrorIcon","INFO_ICON_COLOR_MAP","primary","primaryActive","InfoIcon","colors","iconDimensions","PayPalLogo","maskId","xlinkHref","PayPalLogoPP3","PayPalLogoMonotone","PayPalMonogram","SuccessIcon","_apiStateBefore$cartD","_apiStateBefore$cartD2","_apiStateBefore$cartD3","calculatedShippingMethodsAddress","apiStateBefore","currValPreUpdateShipOpts","updateShippingOptions","_apiStateAfter$cartDe","_apiStateAfter$cartDe2","_apiStateAfter$cartDe3","apiStateAfter","updateSelectedShippingMethod","getHeaderContent","shippingMethodTabs","SHIPPING","PICKUP","getShippingMethodTabs","acc","formattedMethod","deliveryTime","shippingOptionLabel","formatShippingMethodProp","contents","fillColor","strokeColor","EditIcon","MinusIcon","CUSTOM_VALUE_MISSING_FIELDS","FIELD_NAME_MAP","isValueMissing","supportedCardTypes","addressLabel","isCustomValueMissing","getFieldErrorKey","GENERIC_ERRORS","CANNOT_PAY_SELF","COMPLIANCE_VIOLATION","CREDIT_PAYMENT_NOT_ALLOWED","DUPLICATE_TRANSACTION","INITIAL_DATA_ERROR","INTERNAL_SERVICE_ERROR","INVALID_ARGUMENT","INVALID_FUNDING_OPTION","INVALID_RESOURCE_ID","INVALID_TOKEN","NEGATIVE_BALANCE_TRANSACTION_REFUSED","OAS_VALIDATION_ERROR","handleDefaultError","PAYEE_ACCOUNT_LOCKED_OR_CLOSED","PAYEE_ACCOUNT_RESTRICTED","PAYEE_BLOCKED_TRANSACTION","PAYER_CANNOT_PAY","PAYER_COUNTRY_NOT_ALLOWED","PAYER_INVALID_FOR_PAYMENT","PAYER_LOGIN_COUNTRY_NOT_ALLOWED","PAYMENT_ALREADY_DONE","PAYMENT_CANNOT_BE_INITIATED","PAYMENT_DENIED","PERMISSION_DENIED","R_ERROR","RETRY","RISK_DENIED","SENDING_LIMIT_EXCEEDED","SEPA_ACCEPT_CONTINGENCY","TRANSACTION_RECEIVING_LIMIT_EXCEEDED","TRANSACTION_REFUSED","VERIFY_USER_IDENTITY","POST_ACCOUNT_CREATION_ERRORS","ADD_CARD_CONTINGENCY","BIN_BLOCKED_OR_CARD_NOT_ALLOWED","CARD_GENERIC_ERROR","CC_PROCESSOR_DECLINED","INSTRUMENT_DECLINED","INVALID_BILLING_ADDRESS","INVALID_EXPIRATION","INVALID_SECURITY_CODE","ISSUER_DECLINE","NEED_CONFIRMED_CARD","NEED_CREDIT_CARD","NEED_CREDIT_CARD_OR_BANK_ACCOUNT","VALIDATION_ERROR","POST_ACCOUNT_CREATION_REBRANDED_ERRORS","CANNOT_PAY_TO_GAMING_SITE","DOMESTIC_TRANSACTION_REQUIRED","MERCHANT_RISK_FILTER_DECLINED","NEGATIVE_PAYMENT_AMOUNT_DISALLOWED","NO_REQUESTED_FUNDING_SOURCES_USABLE","NO_VALID_FUNDING_INSTRUMENT","SHIPPING_ADDRESS_INVALID","TRANSACTION_CURRENCY_UNSUPPORTED","UNSUPPORTED_PAYEE_CURRENCY","USER_RESTRICTED_ON_TRANSACTION","GUEST_CPA_ERRORS","ACCOUNT_NOT_FOUND","AMOUNT_EXCEEDED","BAD_GAMING","EXPIRED_CARD","HOLD_CALL_CENTER","INSUFFICIENT_FUNDS","INVALID_ACCOUNT","INVALID_OR_RESTRICTED_CARD","LOST_OR_STOLEN","PICKUP_CARD_SPECIAL_CONDITIONS","DOB_INVALID","FIRST_NAME_MUST_BE_IN_ENGLISH","INVALID_CITY","INVALID_EMAIL_ID","INVALID_FIRST_NAME","INVALID_IDENTITY_DOCUMENT_VALUE","INVALID_LAST_NAME","INVALID_LINE1","INVALID_LINE1_POBOX","INVALID_LINE1_RRBOX","INVALID_NATIONAL_ID","INVALID_NATIONAL_ID_TYPE","INVALID_PHONE_NUMBER","INVALID_PHONE_TYPE","INVALID_SECONDARY_ID","INVALID_SECONDARY_ID_TYPE","INVALID_STATE","INVALID_ZIPCODE","LAST_NAME_MUST_BE_IN_ENGLISH","PASSWORD_TOO_LONG","ACCOUNT_ALREADY_EXISTS","BAD_INSTRUMENT","BANK_GENERIC_ERROR","BANK_LINKED_TO_FULL_ACCOUNT","CC_INVALID_CSC","CC_LINKED","CC_LINKED_TO_FULL_ACCOUNT","CHECK_DIGITS_REJECTED","COUNTRY_NOT_SUPPORTED","CREATE_CARD_ACCOUNT_CANDIDATE_VALIDATION_ERROR","EXPIRED_CREDIT_CARD","GUEST_CARD_COUNTRY_MISMATCH","INSTRUMENT_DISABLED","INSTRUMENT_DUPLICATE_LIMIT_REACHED","INSTRUMENT_REFUSED","INSTRUMENT_REFUSED_DUE_TO_MAX_LIMIT","INTERNAL_ERROR","INVALID_CARD_NUMBER","INVALID_CARD_OR_TYPE","INVALID_CARD_TYPE","INVALID_EXPIRATION_DATE","INVALID_EXPIRY","INVALID_INSTRUMENT_ID","ISSUER_REJECTED","ISSUER_RESTRICTED","MAX_AMOUNT_EXCEEDED","REJECT_REFUSED","REJECT_UNKNOWN","RISK_DISALLOWED","SETTLEMENT_DENIED","SHIPPING_REGION_UNSUPPORTED","SIGNUP_HOME_ADDRESS_INVALID","PRE_ACCOUNT_CREATION_ERRORS","OAS_ERROR_UNRECOVERABLE","UNMAPPED_OAS_ERROR","fallbackToHermesOrXoon","_errorData$","errorDataCode","handlePostAccountCreationError","isWithoutPurchase","handlePageLevelError","checkpoints","addressesToValidate","_obj$argumentsPath","argumentsPath","addressTypes","handleAddressValidationError","_error$graphQLErrors2","_error$graphQLErrors3","isSharedFIEligible","isRebrandedErrorsEligible","rebrandedErrors","parentInteraction","redirectToHermesOn3DSDecline","handle3DSError","getErrorCodeFromErrorData","_error$graphQLErrors","_error$graphQLErrors$","declinedInstruments","card_type","normalized_processor_response","normalizedProcessorResponse","card_brand","declined_reason","fi_id","reason_code","_error$errorData2","namesFields","firstField","isNameValidationError","handleNamesValidationError","_error$graphQLErrors4","_error$graphQLErrors5","_error$graphQLErrors6","_error$graphQLErrors7","urlFromError","soldoutUrl","logShowCartOnce","cartDetailsItemLength","pu_item_cnt","HeaderBackground","cookieBannerHeight","HeaderContainer","StyledHeader","LogoContainer","CartButton","shouldLoadCartDropdown","CartAmount","FlexboxContainer","flexPosition","loadLazyCartRender","preload","Header","_subscriptionDetails$","_cartDetails$amounts","showCartButton","setSelectedIndex","setShouldLoadCartDropdown","isCartDropdown","setIsCartDropdown","venmoMessage","useVenmo","useGetSubscriptionDetails","totalAmount","_cartDetails$items","getIndex","useGetIndex","_cartDetails$items2","onMouseOver","onClose","Layout","showHeader","showFooter","Footer","getCurrencyCodeAndValue","mapCallbackShippingMethodsInput","isInShippingAndTaxIdTreatment","isInsuranceOffered","cachedId","insuranceAmount","taxAmount","shouldUseInsuranceAmount","shippingAmount","mapProfileShippingMethodsInput","shippingMethodType","isCallBackShippingOption","callbackShippingMethods","profileShippingMethods","selectedMethod","updateProfileShippingOptionsData","updateProfileShippingOptions","updateCallbackOptions","PurchaseIcon","Spinner","SpinnerLoader","SpinnerOverlay","ExitSpinnerContainer","ExitSpinnerTexts","ExitSpinnerText","ExitSpinnerSubText","SpinnerContainer","SpinnerDiv","TransitionSpinnerContainer","titleContent","subTitleContent","prevMarks","getEntriesByName","clearMarks","logFPTISpinnerRendered","_window$performance3","tabIndex","allActive","feats","resolveFeatures","feat","someNotActive","_len3","_key3","ppFeatures","createStore","hasFlags","valueToReturn","userActions","isSignUp","oneTouchAllowed","validOneTouchCountries","tokenType","tokenValue","tokenPresent","dropLoginCookie","STEP_ONE_SPOT","STEP_TWO_SPOT","useFilteredFormState","useMemo","doResetStore","INITIAL_COUNTRY","INITIAL_LANGUAGE","_queryResult$localeMe","queryResult","SUGGESTED_DEFAULT_LANGUAGES_QUERY","getShippingMethodsToStoreInState","isDefaultShippingOption","taxItemAmount","selectDefaultShippingMethod","sort","isShippingRegionSupported","isShippingMethodAvailable","_apiState$cartDetails","_apiState$cartDetails2","_apiState$cartDetails3","_apiState$cartDetails4","_apiState$cartDetails5","_apiState$cartDetails6","prevTax","prevShip","clearShippingAndTaxes","allowedBankTypes","footerLinks","LATAM","selectAllSignupFields","isInstallmentsEligible","kycIdentityDocumentNumberLabelKey","allowChangePhoneType","cardProductClasses","isDebitFlow","blockDomesticPayers","blockNonDomesticCards","blockNonDomesticPayer","blockNonDomesticShipping","bnplExperience","_checkoutSession$nonM","isDonation","isBnplIneligible","creditEligibility","offer","creditProductIdentifier","isBnplEligible","GPL","bnpl_eligible","ppc_eligible","PPC","upstream_presentment","isLinkBNPLExperience","isTabBNPLExperience","_getTreatment","_getTreatment2","experiment","disallowUnsupportedCharacters","supportedLanguages","hasAddBank","hasAddressAutocomplete","hasAddressAutocompleteDisclaimer","hasAddressAutoCompleteFiveItems","hasAddressAutocompletePrivacyLink","hasAddressAutoCompleteSingleLine","hasAddressAutocompleteWithNoBrowserAutofill","hasConsumerAddBank","hasDccDomesticRestriction","hasDccIofDisclosure","hasFooterCountrySelectionMenu","hasFooterEntityMessage","hasFooterPrivacyAndSecurityMessage","hasGuestTermsAndConditionsCheckbox","hasMarketingOptInCheckboxForWps","hasMerchantLogo","hasPrefilledShippingAddress","_getGlobals$initialGq7","hasPrefilledShippingOptions","_getGlobals2","_getGlobals2$initialG","_getGlobals2$initialG2","hasPrimaryResidentialAddress","hasPrivacyStatementTerms","hasShippingAddressQualityExperiment","hasSignupTermsAndConditionsCheckbox","isStreamlineTermsWithCheckbox","hasThirdPartyDataConsentCheckbox","hasUniqueInformationProcessingCheckbox","isAccountExistsErrorTrmt","_getGlobals$initialGq8","_getGlobals$initialGq9","_getGlobals$initialGq10","isShippingAddressRequired","userCountry","isAddresslessEligible","isCrossBorder","hide_shipping","is_guest_eligible","is_shipping_chng_allowed","noshipping","isAmlCountry","_getCheckoutSessionFl2","isCountryDropdownText","isCurrencyConversionInfoMsgStyleActive","isDebitRequiredTransaction","isDebitRequired","hasRequireDebitTreatment","isDonationOptionallyShareAddress","isOptionallyShareAddress","isExpandedPurchaseProtection","isExpandedRewards","isExpandedStretchRewards","isSignupIncentiveEligibleStretchRewards","stretchTreatment","isExpandedStretchRewardsIneligibleDownstream","isExpandedValueProps","isExpandMemberMatchWPS","fallbackFrom","isRPSForcedSignup","_getGlobals$initialGq11","_getGlobals$initialGq12","_getGlobals3","_getGlobals3$initialG","_getGlobals3$initialG2","_getGlobals3$initialG3","isMarketingOptInCheckedByDefault","isMemberMatchEligibleReqAndOptSignup","isMemberMatchNoOptIn","isMemberMatchNoToggleWithInterstitial","ecNoToggleInterstitial","wpsNoToggleInterstitial","isPaymentServiceActApplied","isRegeEligible","_getGlobals4","_getGlobals4$initialG","_getGlobals4$initialG2","_getGlobals4$initialG3","_getGlobals5","_getGlobals5$initialG","_getGlobals5$initialG2","_getGlobals5$initialG3","isShippingAndTaxId","isShippingChangeAllowed","_window4$xprops","isShippingCallbackV1Ineligible","_window5$xprops","isSignupIncentiveEligible","_getGlobals$initialGq13","_getGlobals$initialGq14","_getGlobals$initialGq15","isSuppressedSignup","isWebLLS","_getGlobals$landingIW","passwordlessOptionalSignup","paySecurelyHeader","reorderEmailAndPhoneFields","selectAllSignupFieldsKeys","shouldBlockDomesticTransactions","shouldCollapseNationalitySelectBox","shouldCollectCardProductClass","shouldDetectCupCardType","shouldDisableOnboardToggleForMembers","shouldDisableSignup","shouldDisableSignupForGibraltar","shouldRedirectToTeslaOnboarding","shouldShowCollapsedContactOnlyVariant","shouldShowCompleteOccupationList","shouldShowConversionRateInBold","shouldShowDomesticUserAgreementAcceptance","_getGlobals6","_getGlobals6$initialG","_getGlobals6$initialG2","_getGlobals6$initialG3","shouldShowExtendedOvercaptureDisclaimer","shouldShowFXOptimizedDisclaimer","shouldShowILPSLArticle2Content","shouldShowLegalAgeDisclosure","shouldShowMobileNumberHintLang","PWDlessOptionalSignup","PWDlessRequiredSignup","isMobileHintEligible","shouldShowNewPhilippinesFooterDisclaimer","_getGlobals7","_getGlobals7$initialG","_getGlobals7$initialG2","_getGlobals7$initialG3","isMobile","shouldShowOvercaptureDisclaimerInCommit","shouldShowRebrandedErrors","shouldShowSignupIncentiveDelayedControl","shouldShowSignupIncentiveDelayedVariant1","shouldShowSignupIncentiveDelayedVariant2","shouldShowSignupIncentiveDelayedVariant3","shouldShowSplitLineOne","signupRightOfWithdrawalCheckbox","signupRightOfWithdrawalInUserAgreement","threeDsV1Experience","venmoOverlay","_getGlobals8","_getGlobals9","_getGlobals9$deployEn","resolver","allowURLOverrides","email_type","is_email_present","OnboardTerms","complianceKey","termsString","hasTermsCheckbox","hasSelectAllAndSignup","featureFlag","Ca","item_desc","spinnerMarks","duration","total_duration","doc","loc","collectFragmentReferences","refs","kind","selectionSet","selections","variableDefinitions","def","definitions","definitionRefs","findOperation","element","module","exports","newDoc","opRefs","allRefs","newRefs","refName","prevRefs","childRef","op","oneQuery","matchKey","selectedCountryVal","countryObj","getAriaDescribedBy","termLinkProps","KYCFields","useNationalityOptions","_form$nationality","countryOptions","decoratedOptions","countryName","decoration","primaryText","SelectAllTerms","TextContainer","PaymentServiceActAuthText","changeCountry","shouldDebounceCountryChange","os","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","getOwnPropertyDescriptors","defineProperties","defineProperty","FloatingLabelElement","forceFloat","left","pointerEvents","transformOrigin","FloatingLabelContainer","FloatingLabelInputElement","getPayload","logCrsTaxStatusSelection","taxStatus","logCrsFieldEvents","logCrsErrors","logAddingCrsTaxDetails","logRemovingCrsTaxDetails","addressFormState","addressState","setAddressState","filteredAddressFields","updatedState","ALLOWED_GENDERS","maskingFunctionMap","DEMASK","CPF","stripped","formatted","delimeter","genericChangeHandler","invalidIdentityNumber","validationFunctionMap","cpf","tooShortError","consecutiveValueError","sum1","constant","remainder1","result1","sum2","remainder2","kycIdentityDocumentNumberValidations","NATIONAL_ID","PASSPORT_NUMBER","getFieldPayload","formAction","updateIdentityDocumentNumber","logSelectNationalityFPTI","nationality_country","NationalitySelect","_countryOptions$index2","editButtonRef","buttonId","logNationalityTextOnRenderFPTI","isMenuOpen","setIsMenuOpen","setIndex","newIndex","onSelectionHandler","_countryOptions$selec","_countryOptions$index","_editButtonRef$curren","newCountry","SelectionMenu","containerClassName","initialItemFocus","isOpen","itemClassName","mobileTitle","onSelection","searchEnabled","triggerElementId","NationalitySelectBox","_props$selectOptions","selectRef","shouldFocusOnRender","_props$changeHandler","getMemoOccupationSelections","occupations","occupationList","occupationSelections","propName","invalidSecondaryIdentityNumber","validateINNChecksum","factor","valueLength","sumn","validateSNILSChecksum","sum","checksum","PENSION_FUND_ID","snils","snilsNumber","multiplier","TAX_IDENTIFICATION_NUMBER","inn","unshift","nameToComponent","CountryOfResidence","DateOfBirth","DateOfBirthInput","dateFormat","Gender","gender","genderOptions","emptyOption","enabled","IdentityDocumentNumber","_form$identityDocumen","labelContentKey","countryConfig","getValidationProps","IdentityDocumentType","identityDocumentTypeOptions","Nationality","hasAddress","showSelectNationalityBox","_api$griffinMetadata","Occupation","occupation","PlaceOfBirth","SecondaryIdentityDocumentNumber","_form$secondaryIdenti","SecondaryIdentityDocumentType","secondaryIdentityDocumentTypeOptions","_Array$from","shouldReorderPosition","kycFieldsSet","interstitialOverlayStyles","getInterstitialStyles","cookieBannerOffset","VenmoHeader","InterstitialContainer","CancelAndRTMContainer","HaveAnAccountLogInContainer","VenmoOverlay","onContinue","hasLogin","VenmoMessage","setCookieBannerOffset","buttonSessionId","button_session_id","handleRTM","logCancelAndRTM","handleContinue","logProcessPayWithPayPal","Interstitial","closeOnOverlayClick","interstitialStyleOverrides","withoutCloseButton","withoutPayPalLogo","renderVenmoOverlayVariant","CREATE_BANK_ACCOUNT_CANDIDATE_MUTATION","addBankCandidate","createBankAccountCandidate","beneficiary","ButtonLink","sepaDirectDebitButton","sepaDirectDebit","hideSepaTermsCheckbox","isGuestFlow","legalAgreement","CONSUMER_FLOW_ID_QUERY","TOKEN","DEFAULT_FLOW_ID","useConsumerAddBankRedirect","executeQuery","useLazyConsumerAddBankQuery","getFlowId","useLazyQuery","getFlowIdWithBoundArgs","isRedirecting","setIsRedirecting","consumerFlowId","tsrce","triggerRedirect","ConsumerAddBankFormContainer","redirectToConsumerAddBank","containToParent","checkboxContent","signupAgreePrivacyStatements","privacyStatementLink","multipleLabels","subTerms","SelectAllHeader","StyledLink","affectedFields","allSelected","affectedFieldKey","_form$affectedFieldKe","selectAll","ev","selectAllChangeHandler","newPayload","fieldKey","noMarginStyles","foregroundStyles","useIsWindowSize","windowSize","setWindowSize","onResize","uniqueInformationProcessing","formatPhonePattern","maskStr","v","valueIndex","maskIndex","maskedInput","nextMaskedChar","clearApiAddressValidationError","currentAddressType","getAddressesToClearPageLevelErrors","containsValidationError","_formState$type","_formState$type$meta","getAdditionalCountryProps","generateChangeHandlerMeta","canPayerShipToBilling","isNonDomesticPurchase","isShippingRestricted","layoutItem","fieldValue","isAddressValueFromStore","forceUpdateValue","upcaseValue","valueFoundInStateList","validateField","isStateAndPostalCodeValidForShipping","isShippingCallbackRequiredAddressValid","addressMetaData","fieldDetails","_fieldDetails$name","_address$name","updateAddressMetadataForSingleLine","line1LabelText","localeData","line1Label","ex","hideAddressSuggestionSingleLine","_address$city","_address$postalCode","_address$state","_address$city2","_address$postalCode2","_address$state2","hasAddressDetails","getCrsTaxPayerIdOptions","getCountriesList","currentTaxResidencyCountry","hideCountries","details","countryItem","updateStateIfEmpty","fieldValues","fieldNameForLogging","isTaxDetailsValid","getTaxPayerIdMaxLength","_TAX_PAYER_ID_MAPPER$","_TAX_PAYER_ID_MAPPER$2","countryCodeValue","taxPayerValue","notIssued","unableToObtain","notReceivedYet","addExplanation","getCrsNoTaxpayerIdReasonsSelectOptions","updateTaxPayerIdValueIfInvalid","_TAX_PAYER_ID_MAPPER$3","taxPayerIdValueMap","rtlNumberOnlyStyles","radioLabelStyles","VENDOR_DISCLOSURE_COLOR","VENDOR_DISCLOSURE_ICON_COLORS","EMPHASIZED_STYLE","ConversionOptionsContainer","IofDisclosure","PayPalDisclosureItem","isEmphasized","isSecondary","PayPalDisclosureList","TotalDD","TotalDL","TotalDT","VendorDisclosureContainer","VendorDisclosureText","PayPalDisclosures","disclosure","TotalAmount","convertedAmount","isPayPalSelected","VendorDisclosure","vendor","CurrencyConversionOptions","selectedConversionOption","Disclosures","disclosureStyleOverrides","paypalDisclosure","vendorDisclosure","optionsContainer","conversionOptions","_props$styleOverrides","_props$styleOverrides2","radioButton","inputName","disclosures","iofDisclosure","HonorFxButton","divisor","sqrt","bool","HonorFxContent","getStyleOverrides","FeeDisclosure","feeRate","toggleIsOpen","isFeeRateOptimized","feeRateContentKey","honorFXContentKey","getRateAndHonorContentKeys","ConversionRate","rate","conditionallyClearCardConversion","getRegEDetails","amountInInvCurrency","amountInPayerCurrency","getDisclosures","feeRateFormatted","spread","conversionRate","isUnitedStates","issuerRateContentKey","getTotal","CurrencyConversion","selectedOption","updateOption","fromCurrency","toCurrency","PROCESS_CURRENCY_CONVERSION_SELECTION","goToAuthflow","contingencyType","inputs","DATE_FULL_MASK_REGEX","DATE_MASK_CHARS_REGEX","DATE_MASK_USER_INPUT_REGEX","SANITIZE_DATE_REGEX","addressHeaderStyles","countryContainerStyleOverrides","getFieldsetStyles","hasShipToBillingCheckbox","isBilling","CardIconsBarLoadingElement","thirdPartyDataConsent","useMemberMatchContent","treatmentVariant","isCommit","contentObject","commonSpots","primaryButton","secondaryButton","secondaryMsg","subTitle","columnStyles","showSecondaryMsg","showSubtitle","boldContent","computeTimeUnitKey","billPeriod","pluralTimeUnit","_billPeriod$toLowerCa","timeUnit","getTermsText","planResponse","_planResponse$billing","termTextList","billingCycles","billingCycle","_frequency$intervalCo","_frequency$intervalUn","fixedPrice","frequency","totalCycles","billingFrequency","intervalCount","intervalUnit","hasPriorTerm","computedContentKey","computeSubscriptionKey","templatePlaceholderData","installmentCount","timePeriod","prepareIndividualTermText","invalid_address_contingency","address_type","logResidentialAddressInterstitialClosedToFPTI","transactionName","logResidentialAddressInterstitialSaveToFPTI","logResidentialAddressInterstitialSaveAndContinueToFPTI","CURRENT_YEAR","getFullYear","LINKS_MAP","help","imprint","legalhub","policies","privacy","serviceDescription","CountrySelectionWrapper","FlagButton","CountrySelectionMenu","voiceOverText","noRoundCorners","mobileHeaderContents","ChangeCountry","CountryLanguageContainer","FooterLinks","LegalTermsLink","LinksContainer","StyledFooter","footer","entityMessageStyles","privacyAndSecurityStyles","FooterLegalLinks","LazyCountryChangeInterstitial","CountryChangeInterstitial","PrivacyAndSecurityMessage","EntityMessage","entityContentKey","currentYear","loadCountryChangeInterstitial","_countriesList$find","isCountryChangeInterstitialOpen","setIsCountryChangeInterstitialOpen","countryText","c","shouldBlockDomesticPayer","toggleCountryChangeInterstitial","Container","CountryGroupContainer","CountryGroupHeader","CountryLink","CountryList","CountryListItem","FlagIcon","bgPosition","InterstitialFooter","interstitialHeaderStyleOverrides","headerStyleOverrides","closeButtonContent","countries","useCheckoutAsGuest","formRef","dispatchEvent","bubbles","cancelable","useCheckoutAsMember","authorizeInFlight","setAuthorizeInFlight","apiError","setApiError","errorHandler","mutationFn","mutationResponse","useMutation","isError","_data$checkoutGuestWi","_data$checkoutGuestWi2","checkoutGuestWithMemberBenefits","handleResponse","useCheckMemberBenefits","isMemberMatchingWpsEligible","WPSLazyReceiptPage","logServerExperimentationDetails","ineligibilityReason","experimentDetails","experimentation_experience","experimentId","experimentation_treatment","treatmentId","feature_name","xe","xt","apple_pay","applePayButtonEligible","applePayButtonSeenOverride","applePayEligibilityResult","isApplePayWithActiveCardEligible","applePayButtonExperiment","hasTreatmentOrControl","isFptiEligible","ineligibilityReasonStr","logEligibilityDetails","useApplePay","sntCheckComplete","showApplePayButton","setShowApplePayButton","merchCountry","isEligibleForApplePay","isApplePayBrowserEligible","shouldCheckForActiveCard","showApplePay","isEligibleForApplePayWithActiveCard","merchantIdentifier","applePayActiveCardEligible","checkApplePayWithActiveCard","getEligibility","_props$mask","patternRegEx","demaskedLength","incentiveCardStyles","offerIconStyles","boldTextStyles","offerIconArrowStyles","offerDescriptionStyles","termsLinkTextStyles","IncentiveCardV1","IncentiveCardV2","OfferIconV1","OfferIconV2","OfferIconV3","_templateObject11","BoldTextV1","Text","_templateObject12","BoldTextV2","_templateObject13","BoldTextV3","_templateObject14","OfferIconArrowV1","_templateObject15","OfferIconArrowV2","_templateObject16","OfferIconArrowV3","_templateObject17","OfferV1Description","_templateObject18","OfferV2Description","_templateObject19","OfferV3Description","_templateObject20","TermsLinkTextV1","_templateObject21","TermsLinkTextV2","_templateObject22","IncentiveRow","_templateObject23","IncentiveCol","_templateObject24","ExpiryDate","_templateObject25","_templateObject26","_templateObject27","SuccessText","_templateObject28","OfferAcceptedV3Background","_templateObject29","_templateObject30","OfferAcceptedV3CheckCircleAltIcon","CheckCircleAltIcon","_templateObject31","OfferAcceptedV3Header","_templateObject32","OfferAcceptedV3Text1","_templateObject33","SuccessTermsLinkText","_templateObject34","SuccessTermsLinkTextV3","_templateObject35","ExpandedValuePropsContainer","_templateObject36","_templateObject37","_templateObject38","_templateObject39","ExpandedValuePropsRow","_templateObject40","ExpandedValuePropsRowV2","_templateObject41","ExpandedValuePropsRowV3","_templateObject42","ExpandedValuePropsRowThreeIcons","_templateObject43","ExpandedValuePropsText","_templateObject44","PurchaseProtectionV2ContentContainer","_templateObject45","PurchaseProtectionV2IconContainer","_templateObject46","StretchRewardsContentContainer","_templateObject47","StretchRewardsHeader","_templateObject48","AccountBenefitsContentContainer","_templateObject49","StretchRewardsText","_templateObject50","RewardsText","_templateObject51","StretchRewardsOfferDisclaimer","_templateObject52","AccountBenefits","toggleComponent","onboardValue","_form$onboardOption","accountBenefitsContentKey","forcedSignup","PurchaseProtectionV2","purchaseProtectionContent","isGuestToggle","StretchRewards","stretchRewardsContentKey","isSignupToggle","showContentForOptional","dollarAmount","pointAmount","Divider","transactionCount","ExpandedValueProps","isStretchRewards","isExpandedBenefits","AccountSectionHeader","brTag","getValuePropComponents","StreamlineSectionHeader","enableSilentDisclaimer","isIsrael","SilentMemberMatchDisclaimer","expandedValueProps","isSignupOptional","ineligibleStretch","MppLink","buyerProtection","onlineShoppingLink","LazyAddress","CPADisclaimerMessage","disclaimerMsg","msg_id","getReturnAfterSubmitMessage","CobrandedDisclaimer","OvercaptureDisclaimer","overcaptureContentKey","DisclosureArea","showOvercatureInCommit","isCPAEligible","cardCobrand","isMerchantCobrandEligible","cobrands","shouldDisplayOvercaptures","LazyAddressNormalizedAddressInterstitial","AddressNormalizationInterstitial","LazyInstallmentInterstitial","InstallmentInterstitial","LazyThreeDS2Interstitial","ThreeDsInterstitial","ThreeDS2Interstitial","LazySepaInterstitial","SepaInterstitial","LazyPhoneConfirmationInterstitial","PhoneConfirmationInterstitial","LazyOneTimePasswordConfirmationInterstitial","OneTimePasswordConfirmationInterstitial","LazyUpgradeInterstitial","UpgradeInterstitial","LazyShipping","Shipping","LazyCRSInterstitial","CRSInterstitial","LazyMemberBenefitsInterstitial","MemberBenefitsInterstitial","LazyMemberBenefitsTrueGuestsInterstitial","MemberBenefitsTrueGuestsInterstitial","LazyPasswordlessUpgradeInterstitial","PasswordlessUpgradeInterstitial","DisabledMaskContainer","fieldset","DisabledMask","LazySplitCardFields","CardLoadingFields","LazyBankFields","BankLoadingFields","logWhenDisplayForcedSignupBNPL","logWhenDisplayOptionalGuestBNPL","PayLaterTextLink","hasCancelURL","dumbledoreEligible","flowObj","arrayFormat","encodedFlowObj","base64","encode","CharacterSet","PPBASE64","fltk","product_flow","strong","Legend","legend","endFormUserInputCi","SignupSubmitButton","HiddenSubmitButton","handleHiddenSubmit","GuestSubmitButton","logFptiForHiddenButtonSubmit","PasswordlessOptionalSignupSubmission","PasswordlessForcedSignupSubmission","GenericSubmission","interactionType","showDisclosures","OptionalAccountFieldset","OptionalAccountOption","SepaContainer","GuestTermsAndLegalDisclosure","isFiTypeBank","ForcedGuest","weasleyFlowType","OnboardSwitch","Switch","toggleOnboardOption","OfferCSSV1","OfferCSSV2","OfferCSSV3","CheckoutIncentiveV1","TermLinkV1","CheckoutIncentiveV2","TermLinkV2","CheckoutIncentiveV3","SuccessV1","expiryDate","Badge","leftIcon","SuccessTermsLink","SuccessV2","SuccessV3","SuccessTermsLinkV3","COMMON_KEYS","CheckoutIncentives","offerEligible","setOfferEligible","showV1","showV2","showV3","_form$initialOnboardO","checkOfferEligibility","isECToken","isControl","logExperimentationDetails","ineligiblityReason","updateIncentiveOfferState","updateCheckoutIncentive","handleToggleOptions","logToggleSignupButton","StreamlineOnboardOptions","isSuppressedSignupAndForcedGuest","noMemberMatchOptIn","logFPTIInitialToggleState","handleSwitchOnChange","incrementCountToggle","isSuppressedToggle","inline","hasExpandedValueProps","Streamline","ForcedPassword","ForcedPasswordless","ForcedSignup","errorFieldStyleOverrides","OnboardOptions","isSignUpIneligible","onChangeHandler","prevOption","prevOptionInCap","uncheckPreviousTermBox","OptionalPassword","isTHForcedGuest","OptionalPasswordless","OptionalSignup","POMA","FlowTypes","HiddenInput","onHiddenFieldChange","browser_type","device_channel","LogBrowserAutoComplete","useHandleFormFocus","formFocused","setFormFocus","_e$target$tagName","tag","toLocaleLowerCase","LazyResidentialAddressInterstitial","ResidentialAddressInterstitial","GuestIneligibleAlertContainer","GuestIneligibleAlert","isGuestEligibleAlertDisplayed","setGuestInEligibleAlertDisplayed","PayNowForm","withAddress","showBankFields","isOnShippingCallbackEligible","noValidate","onSubmit","onFocusCapture","isBankTab","shouldShowBnplLink","subHeader","getPayNowHeaderContent","showCheckboxes","LazyFILimitExceededInterstitial","LazyMemberOTPInterstitial","SpinnerRender","useProgressiveSpinner","spinnerContent","IllustrationContainer","PayIn4Illustration","logPillIllustrationClickEvent","colorInterpolationFilters","filterUnits","floodOpacity","in","in2","PayLaterForm","hasBNPLAltText","headerContent","subHeaderContent","getPayLaterHeaderContent","showTitle","useFormList","savedOnboardOption","formList","fptiName","inactive","tabId","Bank","Card","BNPL","initialSelectedTabIndex","available_funding_options","available_tabs","default_tab","tabList","tabObject","panelId","onAfterTabChange","currentTab","logInteraction","newFiType","TwoTabsComponent","SegmentedController","selectedTabIdx","tabs","clickTabHandler","lazyLoad","Form","SegmentedControllerPanel","isGriffinMetadataLoaded","showMemberOTPOpen","showFILimitExceededOpen","zIndex","MarkUIReady","viewName","ErrorContainer","ErrorMessage","PageLevelError","errorDivRef","CenteredContainer","StepBlock","StepComponent","StepIcon","logFPTIForRealMoneyGamingPage","onContinueButtonClick","button_label","onRMGLandingPageLoad","RealMoneyGamingPage","DEFERRED_FEATURE_QUERY","Billing","isRMGMerchant","useDeferredFeatures","useQuery","strictApplePayButtonNotSeen","showVenmoInterstitial","warningMessage","styleObject","PageMessage","createChangeHandler","demaskFn","generateMeta","hasMaxLen","preprocessFn","rawValue","preprocessedValue","shouldDemask","metaBase","validationMeta","generatedMeta","filterProps","filterKeys","filtered","step","valueToCompareToAttrs","rangeOverflow","rangeUnderflow","stepMismatch","typeMismatch","valueAsNum","valueIsFinite","maxAsNum","minAsNum","patternString","parsePatternProp","splitPropsByPrefix","prefixes","mapEventHandlers","filterRegEx","returnObj","prefix","group","mapEventHandler","LockIconContainer","Message","animate","SpinnerLockIcon","Overlay","withLockIcon","lockIconTitle","spinnerStyleOverrides","messageStyleOverrides","__webpack_public_path__","__webpack_nonce__","_window$__INITIAL_DAT","finally","configurable","writable","containsFourCharSequence","testValue","violatesInfoSecRequirements","lowerCasePasswordValue","len","LazyLanding","LazyApplePayReceipt","App","locationPathname","useLocation","BillingOrLazyBilling","browserPath","Suspense","Routes","Route","FallbackToBilling","LazyBilling","BillingComponent","useParams","isIWCLandingPage","isInternalRedirect","isFallbackIWCLanding","attemptedRoute","sfxMetric","ErrorBoundary","constructor","getDerivedStateFromError","componentDidCatch","errorInfo","componentStack","textarea","drawerWidth","drawerSpeed","DevToolsButton","landingPage","_getCheckoutSession$m","integrationMethod","integrationData","contextType","merchantData","_route$path","_route$path$includes","landingPagePath","history","pushState","RenderApp","ReactDOM","ApolloProvider","StoreProvider","BrowserRouter","dataScriptEl","filteredProps","SubmitButton","ErrorText","getSize","units","textButtonWithUnderLineStyles","TYPES","IconContainer","MessageContainer","MessageText","_props$styleOverrides3","_document$HTMLInputEl","hasIsSameNode","HTMLInputElement","isSameNode","isElementFocused","Element","scrollIntoViewIfNeeded","hasBoundingClientRect","getBoundingClientRect","scrollIntoView","bottom","isFullyInViewport","behavior","block","getColor","isLabel","focusedColor","labelColor","getBoxShadow","getDefaultInputStyles","getBorderColor","identityFn","withCursorTracking","WrappedComponent","ComponentWithCursorTracking","_this","super","inputRef","wasLegalCharEntered","initialMaskChars","cursorPos","selectionStart","requestAnimationFrame","updatedValue","additionalMaskChars","adjCursorPos","valueAfterCursor","maskCharsAfterCursor","getNumMaskChars","updatedValueAfterCursor","updatedMaskCharsAfterCursor","innerRef","_this$props","useBodyScroll","animated","ModalBackground","RelativeOverlay","closeIconStyles","baseCloseButtonStyleOverrides","paypalMonogramStyles","CloseSVG","InterstitialLogo","logo","InterstitialHeader","closeButtonAriaLabel","closeButtonStyleOverrides","closeButtonRef","portalElement","portalContainer","componentDidMount","componentWillUnmount","isVisibleAndDisplayed","_window$getComputedSt","isVisible","isDisplayed","getClientRects","isTabbable","querySelectorAll","closest","hasAttribute","isFocusable","getTabbableDescendants","descendants","MODAL_FOREGROUND_ATTRIBUTES","modalForegroundContainer","modalCount","scrollPos","removeAttribute","setOverlayHeight","overlayRef","right","pageYOffset","onOpen","open","setState","interstitialEl","interstitialRef","isFocusAFunction","preventInterstitialFocus","applyForegroundContainer","onBeforeClose","bodyOverflow","stopPropagation","close","_this$state$returnFoc","_this$state$returnFoc2","returnFocusOnExit","closeOnEsc","conditionallyRedirectTab","restrictTo","elToFocus","shiftKey","isShift","restrictTabbingTo","tabbables","HTMLElement","tabbableDescendants","contains","firstTabbableEl","lastTabbableEl","getTabOverrideElement","cleanup","keydownListener","mutationObserver","disconnect","observe","attributes","childList","subtree","MutationObserver","_this$closeButtonRef$","fnName","animateOpen","removeForegroundContainer","backgroundStyleOverrides","containerClassNames","openClassName","overlayClassNames","withoutHeader","shouldShowHeader","InterstitialOverlay","getOverlay","handleOverlayClick","handleKeyDown","inputStyles","labelStyles","baseValidationFn","StyledInput","StyledLabel","BaseCheckboxAndRadioButton","htmlFor","DialingCode","PhoneInputContainer","dialingCodeStyleOverrides","withoutDialingCode","inputProps","htmlPattern","baseContainerStyles","rightRadiusSquared","selectStyles","baseLabelStyles","errorStyles","focusedErrorStyles","focusedStyles","_emptyOption$props","_emptyOption$props$ch","_props$selectOptions$","_splitPropsByPrefix","containerProps","select","__rest__","remainingProps","selectProps","showEmptyOption","emptyOptionHasContent","errorClassName","labelClassName","InlineFieldsContainer","showOneField","unifiedField","splitFn","firstWhiteSpace","splitAt","splitFullName","isMetaGeneratorObject","changeHandlerMetaObject","isFirst","TOOLTIP_ARROW_STYLE","tooltipRef","_tooltipRef$current","borderFocusedColor","unfocusedBorderColor","InputContainer","getBorderWidth","displayErrorIsTrue","displayErrorMessage","displayErrorStyling","styling","labelProps","showPlaceholder","inputClassName","placeholder","forwardedRef","isValidDate","isValidYear","isValidMonth","getMonth","isValidDay","getDate","dobValidation","dobYear","dobMonth","dobDay","intYear","intMonth","intDay","tooOld","tooYoung","invalidDate"],"mappings":"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IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,GACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,I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ZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,EAAY,QAAZA,CAAY,MAmjEZC,EAAiB,SAAjBA,GAAiB,OAAjBA,EAAiB,2BAAjBA,EAAiB,4BAAjBA,EAAiB,yBAAjBA,EAAiB,gCAAjBA,EAAiB,uBAAjBA,EAAiB,sBAAjBA,EAAiB,+BAAjBA,EAAiB,6BAAjBA,EAAiB,qBAAjBA,EAAiB,qBAAjBA,EAAiB,mDAAjBA,EAAiB,kBAAjBA,EAAiB,uCAAjBA,CAAiB,MAw4BjBC,EAAwB,SAAxBA,GAAwB,OAAxBA,EAAwB,YAAxBA,EAAwB,6CAAxBA,EAAwB,yBAAxBA,EAAwB,yBAAxBA,EAAwB,uBAAxBA,EAAwB,iCAAxBA,EAAwB,qBAAxBA,EAAwB,kBAAxBA,EAAwB,wCAAxBA,EAAwB,2BAAxBA,EAAwB,mDAAxBA,EAAwB,kBAAxBA,EAAwB,UAAxBA,EAAwB,kBAAxBA,CAAwB,K,gCCz6LpC,kWAqCA,MAAMC,EAAqClmB,IAUzB,IAPhB,OACAmmB,EAAM,YACNC,EAAW,UACXC,GACgDrmB,EAIhD,MAAMsmB,EAAgBH,EAAOC,GAE7B,IAAKG,YAASD,GAEZ,OADArmB,IAAOkJ,KAAK,WAAD/I,OAAYgmB,EAAW,yBAC3B,KAGT,MAKMI,EAL4C,IAC5Cxd,MAAMyd,QAAQJ,GAAaA,EAAY,CAACA,GAC5C,WAGsBtmB,MAAKqI,GAAOke,EAAc/gB,eAAe6C,KAG3Dse,EAAeF,EAAaF,EAAcE,QAAc3lB,EAQ9D,OANAZ,IAAOC,KAAK,4BAA6B,CACvCsmB,aACAJ,cACAM,iBAGKA,CAAY,EAIfC,EAAwBA,CAC5BP,EACAD,KAGA,MAAM,QAAEje,GAAYC,cACdye,EAAYC,cAElB,OAAOX,EAAiB,CACtBC,SACAC,cAGAC,UAAW,CAACne,EAAS0e,IACrB,EAGEE,EACJV,GAEOhlB,cAAa2lB,YAAYX,GAI5BY,EAAcZ,IAClB,MAAMa,EAAUH,EAAcV,GAC9B,OAAc,OAAPa,QAAO,IAAPA,OAAO,EAAPA,EAASC,UAAW,IAAI,EAG3BC,EAAgBf,IACpB,MAAMa,EAAUH,EAAcV,GAC9B,OAAc,OAAPa,QAAO,IAAPA,OAAO,EAAPA,EAASG,gBAAiB,IAAI,EAGjCC,EAAoBC,IAMV,IANW,QACzBL,EAAO,UACPM,GAIDD,EACC,MAAMF,EAAgBD,EAAaF,GACnC,OAAOxnB,QAAQ2nB,IAAkBA,IAAkBG,CAAS,EAGxDC,EAAgBP,IACpB,MAAMM,EAAYJ,EAAaF,GAC/B,OAAOQ,YAASF,KAAuB,OAATA,QAAS,IAATA,OAAS,EAATA,EAAWG,WAAW,SAAQ,EAGxDC,EAAoBC,IAMV,IANW,QACzBX,EAAO,UACPM,GAIDK,EACC,MAAMR,EAAgBD,EAAaF,GACnC,OAAOQ,YAASL,KAA+B,OAAbA,QAAa,IAAbA,OAAa,EAAbA,EAAenmB,SAASsmB,GAAU,EAUhEM,EAA8BC,IAMrB,IANsB,QACnCb,EAAO,eACPc,EAAiB,IAIlBD,EACC,MAAMV,EAAgBD,EAAaF,IAAY,IACxC,CAAE7J,EAAU,IAAMgK,EAAcY,MAAM,IAAD5nB,OAAK6mB,EAAO,MACxD,OAAO7J,GAAW2K,CAAc,EAO5BE,EAAkBC,IAAA,IAAC,eACvBC,EAAiB,CAAC,GAGnBD,EAAA,OACEC,EAAeC,4BACbD,EAAeE,eAChB,kBACDF,EAAeG,OACdH,EAAeI,kBACf,qBACDJ,EAAeG,OACdH,EAAeK,gBACf,mBACDL,EAAeM,eAAiB,eAChCN,EAAeI,kBAAoB,iBACnCJ,EAAeE,gBAAkB,6BACjCF,EAAeO,0BAA4B,4BAC3CP,EAAeK,gBAAkB,gBAClC,SAAS,EAoBLG,EAA2DA,CAI/DC,EACAC,IAE4B,oBAAjBD,EACFA,EAAaC,GAEfD,EAILE,MAEFC,EAAOC,KAAO,CACZC,eAAgB7nB,cAAa2lB,YAC7BJ,wBACAG,gBACAE,aACAiB,kBACAU,8BACAzC,mBACAiB,eACAU,8BACAR,oBACAG,eACAG,qB,srCC9NG,MAAMuB,EAAmBC,IAAOC,IAAGrb,MAAAC,IAAA,2CAK7Bqb,EAA2BF,IAAOC,IAAGhb,MAAAJ,IAAA,sIAO7BhO,IAAA,IAAC,mBAAEspB,GAAoBtpB,EAAA,OACxCspB,GAA0C,OAAO,IAIxCC,EAAqBJ,IAAOC,IAAGI,MAAAxb,IAAA,0CAEhCsZ,IAAA,IAAC,SAAE9nB,GAAU8nB,EAAA,OAAM9nB,EAAW,OAAS,MAAM,IAG5CiqB,EAAkBN,IAAOxN,OAAM+N,MAAA1b,IAAA,sZAIjCiT,KAEI2G,IAAA,IAAC,SAAEpK,GAAUoK,EAAA,OAAMpK,GAAsB,MAAM,GAUtCyD,IACNC,KAMLyI,EAAmBR,IAAOS,KAAIC,MAAA7b,IAAA,6I,YC7BpC,MAAM8b,EAAY9pB,IAAA,IAAC,mBACxBspB,EAAkB,cAClBS,EAAa,SACbzH,EAAQ,SACR9E,EAAQ,SACRhe,EAAQ,QACRwqB,GACehqB,EAAA,OACfuiB,IAAAC,cAAC+G,EAAkB,CAAC/pB,SAAUA,GAC5B+iB,IAAAC,cAAC6G,EAAwB,CAACC,mBAAoBA,GAC5C/G,IAAAC,cAACiH,EAAe,CAACjM,SAAUA,EAAUwM,QAASA,EAASpoB,KAAK,UACzDmoB,EACDxH,IAAAC,cAACmH,EAAgB,KACfpH,IAAAC,cAACyH,IAAW,CAACzqB,SAAUA,OAI5BA,GACC+iB,IAAAC,cAAC0G,EAAgB,CAAC,cAAY,qBAC3B5G,GAGc,E,sBCjChB,MAAM4H,EAA2B,CACtChlB,MAAOwc,IACPxhB,KAAM6kB,IACNoF,QAASrF,IACTsF,QAASvF,KAGEwF,EAAqB,CAChCnlB,MAAOyX,KACPzc,KAAMuhB,IACN0I,QAASxN,KACTyN,QAAS3I,K,YCIX,MAAM6I,EAAiBnB,IAAOC,IAAGrb,MAAAC,IAAA,6EACXhO,IAAe,IAAd,KAAE4B,GAAM5B,EAC3B,OAAQ4B,GACN,KAAK2oB,IAAWC,MACd,OAAO7G,IACT,KAAK4G,IAAWE,KAChB,QACE,OAAO7G,IACT,KAAK2G,IAAWG,QACd,OAAO3G,KACT,KAAKwG,IAAWI,QACd,OAAO3G,KACX,IAME4G,EAAezB,IAAO0B,EAACzc,MAAAJ,IAAA,qGAClBsZ,IAAe,IAAd,KAAE1lB,GAAM0lB,EAChB,OAAQ1lB,GACN,KAAK2oB,IAAWC,MACd,OAAO7H,IACT,KAAK4H,IAAWE,KAChB,QACE,OAAO/H,IACT,KAAK6H,IAAWG,QACd,OAAO5H,IACT,KAAKyH,IAAWI,QACd,OAAO3H,KACX,IAkBE8H,EAAa3B,IAAOxN,OAAM6N,MAAAxb,IAAA,8RAS5B+c,GAASA,EAAMC,gBAKS7H,KAIf8H,EAA0B9B,IAAOC,IAAGM,MAAA1b,IAAA,sIAO3B4Z,IAAA,IAAC,sBAAEsD,GAAuBtD,EAAA,OAC5CsC,EAAyBgB,EAAsB,IACxCpD,IAAA,IAAC,sBAAEoD,GAAuBpD,EAAA,OACjCuC,EAAmBa,EAAsB,ICtFvCF,EAAiB,CACrBG,UAAW,GACXC,IAAK,CACHnnB,OAAQ,GACRG,MAAO,KAILinB,EAAQrrB,IAAgE,IAA/D,SAAEsiB,EAAQ,KAAE1gB,GAAkB5B,EAC3C,MAAOsrB,EAAQC,GAAahJ,IAAMiJ,UAAkB,GAMpD,OAAIF,EACK,KAIP/I,IAAAC,cAAC8H,EAAc,CAAC1oB,KAAMA,EAAM,cAAY,mBACtC2gB,IAAAC,cAACoI,EAAY,CAAChpB,KAAMA,GAAO0gB,GAC3BC,IAAAC,cAACsI,EAAU,CAACd,QAXIyB,KAClBF,GAAU,EAAK,EAUqBP,eAAgBA,GAChDzI,IAAAC,cAACkJ,IAAS,OAEG,E,mpBCvBrB,MAWMC,GAAerE,IAAA,IAAC,WACpB3I,EAAU,OACViN,EAAM,UACNC,EAAS,MACTzJ,EAAK,MACLhe,GAODkjB,EAAA,OAAuBxZ,YAAGM,MAAAJ,IAAA,0IAChBoU,EAAMhD,WAAWO,UAAU7D,MACrBsG,EAAMhD,WAAWI,KAAKC,OACtB2C,EAAMhD,WAAWR,WAAWmB,OAC5BpB,GAA0ByD,EAAMhD,WAAWtC,OAAOoD,QACvD0L,GAAkB,UACdC,GAAwB,UAC7BznB,GAAgB,UAAS,EAGvB0nB,GAAgB3C,IAAO4C,GAAEvC,MAAAxb,IAAA,qCAClC4Z,IAAA,IAAC,MAAExF,EAAK,WAAEzD,EAAU,OAAEiN,EAAM,UAAEC,EAAS,MAAEznB,GAAOwjB,EAAA,OAChD+D,GAAa,CAAEhN,aAAYiN,SAAQC,YAAWzJ,QAAOhe,SAAQ,IAClD0jB,IAAA,IAAC,MAAE1F,EAAK,SAAE5E,GAAUsK,EAAA,OAC/BtK,GAAsB4E,EAAMhD,WAAW5B,SAASuC,MAAM,IAG7CiM,GAAyB7C,IAAO8C,GAAEvC,MAAA1b,IAAA,qCAC3Cka,IAAA,IAAC,MAAE9F,EAAK,WAAEzD,EAAU,OAAEiN,EAAM,UAAEC,EAAS,MAAEznB,GAAO8jB,EAAA,OAChDyD,GAAa,CAAEhN,aAAYiN,SAAQC,YAAWzJ,QAAOhe,SAAQ,IAClD8nB,IAAA,IAAC,MAAE9J,EAAK,SAAE5E,GAAU0O,EAAA,OAC/B1O,GAAsB4E,EAAMhD,WAAW5B,SAASwC,KAAK,IAE5CmM,GAAwBhD,YAAO2C,GAAP3C,CAAqBU,MAAA7b,IAAA,uGAM7Coe,GAAmBjD,YAAO6C,GAAP7C,CAA8BkD,MAAAre,IAAA,8FAC/Cse,IAAA,IAAC,MAAElK,EAAK,SAAE5E,GAAU8O,EAAA,OAC/B9O,GAAsB4E,EAAMhD,WAAW5B,SAAS0C,OAAO,IAC1CqM,IAAA,IAAC,MAAEnK,EAAK,WAAEzD,GAAY4N,EAAA,OACnC5N,GAA0ByD,EAAMhD,WAAWtC,OAAOsD,KAAK,IAC1CoM,IAAA,IAAC,MAAEpK,EAAK,WAAExD,GAAY4N,EAAA,OACnC5N,GAA0BwD,EAAMhD,WAAWR,WAAWoB,KAAK,IAIzDyM,GAA6BC,IAAA,IAAC,SAClClP,EAAQ,WACRmB,EAAU,eACVgO,EAAc,OACdf,EAAM,QACN5P,EAAO,UACP6P,EAAS,UACTe,EAAS,MACTxK,EAAK,MACLhe,GACmDsoB,EAAA,OAAuB5e,YAAG+e,MAAA7e,IAAA,sLACpE4e,GAAwBxK,EAAMhD,WAAWS,KAAK/D,MACxCsG,EAAMhD,WAAWI,KAAKC,OACxBjC,GAAsB4E,EAAMhD,WAAW5B,SAAS0C,QAC9CkC,EAAMhD,WAAWR,WAAWoB,MAC5BrB,GAA0ByD,EAAMhD,WAAWtC,OAAOoD,QACvD0L,GAAkB,UACjB5P,GAAWA,EACR6P,GAAwB,UAC7BznB,GAASA,EAChBuoB,GAlFyB3sB,KAAA,IAAC,MAC5BoiB,GAGDpiB,EAAA,OAAuB8N,YAAGC,MAAAC,IAAA,qFACZoU,EAAMtE,SAASQ,MAAML,MAAMT,SACzB4E,EAAMtE,SAASQ,MAAML,MAAMU,WAC3ByD,EAAMtE,SAASQ,MAAML,MAAMW,WACjCwD,EAAMtE,SAASQ,MAAML,MAAMnC,MAAK,EA0ErBgR,CAAqB,CAAE1K,UAAQ,EAGxC2K,GAAkB5D,IAAO0B,EAACmC,MAAAhf,IAAA,kBACnC+c,GAAS0B,GAA0BtpB,EAAC,CAAC,EAAI4nB,MAGhCkC,GAAa9D,IAAOS,KAAIsD,MAAAlf,IAAA,4CACjC+c,GAAS0B,GAA0BtpB,EAAC,CAAC,EAAI4nB,M,IAIb5B,YAAO4D,GAAP5D,CAAuBgE,MAAAnf,IAAA,iEAC5Cof,IAAA,IAAC,MAAEhL,GAAOgL,EAAA,OAAKhL,EAAMhD,WAAWU,WAAWhE,KAAK,IAC5CuR,IAAA,IAAC,MAAEjL,EAAK,SAAE5E,GAAU6P,EAAA,OAC/B7P,GAAsB4E,EAAMhD,WAAW5B,SAAS2C,KAAK,IACxCmN,IAAA,IAAC,MAAElL,GAAOkL,EAAA,OAAKlL,EAAMhD,WAAWR,WAAWqB,MAAM,I,uBC7GrDsN,GAAcvtB,IAAA,IAAC,SAC1BsiB,EAAQ,OACRkL,GAEgBxtB,EADbytB,EAAIrqB,IAAApD,EAAAqD,IAAA,OAEPkf,IAAAC,cAACsJ,GAAa4B,IAAA,CAAC,cAAaF,GAAYC,GACrCnL,EACa,E,yBCPLqL,GAAkB3tB,IAAA,IAAC,SAC9BsiB,EAAQ,OACRkL,GAEgBxtB,EADbytB,EAAIrqB,IAAApD,EAAAqD,IAAA,OAEPkf,IAAAC,cAAC2J,GAAqBuB,IAAA,CAAC,cAAaF,GAAYC,GAC7CnL,EACqB,E,yBCPbsL,GAAmB5tB,IAAA,IAAC,SAC/BsiB,EAAQ,OACRkL,GAEgBxtB,EADbytB,EAAIrqB,IAAApD,EAAAqD,IAAA,OAEPkf,IAAAC,cAACwJ,GAAsB0B,IAAA,CAAC,cAAaF,GAAYC,GAC9CnL,EACsB,E,yBCPduL,GAAa7tB,IAIkB,IAJjB,SACzBsiB,EAAQ,OACRkL,GAEgBxtB,EADbytB,EAAIrqB,IAAApD,EAAAqD,IAEP,OACEkf,IAAAC,cAAC4J,GAAgBsB,IAAA,CAAC,cAAaF,GAAYC,GACxCnL,EACgB,E,0CCRVwL,GAAY9tB,IAAA,IAAC,SACxBsiB,EAAQ,eACRqK,EAAc,OACda,GAEgBxtB,EADbytB,EAAIrqB,IAAApD,EAAAqD,IAAA,OAEPkf,IAAAC,cAACuK,GAAeW,IAAA,CACd,cAAaF,EACbb,eAAgBA,GACZc,GAEHnL,EACe,E,0CCZPyL,GAAO/tB,IAAA,IAAC,SACnBsiB,EAAQ,eACRqK,EAAc,OACda,GAEgBxtB,EADbytB,EAAIrqB,IAAApD,EAAAqD,IAAA,OAEPkf,IAAAC,cAACyK,GAAUS,IAAA,CAAC,cAAaF,EAAQb,eAAgBA,GAAoBc,GAClEnL,EACU,E,iBCFR,MAAM0L,GAAc7E,IAAOC,IAAGrb,QAAAC,IAAA,oJAC1BhO,IAAA,IAAC,eAAEiuB,GAAgBjuB,EAAA,OAAMiuB,GAAkC,MAAM,IAChE3G,IAAA,IAAC,gBAAE4G,GAAiB5G,EAAA,OAC5B4G,GAAoC,SAAS,IACpCtG,IAAA,IAAC,QAAEuG,GAASvG,EAAA,OAAKuG,CAAO,IACzBrG,IAAA,IAAC,OAAE8D,GAAQ9D,EAAA,OAAK8D,CAAM,IAClB1D,IAAA,IAAC,UAAE2D,GAAW3D,EAAA,OAAM2D,GAAwB,SAAS,IAEvDK,IAAA,IAAC,YAAEkC,GAAalC,EAAA,OAAMkC,EAAc,aAAe,EAAE,I,gBCVtDC,GAAkBruB,IAGkB,IAHjB,SAC9BsiB,GAEqBtiB,EADlBytB,EAAIrqB,IAAApD,EAAAqD,IAEP,OAAOkf,IAAAC,cAACwL,GAAgBP,EAAOnL,EAAuB,ECG3CgM,GAAiBtuB,IAIkB,IAJjB,aAC7BuuB,EAAY,sBACZrD,EAAqB,KACrBsD,GACoBxuB,EACpB,MAAMyuB,EAAgBC,KAAMF,GAC5B,OACEjM,IAAAC,cAACyI,EAAuB,CACtBC,sBAAuBA,EACvB,cAAY,8BAEXuD,GACClM,IAAAC,cAAC6L,GAAe,CACdJ,eAAe,OACfC,gBAAgB,OAChB,cAAY,kBAEZ3L,IAAAC,cAACiM,EAAa,OAGlBlM,IAAAC,cAACsL,GAAS,CAAClB,UAAWjQ,KAAaiP,OAAO,SACvC2C,GAEqB,E,wBC5BvB,MAAMI,GAAoBxF,YAAOyF,KAAPzF,CAAcpb,QAAAC,IAAA,oWAKpC8S,IAIaC,IACXD,IAMWE,IAEhBC,IACAC,K,eCrBK2N,GAAc7uB,IAGkB,IAHjB,QAC1BgqB,GAEiBhqB,EADdytB,EAAIrqB,IAAApD,EAAAqD,IAEP,OACEkf,IAAAC,cAACmM,GAAiBjB,IAAA,CAChB,cAAY,eACZoB,cAAeC,IACf/E,QAASA,EACTgF,UAAQ,GACJvB,GACJ,E,iBCbC,MAAMwB,GAAe9F,YAAO+F,KAAP/F,CAAwBpb,QAAAC,IAAA,qGAEnChO,IAAA,IAAC,YAAEmvB,GAAanvB,EAAA,MACX,aAAhBmvB,EAA6B,OAAS,MAAM,IAC/B7H,IAAA,IAAC,YAAE6H,GAAa7H,EAAA,MACb,aAAhB6H,EAA6B,OAAS,MAAM,IACrCvH,IAAA,IAAC,YAAEuH,GAAavH,EAAA,MACP,aAAhBuH,EAA6B,UAAY,kBAAkB,I,qtBC8BjE,MAAMC,GAAgBA,CAACC,EAAoBC,KACzC,MAAMC,EAAeD,IAAeD,EAEpC,MAAO,CACLG,OAFaD,EAAe,CAAC,gBAAkB,GAG/CE,SAAUF,EACVA,eACD,EAGUG,GAAoC1vB,IAa1C,IAb2C,YAChD2vB,EAAW,cACXC,EAAa,QACb1R,EAAO,aACP2R,EAAY,GACZ7uB,EAAE,MACFsd,EAAK,KACLjf,EAAI,SACJywB,GAAW,EAAK,KAChBluB,EAAI,gBACJmuB,EAAe,OACfvC,GAEDxtB,EADIytB,EAAIrqB,IAAApD,EAAAqD,IAGP,MACM8rB,EADkB3H,aAAa,8BACC,WAAa,GAC7CwI,EAAYD,EAAkBd,GAAegB,KACnD,OACE1N,IAAAC,cAACH,IAAoB,KACnBE,IAAAC,cAACwN,EAAStC,IAAA,CACRxP,QAASA,EACTiR,YAAaA,EACb,cAAa3B,EACbxsB,GAAIA,EACJsd,MAAOA,EACPjf,KAAMA,EACN6wB,OAAQP,EACRQ,SAAUnrB,GACR4qB,EAAazsB,MAAC,CAAD,EACN6B,GAAC,IAAEorB,OAAMjtB,MAAA,GAAO6B,EAAEorB,QAAM,IAAEpvB,KAAI3B,OAAMuC,KAAM,iBAC7CoD,EAAEorB,OAAOlS,SACVlZ,EAAEorB,OAAOlS,QACV,CAAEmS,WAAYjB,GAAcpqB,EAAEorB,OAAOlS,QAAS4R,KAGlDQ,QAAST,GACLpC,IAEe,E,wBC3FpB,MAAM8C,GAA+BziB,YAAI,CAC9C0iB,aAAc,SCaVC,GAAiBzwB,IAIyB,IAJxB,OACtBiE,EAAM,eACN+mB,EAAc,cACd7L,GACoBnf,EACpB,MAAMoiB,EAA+BsO,eAErC,OACEnO,IAAAC,cAACmO,KAAuBjD,IAAA,GDhBW1tB,KAAA,IAAC,OACtCiE,EAAM,MACNme,EAAK,cACLjD,GAKDnf,EAAA,MAAgC,CAC/BiE,OAAc,OAANA,QAAM,IAANA,IAAUme,EAAMlD,gBAAgBjb,OACxCkb,cAA4B,OAAbA,QAAa,IAAbA,IAAiBiD,EAAMlD,gBAAgBC,cACvD,ECMSyR,CAAwB,CAAE3sB,SAAQme,QAAOjD,kBAAgB,CAC7D6L,eAAgB,CAACuF,GAA8BvF,KAC/C,ECjBA6F,GAAgB7wB,IAGyB,IAHxB,WACrB8wB,EAAa,EAAC,eACd9F,GACmBhrB,EACnB,MAAM+wB,EAAU,IAAI/nB,MAAM8nB,GAE1B,OACEvO,IAAAC,cAAAD,IAAAyO,SAAA,KAGGhoB,MAAME,MAAM,KAAM6nB,GAASE,KAAI,CAACC,EAAGC,IAClC5O,IAAAC,cAACiO,GAAc,CAACroB,IAAK+oB,EAAGnG,eAAgBA,MAEzC,E,uBCXP,MAAMoG,GAAoBpxB,IAMnB,IANoB,aACzBqxB,EAAY,SACZtU,GAID/c,EACC,OAAI+c,EACI,qBAAN3c,OAA4B6N,KAGxB,mBAAN7N,OAA0BixB,EAAe1O,IAAcU,IAAoB,EAGhEiO,GAAqChK,IAUN,IAVO,aACjD+J,EAAY,SACZtU,EAAQ,cACRwU,EAAa,2BACbC,GAMDlK,EA8BC,MA7BkB,CAChBmK,wBAAyB3jB,YAAGC,QAAAC,IAAA,iCAChBwjB,GAGZE,oBAAqB5jB,YAAGM,QAAAJ,IAAA,wPAEUU,IAIAA,IACTA,KAKzBijB,oBAAqB7jB,YAAG0b,QAAAxb,IAAA,4LACZ+O,EAAW,UAAY,UAEpBwU,EAKGH,GAAkB,CAAErU,WAAUsU,kBAIlC,E,8TC9CX,MAAMO,GAAc5xB,IAWkB,IAXjB,YAC1B2vB,EAAW,cACXC,EAAa,QACb1R,EAAO,SACPnB,EAAQ,SACR8U,EAAQ,GACR7wB,EAAE,MACFsd,EAAK,KACLjf,EAAI,MACJyyB,GAEiB9xB,EADdytB,EAAIrqB,IAAApD,EAAAqD,IAEP,OACEkf,IAAAC,cAACuP,KAAarE,IAAA,GACPmE,GAAY,CAAE,mBAAoB,0BAA0B,CACjE,eAAcA,EACdlC,YAAaA,EACbC,cAAeA,EACf1R,QAASA,EACTnB,SAAUA,EACV/b,GAAIA,EACJsd,MAAOA,EACPjf,KAAMA,EACNyyB,MAAOA,GACHrE,EACA6D,G,mWAAkCnuB,CAAC,CACrC4Z,WACAsU,aAAcQ,GACXpE,KAEL,E,iBC/CC,MAAMuE,GAAkB7I,YAAO8I,KAAP9I,CAAmBpb,QAAAC,IAAA,yLCQrCkkB,GAAgB3P,IAAM4P,YAGjC,CAAAnyB,EAAyCoyB,KAAG,IAA3C,aAAEC,EAAY,SAAElC,EAAQ,WAAEmC,GAAYtyB,EAAA,OACvCuiB,IAAAC,cAACH,IAAoB,KACnBE,IAAAC,cAACwP,GACC,CACAO,WAAS,EACTC,UAAWH,EACXhzB,KAAK,UACLozB,YAAY,EACZtC,SAAUA,EACViC,IAAKA,EACLxwB,KAAK,MACLkwB,MAAOQ,IAEY,I,aChBlB,MAAMI,GACXtQ,GACqBtU,YAAGC,QAAAC,IAAA,uFACJoU,EAAMzG,OAAOyB,QAAQG,KAAKb,QAAQR,WAC5CkG,EAAMzG,OAAOyB,QAAQG,KAAKb,QAAQN,OACnCgG,EAAMzG,OAAOyB,QAAQG,KAAKb,QAAQZ,MAC5BsG,EAAMhD,WAAWI,KAAKC,QAG1BkT,GACXvQ,GACqBtU,YAAGM,QAAAJ,IAAA,kLAEboU,EAAMtD,KAAK7C,MAAMH,MAIjBsG,EAAMtD,KAAK7C,MAAMH,MAKxBsG,EAAMtD,KAAK3C,OAKJyW,GAAezJ,IAAO0J,EAACrJ,QAAAxb,IAAA,0IACrBhO,IAAA,IAAC,SAAEwd,GAAUxd,EAAA,OAAKwd,CAAQ,IACxB8J,IAAA,IAAC,WAAE1I,EAAU,MAAEwD,GAAOkF,EAAA,OACnC1I,GAAcwD,EAAMtD,KAAKpC,QAAQkC,UAAU,IACnCgJ,IAAA,IAAC,OAAEgE,GAAQhE,EAAA,OAAKgE,CAAM,IACvB9D,IAAA,IAAC,MAAE1F,GAAO0F,EAAA,OAAK1F,EAAMtD,KAAKpC,QAAQZ,KAAK,IAK9CoM,IAAA,IAAC,MAAE9F,GAAO8F,EAAA,OAAKyK,GAAmBvQ,EAAM,IClC/B0Q,GAAO9yB,IAQkB,IARjB,SACnBwd,EAAQ,KACRuV,EAAI,WACJnU,EAAU,OACVgN,EAAM,QACN5B,EAAO,OACPgJ,EAAM,KACNzV,GACUvd,EACV,OACEuiB,IAAAC,cAACoQ,GAAY,CACX,cAAaI,EACbxV,SAAUA,EACVuV,KAAMA,EACNnU,WAAYA,EACZgN,OAAQA,EACR5B,QAASA,EACTiJ,IAAI,sBACJ7C,OAAO,UAEN7S,EACY,E,gBCzBZ,MAAM2V,GAAiB/J,IAAOgK,GAAEplB,QAAAC,IAAA,QACjC2d,GAAe3rB,IAAA,IAAC,OAAE4rB,GAA6B5rB,EAAA,OAAuB8N,YAAGM,QAAAJ,IAAA,yFAGnE4d,GAAkB,UAAS,EAI1BwH,GAAgBjK,IAAOkK,GAAE7J,QAAAxb,IAAA,4CAClCsZ,IAAA,IAAC,OAAEsE,GAAQtE,EAAA,OAAKqE,GAAa,CAAEC,UAAS,IAI/B0H,GAAcnK,IAAOoK,GAAE7J,QAAA1b,IAAA,+CAChC4Z,IAAA,IAAC,OAAEgE,GAAQhE,EAAA,OAAK+D,GAAa,CAAEC,UAAS,ICpB/B4H,GAAWxzB,IAAA,IAAC,SACvBsiB,GAGDtiB,EAAA,OAAyBuiB,IAAAC,cAAC0Q,GAAc,KAAE5Q,EAA0B,ECExDmR,GAAOzzB,IAIkB,IAJjB,SACnBsiB,EAAQ,KACR1gB,EAAI,OACJgqB,GACU5rB,EACV,MACO,YADC4B,EAGF2gB,IAAAC,cAAC8Q,GAAW,CACV,aAAW,eACXtyB,GAAG,eACH4qB,OAAQA,GAEPtJ,GAMHC,IAAAC,cAAC4Q,GAAa,CACZ,aAAW,iBACXpyB,GAAG,iBACH4qB,OAAQA,GAEPtJ,EAGT,E,mBC/BwB6G,IAAOS,KAAI7b,QAAAC,IAAA,kEAArC,MAWM0lB,GAAavK,IAAO0B,EAACzc,QAAAJ,IAAA,sFAChBiW,OACIjkB,IAAA,IAAC,SAAEwd,GAAUxd,EAAA,OAAKwd,GAAY,MAAM,IAClC8J,IAAA,IAAC,WAAE3I,GAAY2I,EAAA,OAAK3I,CAAU,G,gCCpB/C,iG,iCCAA,0gBAGO,MAAMgV,EAAgB,CAC3B5N,IAAa6N,GACb7N,IAAa8N,GACb9N,IAAa+N,GACb/N,IAAagO,GACbhO,IAAaiO,GACbjO,IAAakO,GACblO,IAAamO,GACbnO,IAAaoO,GACbpO,IAAaqO,GACbrO,IAAasO,GACbtO,IAAauO,GACbvO,IAAawO,GACbxO,IAAayO,GACbzO,IAAa0O,GACb1O,IAAa2O,GACb3O,IAAa4O,GACb5O,IAAa6O,GACb7O,IAAa8O,GACb9O,IAAa+O,GACb/O,IAAagP,GACbhP,IAAaiP,GACbjP,IAAakP,GACblP,IAAamP,GACbnP,IAAaoP,GACbpP,IAAaqP,GACbrP,IAAasP,GACbtP,IAAauP,GACbvP,IAAawP,GACbxP,IAAayP,GACbzP,IAAa0P,GACb1P,IAAa2P,GACb3P,IAAa4P,GACb5P,IAAa6P,GACb7P,IAAa8P,GACb9P,IAAa+P,GACb/P,IAAagQ,GACbhQ,IAAaiQ,GACbjQ,IAAakQ,GACblQ,IAAamQ,GACbnQ,IAAaoQ,GACbpQ,IAAaqQ,GACbrQ,IAAasQ,IAGF70B,EAAW,oCAGX80B,EAAiB,CAACvQ,IAAawQ,GAAIxQ,IAAayQ,IAGhDC,EAA2B,CAAC1Q,IAAa8O,GAAI9O,IAAagP,IAG1D2B,EAA4B,CAAC,MAiB7B51B,GAbXilB,IAAa+N,GACb/N,IAAagO,GACbhO,IAAayO,GACbzO,IAAa0O,GACb1O,IAAa6O,GACb7O,IAAaoP,GACbpP,IAAauP,GACbvP,IAAa8P,GACb9P,IAAaoQ,GACbpQ,IAAaqQ,GACbrQ,IAAasQ,GAGqB,CAElC,CAAEr1B,GAAI,UAAW21B,IAAK,GACtB,CAAE31B,GAAI,aAAc21B,IAAK,GACzB,CAAE31B,GAAI,aAAc21B,IAAK,GAGzB,CAAE31B,GAAI,QAAS21B,IAAK,IACpB,CAAE31B,GAAI,YAAa21B,IAAK,GACxB,CAAE31B,GAAI,WAAY21B,IAAK,GACvB,CAAE31B,GAAI,QAAS21B,IAAK,IAGpB,CAAE31B,GAAI,OAAQ21B,IAAK,GACnB,CAAE31B,GAAI,QAAS21B,IAAK,GACpB,CAAE31B,GAAI,QAAS21B,IAAK,GACpB,CAAE31B,GAAI,aAAc21B,IAAK,GACzB,CAAE31B,GAAI,QAAS21B,IAAK,GAGpB,CAAE31B,GAAI,MAAO21B,IAAK,GAClB,CAAE31B,GAAI,WAAY21B,IAAK,KAKZC,EAAsB,CAAC,cAAe,eAEtCC,EAAyB,CACpC,cACA,cACA,uBACA,0BAGWC,EAA0B,CAAC/Q,IAAagR,IAExC1uB,EAAa,aAEbZ,EAAa,4BAEbuvB,EAAyB,CACpCC,sBAAuB,wBACvBC,yBAA0B,4BAQfC,EAAyB,CAACpR,IAAagR,IAEvCK,EAA2C,CACtDrR,IAAagP,GACbhP,IAAawQ,GACbxQ,IAAasR,IAGFC,EAAgC,CAC3C9M,MAAO,2CACP+M,WAAY,oCACZC,MAAO,2C,2uDCpIF,MAAMC,EAAmB,sCAMnBC,EAAiCA,CAC5CC,EACAC,KAEA,MAAMC,EAAKrzB,SAASge,cAAcoV,GAOlC,OAHAC,EAAGC,YAAcH,EAAII,QAAQN,EAAkB,MAC/CI,EAAGG,MAAQ52B,cAAa42B,MAEjBH,CAAE,EAGEI,EAAuBj4B,IAUvB,IAVwB,kBACnCk4B,EAAiB,IACjBpqB,EAAG,KACHqqB,EAAI,GACJC,GAMDp4B,EACC,IAAK8N,IAAQqqB,IAASC,EAEpB,YADAn4B,IAAOC,KAAK,6CAId,MAAMm4B,EAAiB7zB,SAAS8zB,cAAc,gBAADl4B,OAC3B83B,EAAiB,MAGnC,IAAKG,EAEH,YADAp4B,IAAOC,KAAK,0DAId,MAAMq4B,EAAW/zB,SAASg0B,yBACpBC,EAAkBj0B,SAASge,cAAc,OAC/CiW,EAAgBC,UAAYP,EAE5B,MAAM,MAAEH,GAAU52B,cACZu3B,EAAWF,EAAgBG,kBAEjC,IAAKD,EAEH,YADA14B,IAAOC,KAAK,oCAIdy4B,EAASE,aAAa,cAxDiB,uBA0DvC,MAAMC,EAAUpB,EAA+B5pB,EAAK,SAC9CirB,EAAWrB,EAA+BU,EAAI,UAEpDU,EAAQD,aAAa,QAASb,GAC9Be,EAASF,aAAa,QAASb,GAC/BO,EAASS,YAAYL,GACrBJ,EAASS,YAAYF,GACrBP,EAASS,YAAYD,GAErB,MAAME,EAAsBZ,EAAea,WAExB,OAAnBD,QAAmB,IAAnBA,KAAqBE,QAAQZ,GAE7Bt4B,IAAOC,KAAK,wCAAwC,ECtEhDk5B,EAA8BA,CAClCp0B,EACAq0B,KAEAC,YAAW,KACT,IAAIC,GAAwB,EAC5B,IACEA,EAAwBv0B,EAAEorB,OAAOoJ,QAAQ,oBAC3C,CAAE,MAAOC,GAEP,MAAMC,EACJ,8FAEIC,EAAY53B,OAAO63B,iBAAiB50B,EAAEorB,QACxCsJ,EAAkBp6B,KAAKq6B,EAAU54B,UACnCw4B,GAAwB,EAE5B,CAEIA,IACA,OAAFF,QAAE,IAAFA,OACF,GACC,EAAE,E,0WChBP,MAaMQ,EAA8BC,IAClC,MAAM,cAAEC,EAAa,iBAAEC,EAAgB,cAAEC,GAAkBH,EAC3D,OAAO,SAAgBI,EAAQnP,GAC7B,MAAMoP,EAAa3wB,YAAWwwB,GAC1BA,IACAC,EACCh1B,KAAKm1B,WACRn1B,KAAKm1B,UAAW,EAChBn6B,IAAO6L,kBAAkBoB,iBAAiB6sB,GAAiBI,IAG7D,MAAMnK,EAAYkK,EAAOC,GAKzB,OAJKnK,GACH/vB,IAAOiF,MAAM,8BAA+B,CAAEm1B,UAAWF,IAGpD5X,IAAAC,cAACwN,EAAcjF,EACxB,CAAC,EAGGuP,EAAuB,IAAI9sB,IAa3B+sB,EAAav6B,IAAyC,IAAxC,OAAEw6B,EAAQC,UAAO,KAAEp7B,GAAeW,EAANytB,EAAIrqB,IAAApD,EAAAqD,GAClD,MAAMy2B,EAAU,CAAC,EAoBjB,OAlBItwB,YAAWikB,EAAKiN,UAClBZ,EAAQY,OAAS,CAACR,EAAQnP,KAfD1rB,KAAQi7B,EAAqBltB,OAAO/N,EAAK,EAgBhEs7B,CAAqBt7B,GAfUi7B,EAAqBjtB,KAAO,GAnC/DutB,YAAuBC,IAAKC,QAASC,IAAOC,wBAsDjCvN,EAAKiN,OAAOR,EAAQnP,KAI3BkQ,YAASxN,EAAKyN,SAChBpB,EAAQoB,MAAQzN,EAAKyN,OAGnBD,YAASxN,EAAK0N,WAChBrB,EAAQqB,QAAU1N,EAAK0N,SAGlBC,I,iWAAQj4B,CAAC,CACdq3B,SACAC,QAAS1P,IAnCiB1rB,KAAQi7B,EAAqB5sB,IAAIrO,EAAK,EAoC9Dg8B,CAAsBh8B,GAClB0rB,EAAM7lB,OACRjF,IAAOiF,MAAM,GAAD9E,OAAIf,EAAI,6BAA6B0rB,EAAM7lB,OACvDo2B,YAAS,CAAEC,OAAO,GAADn7B,OAAKf,EAAI,+BAGnBkjB,IAAMC,cAAc,MAGtBiY,EAAQ1P,KAEd+O,GACH,E,YCjFJ,MAAM0B,EAAgB,WAAuD,IAADC,EAAAC,EAAA,IAArDC,EAAyBh7B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAclD,MAAMuE,GAAc,OAANy2B,QAAM,IAANA,GAAgB,QAAVF,EAANE,EAAQC,gBAAQ,IAAAH,GAAQ,QAARC,EAAhBD,EAAkBjM,cAAM,IAAAkM,OAAlB,EAANA,EAA2B,KAAMC,GACzC,KAAEz4B,EAAI,UAAE24B,EAAS,QAAEC,EAAU,IAAO52B,EAQ1C,OAN0B,KAAb,OAAT22B,QAAS,IAATA,OAAS,EAATA,EAAWj7B,UACQ,OAAjBi7B,EAAU,SAAgCh7B,IAAjBg7B,EAAU,IACrCA,EAAUE,SAIP,CACL72B,QACA22B,UAAWA,GAAa34B,GAAQ,GAChC84B,4BAAyC,gCAAZF,EAC7BG,WAAwB,cAAZH,EACZI,0BACc,yCAAZJ,EACFK,mCACc,iCAAZL,EACFA,UAEJ,EASMM,EAA0BA,CAC9Bl5B,EACAm5B,EACAhK,KACU,IAADiK,EACT,MAAMp3B,EAAY,OAAJhC,QAAI,IAAJA,GAAY,QAARo5B,EAAJp5B,EAAMssB,cAAM,IAAA8M,OAAR,EAAJA,EAAe,GAE7B,GAAIp3B,EAIF,MAHAjF,IAAOiF,MAAM,WAAD9E,OAAYi8B,EAAS,QAAQ,CACvCP,QAAS52B,EAAM42B,UAEX,IAAIS,MAAMlK,GAAgBntB,EAAM42B,SAGxC77B,IAAOC,KAAK,WAADE,OAAYi8B,EAAS,YAAW,E,gWChE7C,MAAMG,EAA8BA,KAClC,MAAMC,EAAej4B,SAAS8zB,cAC5B,kCAIF,OAAOoE,YAA2B,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAcE,cAEhCF,EAAcE,aACd,CAAC,EAMMC,EAAwBA,KACnC,MAAOC,EAA8BC,GACnCtR,mBAASgR,KAaX,OAXAO,2BAAgB,KACd,MAAMC,EAAqBC,KAAS,KAClCH,EAAgCN,IAA8B,GAC7D,KAGH,OAFAz6B,OAAOm7B,iBAAiB,SAAUF,GAE3B,KACLj7B,OAAOo7B,oBAAoB,SAAUH,EAAmB,CACzD,GACA,IAEIH,CAA4B,E,mBChC9B,MAAMO,EAA2BA,KAAY,IAADC,EAAAC,EACjD,MAAM,gBAAEC,IACqB,QAA3BF,EAAAj8B,cAAasE,sBAAc,IAAA23B,GAAiB,QAAjBC,EAA3BD,EAA6BG,uBAAe,IAAAF,OAAjB,EAA3BA,EAA8CG,OAAQ,CAAC,EAErDF,GACFtb,IAASyb,aAAavb,GAAGwb,8BAA6B,EACxD,E,oBCHK,MAAMC,EAAcC,IACpBr0B,YAAWq0B,IACd59B,IAAOiF,MAAM,+BAGf44B,oBAAUD,EAAS,GAAG,ECJlBE,EAAuB,kBAQvBC,EAAmB/D,IACvB,MAAMI,GAPoBh7B,EAOW46B,EAN9BxS,YAASpoB,GACZA,EAAK04B,QAAQgG,EAAsB,SAASE,cAC5C,IAHsB5+B,MAS1Bu+B,GAAW,KACT39B,IAAOC,KAAK,WAADE,OAAYi6B,EAAS,uBACzB,KACLp6B,IAAOC,KAAK,WAADE,OAAYi6B,EAAS,wBAAuB,IAEzD,E,sCCZG,MAAM6D,EAA2BA,KACtC,MAAM,QAAEh2B,EAAO,SAAEi2B,GAAah2B,cACxBi2B,EAAWC,cAEXC,EAAwBC,uBAAYC,iBAA4B,IAArB,OAAEjD,GAAQ56B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7DV,IAAOC,KAAK,iCAADE,OAAkCm7B,IAC7C,IACE,MAAMkD,QAA4BC,cAEX,OAAnBD,QAAmB,IAAnBA,KAAqBE,UAGvB,+CACMC,YAAiB,CACrBC,YAAa32B,EAEb42B,aAAcX,EACdY,uBAAwB,qBAE1B9+B,IAAOC,KAAK,wCAIZD,IAAOmJ,QACPg1B,EAAS,CACPY,SAAU,sBACVC,OAAQl9B,OAAOC,SAASi9B,WAG1Bh/B,IAAOC,KAAK,uCACZg/B,YAAe,CACbC,OAAQ,CAAEC,YAAa,WACvB7D,OAAQ,uCAGd,CAAE,MAAOr2B,GACP,GAAIA,aAAiBq3B,MAAO,CAC1B,MAAM,QAAET,EAAO,MAAEuD,GAAUn6B,EAC3BjF,IAAOkJ,KAAK,qCAAsC,CAAE2yB,UAASuD,SAC/D,MACEp/B,IAAOkJ,KAAK,sCAEd+1B,YAAe,CACbC,OAAQ,CAAEC,YAAa,WACvB7D,OAAQ,mDAEZ,CACF,GAAG,IAEH,OAAO+C,CAAqB,E,YCnDvB,MAAMgB,EAA2BA,KACtC,MAAMlB,EAAWC,cA8BjB,OA5B8BE,uBAAYC,UACxC,IACE,MAAMC,QAA4BC,cAElC,GAAuB,OAAnBD,QAAmB,IAAnBA,MAAqBE,SAOvB,MAAM,IAAIpC,MAAM,6BANhBt8B,IAAOC,KAAK,iCACZk+B,EAAS,CACPY,SAAU,uBACVC,OAAQl9B,OAAOC,SAASi9B,QAK9B,CAAE,MAAO/5B,GAEP,GADA8L,IAAGuuB,IAAIvuB,IAAGwuB,YAAYC,aAClBv6B,aAAiBq3B,MAAO,CAC1B,MAAM,QAAET,EAAO,MAAEuD,GAAUn6B,EAC3BjF,IAAOiF,MAAM,wCAAyC,CACpD42B,UACAuD,SAEJ,MACEp/B,IAAOiF,MAAM,yCAEf,MAAM,IAAIq3B,MAAM,wCAClB,IACC,GAEyB,C,iCCzC9B,8TAEImD,EAAYC,GAAkB,mBAANA,EAExBn2B,EAAao2B,GAAkB,oBAANA,EAEzB3E,EAAW4E,GAAkB,kBAANA,IAAmBC,MAAMD,GAEhDtZ,EAAWwZ,GAAK,IAAiBzgC,KAAKwL,OAAOk1B,UAAUC,SAAS1yB,KAAKwyB,IAErEtY,EAAWyY,GAAkB,kBAANA,EAEvBxD,EAAiBmD,GAAK5E,EAAS4E,IAAMM,SAASN,GAE9CO,EAAa,CAACC,EAAWC,KAC3B,IAAKD,EACH,MAAM,IAAI52B,UAAU62B,EACtB,EAWEC,EAAiB,WACnB,IAAK,IAAI50B,EAAQhL,UAAUC,OAAQmI,EAAO,IAAIC,MAAM2C,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF7C,EAAK6C,GAASjL,UAAUiL,GAG1Bw0B,EAAWr3B,EAAKy3B,MAAMh3B,GAAa,sBACrC,EAUIi3B,EAAe,WACjB,IAAK,IAAIC,EAAQ//B,UAAUC,OAAQmI,EAAO,IAAIC,MAAM03B,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF53B,EAAK43B,GAAShgC,UAAUggC,GAG1BP,EAAWr3B,EAAKy3B,MAAMja,GAAW,qBACnC,EAEIqa,EAAe,WACjB,IAAK,IAAIC,EAAQlgC,UAAUC,OAAQmI,EAAO,IAAIC,MAAM63B,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF/3B,EAAK+3B,GAASngC,UAAUmgC,GAG1BV,EAAWr3B,EAAKy3B,MAAM/Y,GAAW,oBACnC,C,+BC1DA,4MAAgD3c,OAAOi2B,OAAO,CAC5DC,OAAQl2B,OAAOi2B,OAAO,CACpBE,QAAS,sCACTC,qCAAsC,wCAExCD,QAASn2B,OAAOi2B,OAAO,CACrBE,QAAS,gCACTC,qCACE,4CARC,MAaMC,EAAar2B,OAAOi2B,OAAO,CACtCK,4BAA6B,8BAC7BC,mCAAoC,qCACpCC,6BAA8B,+BAC9BC,4CACE,8CACFC,6BAA8B,+BAC9BC,yBAA0B,6BAIfC,EAAmB,iBACnBC,EAAwB,qBACxBC,EACX,+BACWC,EAAgC,8BAChCC,EAA2B,uB,2wBClBxC,MAWMC,EAAmBA,KACvB,MAAQC,KAAMC,GAAchgB,IAASC,YAC/B,cAAEggB,GAAkBD,EAG1B,MAFyC,WAAxBC,EAAcpQ,OAEZvyB,IAASC,SAAS,4BAA4B,EAS7D2iC,EAA4BA,KAChC,MAAQH,KAAMC,GAAchgB,IAASC,YAC/B,sBAAEkgB,GAA0BH,EAClC,GAAIF,MAAuBK,EAAuB,CAChD,MAAMC,EAAa,2BACnBpiC,KAAOC,KAAKmiC,GACZ,MAAQlgB,GAAImgB,GAAcrgB,IAASyb,aAEnC,OADA4E,EAAUC,6BAA4B,IAC/B,CACT,CAEA,OAAO,CAAK,E,yoBCDd,MAAMC,EAAkBt/B,IACtB,MAAQif,GAAIsgB,GAAYxgB,IAASC,YAC3B,OAAEwgB,GAAWD,EAEnB,GAAe,SAAXC,EACF,OAGF,MACEC,SAAW7Q,MAAO6Q,GAAY,CAAC,EAC/BC,YAAc9Q,MAAO8Q,GAAe,CAAC,EACrCC,YAAc/Q,MAAO+Q,EAAU,SAAEC,GACjCC,4BAA6BC,EAC7BC,kBAAoBnR,MAAOoR,GAAiB,CAAC,GAC3ChgC,EAEJ,OAAAC,EAAA,CACEggC,KAAIhgC,QAAA,CACF0/B,cACID,GAAc,CAAEQ,eAAgBC,YAAuBT,KACvDD,GAAW,CAAEW,aAAcX,IAC3BG,GAAY,CAAElhC,KAAMkhC,IACpBvjC,IAASC,SAAS,kCAAoC,CACxD0jC,kBAGAF,GAA0B,CAAEA,0BAAyB,EAmHvDO,EAAkBrgC,IACtB,MAAQif,GAAIsgB,GAAYxgB,IAASC,YAC3B,OAAEwgB,GAAWD,EAEnB,GAAe,SAAXC,EACF,OAGF,MAAM,kBACJc,EACAC,iBAAmB3R,MAAO2R,GAAiB,SAC3CC,EAAQ,aACRC,GACEzgC,EAEE0gC,EAA2B,CAAC,EAQlC,MAPwB,SAApBH,GACFG,EAAYC,cAAgBL,EAAkB1R,MAC9C8R,EAAYE,cAAgBH,EAAa7R,OAEzC8R,EAAYG,KAAOL,EAAS5R,MAGvB,CACLkS,KAAI7gC,EAAA,GACCygC,GAEN,EA8CGK,EACJhC,IAEA,IAAIiC,EAAU,KAEd,GAAInC,IAAoB,CACtB,MAAM,kBAAEoC,EAAiB,iBAAEC,EAAgB,aAAEC,EAAY,cAAEC,GACzDrC,EAEIsC,GACQ,OAAZF,QAAY,IAAZA,OAAY,EAAZA,EAAcvS,SAAU0S,IAEpBC,EAAaF,EACF,OAAbD,QAAa,IAAbA,OAAa,EAAbA,EAAexS,MAAMb,KAAIwT,GArDRzkC,KAMc,IANb,YACxB6+B,EAAW,QACX6F,EAAO,eACPC,EAAc,gBACdC,EAAe,mBACfC,GACgB7kC,EAChB,MAAM8kC,EAAoBC,cAE1B,IAAIC,EAAwB,KACxBC,EAA2B,KAe/B,OAbIN,EAAe7S,QAAUoT,IAAuBC,eAEhDF,EADEJ,EAAmB/S,QAAUsT,IACJV,EAAQ5S,MAGjCgT,EACED,EAAmB/S,OAIzBkT,EAAwBJ,EAAgB9S,MAGnC,CACL+M,YAAaA,EAAY/M,MACzB+S,mBAAoBI,EACpBL,gBAAiBI,EAClB,EAwB4CK,CAAiBZ,KACxD,GAEJP,EAAU,CACRoB,UAA4B,OAAjBnB,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBrS,MAC9ByT,SAA0B,OAAhBnB,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBtS,MAC5ByS,kCACAE,aAEJ,CAEA,MAAO,CACLP,UACD,EC5RUsB,EAA2B,yBAC3BC,EACX,kCACWC,EAAkB,gBAElBC,EAAkC,CAC7CrB,cAAe,kCACfsB,uBAAwB,4CACxBC,gCACE,sD,gmBCgDJ,MAAMC,EAA6BA,CACjC9kC,EACA+kC,EACAC,KAEA,MAAM,OAAExW,EAAM,QAAEC,IAAgB,OAAJuW,QAAI,IAAJA,OAAI,EAAJA,EAAM3V,aAAc,CAAC,EAEjD,GAAIZ,IAAYD,EACd,OAAO,EAGT,MAAM,aAAE6B,GAAiB0U,GAEvBE,KAAK,iBAAEC,IACLjkB,IAASC,WACPikB,EAAa3W,EAAO,GAS1B,MACS,eAAPxuB,IACCklC,EAAiBtlC,QAClB,CAAC,cAAe,WAAY,WAAWK,SAASklC,GAEzC9U,EAKFA,GAAgB5xB,QAAQumC,EAAKI,YAAY,EAS5CC,EAAgBC,IAGU/mC,IAASgnC,WACrC,iCACA,wCAIOD,EAAME,YAEf,MACMC,EAAgB,0CAGtB,OADa37B,OAAO47B,KAAKJ,GACbK,QAAO,CAACnX,EAAgBoX,KAClC,MAAMC,EAAiBJ,EAAcnnC,KAAKsnC,GACpCb,EAAaO,EAAMM,GAEzB,GAAIE,YAAWf,EAAY,aAAeA,EAAWtW,QAAS,CAC5D,MAAM,MAAEvqB,EAAK,UAAE6hC,EAAS,QAAEtX,EAAO,MAAEqC,GAAUiU,EAE7CvW,EAAOwX,WAAWJ,GAAS,CACzBvV,cAAc,EACdnsB,MAAO+hC,YAAc,CAAE/hC,QAAO6hC,YAAWH,QAAOnX,UAASqC,WAE3DtC,EAAO0X,gBAAgBN,GAASb,EAAWgB,SAC7C,MAAO,GAAIF,EAAgB,CACzB,MAAM,WAAEG,EAAU,gBAAEE,GAAoBb,EAAaN,GACnCj7B,OAAO47B,KAAKM,GAAYpmC,SAGxC4uB,EAAOwX,WAAWJ,GAASI,EAC3Bl8B,OAAOq8B,QAAQD,GAAiBz6B,SAAQzM,IAAyB,IAAvBonC,EAAWliC,GAAMlF,EACzD,MAAMoI,EAAG,GAAAhI,OAAMwmC,GAAKxmC,OAAGinC,YAAgBD,IACvC5X,EAAO0X,gBAAgB9+B,GAAOlD,CAAK,IAGzC,CAEA,OAAOsqB,CAAM,GA7BD,CAAE0X,gBAAiB,CAAC,EAAGF,WAAY,CAAC,GA8BzC,EAILM,EAAmChgB,IAU5B,IAV6B,QACxCigB,EAAO,SACPC,EAAQ,cACRC,EAAgB,CAAC,EAAC,OAClBjY,EAAS,IAMVlI,EACCigB,EAAQvF,KAAK0F,6BAA4B,GAEzC,MAAM,aAAEC,EAAY,4BAAEC,GAAgCH,EAClDE,IACFJ,EAAQplB,GAAGogB,6BAA4B,GACvCgF,EAAQplB,GAAG0lB,wBAAuB,IAGhCD,IAIEJ,IAAaA,EAASrlB,GAAG2lB,2BAC3BP,EAAQvF,KAAK+F,4CAA2C,GAKtDvY,EAAO5uB,QAAU,GACnB2mC,EAAQplB,GAAG6lB,gCAA+B,GAE9C,EAGIC,EAAkBA,CACtBrB,EACAsB,KAEAjoC,KAAOC,KAAK,mCAADE,OAAoCwmC,EAAK,KAAAxmC,OAAI8nC,IAEjD,CACL7W,cAAc,EACdnsB,MAAOijC,YAAWxC,EAAgCiB,IAClDnX,QAASmX,IAAUlB,GAAkB,OAuBnC0C,EAA0BxgB,IAKyC,IAADygB,EAAA,IALvC,YAC/BC,EAAW,KACXC,EAAI,UACJtG,EAAS,MACTiG,GAC8BtgB,EAC9B,MAAMuJ,EAAIqX,SAASN,GAEnB,GD7NA,oCC6NIK,EAA0C,CAE5C,GAAItG,EAAUuD,IAAmC,IAANrU,EACzC,MAAO,CACLyV,MAAOpB,EACPx9B,QAASigC,EAAgBzC,EAA0BrU,IAIhD,GAAI8Q,EAAUwD,IAA6C,IAANtU,EAC1D,MAAO,CACLyV,MAAOnB,EACPz9B,QAASigC,EAAgBxC,EAAoCtU,IAG1D,GAAI8Q,EAAUyD,GAAkB,CAAC,IAAD+C,EACGC,EAAxC,GAA+B,QAA3BD,EAACxG,EAAUyD,UAAgB,IAAA+C,IAA1BA,EAA4B3W,MAC/B,MAAO,CACL6W,WAAY,CAAEhB,cAAc,GAC5Bf,MAAOlB,EACP19B,QAAS,CAAE8pB,MAAiC,QAA5B4W,EAAEzG,EAAUyD,UAAgB,IAAAgD,OAAA,EAA1BA,EAA4B5W,QAGlD,MAAMwS,EAAgB,IAAIrC,EAAUqC,cAAcxS,OAC5C8W,EAAyBX,EAAgBvC,EAAiBvU,GAMhE,OALAmT,EAAcnT,GAAGyT,gBAAezhC,IAAA,GAC3BmhC,EAAcnT,GAAGyT,iBACjBgE,GAGE,CACLD,WAAY,CAAEhB,cAAc,GAC5Bf,MAAOlB,EACP19B,QAAS,CAAE8pB,MAAOwS,GAEtB,CACF,CAGA,MAAM,WAAEuE,EAAU,UAAE9B,GAAc+B,IAAmBP,GAC/CI,EAAgC,CAAC,EAMvC,OAJIL,GAAeA,IAAgBS,IAAcC,sBAC/CL,EAAWf,6BAA8B,GAG3CzkC,EAAA,CACEyjC,MAAgC,QAA3ByB,EAAGS,IAAmBP,UAAK,IAAAF,OAAA,EAAzBA,EAA0CzB,MACjD5+B,QAAO7E,EAAA,CACLkuB,cAAc,EACdnsB,MAAOijC,YAAWU,GAClBpZ,SAAS,GACLsX,GAAa,CAAEA,eAEjBj8B,OAAO47B,KAAKiC,GAAY/nC,QAAU,CAAE+nC,cAAa,ECpR5CM,EAAoC,CAC/CC,IAAK,UACLC,IAAK,cACLC,OAAQ,c,qlBC4DV,MAAMC,EACJnmC,IAEA,MACEomC,OAASxX,MAAOwX,GAChBhE,WAAaxT,MAAOwT,GACpBC,UAAYzT,MAAOyT,IACjBriC,GACE,eAAEqmC,GAAmBC,YAAuBtmC,GAElD,OAAAC,IAAA,GAMKq/B,EAAet/B,IAAK,IACvBqmC,iBACArhC,QAASC,cAAYD,QACrBohC,MAAOA,EAAMG,OACbnE,UAAWA,EAAUmE,OACrBlE,SAAUA,EAASkE,QAAM,EAwCvBC,EACJxmC,IACoC,IAADymC,EAAAC,EAAAC,EACnC,MAAMC,EAAwC,GAW9C,GAAKvqC,IAASC,SAAS,oCAiCvB,OA3B4C,QAA5CmqC,EAAIzmC,EAAK0+B,YAAmC,IAAA+H,GAAxCA,EAA0C7X,OAC5CgY,EAAkBC,KAAK,CACrBC,YAAankB,IAAqBokB,0BAClCC,YAAapkB,IAAqBqkB,cAMJ,QAAlCP,EAAI1mC,EAAK4+B,YAAyB,IAAA8H,GAA9BA,EAAgC9X,OAClCgY,EAAkBC,KAAK,CACrBC,YACEnkB,IAAqBukB,+CACvBF,YAAapkB,IAAqBqkB,cAMC,QAAvCN,EAAI3mC,EAAK2+B,YAA8B,IAAAgI,GAAnCA,EAAqC/X,OACvCgY,EAAkBC,KAAK,CACrBC,YACEnkB,IAAqBwkB,mEACvBH,YAAapkB,IAAqBqkB,cAI/BL,CAAiB,EAUpBQ,EAAqBpnC,IAAwC,IAADqnC,EAChE,MAAQpoB,GAAIsgB,EAAST,KAAMC,GAAchgB,IAASC,YAEhD+jB,KAAK,gBAAEuE,IACLvoB,IAASC,YACL4P,MAAOoQ,GAAkBh/B,EAAKg/B,cAChCuI,EAAgC,SAAnBhI,EAAQC,OACrBgI,EAA6B,WAAlBxI,EACX7Z,EAAiB9oB,IAASC,SAAS,kBACnCmrC,EAA6BprC,IAASC,SAC1C,4BAEIorC,EACJrrC,IAASC,SAAS,iCAClBmrC,EAEIE,EAA+BtrC,IAASC,SAC5C,8BAEIsrC,EACJvrC,IAASC,SAAS,mCAClBqrC,EAEIE,GACH1iB,GAAkBsiB,IACnBD,IACCD,IACAG,IACAE,EAEGE,EAAcC,YAAe/nC,IAGjComC,OAASxX,MAAOwX,GAChBhE,WAAaxT,MAAOwT,GACpBC,UAAYzT,MAAOyT,GACnB2F,OAASpZ,MAAOqZ,GAChBC,WAAatZ,MAAOsZ,IAClBloC,EAEEmoC,EAAcb,EAAgBzqC,MAClCC,IAAA,IAAAsrC,EAAA,IAAC,KAAEC,GAAMvrC,EAAA,OAAKurC,KAAa,OAAJroC,QAAI,IAAJA,GAAqB,QAAjBooC,EAAJpoC,EAAMsoC,uBAAe,IAAAF,OAAjB,EAAJA,EAAuBxZ,MAAK,KAInD2Z,yBAA2B3Z,MAAO2Z,IAChCxJ,EAEJ,OAAA9+B,0BAAA,GACKogC,EAAergC,IACfs/B,EAAet/B,IAAK,IACvBgF,QAASC,cAAYD,SACjBu6B,EAAQiJ,oBAAoBvC,KAAO,CACrCwC,YAAaC,aAAmC,QAAhBrB,EAAArnC,EAAKyoC,mBAAW,IAAApB,OAAA,EAAhBA,EAAkBzY,QAAS,MAC1D,CAAF,GACDwX,MAAOA,EAAMG,OACbnE,UAAWA,EAAUmE,OACrBlE,SAAUA,EAASkE,OACnByB,MAAO,CACLrM,YAAY,GAADz+B,OAAK4qC,GAChBG,SACAvpC,KAAMwpC,IAEJC,GAtJyBnoC,KAA2C,IAAD2oC,EACzE,MAAM,SAAEC,EAAQ,eAAEC,EAAc,KAAER,EAAI,UAAES,GAAc9oC,EAGhD+oC,GAAwB,OAARH,QAAQ,IAARA,GAAgB,QAARD,EAARC,EAAUI,cAAM,IAAAL,OAAR,EAARA,EAAkBM,gBAAiB,IACnDC,GAA6B,OAARN,QAAQ,IAARA,OAAQ,EAARA,EAAUO,aAAc,KAC3CC,aAAcC,EAAiBJ,cAAeK,GACpDT,GACMO,aAAcG,EAAmBN,cAAeO,GACtDV,EAEF,MAAO,CACLW,0BAA2B,CACzBC,iBAAkBL,EAClBH,mBAAoBA,EACpBH,cAAeA,EACfM,kBACAC,eACAjB,OACAkB,oBACAC,kBAEH,EAgIoBG,CAAwBxB,IACvC9rC,IAASC,SAAS,eAAiB,CACrCisC,wBACEA,GAA2BlsC,IAASC,SAAS,gBAE7CD,IAASC,SAAS,6BAA+B,CACnDstC,+BAA+B,IAC9B,CAAF,GACDC,4BAA6B,CAACxtC,IAASytC,IAAI,wBAC3CtlC,MAAOC,eACJ6hC,YAAuBtmC,KACrB6nC,GAAcL,GJ5KrBuC,KAII,IAADC,EACH,MACEC,gBAAkBrb,MAAOqb,IACvBF,EACEG,EAAmB,OAARH,QAAQ,IAARA,GAAkB,QAAVC,EAARD,EAAUG,gBAAQ,IAAAF,OAAV,EAARA,EAAoBpb,OAC/B,QAAE5pB,EAAO,SAAEi2B,EAAQ,OAAEl2B,GAAWE,cAChCklC,EAAcC,YAAerlC,GAC7BslC,EAAwBhuC,IAASC,SAAS,yBAI1CguC,EAAiB,GAAAptC,OAClB8H,EAAO,KAAA9H,OAAI+9B,EAAQ,KAAA/9B,OAAIitC,EAAW,2BAMjCI,EAAYluC,IAAS4mB,OAAOsnB,UAC/B1sC,QACE6lC,GACW,2BAAVA,GACU,oCAAVA,IAEHD,QAAO,CAAC+G,EAA0B9G,KACjC,MAAM+G,EAAkB/G,EAAM,GAAG3I,cAC/B2I,EAAMgH,UAAU,GAClB,OAAQD,GACN,IAAK,cAAe,CAClB,MAAQ7b,MAAO+b,GACbZ,EAAStB,YACLmC,EAAalC,YAAmBiC,GACtC,OAAA1qC,IAAA,GACKuqC,GAAK,IACR/B,YAAamC,GAEjB,CACA,IAAK,uBAAwB,CAC3B,MAAQhc,MAAOic,GACbd,EAASc,sBACHjc,MAAO8T,GACbqH,EAASrH,uBAEX,OAAAziC,IAAA,GACKuqC,GAAK,IACRM,iBAAkB,CAChBpsC,KAAMmsC,EACNjc,MAAO8T,IAGb,CACA,IAAK,gCAAiC,CAAC,IAADqI,EAGpC,GAA2C,QAAZ,QAA3BA,EAAAhB,EAASiB,0BAAkB,IAAAD,OAAA,EAA3BA,EAA6Bnc,OAC/B,MAGF,MAAQA,MAAOqc,GACblB,EAASkB,+BACHrc,MAAO+T,GACboH,EAASpH,gCAEX,OAAA1iC,IAAA,GACKuqC,GAAK,IACRU,0BAA2B,CACzBxsC,KAAMusC,EACNrc,MAAO+T,IAGb,CACA,QAAU,IAADwI,EACP,OAAAlrC,IAAA,GACKuqC,GAAK,IACR,CAACC,GAA0C,QAA5BU,EAAIpB,EAASU,UAAe,IAAAU,OAAA,EAAzBA,EACdvc,QAGV,GACC,CAAC,GAEN,OAAA3uB,IAAA,CACEqqC,oBAIAc,iBAAkBnB,IACbI,GAAyB,CAC5BH,aAECK,EAAS,EI8EmBc,CAAcrrC,IACzC6nC,GAAcyD,eACfvK,EAAc/gC,IACbwnC,GAAY+D,eACbC,YAA0BxrC,IAAK,IAClC4mC,kBAAmBJ,EAAqBxmC,IAAK,EAU3CyrC,EAA+BzrC,IACnC,MAAQ+iC,IAAK2I,GAAa3sB,IAASC,YAC7B,0BAAE2sB,EAAyB,sCAAEC,GACjCF,GAEAzL,MAAQG,aAAcX,GAAS,uBAC/BK,GACER,EAAet/B,IACb,gBAAE6rC,GAAoBvF,YAAuBtmC,GAC7CwE,EAAQC,eACR,cAAEu6B,GAAkBh/B,EAGpB8rC,EAD4B,UAAlB9M,EACW,QAAU,UAErC,OAAA/+B,MAAA,GACM2rC,GAAyC,CAC3CG,gCAAiCH,IAE/B9L,GAA0B,CAAEA,2BAA0B,CAAF,GACxDkG,IAAKvG,EACLuM,oBAAqBL,EACrBE,kBACAhC,4BAA6B,CAACxtC,IAASytC,IAAI,wBAC3CtlC,QACAsnC,YAAQ,EAcNG,EAAmBlN,IAA6C,IAADmN,EACnE,MAAM,eACJ7F,EAAc,UACdjE,EAAS,SACTC,EAAQ,mBACR8J,EAAkB,gBAClBN,EAAe,MACf7D,GACEjJ,GACI9f,GAAIsgB,GAAYxgB,IAASC,WAC3BotB,EAAoCnsC,cAAA,GACrCosC,YAAmBtN,IACnBuN,YAAavN,IACbwN,YAAaxN,IACbyN,YAAwBzN,IAAU,IACrCsH,eAAcpmC,IAAA,GACTwsC,YACDpG,EACAqG,gBACD,IACDC,eAAc1sC,IAAA,GACT2sC,YAAqCvG,GAAgBsG,gBAAc,IAEtEE,6BAAwC,QAAZX,EAAElE,EAAMlF,YAAI,IAAAoJ,OAAA,EAAVA,EAAYY,mBAG9CjB,gBAAe5rC,IAAA,CACb+E,QAAS6mC,EAAgB7mC,QACzBo9B,UAAWyJ,EAAgBzJ,UAC3BC,SAAUwJ,EAAgBxJ,UACvBoK,YACDZ,EACAa,YAAkBb,EAAgB7mC,QAAQ4pB,SAEzCge,YAAqCf,KAEtCM,EACA,CACEA,mBAAkBlsC,EAAA,GACbwsC,YACDN,EACAO,iBAIN,CAAC,GLvVY3N,KACnB,MAAM,kBAAEkC,EAAiB,iBAAEC,EAAgB,aAAEC,EAAY,cAAEC,GACzDrC,EACF,MAAO,CACLkC,oBACAC,mBACAE,gBACAD,eACD,EKgVI4L,CAAYhO,IAEZyM,YAA0BzM,KAGzB,OAAES,GAAWD,EAEnB,GAAe,SAAXC,EAAmB,CAGR53B,OAAO47B,KAClBjE,EAAQiJ,qBAELj/B,SAAQrE,IACX,MAAM8nC,EAAiBjH,EAAkC7gC,IACpDq6B,EAAQiJ,oBAAoBtjC,IAAQ8nC,EACnCZ,EAAkBY,WACbZ,EAAkBY,GAElBzN,EAAQiJ,oBAAoBtjC,IAAQ8nC,IAG7CZ,EAAkBY,GAAkBjO,EAAUiO,GAChD,GAEJ,CACA,MAAM3nB,EAAmBhpB,IAASC,SAAS,oBACrCqrC,EAA+BtrC,IAASC,SAC5C,8BAEI6oB,EAAiB9oB,IAASC,SAAS,kBACnCmrC,EAA6BprC,IAASC,SAC1C,4BAEIorC,EACJrrC,IAASC,SAAS,iCAClBmrC,EAEIG,EACJvrC,IAASC,SAAS,mCAClBqrC,EAGIsF,EAAuC5wC,IAASC,SACpD,gCAGI0iC,EAAgBD,EAAUC,cAAcpQ,MACxC4Y,EAA6B,WAAlBxI,EAEX6I,GACH1iB,GAAkBsiB,IACnBD,KAH4B,SAAXhI,KAKhBkI,IACAE,EACH,GAAIviB,GAAsC,UAAlB2Z,EAEtBoN,EAAkBc,kBAAoBnO,EAAUmO,uBAC3C,GAAI1F,IAAaK,EAAY,CAG/BH,GACAE,IAGDwE,EAAkBlC,SAAWnL,EAAUmL,UAEzCkC,EAAkB3N,KAAyBM,EAAUN,KACrD2N,EAAkB5N,KAAoBO,EAAUP,KAE5CniC,IAASC,SAAS,8BACpB8vC,EAAkB1N,KAChBK,EAAUL,MAGVriC,IAASC,SAAS,4CACpB8vC,EAAkBzN,KAChBI,EAAUJ,MAGVtiC,IAASC,SAAS,sCACpB8vC,EAAkBxN,KAChBG,EAAUH,MAIIviC,IAAS4mB,OAAOsnB,UACxBhhC,SAASm6B,IAAmB,IAADyJ,EAGnC,IACa,oCAAVzJ,GACW,kCAAVA,IACsC,QAAZ,QAA5ByJ,EAAApO,EAAUiM,0BAAkB,IAAAmC,OAAA,EAA5BA,EAA8Bve,OAE9B,OAEF,MAAM6b,EAAkB/G,EAAM,GAAG3I,cAC/B2I,EAAMgH,UAAU,GAClB0B,EAAkB3B,GAAkB1L,EAAU0L,EAAe,GAEjE,CAEKwC,GAAyCzF,UACrC4E,EAAkBD,mBAQvBiB,YAAkCpO,KACpCoN,EAAkBiB,kBAAoBtO,EAAUsO,mBAGlD,MAAMC,EAAiBC,eACjBC,EAAkC,SAAnBjO,EAAQC,OAEzB8N,GAAkBE,IACpBpB,EAAkB9I,YAAcvE,EAAUuE,aAG5C,MAAQP,IAAK2I,GAAa3sB,IAASC,YAC7B,kBAAEyuB,GAAsB/B,EAASgC,uBAEvC,GADsBrxC,IAASC,SAAS,iBAsBtC,cAlBO8vC,EAAkB/F,eAIpBoH,EAKHrB,EAAkBP,gBAAkB8B,YAClCvB,EAAkBP,wBALbO,EAAkBP,gBASvBO,EAAkBD,2BACbC,EAAkBD,mBAGpBC,EAIT,IAD8B/vC,IAASC,SAAS,yBACpB,CAC1B,GAAImxC,EAAmB,CACrB,MAAM,gBAAE5B,GAAoBO,EAE5B,OAAAnsC,IAAA,GACKmsC,GAAiB,IACpBP,gBAAe5rC,IAAA,GAGV0tC,YAAmB9B,IAAgB,IACtCzJ,UAAW,CACTxT,MAAOid,EAAgBjd,OAASwT,EAAUxT,OAE5CyT,SAAU,CACRzT,MAAOid,EAAgBjd,OAASyT,EAASzT,UAIjD,CAEA,OAAA3uB,IAAA,GACKmsC,GAAiB,IACpBP,gBAAiB+B,YAAqC,CACpDvH,eAAgB+F,EAAkB/F,eAClCjE,YACAC,cAGN,CAIA,MAAQzT,MAAOif,GAAkB9O,EAAU8O,cAC3C,OAAIA,EACF5tC,IAAA,GACKmsC,GAAiB,IACpBP,gBAAiB+B,YAAqC,CACpDvH,eAAgB+F,EAAkB/F,eAClCjE,YACAC,eAKC+J,CAAiB,EASpB0B,EAA8CA,KAClD,MAAMC,EAAiC1xC,IAASC,SAC9C,kCAEI0xC,EAAoC3xC,IAAS4xC,WACjD,qCAEIC,EAAenvB,IAASC,WAAW+jB,IAAIoL,kBACvCC,EAAmB/xC,IAASC,SAAS,mBACnCwiC,KAAMC,GAAchgB,IAASC,YAEnCC,IAAI,2CACFovB,EAA0C,6CAC1CC,EAA4C,OAC5C9O,IAEAzgB,IAASC,WAEPuvB,EAAqBxP,EAAUC,cAAcpQ,MAC7Cwd,EAAoBH,EAAgBlN,IACpC,WAAE+E,GAAeX,EAAaiJ,GAC9BoC,EAAmB5mC,OAAOq8B,QAAQH,GAElC2K,EAASpyC,IAASytC,IAAI,mBAAgC,SAAXtK,EAEjD,QACIgP,GAAqBH,GACtBC,GACsB,UAAvBC,IACAP,GACCE,IACAE,IAAoBL,GACpBU,EAIS,E,aCxkBd,MAAMC,EAA6CA,KACjD,MAAQ5P,KAAMC,GAAchgB,IAASC,YAC7BC,GAAImgB,GAAcrgB,IAASyb,aAEnC,GAAIn+B,IAASC,SAAS,kCAAmC,CAAC,IAADqyC,EACvD,MAAMnH,EAA6C,WAAlCzI,EAAUC,cAAcpQ,MACnCggB,EACJ7vB,IAASC,WAAWC,GAAG2vB,2BACzB,GACEpH,IACqB,QAArBmH,EAAC5P,EAAUiJ,MAAMlF,YAAI,IAAA6L,IAApBA,EAAsBE,eACtBD,EAID,OAFAxP,EAAUuF,wBAAuB,GACjCvF,EAAU0P,+BAA8B,IACjC,CAEX,CAEA,OAAO,CAAK,C,gCC/Bd,kCAOA,MAAMxoC,EAAco2B,GAAuC,oBAANA,C,4JCJ9C,MAAMqS,EAAQ,IAAIC,IAAc,CACrCC,iBAAkBC,GACU,oBAAtBA,EAAOC,WACFD,EAAOC,WAETC,YAAwBF,K,sDCMnC,MAAMtzB,EAAO,IAAIyzB,KAAW,CAAClW,EAAWmW,KACtC,MAAM,cAAEC,GAAkBpW,EAE1B,OAAO,IAAIqW,KAAWC,IACpB,MAAMC,EAAeJ,EAAQnW,GAAWwW,UAAU,CAChDC,SAAUH,EAASG,SAASC,KAAKJ,GACjCztC,MAAOytC,EAASztC,MAAM6tC,KAAKJ,GAC3BK,KAAMpX,IACJ,MAAMqX,EAAoBC,YAA0BT,GAC9CU,EAAkBC,YAAwBX,GAGhD,GAAIQ,GAAqBE,EAAiB,CAAC,IAADE,EAAAC,EAAAC,EACxC,MAAMC,EAEJC,IAAmChB,GAC/BiB,EAAgB,OAAR9X,QAAQ,IAARA,GAAc,QAANyX,EAARzX,EAAU14B,YAAI,IAAAmwC,GAAqB,QAArBC,EAAdD,EAAiBG,UAAkB,IAAAF,OAA3B,EAARA,EAAqCI,MAE1C,OAALA,QAAK,IAALA,GAAW,QAANH,EAALG,EAAOC,YAAI,IAAAJ,GAAXA,EAAaK,aACfC,YAAe,CACbjyC,KAAMkyC,YAAmBrB,GACzB3gB,MAAO4hB,EAAMC,KAAKC,aAGxB,CAEAjB,EAASK,KAAKpX,EAAS,IAI3B,MAAO,SAAAmY,EAAA,OAAkB,OAAZnB,QAAY,IAAZA,GAAyB,QAAbmB,EAAZnB,EAAcoB,mBAAW,IAAAD,OAAb,EAAZA,EAAAxmC,KAAAqlC,EAA6B,IAC1C,IASEqB,EAAYC,aAAQl0C,IAAkD,IAAjD,cAAEm0C,EAAa,UAAE9X,GAA0Br8B,EACpE,MAAM,cAAEyyC,GAAkBpW,GAEpB,UAAER,IAA2B,OAAbsY,QAAa,IAAbA,OAAa,EAAbA,EAAgB,KAAM,CAAC,EAIzCjB,YAA0BT,IAA2B,OAAT5W,QAAS,IAATA,KAAW+X,aACzDC,YAAe,CACbjyC,KAAMkyC,YAAmBrB,GACzB3gB,MAAO+J,EAAU+X,aAErB,IAGWQ,EAAWt1B,EAAK1e,OAAO6zC,G,4BCnDpC,MAAMn1B,EAAO,IAAIyzB,KAAW,CAAClW,EAAWmW,KACtC,MAAMC,EAAgB4B,YAAiBhY,EAAUoW,eAGjD,OAFAxyC,IAAOC,KAAK,eAADE,OAAgBqyC,IAEpB,IAAIC,KAAWC,IACpB,MAAMC,EAAeJ,EAAQnW,GAAWwW,UAAU,CAChDC,SAAUH,EAASG,SAASC,KAAKJ,GACjCztC,MAAOytC,EAASztC,MAAM6tC,KAAKJ,GAC3BK,KAAMpX,IAKJ,MAAM,OAAEpM,GAAWoM,EACF5yB,MAAMyd,QAAQ+I,IAAW/vB,QAAQ+vB,EAAO5uB,SAEvDX,IAAOC,KAAK,2BAADE,OAA4BqyC,GAAiB,CACtD6B,iBAAkBC,YAAoB,CAAE3Y,eAI5C+W,EAASK,KAAKpX,EAAS,IAI3B,MAAO,SAAAmY,EAAA,OAAkB,OAAZnB,QAAY,IAAZA,GAAyB,QAAbmB,EAAZnB,EAAcoB,mBAAW,IAAAD,OAAb,EAAZA,EAAAxmC,KAAAqlC,EAA6B,IAC1C,IAGSqB,EAAYC,aAAShxC,IAChC,MAAM,cAAEixC,EAAa,aAAEK,EAAY,UAAEnY,EAAS,SAAET,GAAa14B,EACvDuvC,EAAgB4B,YAAiBhY,EAAUoW,eAC3C6B,EAAmBC,YAAoB,CAAEC,eAAc5Y,cAG7B,OAAbuY,QAAa,IAAbA,OAAa,EAAbA,EAAeM,MAChC5Y,IAAS,IAAA6Y,EAAA,MAAoC,aAAZ,QAApBA,EAAA7Y,EAAU8Y,kBAAU,IAAAD,OAAA,EAApBA,EAAsBE,MAAmB,MAGtD5jC,IAAGuuB,IAAIvuB,IAAGwuB,YAAYqV,QAUxBC,YAAoB,CAAER,mBAAkBH,gBAAe1B,kBAMvDsC,YAAmB,CAAET,mBAAkBE,eAAc/B,iBAAgB,IAG1DuC,EAAal2B,EAAK1e,OAAO6zC,G,4nBC9DtC,MAAMgB,EAAe,CACnB,wBAAyBttC,cACzB,4BAA6B7F,cAC7B,aAAc2F,KAKVytC,EAA2B,QAAnBC,EAAG/zC,cAAaD,WAAG,IAAAg0C,GAAe,QAAfC,EAAhBD,EAAkBE,qBAAa,IAAAD,OAAf,EAAhBA,EAAiCrd,QAAQ,MAAO,IAC3Dud,EAAoBt1C,IAQnB,IARoB,eACzBu1C,EAAc,cACd9C,EAAa,IACbtxC,GAKDnB,EACC,OAAIu1C,EACI,GAANn1C,OAAU80C,EAAQ,iBAGbztB,YAAStmB,GAAOA,EAAG,GAAAf,OAAM80C,EAAQ,KAAA90C,OAAIqyC,EAAe,EAOvD+C,EAAkB,IAAIjD,KAAW,CAAClW,EAAWmW,KACjD,MAAM,QAAEtqC,EAAO,OAAED,GAAWE,eACpB2pB,MAAO8hB,GAAgB6B,eACzB,cAAEhD,GAAkBpW,EA+B1B,OA7BAA,EAAUqZ,YACRpuB,IAAA,IAAC,eACCiuB,EAAc,QACdI,EAAO,IACPx0C,GAKDmmB,EAAA,MAAM,CACLquB,QAAOxyC,QAAA,GACF8xC,GAGAU,GAGC/B,GAAe,CAAE,yBAA0BA,IAAe,CAAF,GAG5D,YAAa1rC,EACb,WAAYD,IAId9G,IAAKm0C,EAAkB,CAAEC,iBAAgB9C,gBAAetxC,QACzD,IAGIqxC,EAAQnW,EAAU,IAGrBuZ,EAAeC,YAAe,CAClCC,YAAa,UACb30C,IAAK+zC,IAGDa,EAAgB,IAAIC,IAAc,CACtCF,YAAa,UACb30C,IAAK+zC,IAGMe,EAAWT,EAAgBxtB,OACtCqU,IAAcA,EAAU6Z,aAAaX,gBACrCK,EACAG,G,qBCzEF,MAAMI,EAA4B,IAAI3oC,IAAI,CACxC,0BACA,gCAiDW4oC,EAAY,IAAIC,IAAU,CACrCC,SArCqCA,CAACC,EAAOla,EAAWn3B,KAExD,MAAMutC,EAAgB4B,YAAiBhY,EAAUoW,eAC3C+D,EAXuBx2C,KAIxB,IAJyB,cAC9ByyC,GAGDzyC,EACC,OAAOm2C,EAA0BM,IAAIhE,EAAc,EAMnBiE,CAAuBra,IACjD,YAAEsa,GAAc,EAAK,YAAEC,GAAgBva,EAAU6Z,cACjD,WAAEW,GAAe3xC,EAEjB4xC,EACkB,kBAAfD,GAA2BA,EAAa,IAIjD,GA6BOxvB,YAAkB,CACvBJ,QAAS,gCACTM,UAAW,yCA7BXivB,GACAG,GACAG,EAOA,OALA72C,IAAOC,KAAK,GAADE,OAAIqyC,EAAa,eAAe,CACzC+D,0BACAG,cACAE,gBAEK,EAGT,MAAME,EAAMra,YAAeka,GAAeA,EApCvB,EA2CnB,OANA32C,IAAOC,KAAK,SAADE,OAAUqyC,EAAa,mBAAAryC,OAAkBm2C,EAAK,WAAW,CAClEjC,iBAAkBC,YAAoB,CAAEC,aAActvC,IACtD8xC,kBAAmBD,EAAMR,EACzBrxC,MAAOA,EAAM42B,UAGRya,EAAQQ,CAAG,I,sBCzDb,MAAME,EAAe,IAAIC,IAAa,CAC3CjF,QACAnzB,KCHOyzB,IAAW4E,KAAK,CACrBnC,EACAZ,EACAgC,EACAH,IDAFmB,oBAAoB,EACpBC,UAAW,CAAC,KAINnvC,QAAS22B,EAAaV,SAAUW,GAAiB32B,eACnD,cAAEmvC,GAAkBv1C,OAAOiF,QAAU,CAAC,GACtC,OAAEvB,EAAM,eAAEC,EAAc,OAAEkC,GAAWxG,cAE3C61C,EAAaM,WAAW,CACtBr0C,KAAMwC,EACN8xC,MAAOC,IACPC,UAAW,CACTC,QAASlyC,EAAOkyC,QAChB9Y,cACA+Y,oBAAqB/Y,EACrByY,gBACA1vC,SACAiwC,eAAe,GAADz3C,OAAKwH,GACnBk3B,eACAp3B,MAAOC,iBAIJ,MAAMmwC,EAAiBC,YAAqBd,GAEtCe,EAAcC,YAAoBhB,E,6LEnCxC,SAASiB,EACd3uC,GAKA,MAAM4uC,EAAQC,kBAAO,GAErB,IAAKD,EAAME,QAAS,CAClBF,EAAME,SAAU,EAAK,QAAAvvC,EAAAnI,UAAAC,OAPpBu+B,EAAM,IAAAn2B,MAAAF,EAAA,EAAAA,EAAA,KAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAANk2B,EAAMl2B,EAAA,GAAAtI,UAAAsI,GAQP,OAAOM,KAAM41B,EACf,CACF,CCRO,SAASmZ,IAA8D,IAAD,IAAAxvC,EAAAnI,UAAAC,OAA7Cu+B,EAAM,IAAAn2B,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAANk2B,EAAMl2B,GAAAtI,UAAAsI,GACpCivC,EAAYlnC,IAAGunC,WAAYpZ,EAC7B,CAEO,SAASqZ,EAAW9rC,GACzBwrC,EAAYlnC,IAAGynC,MAAO/rC,EACxB,CCCO,SAASgsC,EAAgB14C,GAKH,IALI,UAC/B24C,EAAS,UACTC,EAAS,IACTC,EAAG,MACHJ,GACkBz4C,EAClBk4C,GAAY,KACNU,EACF5nC,IAAGunC,QAAQM,EAAKD,EAAWD,GAE3B3nC,IAAG6nC,IAAIA,GAGT7nC,IAAGynC,MAAMA,EAAM,GAEnB,C,g8BCSA,MAAMK,EACJlS,IAEA,MAAM,QAAE1+B,GAAYC,cAEd4wC,EAAax5C,IAAS4mB,OAAO4yB,WAU7BjnB,EAPgB,CACpBoc,mBAAoBhmC,EACpB6lC,qBAJwBplB,YAA4BowB,EAAY7wC,GAIxB,GACxC2gB,YAAa3gB,EACb8wC,aAAc9wC,EACdimC,8BAA+B5uC,IAAS4mB,OAAO8yB,oBAAoB,IAEzCrS,GAE5B,OAAK9U,EAIL3uB,IAAA,GACK+1C,KAAiB,IACpBpnB,UALO,CAAC,CAKH,EAIHqnB,EAAsB7S,IAAyC,IAAD8S,EAAAC,EAAAC,EAClE,MAAMvuB,EAAQ,CACZ8T,YAAa12B,cAAYD,QACzBqxC,KAAM,CACJ5N,YAA8B,QAAnByN,EAAE9S,EAAMqF,mBAAW,IAAAyN,OAAA,EAAjBA,EAAmBtnB,MAChCwT,UAA0B,QAAjB+T,EAAE/S,EAAMhB,iBAAS,IAAA+T,OAAA,EAAfA,EAAiBvnB,MAC5ByT,SAAwB,QAAhB+T,EAAEhT,EAAMf,gBAAQ,IAAA+T,OAAA,EAAdA,EAAgBxnB,QAI9B,OAAO0nB,YAAiBlT,EAAM8G,SAAStb,MAAO,CAAE/G,SAAQ,EAGpD0uB,EAA0BrS,GACvB,qCAAqC9nC,KAAK8nC,GAG7CsS,EAAuB,WACb,OAAAv2C,EAAA,CAEdkuB,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,eACX4S,SAAS,EACTlqB,SAAS,EACTqC,MAAO,IAPEnxB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAQD,EAQRi5C,EAAuBA,KAA0B,IAADvc,EAAAC,EAAAuc,EACpD,MAAQvQ,MAAOwQ,GAAYC,cACrBC,EACuC,QAD9B3c,EACbj8B,cAAasE,eAAe83B,uBAAe,IAAAH,GAAM,QAANC,EAA3CD,EAA6CI,YAAI,IAAAH,GAAO,QAAPuc,EAAjDvc,EAAmDgM,aAAK,IAAAuQ,OAAb,EAA3CA,EAA0DI,aACpDnoB,MAAOooB,EAAuB,IAAOC,cAEvCC,EAAaF,IAA+B,OAAPJ,QAAO,IAAPA,OAAO,EAAPA,EAASG,cAAeD,EAEnE,IAAKvyB,YAAS2yB,GACZ,OAAOV,IAGT,MAAM,QAAEjqB,GAAY4qB,YAAoBD,EAAY,CAClDrvB,MAAO,CAAE+E,UAAU,EAAMluB,KAAM,WAOjC,OAAO83C,EAJWjqB,EACd,CAAEsX,UAAW,GAAItX,UAASqC,MAAOsoB,GACjC,CAAC,EAEiC,EAUlCE,EAAuBA,IACS,CAClC,OACA,cACA,QACA,QACA,aACA,QACA,cAEY3T,QAAO,CAAC+G,EAAO9G,KAC3B8G,EAAM9G,GAAS8S,IACRhM,IACN,CAAC,GAGA6M,EAA8Bv6C,IAQwB,IARL,OACrDw6C,EAAM,UACNzT,EAAY,GAAE,OACdplC,GAKD3B,EACC,MAAMy6C,EAAwB,aAAXD,EAWnB,OAAAr3C,IAAA,GATsBxB,EAAOglC,QAAO,CAAC+G,EAAO9G,KAC1C8G,EAAM9G,GAAS,CACbvV,aAAcopB,EACd1T,YACAtX,SAAUgrB,GAEL/M,IACN,CAAC,IAEqB,IAAE1H,KAAM,CAAE0U,mBAAoBD,IAAY,EAM/DE,EAAeA,IACS,CAC1B,cACA,iBACA,kBACA,qBACA,WAEYhU,QAAO,CAAC+G,EAAO9G,KAC3B8G,EAAM9G,GAAS,CACbvV,cAAc,EACdnsB,MAAO,GACP4sB,MAAO,IAEF4b,IACN,CAAC,E,4YC/KyBvkB,IAAOC,IAAGrb,MAAAC,IAAA,kHAKpBuX,KALrB,MASMq1B,EAA0BzxB,IAAOC,IAAGhb,MAAAJ,IAAA,4JAIrBuX,IAIAA,KAIfs1B,EAAU,CACdC,OAAQ,OACRC,GAAI,OACJC,GAAI,OACJC,GAAI,QASAC,EAAU/xB,IAAOgyB,QAAO3xB,MAAAxb,IAAA,6FAJThO,IAA+B,IAA9B,GAAEg7C,GAAsBh7C,EAC5C,OAAOg7C,EAAKH,EAAQG,GAAMH,EAAQI,EAAE,GAOjB11B,KAIf61B,EAAkBjyB,IAAO0B,EAACnB,MAAA1b,IAAA,mGAO1BqtC,EAAsBlyB,YAAOiyB,EAAPjyB,CAAuBU,MAAA7b,IAAA,gCAI7CstC,EAA+BnyB,IAAO0B,EAACwB,MAAAre,IAAA,6GAClCiW,MAOLs3B,EAA+BpyB,IAAO0B,EAACgC,MAAA7e,IAAA,6GAElCmW,KAMLq3B,EAAuBryB,IAAO0B,EAACmC,MAAAhf,IAAA,qIAC1BQ,IACI6W,IACEC,KAMXm2B,EAAgBtyB,IAAOC,IAAG8D,MAAAlf,IAAA,iCAI1B0tC,EAAyBvyB,IAAO0B,EAACsC,MAAAnf,IAAA,gHAC5BmW,I,4rCClEX,MAAMw3B,EAAc37C,IAA0D,IAAzD,OAAEm/B,EAAS,CAAC,EAAC,QAAEyc,GAA4B57C,EAC9D,MAAM67C,EAAM,eAAAz7C,OAAkB07C,eACxBC,EAAgB,eAChB,QAAE7zC,EAAO,OAAED,GAAWE,cACtB6zC,EAAeJ,EAAQ7jB,QAAQ,MAAO,IACtCkkB,EAAmBnxC,OAAOC,OAAO,CAAC,EAAGo0B,EAAQ,CAAE,WAAYl3B,IAI3DpC,EAAMm2C,EAAa/6C,SAAS86C,GAAc,GAAA37C,OACzCy7C,EAAM,KAAAz7C,OAAI8H,EAAO,KAAA9H,OAAI47C,GAAY,GAAA57C,OACjCy7C,EAAM,KAAAz7C,OAAI8H,EAAO,KAAA9H,OAAI27C,EAAa,KAAA37C,OAAI47C,GAE7C,OAAOE,YAASr2C,EAAK,CACnBo2C,mBACAE,mBAAmB,GACnB,EAOEC,EAAkB,CACtBC,cAAeA,KACb,MAAM,QAAEn0C,EAAO,OAAED,GAAWE,cAC5B,MAAM,eAAN/H,OAAsB07C,cAAiB,KAAA17C,OAAI8H,EAAO,wEAAA9H,OAAuE6H,EAAM,EAEjIg5B,QAAS3Z,IAAA,IAAC,KAAEg1B,EAAO,GAAE,eAAEC,GAA+Bj1B,EAAA,OACpDq0B,EAAY,CAAEC,QAASW,EAAiBA,IAAmBD,GAAO,EACpEE,eAAgBA,KACd,MAAM,QAAEt0C,EAAO,SAAEi2B,EAAQ,OAAEl2B,GAAWE,cACtC,MAAM,WAAN/H,OAAkBwN,cAAgB,oCAAAxN,OAAmC8H,EAAO,KAAA9H,OAAI+9B,EAAQ,wBAAA/9B,OAAuB6H,EAAM,EAEvHw0C,iBAAkBA,KAChB,MAAM,OAAEx0C,GAAWE,cACnB,MAAM,eAAN/H,OAAsB07C,cAAiB,6BAAA17C,OAA4B6H,EAAM,EAE3EsoC,kBAAmBA,KACjB,MAAM,QAAEroC,EAAO,OAAED,GAAWE,cAQ5B,OAJ+C5I,IAASC,SACtD,mCAIM,eAANY,OAAsB07C,cAAiB,KAAA17C,OAAI8H,EAAO,mDAAA9H,OAAkD6H,GAGhG,eAAN7H,OAAsB07C,cAAiB,KAAA17C,OAAI8H,EAAO,gDAAA9H,OAA+C6H,EAAM,sBAYrGy0C,EAAiBv2B,IACrB,MAAM,YAAEw2B,EAAc,WAAcx2B,EACpC,IAAIy2B,EAAaR,EAAgBO,GAOjC,OALKnzC,YAAWozC,KACd38C,IAAOkJ,KAAK,gCAAiCgd,GAC7Cy2B,EAAaR,EAAgBnb,SAGxB2b,EAAWz2B,EAAO,EAGrB02B,EAAYre,iBAGhB,IAEE,aADqBse,SAAMn8C,YACbo8C,MAChB,CAAE,MAAO/3C,GAIP,MAHA/E,IAAOiF,MAAM,sCAAuC,CAClD42B,QAAW,OAAD92B,QAAC,IAADA,OAAC,EAADA,EAAyB82B,UAE/B92B,CACR,CACF,EASMg4C,EAA+Bp1B,IAAA,IAAEsJ,EAAGY,GAAMlK,EAAA,OAAKkK,CAAK,EACpDmrB,EAAe,SACnBC,GAEgB,IADhBC,EAAoBx8C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGq8C,EAQvB,OANKz2B,YAAS22B,IACZj9C,IAAOiF,MAAM,2BAA4B,CACvCtD,YAAas7C,IAIbC,IAAc3zC,YAAW2zC,IAC3Bl9C,IAAOkJ,KAAK,kDAAmD,CAC7DvH,YAAau7C,IAERD,GAGFpyC,OAAOq8B,QAAQ+V,GACnBn8C,OAAOo8C,GACPxW,QACC,CAAC+G,EAAK5lB,KAAA,IAAG1f,EAAK0pB,GAAMhK,EAAA,OAAA3kB,IAAA,GACfuqC,GAAK,IACR,CAACtlC,GAAM0pB,GAAK,GAEd,CAAC,EAEP,EAYMsrB,EAAgC7zC,IACpC,IAAI8zC,GAAgB,EACpB,OAAO,WACL,IAAKA,EAEH,OADAA,GAAgB,EACT9zC,KAAG5I,UAEd,CAAC,EAGG28C,EAAqBhX,IACzB,MAAMtE,EAAOx9B,SAAS+4C,MAAM,GAE5B,IAAKvb,EACH,OAGF,MACMwb,EADSx0C,MAAMmuC,KAAKnV,EAAKyb,UAE5BxsB,KAAI2V,GAASA,EAAM5lC,KACnBjB,MAAK6mC,IAAK,IAAA8W,EAAA,OAAgB,QAAhBA,EAAIpX,EAAMM,UAAM,IAAA8W,OAAA,EAAZA,EAAcrsB,YAAY,IAE3C,IAAKmsB,EACH,OAGF,MAAM3lB,EAAKrzB,SAASm5C,eAAeH,GACnC,GAAI3lB,IACFA,EAAG1b,QACgB,UAAf0b,EAAGD,SAAqB,CAC1B,MAAMgmB,EAAU/lB,EAUhB,GAT0B,kCAAkCv4B,KAC1Ds+C,EAAQh8C,MAQa,CACrB,MAAM,OAAEhB,GAAYi3B,EAAwB/F,MAC5C8rB,EAAQC,kBAAkBj9C,EAAQA,EACpC,CACF,CACF,EAcIgvC,EAAqB1nC,IACzB,MAAQA,QAAS22B,EAAW,SAAEV,GAAah2B,cAG3C,MAFa,GAAA/H,OAAM8H,GAAW22B,EAAW,KAAAz+B,OAAI+9B,EAE/B,EAWV2f,EAAqBA,CACzBl1C,EACAm1C,IAEmBn1C,EAASm1C,IAEP,CAAEC,OAAQ,GAAIC,QAAS,CAAC,GAWzCC,EAAoB,SACxBhB,GAGa,IAFbZ,EAAI37C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACPwlB,EAAyBxlB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAE7B,MAAM,aAAEw9C,EAAY,QAAEC,EAAU,KAAQj4B,EAExC,IAAKI,YAAS22B,KAASz1B,YAAS22B,KAAa32B,YAAS60B,KAAUA,EAAK17C,OACnE,OAGF,MAAMy9C,EAAY/B,EAAKt0B,MAAMo2B,GAC7B,IAAI/F,EAAU6E,EAAImB,EAAUtiB,SAE5B,KACEsc,GACAgG,EAAUz9C,SACT2lB,YAAS8xB,IAAYrvC,MAAMyd,QAAQ4xB,KAEpCA,EAAUA,EAAQgG,EAAUtiB,SAG9B,OAAOsiB,EAAUz9C,aAAsBC,IAAZw3C,EAAwB8F,EAAe9F,CACpE,EAEMv2C,EAAuBw8C,IAAgC,IAADv3C,EAAAw3C,EAC1D,MAAMC,EAAY9+C,cAElB,OACe,QAAbqH,EAAAhF,OAAOiF,cAAM,IAAAD,OAAA,EAAbA,EAAe03C,oBACgB,QADAF,EAC/BC,EAAU,6BAAqB,IAAAD,OAAA,EAA/BA,EAAiCte,aACjCqe,GACA32C,aAAU,EAWR+2C,EAAU,gBACVrK,EAAoBnU,GACxBA,EAAEnI,QAAQ2mB,EAAS,OAAOzgB,cAGtB0gB,EAAaA,OAQbrO,EACJ1uC,GAGW,WAATA,GAAqBrC,IAASC,SAAS,mCAWrCo/C,EACJh9C,GAGW,WAATA,GACArC,IAASC,SAAS,0CAIhBq/C,EAAoBA,KAAgB,IAADC,EACvC,MAAQ9c,KAAMC,GAAchgB,IAASC,WACrC,MAA2C,WAA3B,OAAT+f,QAAS,IAATA,GAAwB,QAAf6c,EAAT7c,EAAWC,qBAAa,IAAA4c,OAAf,EAATA,EAA0BhtB,MAAiB,C,gbC/UpD,MAAMitB,EAA8BC,YAAGjxC,MAAAC,IAAA,gnB,MCAhC,MAAMixC,EAAgCD,YAAGjxC,MAAAC,IAAA,2Q,MCGzC,MAAMkxC,EAA6BF,YAAGjxC,MAAAC,IAAA,shCACzCixC,G,slBCIG,MAAME,EAAsBA,KACjC,MAAQh9B,GAAImgB,GAAcrgB,IAASyb,aAC7Bh2B,EAAQC,eAER,QAAEO,GAAYC,cAGdH,ECVNE,KAEAjI,KAAOC,KAAK,oCACZ,MAAMk/C,EAAkC7/C,IAASC,SAC/C,mCAEI6/C,EAA8B9/C,IAASC,SAC3C,+BAEF,GAAI4/C,EAAiC,CAAC,IAADE,EACnC,MAAQrZ,IAAK2I,EAAU5M,KAAMC,GAAchgB,IAASC,YAC9C,gBAAE6sB,GAAoBI,YAAgBlN,GACtC8b,EAAiBnO,YAAkBb,EAAgB7mC,QAAQ4pB,QAC3D,OAAEksB,GAAWpP,EAAS2Q,gBAAgBC,QAAQzB,GAC9C/1C,EAA6B,CACjCE,SAAwB,OAAf6mC,QAAe,IAAfA,GAAwB,QAATuQ,EAAfvQ,EAAiB7mC,eAAO,IAAAo3C,OAAT,EAAfA,EAA0BxtB,QAAS,MAQ9C,OALAksB,EAAOrX,QAAO,CAAC+G,EAAO5b,KAAW,IAAD2tB,EAE9B,OADA/R,EAAM5b,EAAMzyB,OAAmC,QAA3BogD,EAAA1Q,EAAgBjd,EAAMzyB,aAAK,IAAAogD,OAAA,EAA3BA,EAA6B3tB,QAAS,KACnD4b,CAAK,GACX1lC,GAEIA,CACT,CAAO,GAAIq3C,EAA6B,CAAC,IAADK,EACtC,MAAQzZ,IAAK2I,EAAU5M,KAAMC,GAAchgB,IAASC,YAC9C,gBAAE6sB,EAAe,eAAExF,GAAmB4F,YAAgBlN,GACtD0d,EAAyB/P,YAC7Bb,EAAgB7mC,QAAQ4pB,OAEpB8tB,EAAwBhQ,YAAkB1nC,IACxC81C,OAAQ6B,GACdjR,EAAS2Q,gBAAgBC,QAAQG,IAC3B3B,OAAQ8B,GACdlR,EAAS2Q,gBAAgBC,QAAQI,GAC7B53C,EAA6B,CACjC+3C,eAAgB73C,GAAW,KAC3B83C,iBAAgC,OAAfjR,QAAe,IAAfA,GAAwB,QAAT2Q,EAAf3Q,EAAiB7mC,eAAO,IAAAw3C,OAAT,EAAfA,EAA0B5tB,QAAS,MAgBtD,OAZA+tB,EAAsBlZ,QAAO,CAAC+G,EAAO5b,KAAW,IAADmuB,EAG7C,OAFAvS,EAAM,WAADttC,OAAY0xB,EAAMzyB,QACM,QAA3B4gD,EAAAlR,EAAgBjd,EAAMzyB,aAAK,IAAA4gD,OAAA,EAA3BA,EAA6BnuB,QAAS,KACjC4b,CAAK,GACX1lC,GAGH83C,EAAqBnZ,QAAO,CAAC+G,EAAO5b,KAAW,IAADouB,EAE5C,OADAxS,EAAM,UAADttC,OAAW0xB,EAAMzyB,QAAoC,QAA1B6gD,EAAA3W,EAAezX,EAAMzyB,aAAK,IAAA6gD,OAAA,EAA1BA,EAA4BpuB,QAAS,KAC9D4b,CAAK,GACX1lC,GAEIA,CACT,GD5CgBm4C,CAAcj4C,GACxBm3C,EAA8B9/C,IAASC,SAC3C,+BAIF,OADA4gD,YAAiB,WACVnJ,IACJO,MAAM,CACLA,MAAO6H,EACHH,EACAH,EACJrH,UAASv0C,EAAA,CAAIuE,SAAUM,KAExB0B,MAAKkyB,IACJ,MAAMykB,ECiCkCC,EAC5Cp4C,EACA0zB,KAQA37B,KAAOC,KAAK,mBAAoB,CAC9BgI,YAEF,MAAQ+9B,IAAKsa,GAAet+B,IAASyb,aAC/B0hB,EAAkC7/C,IAASC,SAC/C,mCAEI6/C,EAA8B9/C,IAASC,SAC3C,+BAEF,GAAI4/C,EAAiC,CACnCn/C,KAAOC,KAAK,4BAA6B,CACvCgI,YAEF,MAAM,qBAAEs4C,GAAyB5kB,EAAS14B,MACpC,kBAAEm9C,EAAmBI,0BAA2BC,GACpDF,EAMF,OAJAvgD,KAAOC,KAAK,wCAAyC,CACnDmgD,oBACAM,uBAAwBlhD,QAAQihD,EAAQE,gCAEtCP,IAGJE,EAAWM,6BAA6BL,IACjC,EACT,CAAO,GAAInB,EAA6B,CACtCp/C,KAAOC,KAAK,wBAAyB,CACnCgI,YAEF,MACEqhC,eAAgBuX,EAA2B,CAAC,EAC5C/R,gBAAiBgS,EAA4B,CAAC,GAC5CnlB,EAAS14B,MAELm9C,kBAAmBW,GACzBF,GAEMT,kBAAmBY,GACzBF,EAGF,OAAIC,GAAmCC,GACrChhD,KAAOC,KAAK,yDAA0D,CACpEgI,aAEK,IAGJ84C,GAAoCC,EAO7BD,EAMAC,IAEVhhD,KAAOC,KAAK,wCAAyC,CACnDgI,YAEFq4C,EAAWM,6BAA6BE,KATxC9gD,KAAOC,KAAK,uCAAwC,CAClDgI,YAEFq4C,EAAWW,4BAA4BJ,KAVvC7gD,KAAOC,KAAK,qDAAsD,CAChEgI,YAEFq4C,EAAWM,6BAA6BE,GACxCR,EAAWW,4BAA4BJ,KAclC,EACT,GDlH8BR,CACxBp4C,EACA0zB,GAIF,OAAIykB,GACFD,YAAiB,UAAW,CAAEC,kBAAmB,IACjDpgD,IAAOC,KAAK,6BAA8B,CAAEgI,aACrC,IAETk4C,YAAiB,UAAW,CAAEC,kBAAmB,IACjDpgD,IAAOC,KAAK,4BAA6B,CAAEgI,YAC3Co6B,EAAU6e,8BAA6B,IAChC,EAAK,IAEbx3C,OAAMzE,IACLk7C,YAAiB,UAAW,CAAEgB,eAAgB,kBAC9CnhD,IAAOC,KAAK,8BAA+B,CAAEgF,WAItC,IACP,E,8NEFN,MAAMyqB,EAAc3qB,IAClBq8C,YAAoBr8C,EAAE,EAGlB4qB,EAAgB,SAAC5qB,EAAG8sB,EAAOwvB,GAAyB,IAADC,EAAA,IAAdvb,EAAIrlC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACxC,QAAT4gD,EAAAv8C,EAAEw8C,eAAO,IAAAD,GAATA,EAAAh0C,KAAAvI,GAIA,MAAM,GAAEhE,EAAIkd,QAASmR,EAAWztB,KAAM6/C,GAAcz8C,EAAEorB,QAChD,YAAEkY,EAAW,aAAEoZ,EAAY,MAAE9a,GAAU+a,YAAa38C,EAAEorB,OAAQ4V,IAC9D,OAAExW,EAAS,GAAE,QAAEC,GAAYuW,EAAK3V,YAAc,CAAC,EAC/C0W,EAAYvX,EAAO,IAAM,GACzBoyB,EAA2B,aAAdH,EAWbI,EAAqB/b,YAA2B9kC,EAAI0gD,EAAc1b,GAClEh+B,EAAU,CACdqpB,aAAcwwB,EACd38C,MAAO+hC,YAAc,CAAEF,YAAWH,QAAOnX,UAASqC,UAClDiV,YACA4S,SAAS,EACTlqB,UACAqC,MAAO8vB,EAAavyB,EAAYyC,GAK5BgwB,EAAsBD,IAAuBH,EAAarwB,aAC1D0wB,EAAoBhb,IAAc2a,EAAa3a,UACrD,GAAI+a,GAAwBC,GAAqBL,EAAarwB,aAAe,CAC3E,MAAM2wB,EAAaC,YAAiCjhD,EAAIyuB,EAASsX,GACjE9mC,KAAOE,KAAK,GAADC,OAAIqvB,EAAU,QAAU,MAAK,gBAAgBuyB,EAC1D,CAIA,MAAQ7/B,GAAIsgB,GAAYxgB,IAASC,WASjC,GARc,eAAV0kB,GAA2BnE,EAAQyf,sBACrCl6C,EAAQ86B,SAAWkD,EAAKlD,UAGZ,gBAAV8D,GAA2B9U,IAAUwvB,GACvCa,YAAuB,CAAE7Z,cAAazf,YAAaiJ,IAInDvyB,IAASC,SAAS,qCACjBijC,EAAQ2f,kCAGT,OAAOngC,IACJyb,aACAvb,GAAGkgC,yCAAwC,GAGhDC,YAAmB,CAAEha,cAAa1B,QAAO5+B,WAC3C,EAEMu6C,EAA8BA,CAACv9C,EAAG8sB,EAAOwvB,EAAUtb,KACvD,MAAQ9nB,QAASmR,GAAcrqB,EAAEorB,OAE7Bf,GACFmzB,cAGF5yB,EAAc5qB,EAAG8sB,EAAOwvB,EAAUtb,EAAK,EAEnCyc,EAAoBA,CAAC/Q,EAAkB1K,KAC3C,MAAQhF,KAAM0gB,GAAgBzgC,IAASyb,aACjCilB,EAAe,0CACrBjR,EAAiBjlC,SAAQzM,IAAuB,IAArB4mC,EAAO5+B,GAAQhI,EACxC,MAAM6mC,EAAiB8b,EAAarjD,KAAKsnC,GACnCQ,EAAYP,EAAiB,cAAgB,QAKnD6b,EAJe7b,EACX,qBACA,yB,iWAEe1jC,CAAC,CAClB,CAACikC,GAAYR,EACb5+B,WACI6+B,GAAkB,CAAE+b,eAAe,IACvC,IAGJtF,YAAkBtW,EAAW,EAGzB6b,EAAsB79C,GACnB89C,EAAc99C,EAAG+9C,KAGpBC,EAAwBh+C,GACrB89C,EAAc99C,EAAGi+C,KAoBpBH,EAAgBtkB,MAAOx5B,EAAGk+C,KAC9Bl+C,EAAEm+C,iBACF,MAAQnhB,KAAMC,EAAW9f,GAAIsgB,GAAYxgB,IAASC,WAhBpBkhC,MAC9B,MAAMC,EAAUxE,eAEVyE,EAAgBD,EAClBE,IAAUC,2BACVD,IAAUE,oCAERC,EAAiBL,EACnBM,IAAsBC,sBACtBD,IAAsBE,+BAE1BC,IAAQC,gBAAgBT,EAAeU,IAAiBC,IAAKP,EAAe,EAM5EN,GACA,MAAQjhC,GAAImgB,EAAW2D,IAAKsa,GAAet+B,IAASyb,aAC9CwmB,EAAqCp5C,OAAOq5C,OAChDC,KAIF,GAAI3hB,EAAQ4hB,iBACV,OAKF,GAAIH,EAAmCjjD,SAASwhC,EAAQ6hB,gBAOtD,OANArkD,KAAOkJ,KACL,kEAEFpH,OAAOwiD,SAAS,EAAG,GACnBvzC,IAAG9L,MAAM8L,IAAGwuB,YAAYglB,WACxBxzC,IAAGyzC,aAML,GAA+B,6CAA3BhiB,EAAQ6hB,eAIV,OAHAviD,OAAOwiD,SAAS,EAAG,GACnBvzC,IAAG9L,MAAM8L,IAAGwuB,YAAYglB,WACxBxzC,IAAGyzC,aAIL,MAAMnV,EAAoBH,YAAgBlN,IACpC,gBAAEiF,EAAe,WAAEF,GAAeX,YAAaiJ,GAC/CoC,EAAmB5mC,OAAOq8B,QAAQH,GAGxC,GAAI0K,EAAiB9wC,OAAQ,CAC3B,MAAQkxB,MAAO4yB,GAAgBpV,EAAkBpN,cAsBjD,OArBAjiC,KAAOE,KAAK,0BAA2B,CACrCwkD,WAAYjT,EAAiBzgB,KAAI3J,IAAA,IAAEsf,GAAMtf,EAAA,OAAKsf,CAAK,IAAEge,KAAK,KAC1DrkD,WAAY,UACZC,gBAAiB,0CACjBqkD,iBAAkC,WAAhBH,EAA2B,IAAM,MAErDjC,EAAkB/Q,EAAkB1K,GACpC/mC,KAAOC,KAAK,kCAAmCgnC,GAK7CwK,GAC4B,IAA5BA,EAAiB9wC,QACU,uBAA3B8wC,EAAiB,GAAG,IAEpBpP,EAAU0F,gCAA+B,GAG3Ch3B,IAAG9L,MAAM8L,IAAGwuB,YAAYglB,MACxBxzC,IAAGyzC,aACIxkD,KAAOmJ,OAChB,CAIA,GAAI4nC,cAKF,OAJA1O,EAAUwiB,mDACVxiB,EAAUuF,wBAAuB,GACjC72B,IAAGunC,QAAQvnC,IAAG+zC,MAAMC,iBAAkBh0C,IAAGi0C,OAAO1oB,MAAOvrB,IAAGwuB,YAAY0lB,WACtEl0C,IAAGynC,MAAMznC,IAAG+zC,MAAMI,yCAKpB7iB,EAAUuF,wBAAuB,GACjCvF,EAAU8iB,kBAAkB,IAC5B9iB,EAAU+iB,sBAAsB,IAIhC,MAAMC,QACEC,YAAoBjW,GAE5BkW,YAA8BF,GAE9B,MAAMG,EAAqBlmD,IAASC,SAAS,wBACvCkmD,EAAkCnmD,IAASC,SAC/C,yCAMF,GAHA0jD,EAAyB,CAAEoC,gCAIzBA,KACEG,GAAsBC,GAOxB,OALAzlD,KAAOC,KAAK,+CACZoiC,EAAUqjB,qCAAoC,GAC9CpF,EAAWqF,0BAAyB,GACpCtjB,EAAUuF,wBAAuB,QACjC72B,IAAGyzC,WAAWzzC,IAAGi0C,OAAOY,IAI1B,MAAMC,EACJvmD,IAASC,SAAS,oCAClBD,IAASC,SAAS,+BACdumD,EAAwBxmD,IAASC,SAAS,0BAC1C,2BAAEwmD,GAA+B/jB,EAGvC,GAAI6jB,EAAyB,CAC3B,GAAIC,IAA0BC,EAG5B,OAFA/lD,KAAOC,KAAK,mCAECi/C,IACVz1C,MAAKu8C,IACJhmD,KAAOC,KAAK,2CAA4C,CACtD+lD,6BAGKA,GAA4BC,OAEpCv8C,OAAM3E,IAGL/E,KAAOiF,MAAM,mDAAoDF,EAAE,IAIzE/E,KAAOC,KAAK,qCAAsC,CAChD8lD,6BACAF,0BACAC,yBAEJ,CAEA,OAAIT,GAA+BG,EAC1BU,EAAwB7W,IAGjC8W,cAGOF,EAAe5W,GAAkB,EAGpC4W,EAAiB5W,IAGrB,MAAQtN,KAAMC,GAAchgB,IAASC,WAKrC,GAJKotB,IACHA,EAAoBH,YAAgBlN,IAGlCE,cACFliC,KAAOE,KAAK,mBAAoB,CAC9BI,WAAY,mBACZC,gBAAiB,iCAHrB,CAQA,IAAIoxC,cAUJ,OAAOyU,YAAc/W,GAAmB5lC,MAAKxG,GACpCA,IAVPjD,KAAOE,KAAK,qBAAsB,CAChCI,WAAY,qBACZC,gBAAiB,+CALrB,CAcE,EAGE8lD,EAA+BA,KACnC,MAAQtkB,KAAMC,GAAchgB,IAASC,WAC/BotB,EAAoBH,YAAgBlN,GAE1C,OAAOskB,YAA4BjX,GAChC5lC,KAAK88C,KACL78C,MAAM88C,IAAe,EAGpBN,EAA0B7W,IAE9Bt+B,IAAGyzC,WAAWzzC,IAAG+zC,MAAMc,IACvB70C,IAAGynC,MAAMznC,IAAG+zC,MAAM2B,yBAElB,MAAQvkC,GAAImgB,EAAW2D,IAAKsa,GAAet+B,IAASyb,aAC9Cga,EAAYiP,YAA+BrX,GACjD,OAAOsX,YAAsBlP,GAC1BhuC,KAAK88C,KACL78C,OAAM,KACLqH,IAAGunC,QACDvnC,IAAG+zC,MAAM2B,wBACT11C,IAAGi0C,OAAO1oB,MACVvrB,IAAGwuB,YAAYqV,QAEjB0L,EAAWsG,gCAA+B,GAC1CtG,EAAWqF,0BAAyB,GACpCtjB,EAAUuF,wBAAuB,GACjCvF,EAAUqjB,qCAAoC,EAAK,GACnD,C,+BChYN,0FAMA,IAAIxmB,EAA0B,KAQvB,MAAMz/B,EAAYA,KACvB,IAAKy/B,EAA2C,CAC9C,MAAMqY,EAAQz1C,OAAOC,SAASi9B,OAAO6nB,MAAM,GAE3C3nB,EAAS4nB,gBAAYvP,EACvB,CACA,OAAOrY,CAAM,EAQF6nB,EAAoB,WAEf,IAFgB,UAAEC,GAA2BtmD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAGjE,IAAKsmD,EACH,OAEF,MAAMC,EAAmBC,IAA2BF,GAEpD,IAAKC,EACH,OAIF,MAAM1P,EAAQz1C,OAAOC,SAASi9B,OAAO2O,UAAU,GAE/C,IAAK4J,EAAM52C,OACT,OAcF,OAAO42C,EACJxvB,MAAM,KACNjnB,QAAOqmD,GAASF,EAAiB5nD,KAAK8nD,KACtCzgB,QAAO,CAAC0gB,EAA2BD,KAClC,MAAOh/C,EAAK0pB,EAAQ,QAAUs1B,EAAMp/B,MAAM,KACpCf,EAAUqgC,mBAAmBl/C,EAAI2vB,QAAQmvB,EAAkB,KAC3DxgC,EAAe4gC,mBAAmBx1B,GAIxC,OADAu1B,EAAUpgC,GApBI6K,KAChB,OAAQA,GACN,IAAK,OACH,OAAO,EACT,IAAK,QACH,OAAO,EACT,QACE,OAAOA,EACX,EAYuBy1B,CAAS7gC,GACvB2gC,CAAS,GACf,CAAC,EACR,EAEA3nD,EAAU8nD,MAAQ,KAChBroB,EAAS,IAAI,C,6rCC9Cf,MAAMsoB,EAAuB,WAAiD,IAAhDC,EAAoB/mD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpD,MAAO,CACLmrC,SAAU6b,EAAeD,EAAU5b,UACnC8b,SAAUD,EAAeD,EAAUG,aACnCC,UAAWH,EAAeD,EAAUI,WACpCC,WAAYJ,EAAeD,EAAUM,UACrCC,SAAUN,EAAeD,EAAUO,UACnCC,kBAAmBP,EAAeD,EAAUS,kBAC5CC,UAAWT,EAAeD,EAAUW,KAExC,EAEMV,EAAiB,WAAH,IAAIW,EAAqB3nD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,MAAsB,CACtE4nD,cAAeD,EAAYhc,aAC3Bxa,MAAOw2B,EAAYnc,cACpB,EAEKqc,EACJC,IAEA,MAAAzoD,EAAkDyoD,GAAqB,CAAC,GAAlE,WAAEpW,EAAU,OAAEnG,GAA2BlsC,EAC/C,OAAAmD,IAAA,GAD6CC,IAAApD,EAAAqD,IAE1B,IACjB6oC,OAAQyb,EAAezb,IAAO,EAc5Bwc,EACJlJ,IAEA,MAAM,KAAEmJ,EAAI,MAAEriB,EAAK,QAAEp+B,EAAO,WAAE0gD,GAAsB,OAAPpJ,QAAO,IAAPA,IAAW,CAAC,EAEzD,MAAO,CACLmJ,OACAE,aAAc3gD,EACd4gD,YAAaF,EACbtiB,QACD,EAoBGyiB,EAAkB,SACtBC,EACAC,GAMa,IALbnvB,EAA+Bn5B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAChCuoD,YAAY,EACZC,UAAW,GACXC,YAAa,GAGf,MAAMC,EAAgBA,CACpB1xB,EACAwxB,KAEA,IAAIG,EAAsB3xB,EAK1B,OAHAwxB,EAAU18C,SAAQ88C,IAChBD,EAAcC,EAASD,EAAY,IAE9BA,CAAW,EAMdE,EAAwB,IAAIh8C,IAChC,CAAC,QAAS,QAAS,OAAQ,QAAS,cAAe,gBAAgBs5C,OAC1C,EAAvBhtB,EAAQsvB,cAOZ,OAHAtvB,EAAQovB,YAAcpvB,EAAQqvB,UAAUpf,MATRpS,GAAwBA,EAAIsG,gBAYrDj1B,MAAMmuC,KAAKqS,GAAuBhpB,OAAOipB,IAE9C,MAAMC,EAAeC,OACnBX,EAASS,IAELG,EAAeD,OACnBV,EAASQ,IAGX,OACEJ,EAAcK,EAAc5vB,EAAQqvB,aACpCE,EAAcO,EAAc9vB,EAAQqvB,UAAU,GAGpD,E,2lBCjHA,MAAMU,EAAyB,WAEN,IADvBnC,EAAoB/mD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAExB,MAAO,CACLmrC,SAAUge,EAAiBpC,EAAU5b,UACrC8b,SAAUkC,EAAiBpC,EAAUG,aACrCC,UAAWgC,EAAiBpC,EAAUI,WACtCiC,UAAWD,EAAiBpC,EAAUM,UACtCC,SAAU6B,EAAiBpC,EAAUO,UACrCE,iBAAkB2B,EAAiBpC,EAAUS,kBAC7C6B,SAAUF,EAAiBpC,EAAUW,KAEzC,EAEMyB,EAAmB,WAAH,IAAIxB,EAAqB3nD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,MAAwB,CAC1E2rC,aAAcgc,EAAYhc,aAC1Bxa,MAAOw2B,EAAYnc,cACpB,EAEK8d,EACJxB,IAEA,MAAAzoD,EAAkDyoD,GAAqB,CAAC,GAAlE,WAAEpW,EAAU,OAAEnG,GAA2BlsC,EAC/C,OAAAmD,IAAA,GAD6CC,IAAApD,EAAAqD,IAE1B,IACjB6oC,OAAQ4d,EAAiB5d,IAAO,EAc9Bge,EACJ1K,IAEA,MAAM,KAAEmJ,EAAI,MAAEriB,EAAK,QAAEp+B,EAAO,WAAE0gD,GAAsB,OAAPpJ,QAAO,IAAPA,IAAW,CAAC,EAEzD,MAAO,CACLmJ,OACA9pB,YAAa32B,EACb0gD,WAAYA,EACZtiB,QACD,EAoBG6jB,EAAoB,SACxBnB,EACAC,GAMa,IALbnvB,EAA+Bn5B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAChCuoD,YAAY,EACZC,UAAW,GACXC,YAAa,GAGf,MAAMC,EAAgBA,CACpB1xB,EACAwxB,KAEA,IAAIG,EAAsB3xB,EAK1B,OAHAwxB,EAAU18C,SAAQ88C,IAChBD,EAAcC,EAASD,EAAY,IAE9BA,CAAW,EAMdE,EAAwB,IAAIh8C,IAChC,CAAC,QAAS,QAAS,OAAQ,QAAS,aAAc,eAAes5C,OACxC,EAAvBhtB,EAAQsvB,cAOZ,OAHAtvB,EAAQovB,YAAcpvB,EAAQqvB,UAAUpf,MATRpS,GAAwBA,EAAIsG,gBAYrDj1B,MAAMmuC,KAAKqS,GAAuBhpB,OAAOipB,IAE9C,MAAMC,EAAeC,OACnBX,EAASS,IAELG,EAAeD,OACnBV,EAASQ,IAGX,OACEJ,EAAcK,EAAc5vB,EAAQqvB,aACpCE,EAAcO,EAAc9vB,EAAQqvB,UAAU,GAGpD,EC7GMiB,EAAmB,WAEgB,IADvC5K,EAA8C7+C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAElD,OAAOmK,OAAO47B,KAAK8Y,GAAS7Y,QAC1B,CAAC0jB,EAAeC,KACd,MAAMC,EACJ/K,EAAQ8K,IAAkD,CAAC,EAK7D,OAJIC,EAAoBhlD,eAAe,WACrC8kD,EAAcC,GACO,OAAnBC,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBz4B,OAElBu4B,CAAa,GAEtB,CAAC,EAEL,EAOMG,EAA4B,WAAqC,IAAD9nD,EAAAqE,EAAAG,EAAAC,EAAA+C,EAAAugD,EAAA,IAAnCC,EAAc/pD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAG/C,OACE6I,YAAiB,QAAP9G,EAACX,cAAM,IAAAW,GAAQ,QAARqE,EAANrE,EAAQsE,cAAM,IAAAD,OAAR,EAANA,EAAgB4jD,0BAC3BnhD,YAAiB,QAAPtC,EAACnF,cAAM,IAAAmF,GAAQ,QAARC,EAAND,EAAQF,cAAM,IAAAG,OAAR,EAANA,EAAgByjD,yBAEpB,0BAILphD,YAAiB,QAAPU,EAACnI,cAAM,IAAAmI,GAAQ,QAARugD,EAANvgD,EAAQlD,cAAM,IAAAyjD,OAAR,EAANA,EAAgBI,kBACtB,0BAILH,EACK,2BAIF,MACT,EAEMI,EAAqBA,KACzB,MAAQ9oB,KAAMC,GAAchgB,IAASC,YAC/B,cAAE6uB,EAAa,gBAAEhC,GAAoB9M,EAC3C,OAAO8O,EAAcjf,MACjB3pB,cAAYD,QACZ6mC,EAAgB7mC,QAAQ4pB,KAAK,EAS7Bi5B,EAAqBA,KACzB,MAAQ/oB,KAAMC,GAAchgB,IAASC,YAC/B,eAAEqnB,EAAc,cAAEwH,EAAa,gBAAEhC,GAAoB9M,EAE3D,OAAO8O,EAAcjf,MAAQyX,EAAiBwF,CAAe,EAGzDic,EAAerzB,GACZA,EAAMA,EAAI8R,OAAS,GAGfwhB,EACXzL,GAEM,GAANp/C,OAAU4qD,EAAYxL,EAAQ0L,OAAM,MAAA9qD,OAClC4qD,EAAYxL,EAAQ2L,OAASH,EAAYxL,EAAQ2L,OAAS,KAAO,IAAE/qD,OAClE4qD,EAAYxL,EAAQmJ,MAAK,MAAAvoD,OAAK4qD,EAAYxL,EAAQlZ,OAAM,KAAAlmC,OAAI4qD,EAC7DxL,EAAQoJ,YACT,MAAAxoD,OAAK4qD,EAAYxL,EAAQt3C,UAGfkjD,EAA0BA,CACrCC,EACAnjD,KAEA,MACEgjD,OAASp5B,MAAOo5B,GAChBC,OAASr5B,MAAOq5B,GAChBxC,MAAQ72B,MAAO62B,GACfriB,OAASxU,MAAOwU,GAChBsiB,YAAc92B,MAAO82B,IACnByC,EAEJ,MAAO,CACL1C,OACAzgD,UACAgjD,QACAC,QACAvC,aACAtiB,QACD,EAGGglB,EACJC,GAEsB,OAAfA,QAAe,IAAfA,OAAe,EAAfA,EAAiBxrD,MAAKyrD,GAAgB,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQC,U,gCC7IjD,oJAGA,MAAQC,UAAWC,GAAQvqD,cACrB0nB,EAAQ6iC,EAAIC,YACZC,EAASF,EAAIG,YAAcH,EAAII,QAE/BC,GADUL,EAAIM,SACLhmD,GAGTimD,EAAwBhnD,IAC5B,MAOMinD,EAAG,4CAAA/rD,OAA+C8E,GACxDknD,QAAQD,IAAI,KAAD/rD,OAAM+rD,GARL,+HAQmB,C,glCCWjC,MAAME,EAAaljC,IAAOC,IAAGrb,MAAAC,IAAA,+FAIjBhO,IAAA,IAAC,iBAAEssD,GAAkBtsD,EAAA,OAAKssD,CAAgB,IAGhDC,EAAcpjC,IAAO4C,GAAE3d,MAAAJ,IAAA,wHAClBmW,KACImD,IAAA,IAAC,eAAEklC,GAAgBllC,EAAA,OAAKklC,CAAc,IACpC5kC,IAAA,IAAC,iBAAE6kC,GAAkB7kC,EAAA,OAAK6kC,CAAgB,IAC9C3kC,IAAA,IAAC,cAAE4kC,GAAe5kC,EAAA,OAAK4kC,CAAa,IAK3CC,EAA8B7+C,YAAG0b,MAAAxb,IAAA,0FAMjC4+C,EAA0B9+C,YAAG4b,MAAA1b,IAAA,+EAM7B6+C,EAAiB1jC,IAAOC,IAAGS,MAAA7b,IAAA,kBAC7Bka,IAAA,IAAC,IAAE4kC,GAAK5kC,EAAA,OAAM4kC,EAAMF,EAA0BD,CAA2B,IAGvEI,EAAoB5jC,IAAOC,IAAGiD,MAAAre,IAAA,2FAGhBke,IAAA,IAAC,IAAE4gC,GAAK5gC,EAAA,OAAM4gC,EAAM,MAAQ,QAAQ,IAC7CxgC,IAAA,IAAC,uBAAE0gC,GAAwB1gC,EAAA,OAAK0gC,CAAsB,IAG3DC,EAAY9jC,IAAO+jC,GAAErgC,MAAA7e,IAAA,uMAChBQ,IACI6W,KACEkH,IAAA,IAAC,gBAAE4gC,GAAiB5gC,EAAA,OACjC4gC,GAAmB7nC,GAAqB,IAK5BkH,IAAA,IAAC,IAAEsgC,GAAKtgC,EAAA,OAAMsgC,EAAM,QAAU,QAAQ,IAC3CpgC,IAAA,IAAC,eAAE0gC,GAAgB1gC,EAAA,OAAK0gC,CAAc,IAC7ChgC,IAAA,IAAC,IAAE0/B,GAAK1/B,EAAA,OACR0/B,GACAh/C,YAAGkf,MAAAhf,IAAA,4CAEF,I,yECpDQ0gB,EAAqC,CAChD2+B,MAAOC,IACPC,WAAYC,IACZC,KAAMC,IACNC,WAAYC,IACZC,cAAeC,IACfC,UAAWC,IACXC,aAAcC,IACdC,KAAMC,IACNC,YAAaC,IACbC,MAAOC,IACPC,OAAQC,IACRC,YAAaC,IACbC,cAAeC,IACfC,MAAOC,IACPC,UAAWC,IACXC,OAAQC,IACRC,WAAYC,KAuBDC,EAAQvvD,IAA0D,IAAzD,MAAEwvD,GAA6BxvD,EAAnB+qB,EAAK3nB,IAAApD,EAAAqD,GACrC,MAAM,IACJypD,EAAG,OACH2C,EAAM,eACNjD,EAAc,iBACdC,EAAgB,cAChBC,EAAa,iBACbJ,EAAgB,eAChBc,EAAc,uBACdJ,GACEjiC,EAEJ,OACExI,IAAAC,cAAC6pC,EAAU,CAACC,iBAAkBA,GAC3BmD,GACCltC,IAAAC,cAAC+pC,EAAW,CACVC,eAAgBA,EAChBC,iBAAkBA,EAClBC,cAAeA,GAEd+C,GAGLltC,IAAAC,cAACqqC,EAAc,CAACC,IAAKA,GAClB0C,EAAMv+B,KAAI3J,IAA2D,IAA1D,QAAE5G,EAAO,SAAEgvC,EAAQ,gBAAEC,GAA+BroC,EAAXsoC,EAASxsD,IAAAkkB,EAAAuoC,GAC5D,MAAMC,EAA4BphC,EAAMghC,GACxC,OACEI,GACEvtC,IAAAC,cAACuqC,EAAiB,CAChBD,IAAKA,EACL,2BAAA1sD,OAA0BsvD,GAC1BtnD,IAAK2nD,eACL/lC,QAAS2lC,EACT3C,uBAAwBA,GAExBzqC,IAAAC,cAACstC,EAASF,GACVrtC,IAAAC,cAACyqC,EAAS,CAACH,IAAKA,EAAKM,eAAgBA,GAClC1sC,GAGN,KAII,C,+BCpHjB,w7BAAO,IAAIgC,EAAgB,UAChBhU,EAAmB,UACnBshD,EAAkB,UAClBrtC,EAAc,UAEdhG,EAAc,UAEdszC,EAAa,UACb7sC,EAAuB,UAGvB8sC,EAAe,UACfC,EAAmC,UAEnCC,EAAqB,UACrBC,EAAwB,UACxBC,EAA+B,UAC/BC,EAA6B,UAC7BC,EAAmC,yBACnCC,EAAmB,UACnBltC,EAAc,UACdmtC,EAAwB,UACxB/sC,EAAiC,UACjCC,EAAgC,UAChCG,EAAmC,UACnC4sC,EAAgC,UAChCC,EAAqB,UAErBC,EAAwB,UACxBC,EAAkB,UAGlBC,EAAiB,UACjBC,EAA2B,UAC3BC,EAAuB,UACvBC,EAA0B,S,+BCnCrC,sMAaO,MAAMC,EAAsBvvD,IACjC,MAAM8oC,EAAoB,WAAT9oC,EACjB,GAAIrC,IAASC,SAAS,6BAA+BkrC,EACnD,MAAO,0BAKT,GAAIkU,YAAyCh9C,GAC3C,OAAOwvD,IAGT,IACG1mB,GACDnrC,IAASC,SAAS,6CAElB,MAAO,wDAGT,MAAM4I,EAAMipD,cAAmB,GAAAjxD,OAAMwB,EAAI,YAAaA,EACtD,MAAM,SAANxB,OAAgBgI,EAAG,EAaRkpD,EAA+BtxD,IAGO,IAHN,KAC3C4B,EAAI,eACJ2vD,GACmCvxD,EACnC,MAAM0qC,EAAoB,WAAT9oC,EACjB,GAAIrC,IAASC,SAAS,6BAA+BkrC,EACnD,MAAO,0BAKT,GAAIkU,YAAyCh9C,GAC3C,OAAOwvD,IAGT,GAAI7xD,IAASC,SAAS,oCAAsCkrC,EAC1D,MAAO,wDAGT,IACGA,GACDnrC,IAASC,SAAS,6CAElB,MAAO,wDAGT,GAAI+xD,GAAkBC,cAA2C,CAC/D,MAAMC,EAAY/mB,EAAW,qBAAuB,iBACpD,MAAM,4BAANtqC,OAAmCwB,EAAI,KAAAxB,OAAIqxD,EAC7C,CAEA,MAGMC,EAAUhnB,EAFdA,GAAY6mB,EAAiB,iBAAmB,qBAEP,iBAErCI,EAAgBN,cAAmB,GAAAjxD,OAAMwB,EAAI,YAAa8vD,GAE1D,QAAExpD,GAAYC,cACdypD,EAAwB1pD,IAAY6d,IAAagR,GAEvD,OAAI2T,GAAYknB,EACP,mDAGLlnB,GAAY6mB,GAAkBhyD,IAASC,SAAS,YAC3C,kDAGH,4BAANY,OAAmCwB,EAAI,KAAAxB,OAAIuxD,EAAa,EAG7CE,EAAgBC,IAC3B,MAAMC,EAAiBD,EAAS/5B,QAC9B,UACA71B,GAAK,IAAA9B,OAAQ8B,EAAM+7B,iBAEf+zB,EAAS,WAAA5xD,OAAc2xD,EAAc,UAC3C9xD,KAAOE,KAAK,WAADC,OAAY4xD,GAAa,CAClCzxD,WAAY,SACZC,gBAAiBwxD,GACjB,EAGSC,EAAeA,CAACH,EAAkBxV,KAC7Cr8C,KAAOC,KAAK,mBAAoB,CAAE4xD,WAAUxV,QAAO,EAGxC4V,EAAyC5qC,IAIhC,IAJiC,QACrD6qC,GAGD7qC,EACC,OAAQ6qC,GACN,KAAKpsC,IAAa4P,GAClB,KAAK5P,IAAaqO,GAClB,KAAKrO,IAAakO,GAChB,MAAO,4BACT,KAAKlO,IAAamP,GAChB,MAAO,mCACT,KAAKnP,IAAa6N,GAChB,MAAO,gCACT,QACE,OAAO,KACX,C,+UC1HF,MAAMw+B,EAA6BtkD,YAAGC,MAAAC,IAAA,4BAIhCqkD,EAAuBvkD,YAAGM,MAAAJ,IAAA,2BAI1B0jB,EAAsB5jB,YAAG0b,MAAAxb,IAAA,qGASzBskD,EAAwBxkD,YAAG4b,MAAA1b,IAAA,8DAO3BukD,EAA2BppC,IAAOC,IAAGS,MAAA7b,IAAA,iCAIxBmb,IAAOxN,OAAM0Q,MAAAre,IAAA,sNAUJmV,KAIFgG,IAAOS,KAAIiD,MAAA7e,IAAA,6I,4BCnCrC,MAAMwkD,EAAuBrpC,IAAOC,IAAGrb,MAAAC,IAAA,iOAG3BhO,IAAA,IAAC,OAAEiE,EAAS,QAAQjE,EAAA,OAAKiE,CAAM,IACvBqjB,IAAA,IAAC,cAAEtJ,GAAesJ,EAAA,OAAKtJ,CAAa,IACvC4J,IAAA,IAAC,WAAE6qC,GAAY7qC,EAAA,OAAK6qC,CAAU,IAC/B3qC,IAAA,IAAC,WAAE4qC,GAAY5qC,EAAA,OAAK4qC,GAAc,SAAS,IAOrDC,EAAmBxpC,IAAO7K,MAAKlQ,MAAAJ,IAAA,iLAC1BmW,KAWLyuC,EAAwBzpC,YAAO0pC,IAAP1pC,CAAkBK,MAAAxb,IAAA,wLAQnC0U,KC9BPowC,EAAoB9yD,IAKyB,IALxB,MACzB8xB,EAAK,SACLxP,EAAQ,oBACRywC,GAAsB,EAAK,QAC3B/oC,GACuBhqB,EACvB,MAAOgzD,EAASC,GAAcznC,mBAAkBunC,GAC1CG,EAAkB9a,kBAAgB,GAExCta,qBAAU,KACRm1B,EAAWF,EAAoB,GAC9B,CAACA,IAEJ,MAAMI,EAA0BA,KAC9BF,GAAW,GACXC,EAAgB7a,SAAU,EAC1BruB,GAAS,EAGX,OAAIgpC,EAEAzwC,IAAAC,cAACgwC,EAAoB,CAACC,WAAW,QAC/BlwC,IAAAC,cAACmwC,EAAgB,KAAE7gC,GACnBvP,IAAAC,cAACowC,EAAqB,CACpB,gBAAc,QACd5oC,QAASmpC,GAERhrB,YAAW,iBAKb7lB,EAAS,CAAE4wC,gBAAiBA,EAAgB7a,SAAU,EC5BlD+a,EAAmCA,KAC9C,MAAM,sBAAEC,EAAqB,UAAEC,GAnBRC,MACvB,MAAM,SAAEC,GAAavxC,IAASC,WAAWC,GACnCmxC,EAAYE,EAAW,WAAa,mBACpCH,EAAwB9zD,IAASC,SAAS,kBAAoB,EAAI,EAExE,MAAO,CACLi0D,qBAAsB,CACpBC,WAAY,kCACZC,WAAY,QACZN,wBACA9yD,WAAY,yBACZ+yD,aAEFD,wBACAC,YACD,EAI4CC,GAE7CtzD,KAAOE,KAAK,mCAAoC,CAC9CuzD,WAAY,uCACZC,WAAY,QACZN,wBACA9yD,WAAY,UACZC,gBAAiB,uBACjB8yD,aACA,E,sDCFEM,EAAQ5zD,IAIqB,IAJpB,YACb2vB,EAAW,aACXE,EAAY,cACZD,GACc5vB,EACdg+B,YAAgB,SAChB,MAAO61B,EAAoBC,GAAyBtoC,oBAAS,GACvDuoC,EAAgB3b,iBAA0B,MAE1CiM,EAAmBjiD,aAAckkC,GAASA,EAAMnkB,GAAGkiC,mBACnD2P,EAAc5xD,aAClBkkC,GAASA,EAAMnkB,GAAG8xC,oCAGdC,EAAa9xD,aAAckkC,GAASA,EAAMtE,KAAKsH,QAC/CpH,EAAgB9/B,aAAckkC,GAASA,EAAMtE,KAAKE,iBAClD,aAAE7Q,EAAY,MAAEnsB,GAAgCgvD,EAAtBC,EAAiB/wD,IAAK8wD,EAAU7wD,GAE1D6tC,EAAoC3xC,IAAS4xC,WACjD,qCAEIijB,EACJttC,YAAc,kBACdoqB,GACApqB,YAAc,kBAEVutC,EAAuCrvD,IACvCovD,GACFE,YAAYtvD,EAAEorB,OAAO0B,OAEvBnC,EAAY3qB,EAAE,EAOVuvD,EAAuBvvD,IAAyC,IAADwvD,EACnEV,GAAsB,GACD,QAArBU,EAAAT,EAAc1b,eAAO,IAAAmc,GAArBA,EAAuBr4C,OAAO,EAO1Bs4C,EAAsBzvD,IAA2C,IAAD0vD,EAAAC,EAEjD,mBAAT,QAARD,EAAA1vD,EAAEorB,cAAM,IAAAskC,OAAA,EAARA,EAAU1zD,KACc,mBAAT,QAAf2zD,EAAA3vD,EAAE4vD,qBAAa,IAAAD,OAAA,EAAfA,EAAiB3zD,KAEjB8yD,GAAsB,EACxB,EAMI3jC,EAA0B,SAACnrB,GAC/B,MAAM6vD,EAAa7vD,EAAEorB,OAAO0B,MAEtBgjC,EAAYtwD,SAASuwD,cAC3B,GAAID,GAAa,SAAUA,GAAgC,UAAnBA,EAAUlzD,KAAkB,CAElE,MAAM,QAAE6tB,GAAY4qB,YAAoBwa,EAAY,CAClD9pC,MAAO,CAAE+E,UAAU,EAAMluB,KAAM,WAI7B6tB,GACF6kC,YAAYO,EAEhB,CAAC,QAAA/rD,EAAAnI,UAAAC,OAdoC6sB,EAAI,IAAAzkB,MAAAF,EAAA,EAAAA,EAAA,KAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJwkB,EAAIxkB,EAAA,GAAAtI,UAAAsI,GAgBzC2mB,EAAc5qB,KAAMyoB,EACtB,EAEA,OACElL,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAACswC,EAAiB,CAChB9oC,QAASopC,EACTthC,MAAOoiC,EAAWpiC,QAEjBxK,IAAA,IAAC,gBAAE4rC,GAAiB5rC,EAAA,OACnB/E,IAAAC,cAAC+vC,EAAwB,KACvBhwC,IAAAC,cAACwyC,IAAoB,CACnBrlC,YAAa0kC,EACbhjC,aAAcA,EACdnsB,MAAOA,EACP2qB,aAAcA,EACdolC,6BAA8B7C,EAC9B8C,QAAQ,UAENC,GACA5yC,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAAC4yC,IAAkB1nC,IAAA,CACjB2nC,aAAa,QAEb9iC,UAAW2gC,EACXvjC,YAAawlC,EACbvlC,cAAeO,EACfsB,wBAAyB4gC,EACzBt1C,SAAUsnC,EACVx0B,aAAcslC,EACdtjC,SAAUR,EACVrwB,GAAG,QACH0wB,oBAAqBA,EACrBpT,MAAO6pB,YAAW,qBAClB9oC,KAAK,QACLywB,UAAU,EACVluB,KAAK,SACDuyD,OAMXN,GACCtxC,IAAAC,cAAC8yC,IAAO,CACN,YAAU,SACVC,cAAc,MACdv0D,GAAG,gBACHkvB,OAAQukC,EACRzqC,QAASuqC,EACTvpC,eAAgBsnC,GAEhB/vC,IAAAC,cAAA,KAAG,cAAY,cAAcxhB,GAAG,eAC7BmnC,YAAW,yBAAD/nC,OACgB8hC,EAAcpQ,OAAS,YAK/B,IAG9BkiC,GACCzxC,IAAAC,cAACgzC,IAAW,CACV15B,QAASqM,YAAW,+BAAgC,CAClDstB,UACElzC,IAAAC,cAACkzC,IAAS,CAACC,SAAS,QACjBxtB,YAAW,oBAIlBnV,OAAO,gCACP4iC,aAAW,IAGd,E,aCxKA,MAAMC,EAAQ9qC,IACnBiT,YAAgB,QAChB,MAAMsH,EAAYljC,aAAcpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKsD,SAAS,IACtDC,EAAWnjC,aAAcklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKuD,QAAQ,IACpD8e,EAAmBjiD,aAAcwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAGkiC,gBAAgB,IAEtE,OACE9hC,IAAAC,cAACszC,IAAQpoC,IAAA,CACP3Q,SAAUsnC,EACV/e,UAAWA,EACXywB,OAAQ,CACNzwB,UAAW6C,YAAW,yBACtB5C,SAAU4C,YAAW,yBAEvB5C,SAAUA,GACNxa,GACJ,E,gBCtBC,MAAMirC,EAAyB7sC,IAAOS,KAAI7b,MAAAC,IAAA,+BAIpCioD,EAAmB9sC,YAAOuK,IAAPvK,CAAkB/a,MAAAJ,IAAA,iCCFrCkoD,GAAgBA,IAEzB3zC,IAAAC,cAACyzC,EAAgB,CAAC,cAAY,mBAC3B9tB,YAAW,kDAAmD,CAC7DguB,mBACE5zC,IAAAC,cAACwzC,EAAsB,KACpB7tB,YACC,8D,oBCLd,MAAMiuB,GAA8BtoD,YAAGC,QAAAC,IAAA,yBAIjCqoD,GACJC,GACqBxoD,YAAGM,QAAAJ,IAAA,6aAEAL,IACG2oD,EAeGA,G,gCCNnBC,GACXxrC,IAIA,MAAMurC,EAAU1nD,IAA8B,OAALmc,QAAK,IAALA,OAAK,EAALA,EAAO+G,OAAS,IACnD,yBAAE0kC,GAA+CzrC,EAAlB0rC,EAAarzD,IAAK2nB,EAAK1nB,IAE5D,OACEkf,IAAAC,cAACk0C,KAAmBhpC,IAAA,CAClB,cAAY,cACZipC,qCAAsCN,GACpCC,GAEFM,iBAAiB,aACjB51D,GAAG,cACH3B,KAAK,cACLw3D,UAAW,oBACX/mC,UAAU,EACVgnC,cAAeN,EACfO,qBAAsBX,GACtBY,sBAAsB,GAClBP,GACJ,E,6BC3CN,MAAMQ,GAAoBnpD,YAAGC,QAAAC,IAAA,iiBA8BvBkpD,GAA8BppD,YAAGM,QAAAJ,IAAA,oYAqBjCmpD,GAAqBhuC,IAAOC,IAAGI,QAAAxb,IAAA,kDAU/BopD,GAAkBjuC,IAAOC,IAAGM,QAAA1b,IAAA,40BAenB6c,GAAMA,EAAEwsC,qBAAuB,QAAU,UACvCxsC,IAAC,IAAAysC,EAAA,OAAgB,QAAXA,EAAAzsC,EAAEugB,iBAAS,IAAAksB,GAAXA,EAAajmC,aAAe,IAAM,MAAM,IAMpCxG,GAAMA,EAAEwsC,qBAAuB,GAAK,MAC9CxsC,IAAC,IAAA0sC,EAAA,OAAY,QAAPA,EAAA1sC,EAAEqgB,aAAK,IAAAqsB,GAAPA,EAASlmC,aAAe,IAAM,MAAM,IAoBrDmmC,GAAuBruC,IAAOC,IAAGS,QAAA7b,IAAA,usBAcZ6c,GAAMA,EAAEwsC,qBAAuB,GAAK,MAC9CxsC,IAAC,IAAA4sC,EAAA,OAAY,QAAPA,EAAA5sC,EAAEqgB,aAAK,IAAAusB,GAAPA,EAASpmC,aAAe,IAAM,MAAM,IC9G9CqmC,GAAiB13D,IAOW,IAPV,qBAC7Bq3D,EAAoB,SACpB/0C,EAAQ,uBACRq1C,GAAyB,EAAK,MAC9BzsB,EAAK,UACLE,EAAS,cACTwsB,GACoB53D,EACpB,OAAK43D,EAoBHC,YAACV,GAAkB,KACjBU,YAACT,GAAe,CACdC,qBAAsBA,EACtBvpD,IAAK,CAACupD,GAAwBJ,IAC9B/rB,MAAOA,EACPE,UAAWA,GAEV9oB,GAGF4oB,EAAM7Z,cACLwmC,YAACC,KAAU,CAAC92D,GAAG,eAAekqC,EAAMhmC,QA9BpCyyD,GAA0BN,EAE1BQ,YAACV,GAAkB,KACjBU,YAACL,GAAoB,CACnBH,qBAAsBA,EACtBvpD,IAAK,CAACupD,GAAwBH,IAC9BhsB,MAAOA,GAEN5oB,IAOFA,CAiBc,E,oDClDzB,MAAMy1C,GAA2B,CAC/BtmC,wBAAyB3jB,YAAGC,QAAAC,IAAA,mCAG5B0jB,oBAAqB5jB,YAAGM,QAAAJ,IAAA,gFAOpBgqD,GAAwB7uC,IAAO0B,EAACrB,QAAAxb,IAAA,wIAC3BuV,MCnBE00C,GAAc,CAAC,SAAU,OAAQ,Q,skBCevC,MAAMC,GAAqBpmC,IAChC,MAAMqmC,EAAiC,CACrCC,gBAAiB34D,QAAQqyB,EAAMlxB,UAAYq3D,GAAYh3D,SAAS6wB,GAChEvC,cAAeuC,EAAMlxB,QAGjB4uB,EACJ1kB,OAAO47B,KAAKyxB,GACZp3D,QAAOqH,GAAO+vD,EAAa/vD,KAE7B,OAAAjF,MAAA,GACKg1D,GAAY,IACf3oC,SACAC,SAAUD,EAAO5uB,QAAM,E,4BCLdy3D,GAAattC,IACxB,MAAM,qBAAEssC,GAA2CtsC,EAAlB0rC,EAAarzD,IAAK2nB,EAAK1nB,IAExD,OACEkf,IAAAC,cAACk0C,KAAmBhpC,IAAA,CAClB,cAAY,YACZkpC,iBAAiB,aACjB51D,GAAG,YACHg2D,sBAAuBK,EACvB/4C,MAAO6pB,YAAW,yBAClB9oC,KAAK,YACLywB,UAAU,EACVgnC,cAAemB,GAAYhnC,KAAIrvB,IAAI,CACjC2b,KAAM4qB,YAAW,cAAD/nC,OAAewB,EAAKq8B,gBACpCnM,MAAOlwB,MAET02D,aAAcJ,IACVzB,GACJ,E,uDCtCC,MAAM8B,GAA6BvZ,aAAGjxC,QAAAC,IAAA,+P,UCEtC,MAgBDwqD,GAAgC1qD,YAAGC,QAAAC,IAAA,iHAQnCyqD,GAAuB3qD,YAAGM,QAAAJ,IAAA,wLCfnB0qD,GAA0B14D,IAEa,IAFZ,mBACtC24D,GAC6B34D,EAC7B,MAAM44D,EAAsBz2D,aAC1BmlB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAI2yB,mBAAmB,IAOhChpC,EAAgBA,CACpB5qB,EAEA8sB,EAEAwvB,EAEAtb,KCnBFnH,MDqBMr1B,aAAWmvD,IAEbA,EAAmB3zD,EAAG8sB,EAAOwvB,EAAUtb,GAGzC4yB,EAAoB,CAAC,IC1BvB/5B,ED4BqB/M,EC1BdmlB,KACJO,MACC,CACEA,MAAO+gB,GACP7gB,UAAW,CAAE7Y,iBAGhBn1B,MAAK1J,IAAe,IAAd,KAAEkD,GAAMlD,EACb,MFjBJkD,KACmB,IAAD21D,EAClB,MAAM,eAAEjuD,GAAmB1H,EACrBgoC,EAAsB,OAAdtgC,QAAc,IAAdA,OAAc,EAAdA,EAAgBsgC,MACxB4tB,EAAa,OAAL5tB,QAAK,IAALA,OAAK,EAALA,EAAO4tB,MACfC,EAAe,OAAL7tB,QAAK,IAALA,GAAe,QAAV2tB,EAAL3tB,EAAO8tB,gBAAQ,IAAAH,OAAV,EAALA,EAAiBn8C,QAOjC,MALsB,CACpBu8C,KAAW,OAALH,QAAK,IAALA,OAAK,EAALA,EAAOI,OACbH,QAAgB,OAAPA,QAAO,IAAPA,OAAO,EAAPA,EAASnrB,UAAU,EAAGmrB,EAAQn4D,OAAS,GAG9B,EEKTu4D,CAAiBj2D,EAAK,IAE9ByG,OAAMzE,IACLk0D,aAAuBl0D,EAAM,KDeLwE,MAAK2vD,IAC7BT,EAAoBS,GAAoB,CAAC,EAAE,GAC3C,EAWJ,OAR+B96B,sBAC7B+6B,MAAS,CAACt0D,EAAG8sB,EAAOwvB,EAAUtb,KAC5BpW,EAAc5qB,EAAG8sB,EAAOwvB,EAAUtb,EAAK,GACtC,KACH,GAI2B,E,+mBE1BxB,MAAMuzB,GAAexuC,IAA0C,IAADyuC,EACnEx7B,YAAgB,eAChB,MAAOy7B,EAAWC,GAAgBn3C,IAAMiJ,UAAS,GAC3CkX,EAAStgC,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGugB,MAAM,IAC5Ci3B,EAAkBv3D,aAAcklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKkJ,MAAMpZ,KAAK,IAC9DkZ,EAAc5oC,aAAcwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKgJ,WAAW,IAC1DE,EAAQ9oC,aAAc0lB,IAAA,IAAC,KAAEka,GAAMla,EAAA,OAAKka,EAAKkJ,KAAK,IAC9CE,EAAYhpC,aAAc8lB,IAAA,IAAC,KAAE8Z,GAAM9Z,EAAA,OAAK8Z,EAAKoJ,SAAS,IACtDtI,EAAW1gC,aAAc8pB,IAAA,IAAC,KAAE8V,GAAM9V,EAAA,OAAK8V,EAAKa,WAAWC,QAAQ,IAC/DuhB,EAAmBjiD,aAAckqB,IAAA,IAAC,GAAEnK,GAAImK,EAAA,OAAKnK,EAAGkiC,gBAAgB,IAChEuV,EAA2Cx3D,aAC/CmqB,IAAA,IAAC,GAAEpK,GAAIoK,EAAA,OAAKpK,EAAGy3C,wCAAwC,KAEnD,yBACJpD,EAA2B,GAAE,UAC7BqD,EAAS,4BACTC,GACE13D,aAAcoqB,IAAA,IAAC,IAAEyZ,GAAKzZ,EAAA,OAAKyZ,EAAIsZ,eAAe,IAC5Cwa,EAAwB53D,aAC5BuqB,IAAA,IAAC,KAAEsV,GAAMtV,EAAA,OAAKsV,EAAK+3B,qBAAqB,IAEpCC,EAAiBF,EAA4B9uB,EAAYlZ,OACzDmoC,EAAmB9xB,YAAW,4BAA6B,CAC/D6C,YAAY,IAAD5qC,OAAM45D,KAEbE,EAAyB36D,IAASC,SAAS,wBAC3C63D,EAAuB93D,IAASC,SAAS,wBACzC26D,EAAiC56D,IAASC,SAC9C,kCAEI46D,EAA8B76D,IAASC,SAC3C,kCAEIm4D,EAAyB5sC,EAAM4sC,uBAE/B0C,EACJT,GAAyD,oBAAb92B,EAGxC80B,EACJsC,IAA2BG,IAAiB1C,GAExC,cAAE/nC,GAAgD7E,EAA9BuvC,EAAyBl3D,IAAK2nB,EAAK1nB,IACvDk3D,EAA2B7B,GAAwB,CACvDC,mBAAoB/oC,IAWhB4qC,EAA0Bj7D,IAASC,SACvC,kCAYIi7D,EAAgBt3D,MAAA,GACjB4nB,GAAK,IACR4E,YANmB3qB,IAA8C,IAAD01D,EAC/C,QAAjBA,EAAA3vC,EAAM4E,mBAAW,IAAA+qC,GAAjBA,EAAAntD,KAAAwd,EAAoB/lB,GACpB00D,GAAa,EAAM,EAKnB7pC,aAZoB7qB,IAA8C,IAAD21D,EAC/C,QAAlBA,EAAA5vC,EAAM8E,oBAAY,IAAA8qC,GAAlBA,EAAAptD,KAAAwd,EAAqB/lB,GACrB00D,GAAa,EAAK,IAkBdkB,EAA2Bn7D,UADH,SAAXijC,IAGf83B,IACCf,GAAaE,EAAgB/4D,OAAS,IAGrCi6D,EAAqCp7D,QACzC06D,IAAmCC,GAE/BU,EAA+Br7D,QAAQm7D,GAG7C,OAAc,OAATf,QAAS,IAATA,GAAe,QAANL,EAATK,EAAWZ,YAAI,IAAAO,GAAfA,EAAiB54D,QAMlBy5D,GAAoC,WAApBjvB,EAAUtZ,OAC5BioC,EAAsB,CACpBnzB,MAAO,YACP5+B,QAAS,CACPqpB,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,GACXtX,SAAS,EACTqC,MAAO,YAMXvP,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAACk1C,GAAc,CACbL,qBAAsBA,EACtBM,uBAAwBA,EACxBzsB,MAAOA,EACPE,UAAWA,EACXwsB,cAAeA,GAEdyC,GAAgB93C,IAAAC,cAAC0zC,GAAa,MAE9B0B,GACCr1C,IAAAC,cAAC61C,GAAS3qC,IAAA,CACR2pC,qBAAsBA,EACtBt6C,SAAUsnC,GACNt5B,EACAqgB,IAIPisB,GACC90C,IAAAC,cAAC+zC,GAAiB7oC,IAAA,CAChBkC,cAAe2qC,EACf/D,yBAA0BA,EAC1Bz5C,SAAUsnC,GACNrZ,EACAsvB,IAGR/3C,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAACu4C,KAAUrtC,IAAA,GACJkqC,GAAiBG,GAClB7sB,EACA2uB,EACAY,EAAgB,CACpBR,iBAAkBA,EAClB,cAAY,QACZjvB,YAAagvB,EACbj9C,SAAUsnC,EACVhzB,cAAeumC,GAAiB1sB,EAAM7Z,aACtCulC,iBAAiB,aACjB/kC,SAAU+lC,GAAiB1sB,EAAM7Z,aACjC/S,MACE+7C,GAAgB1C,EACZxvB,YAAW,2BACXA,YAAW,2BAEjB6yB,UAAWnB,EAAUZ,KAAKr4D,OAC1BkvB,UAAU,EACVmrC,gBAAgB,oCAElB14C,IAAAC,cAAC04C,KAAiB,CAACl6D,GAAG,sBACnBi5D,IAGJY,GACCt4C,IAAAC,cAACw1C,GAAqB,CAAC,cAAY,qBAChC7vB,YAAW,mCAIjB2yB,GACCv4C,IAAAC,cAACgzC,IAAW,CACVhnC,KAAM8/B,IACNxyB,QAASqM,YAAW,wCACpBnd,eH/JD,CACLjN,UAAWy6C,GACX18B,QAAS28B,IG8JHzlC,OAAO,8BACPhyB,GAAG,kBArFFuhB,IAAAC,cAACiO,IAAc,KAwFnB,E,sCC1MA,MAAM0qC,GAA8BhyC,IAAO0B,EAAC9c,QAAAC,IAAA,iEACxCoW,KCAEg3C,GAAqBA,KAChC,MAAMC,EACJ97D,IAASC,SAAS,iCAClBD,IAAS+7D,aACP,iBACA,2BACA,kCAGJ,OACE/4C,IAAAC,cAAAD,IAAAyO,SAAA,KACGqqC,GACC94C,IAAAC,cAAC24C,GAA2B,CAAC,cAAY,wBACtChzB,YAAW,kCAGf,E,aCDA,MAAMozB,GAAuBv7D,IAMyB,IANxB,YACnCw7D,GAAc,EAAI,WAClBC,EAAa,CAAC,OAAQ,QAAS,SAAQ,uBACvC9D,GAAyB,EAAK,SAC9B+D,EAAQ,GACR1gB,GAC0Bh7C,EAC1B,MAAM27D,GCzB2BD,KACjC,MAAMxqB,EAAoC3xC,IAAS4xC,WACjD,qCAQIyqB,EAAqB,QAAbF,EAEd,OAPEn8D,IAASC,SAAS,+BAClBgoB,aAAa,2BACb0pB,GACApqB,YAAc,kBAIW80C,GAASA,CAAK,EDahBC,CAAmBH,GAE5C,GAAIC,EACF,OAAO,KAQT,MAAMG,EAAgBv8D,IAASC,SAAS,iBAElCu8D,EAEF,CACFzyB,MAAOsqB,EACPv0D,KAAMy8D,EAAgBjG,EAAO,KAC7B3qB,MAAOquB,IAGHyC,EAA6Bz8D,IAASC,SAC1C,kCAEF,OACE+iB,IAAAC,cAAC04B,KAAO,CAAC,cAAY,uBAAuBF,GAAIA,GAC7CwgB,GACCj5C,IAAAC,cAACy5C,KAAc,KACZ9zB,YAAW,+BAIfszB,EAAWxqC,KAAI7oB,IACd,MAAM8zD,EAAQH,EAAY3zD,GAC1B,OAAK8zD,EAIH35C,IAAAC,cAAC05C,EAAKxuC,IAAA,CACJiqC,uBAAwBA,EACxBvvD,IAAKA,GACD+zD,OANC,IAOL,KAGJH,GAA8Bz5C,IAAAC,cAAC44C,GAAkB,MAC3C,C,kKEzEd,MAAQj6D,IAAI,GAAIC,cAEHg7D,EAAoB,CAC/BC,QAAQ,GAADj8D,OAAKe,EAAIm7D,KAAI,oBACpBC,WAAW,GAADn8D,OAAKe,EAAIm7D,KAAI,gBACvBE,YAAY,GAADp8D,OAAKe,EAAIm7D,KAAI,6BACxBG,OAAO,GAADr8D,OAAKe,EAAIm7D,KAAI,mBACnBI,cAAc,GAADt8D,OAAKe,EAAIm7D,KAAI,mBAC1BK,OAAO,GAADv8D,OAAKe,EAAIm7D,KAAI,gCACnBM,MAAM,GAADx8D,OAAKe,EAAIm7D,KAAI,wBAClBO,KAAK,GAADz8D,OAAKe,EAAIm7D,KAAI,0BCAbQ,EAAiB,WAGT,IAFZC,EAAmCp8D,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,OACtCs7C,EAAoCt7C,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAEhCm8D,EAAcZ,EAAkBW,GACpC,MAAME,EAAmBC,cAczB,OAVKF,IAEH/8D,IAAOkJ,KAAK,yBAA0B4zD,GACtCC,EAAcZ,EAAkBS,MAGtB,YAARE,GAAqBE,IACvBD,EAAW,GAAA58D,OAAM48D,EAAW,mBAGvB9gB,EAAS8gB,EAAa,CAC3B/gB,mBACAE,mBAAmB,GAEvB,EAQMD,EAAW,SACf76C,GAEY,IADZy4B,EAA0Bn5B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAE9B,MAAM,iBAAEs7C,EAAmB,CAAC,EAAC,kBAAEE,GAAoB,GAASriB,EACtDqjC,EAAahhB,EAAoBz8C,cAAc,CAAC,EAChDy/B,EAAoCr0B,OAAOC,OAC/C,CAAC,EACDoyD,EACAlhB,UAKK9c,EAAOi+B,WAKPj+B,EAAOk+B,6BAEd,MAAMC,EAAoB,OAARj8D,QAAQ,IAARA,KAAUJ,SAAS,KAAO,IAAM,IAQlD,OAPY6J,OAAOq8B,QAAQhI,GAAQwH,QAAO,CAAC9gC,EAAG7F,EAAgBmxB,KAAO,IAApB/oB,EAAK0pB,GAAM9xB,EAC1D,MAAMu9D,EAAaC,mBAAmBp1D,GAChCq1D,EAAeD,mBAAmB1rC,GAExC,MAAM,GAAN1xB,OAAUyF,GAAGzF,OAAGm9D,EAAU,KAAAn9D,OAAIq9D,EAAY,OAC1C,GAADr9D,OAAKiB,GAAQjB,OAAGk9D,IAENvlC,QAAQ,QAAS,GAC9B,EAOM2lC,EAAuBV,IAC3B,IAAIn3D,EAEJ,GAAIm3D,EAAa,CACf,MAAM,IAAE77D,GAAQC,cAGhByE,EAAM,IAAI83D,IAAIX,EAAa77D,EAAIm7D,MAAQ,GACzC,KAAO,CACL,MAAMsB,EAAgB1hB,EAAS4gB,EAAe,cAAe,CAC3D3gB,mBAAmB,IAErBt2C,EAAM,IAAI83D,IAAIC,EAChB,CAEA,OAAOJ,mBAAmB,GAADp9D,OAAIyF,EAAIm5B,UAAQ5+B,OAAGyF,EAAIo5B,QAAS,C,sYCzFpD,MAAM4+B,EAAuBA,IAa3B5mB,IACJO,MAAM,CACLsmB,QAAS,CACPvoB,gBAAgB,GAElBwoB,YAAa,eACbvmB,MAAOwmB,IACPtmB,UAAW,CACThwC,MAAOC,iBAGV+B,MACC1J,IAAA,IAAC,KACCkD,GAGDlD,EAAA,OAAKkD,EAAKs6B,eAAe,I,8xCCChC,MAAMygC,EAAkBp4D,IAEtB,GACGq4D,UAAUC,gBACXt4D,EAAI5E,SAAS,oBACZ4E,EAAI5E,SAAS,uBAUdc,OAAOC,SAAS+I,OAAOlF,QARvB,ICxCyBu4D,KAC3B,MACEC,UAAU,KAAEC,EAAI,MAAEC,IAChBn9D,cAEJ,IAAKm9D,EACH,MAAM,IAAIhiC,MAAM,gCAElB,IAAK+hC,EACH,MAAM,IAAI/hC,MAAM,gCAGlB,MAAMyF,EAAOx9B,SAASge,cAAc,QAEpCwf,EAAKwpB,OAAS,OACdxpB,EAAKwY,OAAM,4BAAAp6C,OAA+Bg+D,GAC1Cp8B,EAAKw8B,MAAMrwC,QAAU,QAErB,MAAMswC,EAAaj6D,SAASge,cAAc,SAC1Ci8C,EAAWp/D,KAAO,cAClBo/D,EAAW3sC,MAAQ2jB,cAAiB3jB,OAAS,GAC7C2sC,EAAW78D,KAAO,SAElB,MAAM88D,EAAYl6D,SAASge,cAAc,SACzCk8C,EAAUr/D,KAAO,QACjBq/D,EAAU5sC,MAAQysC,EAClBG,EAAU98D,KAAO,SAEjB,MAAM+8D,EAAYn6D,SAASge,cAAc,SACzCm8C,EAAUt/D,KAAO,OACjBs/D,EAAU7sC,MAAQwsC,EAClBK,EAAU/8D,KAAO,SAEjBogC,EAAKhJ,YAAYylC,GACjBz8B,EAAKhJ,YAAY0lC,GACjB18B,EAAKhJ,YAAY2lC,GAEjBC,WAAWp6D,SAASqb,KAAKmZ,YAAYgJ,GACrCA,EAAK68B,QAAQ,EDITC,CADe,IAAInB,IAAI93D,GAAKo5B,OAE9B,CAAE,MAAOxF,GACPx5B,IAAOiF,MAAM,iCAAkCu0B,GAC/C13B,OAAOC,SAAS+I,OAAOlF,EACzB,CAGF,EAGWk5D,EAAuB/+D,IAUvB,IAVwB,OACnCg/D,EAAM,WACNhd,EAAU,UACVl6C,EAAS,IACTjC,GAMD7F,EAECi/D,YAAuB1/D,IAAS4mB,QAChC,MAAMpe,EAAU0f,YAASu3C,GAAUA,EAAS,WAEtCxT,EAAShiD,YAAWvJ,IAAO6H,IAAcA,EAAY,OAa3D,OAXA7H,IAAOurD,GAAQzjD,EAAO5E,IAAA,GAAO6+C,GAAU,IAAEn8C,SAGzCmL,IAAGkuD,SAKHj/D,IAAOmJ,QAGAnJ,IAAOqJ,WAAU,IAAM20D,EAAep4D,IAAK,EAOvCs5D,EAAW73C,IAOU,IAPT,SACvBjmB,EAAQ,OACR29D,EAAM,WACNhd,EAAU,OACV7iB,EAAS,CAAC,EAAC,OACX5D,EAAS,iBAAgB,KACzB35B,EAAO,QACa0lB,EACpB,IAAKG,YAASpmB,GAaZ,OAZApB,IAAOiF,MAAM,8CAA+C,CAC1DW,IAAKxE,IAGPpB,IAAO4J,OAAO,gCAAiC,CAC7CqB,WAAY,CACVk0D,QAAS,uDACTC,cAAe,cACf9jC,YAIG69B,IAGT,GAAItwC,KAAkB,SAATlnB,EACX,OAAOsqD,YAAqB,oBAI9B,MAAMoT,EAA0B,OAARj+D,QAAQ,IAARA,OAAQ,EAARA,EAAUJ,SAAS67D,YAAe,SACpDyC,EAA4B,OAARl+D,QAAQ,IAARA,OAAQ,EAARA,EAAUJ,SAAS67D,YAAe,WAE5D,GAAIwC,GAAUC,EAAU,CAEtB,MAAMC,EAAUF,EAAS,OAAS,SAClCr/D,IAAOC,KAAK,uBAADE,OAAwBo/D,EAAO,cAAAp/D,OAAam7B,IAEvDt7B,IAAO4J,OAAO,iCAAkC,CAC9CqB,WAAY,CACVk0D,QAAQ,2BAADh/D,OAA6Bo/D,GACpCjkC,SACAnL,OAAQovC,IAGd,CAEA,MAAM,QAAEt3D,EAAO,OAAED,GAAWE,cACtB8zC,EAAgB94C,EAAA,CACpB,YAAa+E,EACbu3D,gBAAgB,EAChB,WAAYx3D,EACZP,MAAOC,eACJw3B,GAECt5B,EAAMq2C,YAAS76C,EAAU,CAAE46C,qBAC3Bn0C,EAAY,CAAC,OAAQ,OAAQ,SAAS7G,SAASW,GAAQA,EAAO,OAEpEm9D,EAAqB,CAAEC,SAAQl3D,YAAWk6C,aAAYn8C,OAAM,EAQjDuzD,EAAyB,WAG8B,IAH7B,QACrCt9B,EAAU,UAAS,OACnBqD,EAAS,CAAC,GACuCx+B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACrD,MAAM,eAAE++D,EAAc,IAAEv+D,GAAQC,eAE1B,KAAEk7D,EAAI,qBAAEqD,GAAyBx+D,EACjCy+D,EAA8Bz8D,IAAA,GAAQg8B,GAAM,IAAEoJ,KAAMs3B,KAAK/jC,KAE/D,GAAIhT,IACF,OAAOojC,YAAqB,kBAAD9rD,OAAmB07B,IAGhD,MAAM,UAAEgkC,GAAc79C,IAASC,WAAW+jB,KACtC65B,GAA2B,OAAdJ,QAAc,IAAdA,KAAgBI,aAC/BF,EAAYG,WAAaD,IAA2B,OAAdJ,QAAc,IAAdA,OAAc,EAAdA,EAAgBI,YAGxD7/D,IAAO4J,OAAO,sCAAuC,CACnDqB,WAAY,CACVk0D,QAAS,4BACTC,cAAe1V,OAAO7tB,MAG1B77B,IAAO4J,OAAO,qCACds1D,EAAS,CACP99D,SAAS,GAADjB,OAAKk8D,GAAIl8D,OAAGu/D,GACpBX,OAAO,qCAAD5+D,OAAuC07B,GAC7CqD,OAAQygC,EACRrkC,OAAQ,oBAEZ,EAMaykC,EACXC,IAIA,IAAKx4C,YAASw4C,KAAeA,EAQ3B,OAPAhgE,IAAOkJ,KAAK,gCACZlJ,IAAO4J,OAAO,wBAAyB,CACrCqB,WAAY,CACVk0D,QAAS,wBACTC,cAAe,yBAMrBp/D,IAAOC,KAAK,oCACZD,IAAO4J,OAAO,wBAAyB,CACrCqB,WAAY,CACVk0D,QAAS,2BAGbc,IACAlvD,IAAGkuD,OAAOluD,IAAGi0C,OAAOY,IACpBkZ,EAAqB,CAAEl5D,IAAKo6D,GAAY,EAQ7B3kC,EAAW,WAOI,IAN1BxB,EAKCn5B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEL,MAAM,iBAAEs7C,EAAgB,IAAE8gB,EAAM,OAAM,QAAE/0D,EAAU,CAAC,EAAC,OAAEuzB,GAAWzB,EAEjE,GAAIhR,IACF,OAAOojC,YAAqB,aAAD9rD,OAAcm7B,IAK3C,MAAM4kC,EAA0C,WAA1B1qB,cAAiB7zC,KACjC49D,EAAUW,EAAgB,SAAWpD,EAErCqD,EAAuC,CAC3C/+D,SAAUy7D,YAAe0C,GACzBR,OAAO,uBAAD5+D,OAAyBo/D,GAC/BrgC,OAAMh8B,IAAA,GACD84C,GAAgB,IACnB3gB,SAAU,EAEVC,OAAQskC,KAAKtkC,KAEfvzB,UACAuzB,SACA35B,KAAM,SAGR,OAAOy+D,cAA+B32D,MAAK,KACzC,MAAM,eAAE42D,GAAmBr+C,IAASC,WAAWq3B,KAI/C,IAAK+mB,GAAkBH,EAGrB,OAFAlgE,IAAOkJ,KAAK,kDACZ6H,IAAGuuB,IAAIvuB,IAAGwuB,YAAYC,aACf25B,IAGT+F,EAASiB,EAAgB,GAE7B,EAEaG,EAAkB,WAGoC,IAHnC,OAC9BphC,EAAS,CAAC,EAAC,OACX5D,GACgD56B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpDV,IAAOE,KAAK,6BAA8BqgE,eAC1CrB,EAAS,CACP99D,SAAUy7D,YAAe,UACzBkC,OAAQ,6BACR7/B,OAAMh8B,EAAA,CAAIs9D,qBAAqB,EAAMC,OAAQ,SAAYvhC,GACzD5D,OAAQA,GAAU,YAEtB,EAEaolC,EAAqB/4C,IAQrB,IARsB,SACjCvmB,EAAQ,OACR89B,EAAS,CAAC,EAAC,OACX5D,EAAS,WAKV3T,EACC3nB,IAAOC,KAAK,+BAADE,OAAgCm7B,GAAU,CAAEl6B,WAAUk6B,WACjE4jC,EAAS,CACP99D,SAAUA,EACV29D,OAAO,+BAAD5+D,OAAiCm7B,GACvC4D,SACA5D,OAAQA,GACR,EAUS2D,EAAiBpX,IAQjB,IARkB,OAC7BqX,EAAS,CAAC,EAAC,KACXv9B,EAAI,OACJ25B,GAKDzT,EACC,MAAM,OAAElgB,GAAWxG,cAEb66C,EAAmBr0C,EAAMzE,EAAA,CACzBy9D,eAAgB,QAAWzhC,GAC7BA,EAEJggC,EAAS,CACP99D,SAAUy7D,YAAe,QACzBkC,OAAQ,2BACR7/B,OAAQ8c,EACR1gB,SACA35B,QACA,EAQSi/D,EAAmB,WAGpB,IAFV1hC,EAAyBx+B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7BiB,EAAyBjB,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAEzBs+D,EAAS,CACP99D,SAAUy7D,YAAe,UACzBkC,OAAQ,uBACR7/B,OAAMh8B,EAAA,GACDg8B,GAEL5D,OAAQ,cACR35B,QAEJ,EASak/D,EAAqB,SAChCC,GAIU,IAHV5hC,EAAyBx+B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7BqhD,EAA6BrhD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACjCiB,EAAyBjB,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAEzB,MAAMmgE,EAAYD,EAAOhpC,QAAQ,WAAY,IAE7ConC,EAAS,CACP99D,SAAUy7D,YAAe,QAAS,CAAElwD,KAAMo0D,IAC1ChC,OAAQ,4BACRhd,aACA7iB,SACA5D,OAAQ,oBACR35B,QAEJ,EAQaq/D,EAA0B,WAE3B,IADV9hC,EAAyBx+B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAE7B,MAAMkF,EAAMi3D,YAAe,gBAAiB39B,GAC5C4/B,EAAqB,CAAEC,OAAQ,qCAAsCn5D,OACvE,EAQaq7D,EAAwB,WAGzB,IAFV/hC,EAAyBx+B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7BiB,EAAyBjB,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAEzB,MACE04C,MAAM,QAAE4nB,IACN//D,eAEE,QAAE8G,EAAO,OAAED,GAAWE,cAE5Bg3D,EAAS,CACP99D,SAAUy7D,YAAe,eACzBkC,OAAQ,mCACR7/B,OAAMh8B,EAAA,CACJi+D,UAAWD,EACX,YAAaj5D,EACb,WAAYD,EACZo5D,YAAanlB,YAAS4gB,YAAe,cAAe,CAClD3gB,mBAAmB,KAElBhd,GAEL5D,OAAQ,kBACR35B,QAEJ,EASa0/D,EAA0B,WAG3B,IAFVniC,EAAyBx+B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7BiB,EAAyBjB,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAEzB,MACE04C,MAAM,QAAE4nB,IACN//D,eACE,QAAE8G,EAAO,OAAED,GAAWE,eACtB,YAAEk5D,GAAyBliC,EAAT1R,EAAIrqB,IAAK+7B,EAAM97B,GAIjCk+D,EAAiBF,EAAWl+D,IAAA,GACzBg8B,GAAM,IAAEiiC,UAAWD,IAAOh+D,IAAA,GAE1BsqB,GAAI,IACP2zC,UAAWD,EACX,YAAaj5D,EACb,WAAYD,EACZo5D,YAAa3D,gBAGnByB,EAAS,CACP99D,SAAUy7D,YAAe,UACzBkC,OAAQ,qCACR7/B,OAAQoiC,EACRhmC,OAAQ,oBACR35B,QAEJ,EAOa4/D,EAAqBC,IAAyB,IAADC,EAAAh/D,EAAAqE,EACxD,MAAM46D,EAA6B,QAAtBD,EAAGhiE,cAAYiiE,eAAO,IAAAD,IAAU,QAAVh/D,EAAIX,cAAM,IAAAW,GAAQ,QAARqE,EAANrE,EAAQsE,cAAM,IAAAD,OAAR,EAANA,EAAgB46D,QACjDC,EAAOliE,cAAYkiE,KACnBvgE,EAAWy7D,YAAe,WAC1Bp1D,EAAQC,eACR,QAAEO,EAAO,OAAED,GAAWE,cACtBg3B,EAAMh8B,IAAA,CACV,YAAa+E,EACb,WAAYD,EACZw5D,OACA/5D,SACIi6D,EAAU,CAAEA,WAAY,CAAC,GAGzBC,EAAO,CAAEA,QAAS,CAAC,GAEzBzC,EAAS,CACP99D,WACA29D,OAAQ,8BACR7/B,SACA5D,OAAQ,aACR35B,KAAM,QACN,EASSigE,EAAgC35C,IAIhC,IAJiC,QAC5C4T,GAGD5T,EAMCjoB,IAAOE,KAAK,6BAA8B,CACxCo7B,OAAQ,wBACRh7B,WAAY,UACZC,gBAAiB,4BAGnB86B,EAAS,CACP2gB,iBAAkB,CAChB6lB,iBAZqB,UAarBC,OAXW,EAYXC,kBAbqB,GAevBjF,IAAK,SACLxhC,OAAQO,GACR,EAMSokC,EAAkDA,KAC7D,MAAM+B,EAAiBpjB,cACnBqjB,IAAgBte,sBAChBse,IAAgBre,+BAEpBC,IAAQqe,UAAUne,IAAiBoe,QAASC,IAAcC,GAAIL,EAAe,C,+3BE1f/E,MAmCMM,EAAoC,CACxCC,SAAU,KACVC,QArC2BC,MAG3B,GAAI55C,IACF,OAAO65C,QAAQC,UAGjB,MAAMC,EAAczhE,cAAaD,IAAI2hE,mBAKrC,OAJA7iE,IAAOC,KAAK,4BAA6B,CACvC2F,IAAKg9D,IAGAhmB,YAAUgmB,GACdn5D,MAAK84D,GAAaD,EAAiBC,SAAWA,IAC9C74D,OAAM8vB,IAQLx5B,IAAOiF,MAAM,mCACbq9D,EAAiB1wC,UAAW,CAAI,GAChC,EAaK6wC,IAILK,EAAoB7/D,IAA6B,IAADo5B,EAEpD,MAAMp3B,EAAY,OAAJhC,QAAI,IAAJA,GAAY,QAARo5B,EAAJp5B,EAAMssB,cAAM,IAAA8M,OAAR,EAAJA,EAAe,GAC7B,GAAIp3B,EACF,MAAMA,CACR,EAmBI89D,EAAgB17C,IAAgD,IAA/C,QAAEpf,EAAO,SAAEi2B,GAA8B7W,EAC9D,MAAM,SAAE27C,EAAQ,KAAEC,GAbOljE,KAAgD,IAADmjE,EAAA,IAA9C,QAAEj7D,EAAO,SAAEi2B,GAA8Bn+B,EACnE,MAAMoI,EAAG,GAAAhI,OAAM8H,EAAO,KAAA9H,OAAI+9B,GACpB+kC,EAAQp6C,IAA2C,GAAV,QAA5Bq6C,EAAGZ,EAAiBC,gBAAQ,IAAAW,OAAA,EAAzBA,EAA4B/6D,GAIlD,MAAO,CACL66D,SAAU,GAAA7iE,OAAG+9B,EAAQ,KAAA/9B,OAAI8iE,EAAI,SAAQnrC,QAAQ,KAAM,KACnDmrC,OACD,EAI0BE,CAAmB,CAAEl7D,UAASi2B,aACzD,MAAO,CACL+kC,OACAr9D,IAAI,GAADzF,OAAKgB,cAAaD,IAAIkiE,iBAAejjE,OAAG8H,EAAO,KAAA9H,OAAI6iE,GACvD,EAGGxc,EAAiBA,CAACpqB,EAAmBn3B,KACzCjF,IAAOiF,MAAM,GAAD9E,OAAIi8B,EAAS,UAAU,CACjCP,QAAS52B,EAAM42B,UAGjBs9B,aAAwB,EAuBbkK,EACXC,GAK+BhB,EAAiBE,QAClB/4D,MAAK,KACjC,GAAI64D,EAAiB1wC,SAEnB,OADA5xB,IAAOiF,MAAM,iCACNk0D,cAGT,MAAM,QAAElxD,EAAO,SAAEi2B,GA9BAkpB,KACnB,MAAMmc,EAAWr7D,cACXD,GAAmB,OAATm/C,QAAS,IAATA,OAAS,EAATA,EAAWn/C,UAAWs7D,EAASt7D,QACzCi2B,GAAoB,OAATkpB,QAAS,IAATA,OAAS,EAATA,EAAWlpB,WAAYqlC,EAASrlC,SAGjD,MAAO,CACLj2B,UACAi2B,WACAl2B,OALU,GAAA7H,OAAM+9B,EAAQ,KAAA/9B,OAAI8H,GAM7B,EAoB+Bu7D,CAAYF,IACpC,KAAEL,EAAMr9D,IAAK69D,GAAeV,EAAc,CAAE96D,UAASi2B,aACrD6jB,EAAa,CACjB0hB,aACAR,OACAj7D,OAAO,GAAD7H,OAAK+9B,EAAQ,KAAA/9B,OAAI8H,IAEzB,OAAO20C,YAAU6mB,GACdh6D,MAAKgX,IACJzgB,IAAOC,KAAK,+BAAgC8hD,GAC5C2hB,YAAmB,CAAEjjD,UAASwiD,QAAO,IAEtCv5D,OAAMzE,IACLjF,IAAOiF,MAAM,yBAAwB/B,IAAA,GAChC6+C,GAAU,IACblmB,QAAS52B,EAAM42B,WAEjBs9B,aAAwB,GACxB,IAQKwK,EACXL,GAEOD,EAAaC,GAAiB75D,KAAKm6D,KAU/BC,EAA0BA,KACrC,MAAQ79B,IAAKsa,EAAYp+B,GAAImgB,GAAcrgB,IAASyb,aACpD4E,EAAUyhC,qBAAoB,GAE9B,MAAM,QAAE77D,EAAO,SAAEi2B,EAAQ,OAAEl2B,GAAWE,eAC9B89B,IAAK2I,EAAU5M,KAAMC,GAAchgB,IAASC,YAC9C,gBAAEq9B,GAAoB3Q,EAEvBo1B,YAA0B/7D,IAM7BhI,IAAOC,KAAK,yBAA0B,CAAE+H,WACxC47D,cACAvhC,EAAUyhC,qBAAoB,KAP9B9jE,IAAOC,KAAK,yBAA0B,CAAE+H,WACxC27D,IAAuBl6D,MAAK,KAC1B44B,EAAUyhC,qBAAoB,EAAM,KAYrCxkB,EAAgB0kB,YAAYh8D,IAC5Bs3C,EAAgB2kB,oBAAoBj8D,IACpCs3C,EAAgBC,QAAQ5P,iBAEzB3vC,IAAOC,KAAK,yBAA0B,CAAE+H,WACxCgvC,IACGO,MAAM,CACLA,MAAO2sB,IACPzsB,UAAW,CACT7Y,YAAa32B,EACb42B,aAAcX,EACdimC,oBAAqBl8D,KAGxBwB,MAAKke,IAAe,IAAd,KAAE1kB,GAAM0kB,EACbm7C,EAAiB7/D,GAEjB,MAAM,eAAE0H,EAAiB,CAAC,GAAM1H,EAC1Bq8C,EAAkB8kB,YAAmBz5D,EAAgB1C,GAC3Dq4C,EAAW+jB,mBAAmB/kB,EAAgB,IAE/C51C,OAAMzE,IACLuhD,EAAe,mCAAoCvhD,EAAM,KAO/D,MAAQ4sB,MAAOyyC,GAAoBtiC,EAAU8M,gBAAgB7mC,QAE3Dq8D,IAAoBr8D,GACnBq3C,EAAgBC,QAAQ5P,YAAkB20B,MAE3CtkE,IAAOC,KAAK,yBAA0B,CACpCgI,QAASq8D,EACTpmC,aAEF8Y,IACGO,MAAM,CACLA,MAAOgtB,IACP9sB,UAAW,CACT7Y,YAAa0lC,EACbzlC,aAAcX,KAGjBz0B,MAAKoe,IAAe,IAAd,KAAE5kB,GAAM4kB,EACbi7C,EAAiB7/D,GAEjB,MAAQ0H,eAAgBhC,GAAa1F,EAC/BuhE,EAAcC,YAA6B97D,EAAS42C,SAC1De,EAAWokB,mBAAmB,CAC5Bv8D,IAAKwnC,YAAkB20B,GACvBv8D,QAASy8D,GACT,IAEH96D,OAAMzE,IACLuhD,EAAe,mBAAoBvhD,EAAM,IAE/C,C,u3BC5NF,MAAMyqC,EAAsCA,CAK1C6P,EACAzB,KAEA,MAAQ9X,IAAK2I,GAAa3sB,IAASC,YAC3Bs9B,QAASolB,GAAoBh2B,EAAS2Q,iBACxC,OAAEvB,EAAS,IAAO4mB,EAAgB7mB,IAAmB,CAAC,EAEvDC,EAAOp9C,QACVX,KAAOC,KAAK,8CAA+C,CACzDooC,YAAaxB,YAAW0Y,EAAS,WAAa,WAAa,UAC3DqlB,aAAc9mB,EACd+mB,cAAeh6D,OAAO47B,KAAKk+B,KAsB/B,OAlBe5mB,EAAOrX,QACpB,CAAC+G,EAAK1tC,KAA4B,IAA1B,KAAEX,EAAI,WAAEiwB,GAAYtvB,EAC1B,MAAM4mC,EAAQ4Y,EAAQngD,IAAS,CAAC,EAWhC,OATsBI,QACpBmnC,GACE,UAAWA,GACY,kBAAhBA,EAAM9U,OACb8U,EAAM9U,MAAMlxB,SAEK0uB,KACnBoe,EAAMruC,GAAQmgD,EAAQngD,IAEjBquC,CAAK,GAEd,CAAC,EAGU,EAmBToD,EAAuCxpB,IAAA,IAAC,eAC5CiiB,EAAc,UACdjE,EAAS,SACTC,GAC2Cje,EAAA,OAAAnkB,EAAA,CAC3C0sC,eAAgBtG,EAAesG,eAC/B3nC,QAAS,CACPmpB,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,GACX4S,SAAS,EACTlqB,SAAS,EACTqC,MAAO3pB,cAAYD,SAErBo9B,UAASniC,EAAA,GAAOmiC,GAChBC,SAAQpiC,EAAA,GAAOoiC,IACZsL,YAAmBtH,GAAe,EAIjCw7B,EAAwB/jE,IAC5B,MAAM2hD,EAAe,kCACfzgD,EAAQlB,EAAGkB,MAAMygD,GAEvB,MAAO,CACLra,YAFkBpmC,EAASA,EAAM,GAAqB,KAGtD2kC,eAAgB8b,EAAarjD,KAAK0B,GACnC,EAUG8uC,EACJ0P,IACoB,IAADwlB,EAAAC,EACnB,MAAO,CACLp1B,eAAgB,CACdq1B,iBAAyB,OAAP1lB,QAAO,IAAPA,GAAyB,QAAlBwlB,EAAPxlB,EAAS0lB,wBAAgB,IAAAF,OAAlB,EAAPA,EAA2BlzC,MAC7CqzC,eAAuB,OAAP3lB,QAAO,IAAPA,GAAsB,QAAfylB,EAAPzlB,EAAS4lB,qBAAa,IAAAH,OAAf,EAAPA,EAAwBnzC,OAE3C,EAGGuzC,EAAwBA,CAC5B7lB,EACA8lB,KAEA,MACEr/B,KAAK,gBAAEsZ,IACLt9B,IAASC,YACP,OAAE87B,GAAWuB,EAAgBC,QAAQ8lB,IAAe,CAAC,EAC3D,OAAKtnB,EAOEA,EAAOrX,QAAO,CAAC+G,EAAK9lB,KAAgB,IAAd,KAAEvoB,GAAMuoB,EACnC,GAAIkf,YAAW0Y,EAASngD,GAAO,CAG7B,MAAMyyB,EACK,eAATzyB,EACIkmE,YAAU/lB,EAAQngD,GAAMyyB,QAChB,OAAP0tB,QAAO,IAAPA,OAAO,EAAPA,EAAUngD,IAA4ByyB,MAC7C4b,EAAMruC,GAAQyyB,EAAM2X,MACtB,CACA,OAAOiE,CAAK,GACX,CAAC,IAjBFztC,KAAOiF,MAAM,2CAA4C,CACvD2/D,aAAcS,EACdR,cAAeh6D,OAAO47B,KAAK6Y,EAAgBC,WAEtCA,EAaE,EAIPhW,EACJtmC,IAKA,MAAMujC,EAAmC,CAAC,GACpC,QAAEv+B,GAAYC,cAEM,IAADq9D,EAAAC,EAwBIC,EAAAC,EAxBzBziE,EAAKqmC,iBACP9C,EAAc8C,eAAcpmC,IAAA,GACvBkiE,EAAsBniE,EAAKqmC,eAAgBqG,gBAAoB,IAClEC,eAAgB3sC,EAAKqmC,eAAesG,eACpC3nC,UACA09D,WAA+B,QAArBJ,EAAEtiE,EAAKqiC,SAASzT,aAAK,IAAA0zC,OAAA,EAAnBA,EAAqB/7B,OACjCo8B,UAA+B,QAAtBJ,EAAEviE,EAAKoiC,UAAUxT,aAAK,IAAA2zC,OAAA,EAApBA,EAAsBh8B,UAIrC,GAAIvmC,EAAK6rC,gBAAiB,CAAC,IAAD+2B,EAAAC,EACxB,MAAQj0C,MAAOk0C,GAAgB9iE,EAAK6rC,gBAAgB7mC,QACpDu+B,EAAcsI,gBAAe5rC,IAAA,GACxBkiE,EACDniE,EAAK6rC,gBACLa,YAAkBo2B,KACnB,IACDn2B,eAAgB3sC,EAAK6rC,gBAAgBc,eACrC3nC,QAAS89D,EACTJ,WAA+C,QAArCE,EAAE5iE,EAAK6rC,gBAAgBxJ,SAASzT,aAAK,IAAAg0C,OAAA,EAAnCA,EAAqCr8B,OACjDo8B,UAA+C,QAAtCE,EAAE7iE,EAAK6rC,gBAAgBzJ,UAAUxT,aAAK,IAAAi0C,OAAA,EAApCA,EAAsCt8B,QAErD,CAEIvmC,EAAKmsC,qBACP5I,EAAc4I,mBAAkBlsC,IAAA,GAC3BkiE,EAAsBniE,EAAKmsC,mBAAoBO,gBAAoB,IACtEC,eAAgB3sC,EAAKqmC,eAAesG,eACpC3nC,UACA09D,WAA+B,QAArBF,EAAExiE,EAAKqiC,SAASzT,aAAK,IAAA4zC,OAAA,EAAnBA,EAAqBj8B,OACjCo8B,UAA+B,QAAtBF,EAAEziE,EAAKoiC,UAAUxT,aAAK,IAAA6zC,OAAA,EAApBA,EAAsBl8B,UAIrC,OAAOhD,CAAa,C,m3BCxNf,MAAM5L,EAAO,CAClBC,QAAS,WAGEC,EAAS,CACpBkrC,qBAAsB,uBACtBC,oBAAqB,sBACrBC,yBAA0B,gCAC1BnrC,uBAAwB,yBACxBorC,gBAAiB,kBACjBC,mBAAoB,qBACpBC,qBAAsB,0BACtBC,iBAAkB,yBAGdC,EAA2B,CAAC,EAE5BC,EAAQ,CACZj6D,OAAQ,CACN,CAACuuB,EAAOkrC,uBAAuB,EAC/B,CAAClrC,EAAOC,yBAAyB,GAEnC0rC,kBAAkB,EAClB9rC,wBAAwB,EACxB+rC,+BAA+B,GAiDpBC,EAA+BA,CAC1C/5D,EACA5J,EACA4jE,KACU,IAADnkE,EAAAwE,EAAA4/D,EAAA58D,EAAA68D,EAAA18D,EAAA28D,EAET,MAAAhnE,GAA8C,QAAN0C,EAAAX,cAAM,IAAAW,OAAA,EAANA,EAAQukE,YAAa,CAAC,GAAxD,KAAEC,EAAI,MAAE1vB,EAAK,MAAE2vB,GAAgBnnE,EAANytB,EAAIrqB,IAAApD,EAAAqD,GA9BM6jE,KACzC,MAAM/nC,EAASz/B,cACf,GAAU,OAANy/B,QAAM,IAANA,KAAQioC,KAAM,CAChB,MAAMC,EAAYloC,EAAOioC,KACnBE,GAAeC,OAAOznC,MAAMunC,GAElC,GAAIH,GAAQI,EAAa,CAEvB,MAAMF,EAAO5+B,SAAS6+B,GAEhBG,EADU/+D,KAAKC,MACO0+D,EAIxBI,EAF0B,QAG5BN,EAAKO,0BAA4B,CAC/BhvB,MAAO2uB,EACP9jE,GAAIkkE,GAGV,CACF,GAUAE,CAAkCR,GAClC,MAAMS,EAAiBxkE,IAAA,CACrBykE,iBAAkB,UAClBvtC,UAAW,oBAEXwtC,kBAAmBC,KAAKC,WAAgB,QAAN7gE,EAAAnF,cAAM,IAAAmF,GAAW,QAAX4/D,EAAN5/D,EAAQ+/D,iBAAS,IAAAH,OAAX,EAANA,EAAmBK,QAAS,CAAC,GAE/Da,iBAAkBF,KAAKC,WAAgB,QAAN79D,EAAAnI,cAAM,IAAAmI,GAAW,QAAX68D,EAAN78D,EAAQ+8D,iBAAS,IAAAF,OAAX,EAANA,EAAmBG,OAAQ,CAAC,GAE7De,kBAAmBH,KAAKC,WAAgB,QAAN19D,EAAAtI,cAAM,IAAAsI,GAAW,QAAX28D,EAAN38D,EAAQ48D,iBAAS,IAAAD,OAAX,EAANA,EAAmBxvB,QAAS,CAAC,GAC/D0wB,UAAU,8CAAD9nE,OAAgDyM,GACzDtM,WAAY,sBACZC,gBAAiBqmE,GACdp5C,GAAI,IACP06C,qBAAsBllE,IAGxBhD,IAAOE,KAAK,sBAAuBwnE,EAAkB,EAG1CS,EAAe,WAAH,IAAI17D,EAAK/L,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAI2lC,EAAc3lC,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAA,OACpD4lE,EAAMj6D,OAAOE,GAAS45B,CAAK,EAyCjB1L,EAAyB,WAAkC,IAAjC/tB,EAAIlM,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAI+L,EAAK/L,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAMxD,GALI+L,IAAUquB,EAAOsrC,mBACnB+B,EAAartC,EAAOkrC,sBAAsB,GAE1CmC,EAAa17D,GAAO,GA7BqBG,IAEvCA,IAASw7D,IAET5B,EAAME,+BACNF,EAAMj6D,OAAOuuB,EAAOC,wBAKtByrC,EAAM7rC,wBACN6rC,EAAMj6D,OAAOuuB,EAAOkrC,uBACpBQ,EAAMj6D,OAAOuuB,EAAOC,wBAmBlBstC,CAA6Bz7D,GAC/B,GAVK45D,EAAMC,iBAWTzmE,IAAOC,KAAK,kDAADE,OACyCyM,EAAI,cAEnD,CACL,MAAM5J,EAAiB8B,cACvB9E,IAAO4I,IAAIrG,eAAe,CACxBg4C,OAAO,GAADp6C,OAAKyM,EAAI,gBACfA,KAAK,8CAADzM,OAAgDyM,GACpD5J,iBACAslE,OAAO,UAADnoE,OAAYyM,GAClB27D,OAAQ,SAEVvoE,IAAOC,KAAK,2BAADE,OAA4ByM,EAAI,UA3DL47D,EAC1CniC,EACAz5B,KAGIA,IAASw7D,KACXpoE,IAAOC,KAAK,mDAADE,OAAoDkmC,IAC/DmgC,EAAME,8BAAgCrgC,IAEtCrmC,IAAOC,KAAK,2CAADE,OAA4CkmC,IACvDmgC,EAAM7rC,uBAAyB0L,EACjC,EAmDImiC,EAA6B,EAAO57D,GAEpC+5D,EAA6B/5D,EAAM5J,EAAgByJ,EACrD,CAEJ,EAMag8D,EAA2BC,IACtCnC,EAAoBmC,GAAsBlgE,KAAKC,KAAK,EAGzCkgE,EAA8BA,CACzC/7D,EACA87D,KAEA,MAAME,EAAYrC,EAAoBmC,GACjCE,GACH5oE,IAAOC,KAAK,iDAADE,OACwCuoE,IAIrD,MAAM1lE,EAAiBwF,KAAKC,MAAQmgE,EAEpC5oE,IAAO4I,IAAIrG,eAAe,CACxBg4C,OAAO,GAADp6C,OAAKyM,EAAI,gBACfA,KAAK,8CAADzM,OAAgDyM,GACpD5J,iBACAslE,OAAO,UAADnoE,OAAYyM,GAClB27D,OAAQ,SAGV5B,EAA6B/5D,EAAM5J,EAAgB0lE,EAAmB,C,oeC5MxE,MAAMG,EACuB,CACzBC,eAAiBC,IACf/oE,IAAOE,KAAK,4BAADC,OAA6B4oE,GAAW,CACjDzoE,WAAY,uCACZC,gBAAgB,4BAADJ,OAA8B4oE,IAC7C,G,YCID,MAAMC,EAA4BA,KACvC,MAAQC,mBAAoBC,GAC1BpvB,cACIqvB,EAAyBzhD,YAAkB,CAC/CV,QAAS,mCACTM,UAAW,kCAGb,OAAO9nB,QAAQ2pE,GAA0BD,EAAyB,EAGvDE,EAAyCA,KACpD,MAAQH,mBAAoBC,GAC1BpvB,cACIqvB,EAAyBzhD,YAAkB,CAC/CV,QAAS,mCACTM,UAAW,kCAGb,OAAO9nB,QAAQ2pE,IAA2BD,EAAyB,EAkBxDG,EAAsCA,KACjD,MAAM,mBAAEC,GAAuBlkE,cACzBksD,EAjB8CiY,MACpD,MAAMC,EAAmCjiD,YACvC,2CAGIkiD,EAA8B/hD,YAAkB,CACpDV,QAAS,+BACTM,UAAW,gCAGb,OACE9nB,QAAQgqE,IAAqCC,CAA2B,EAMnDF,GACjB/gD,EAAgBwgD,IAEtB,OAAQM,IAAuB9gD,GAAiB8oC,CAAc,EAGnDoY,EAAwCA,KAEnD,MAAMC,EAAwCjiD,YAAkB,CAC9DV,QAAS,iCACTM,UAAW,gCAGPkB,EAAgBwgD,IAEtB,OAAOW,IAA0CnhD,CAAa,EAYnDohD,EAA0CA,KAIrD,MAAM,gBACJC,EAAe,MACf1kE,EAAK,kBACL2kE,EAAiB,iBACjBC,EAAgB,qBAChBC,GACE5kE,cAEE6kE,EAAyB1iD,YAC7B2Z,IAAWI,6CAuBb,MAb2B,CACzB,CAAE4oC,YAAa/kE,EAAOm2B,OAAQ,YAC9B,CAAE4uC,WATiB3iD,YAAa2Z,IAAWC,6BASf7F,OAAQ,gBACpC,CAAE4uC,WAAY1qE,QAAQsqE,GAAoBxuC,OAAQ,qBAClD,CAAE4uC,WAAY1qE,QAAQuqE,GAAmBzuC,OAAQ,oBACjD,CACE4uC,WAAY1qE,QAAQwqE,GACpB1uC,OAAQ,wBAEV,CAAE4uC,YAAaL,EAAiBvuC,OAAQ,sBACxC,CAAE4uC,WAAYD,EAAwB3uC,OAAQ,0BAGvB,EAMd6uC,EAAwCA,IAClBP,IACDp1B,MAAKz0C,IAAA,IAAC,WAAEmqE,GAAYnqE,EAAA,OAAKmqE,CAAU,IAQxDE,EAA8BA,KACzC,MAAM,MAAEjlE,EAAK,kBAAE2kE,EAAiB,iBAAEC,EAAgB,qBAAEC,GAClD5kE,cAiBF,MARqB,CACnBD,EARyBoiB,YACzB2Z,IAAWE,qCASV0oC,GACAC,GACAC,GAGiBzpC,OAAM8pC,GAAeA,GAAY,EAM1CC,EAAgCA,KAC3C,MAAM,QAAEriE,GAAYC,cAEdqiE,EAAqB7iD,YAAkB,CAC3CV,QAASka,IAAWM,yBACpBla,UAAW,oCAEPkjD,EAAuBC,IAcvBC,EAZ2B,IAC5Bd,IACH,CAAEM,WAAYK,EAAoBjvC,OAAQ,sBAK1C,CAAE4uC,WAAYM,EAAsBlvC,OAAQ,wBAC5C,CAAE4uC,WAAYjiE,IAAY6d,IAAa6kD,GAAIrvC,OAAQ,YACnD,CAAE4uC,WAAYjiE,IAAY6d,IAAa0O,GAAI8G,OAAQ,cAGFx7B,MACjDunB,IAAA,IAAC,WAAE6iD,GAAY7iD,EAAA,OAAK6iD,CAAU,IAGhC,GAAIQ,EAAmB,CACrB,MAAM,OAAEpvC,GAAWovC,EAEnB,OADA7B,EAA+BC,eAAe,cAAD3oE,OAAem7B,KACrD,CACT,CAGA,OADAutC,EAA+BC,eAAe,aACvC,CAAI,EAmCA8B,EAAqBA,KAChC,MAAM,cAAEC,GAAkBzlE,cACpB0lE,EAAsBC,cACtBC,EACJC,YAAsCH,GAElCI,EAAiB3jD,YAAa,oCAK9B4jD,EAAiCV,IAEvC,OACGI,IACAG,IACAE,IACAC,GA3CwBC,MAC3B,MAAM,QAAEnjE,GAAYC,eACd,gBAAE2hE,EAAe,MAAE1kE,GAAUC,cAG7BimE,EAAW7rE,QACfyI,IAAY6d,IAAagR,IAAM+yC,IAAoB1kE,GAG/CmmE,EAAY9rE,SACf2qE,KACCziD,YAAkB,CAChBV,QAASka,IAAWM,yBACpBla,UAAW,qCAIjB,OAAO+jD,GAAYC,CAAS,EA2B1BF,EAAe,EAING,EAAiCA,KAC5C,MAAM7T,EAAyBhwC,YAAkB,CAC/CV,QAAS,+BACTM,UAAW,6BAGPc,EAAiBwiD,IACjBpiD,EAAgBwgD,IAEtB,OAAOtR,IAA2BtvC,IAAmBI,CAAa,EAGvDiiD,EAAmCA,KAC9C,MAAM,gBAAEZ,GAAoBzkE,cACtBsyD,EAAyBhwC,YAAkB,CAC/CV,QAAS,iCACTM,UAAW,+BAEPkB,EAAgBwgD,IAChBwC,EAAiB9jD,YAAkB,CACvCV,QAAS,mCACTM,UAAW,kBAEPmkD,EAA6BrC,IAEnC,OACE5pE,QAAQqqE,IACRnS,IACClvC,IACAgjD,IACAC,CAA0B,EAIlBC,EAAoCA,KAC/C,MAAMpa,EAAiB5pC,YAAkB,CACvCV,QAAS,2BACTM,UAAW,uBAGb,OAAQ6iD,KAA2C7Y,CAAc,EAGtDqa,EAAmCA,KAC9C,MAAMC,EAAkBlkD,YAAkB,CACxCV,QAAS,iCACTM,UAAW,6BAEPukD,EAAmBnkD,YAAkB,CACzCV,QAAS,qCACTM,UAAW,kCAGPwkD,EAAmCrB,IACnCsB,EAAiBR,IACvB,OACGK,GAAmBC,KACnBC,GAAoCC,EAAe,EAI3CC,EAAkCA,KAC7C,MAAMC,EAA0B1kD,YAC9B2Z,IAAWG,8BAEb,OAAO7hC,QAAQysE,EAAwB,C,8NChSlC,MAAMC,EAAchjD,YAAOijD,IAAPjjD,CAAqBpb,MAAAC,IAAA,0BACpChO,IAAA,IAAC,SAAEwzD,GAAUxzD,EAAA,OAAMwzD,EAAW,gBAAkB,UAAU,IAGzD6Y,EAAWljD,YAAOmjD,IAAPnjD,CAAkB/a,MAAAJ,IAAA,iCAI7BiuD,EAAiB9yC,IAAO4C,GAAEvC,MAAAxb,IAAA,uOAC5BsZ,IAAA,IAAC,MAAElF,GAAOkF,EAAA,OAAKlF,EAAMhD,WAAWO,UAAU7D,KAAK,IAC3C8L,IAAA,IAAC,SAAEpK,GAAUoK,EAAA,OAAKpK,GAAY,MAAM,IAElCsK,IAAA,IAAC,WAAEnJ,GAAYmJ,EAAA,OAAKnJ,GAAc,GAAG,IACrCuJ,IAAA,IAAC,WAAEtJ,EAAa,MAAMsJ,EAAA,OAAKtJ,CAAU,IACnCsN,IAAA,IAAC,aAAEsE,GAActE,EAAA,OAAKsE,GAAgB,MAAM,IAC/ClE,IAAA,IAAC,UAAEigD,GAAWjgD,EAAA,OAAKigD,CAAS,IAC5BhgD,IAAA,IAAC,UAAEV,GAAWU,EAAA,OAAKV,CAAS,IAG3BW,IAAA,IAAC,SAAEhP,GAAUgP,EAAA,OAAKhP,GAAY,MAAM,IAIxCgvD,EAAsBrjD,IAAO8C,GAAEvC,MAAA1b,IAAA,6GACjCQ,KAYEi+D,EAAoBtjD,IAAO8C,GAAEpC,MAAA7b,IAAA,iNAC/B0e,IAAA,IAAC,MAAE5Q,GAAO4Q,EAAA,OAAK5Q,GAAStN,GAAwB,IAC5C4e,IAAA,IAAC,SAAE5P,GAAU4P,EAAA,OAAK5P,GAAY,MAAM,IAClC6P,IAAA,IAAC,WAAE1O,GAAY0O,EAAA,OAAK1O,GAAc,GAAG,IACrC2O,IAAA,IAAC,WAAE1O,GAAY0O,EAAA,OAAK1O,GAAc,GAAG,IACnC8tD,IAAA,IAAC,aAAEl8C,GAAck8C,EAAA,OAAKl8C,GAAgB,MAAM,IAC/Cm8C,IAAA,IAAC,UAAEJ,GAAWI,EAAA,OAAKJ,CAAS,IAC5BK,IAAA,IAAC,UAAE/gD,GAAW+gD,EAAA,OAAK/gD,CAAS,IAIzBghD,IAAA,IAAC,WAAEluD,GAAYkuD,EAAA,OAAKluD,CAAU,I,2BCpD1C,MAAMmuD,EAAgB9sE,IAGW,IAHV,OAC5ByvD,EAAM,UACNsd,GACmB/sE,EACnB,MAAMwzD,EAAWpxD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGqxC,QAAQ,IAEtD,OACEjxC,IAAAC,cAACH,IAAoB,KACnBE,IAAAC,cAAC2pD,EAAW,CAACa,MAAO,EAAGxZ,SAAUA,GAC9B/D,GAEFsd,GAAaxqD,IAAAC,cAAC6pD,EAAQ,CAACY,GAAG,KAAKF,GACX,C,6kCCGpB,MAAMG,EAAoC,WAEpB,IAD3BpzC,EAA+Bn5B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEnC,MAAM,UAAEomC,EAAS,UAAEomC,EAAS,UAAE/lC,EAAS,QAAE3X,GAAYqK,EAU/CszC,GAAe1tC,YAAUjQ,IAAYA,EAE3C,MAAO,CACLkkC,WAAYvsB,EACZga,eAAgBgsB,EAAc,IAAM,IACpCC,eAAgBD,EAAc,GAAKrmC,EACnCxmC,WAAY,UACZC,gBAAgB,iBAADJ,OAAmB+sE,GAEtC,EAyBapqB,EAA8B,WAEzB,IAF0B,4BAC1CuC,GAA8B,GAC/B3kD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACH,MAAQqhC,KAAMC,GAAchgB,IAASC,YAC7B4P,MAAOoQ,GAAkBD,EAAUC,eACnCpQ,MAAOif,GAAkB9O,EAAU8O,eACnCjf,MAAOozC,GACbjjC,EAAU8M,gBAAgBm2B,kBACtB,WAAEoI,GAAelsE,cAAasE,eAAe83B,iBAAmB,CAAC,EAEvEv9B,KAAOE,KAAK,+BAA8BgD,EAAA,CACxCoqE,gBAAiBx8B,EACjBy8B,4BAA6BtI,EAC7B3kE,WAAY,UACZuM,OAAQw4C,EAA8B,iBAAmB,mBACzD9kD,gBAAiB,uBACjBitE,YAAaH,EACbzoB,iBAAoC,WAAlB3iB,EAA6B,IAAM,KAxCpBwrC,MACnC,MAAQznC,IAAK2I,EAAU5M,KAAMC,EAAW9f,GAAIsgB,GAAYxgB,IAASC,WAEjE,IAAKugB,EAAQkrC,0BAA2B,CACtC,MAAQC,WAAYnwC,EAAM8hB,gBAAiB7L,GAAU9E,EAErD,MAAO,CACLi/B,oBAAqB,EACrBC,OAAW,OAAJrwC,QAAI,IAAJA,OAAI,EAAJA,EAAM6O,gBAAiBoH,EAAMpH,aAExC,CAEA,MAAM,4BAAEvJ,GAAgCd,GAClC,KAAEkV,EAAI,GAAE42B,GAAOn/B,EAASo/B,uBAE9B,MAAO,CACLC,8BAAmC,OAAJ92B,QAAI,IAAJA,OAAI,EAAJA,EAAM7K,aACrC4hC,6BAA8BnrC,EAC9BorC,4BAA+B,OAAFJ,QAAE,IAAFA,OAAE,EAAFA,EAAIzhC,aACjCuhC,oBAAqB,EACtB,EAqBIH,KAELztE,KAAOmJ,OACT,EAEaglE,EAA0BA,CACrClsC,EACAmsC,KAEA,MAAMrmE,EAAUsmE,YAAwB,CACtC7M,KAAMv/B,EACNqsC,UAAWF,IAGbpuE,KAAOE,KAAK,WAADC,OAAY8hC,EAAa,YAAYl6B,EAAQ,EAG7CwmE,EAAoCA,KAC/CvuE,KAAOE,KAAK,+BAAgC,CAC1CuzD,WAAY,qCACZnzD,WAAYkuE,IAAWpS,QACvB77D,gBAAiB,8BACjB,EAGSgiD,EAAgCA,KAC3CviD,KAAOE,KAAK,uBAAwB,CAClCuzD,WAAY,6BACZnzD,WAAYkuE,IAAWpS,QACvB77D,gBAAiB,8BACjB,EAGSyiD,EAA2CA,KACtDhjD,KAAOE,KAAK,sCAAuC,CACjDuzD,WAAY,sCACZnzD,WAAY,oBACZC,gBAAiB,2BACjB,EAGSkuE,EACX50C,IAEA,MAAM,OAAEhtB,GAAWgtB,EAEnB75B,KAAOE,KAAK,8BAADC,OAA+B0M,GAAM3J,EAAA,CAC9CuwD,WAAY,6BACZnzD,WAAY,WACZuM,SACAtM,gBAAiB,8BACds5B,GACH,EAMS60C,EACX70C,IAEA75B,KAAOE,KAAK,sBAAqBgD,EAAA,CAC/BuwD,WAAY,iCACZnzD,WAAYkuE,IAAWpS,QACvB77D,gBAAiB,uBACds5B,GACH,EAGS80C,EAA4BC,IACvC5uE,KAAOE,KAAK,GAADC,OAAIyuE,EAAO,gBAAgB,CACpCnb,WAAY,oBACZnzD,WAAYkuE,IAAWpS,QACvB77D,gBAAgB,gBAADJ,OAAkByuE,IACjC,EAQEC,EAA4BC,GAC3BA,EAGE,GAFE,sBAKEC,EAA2BhvE,IAMzB,IAN0B,UACvCivE,EAAS,gBACTC,GAIDlvE,EACC,MAAMstE,EAAa6B,eAAuB,SAAW,WACrD,MAAM,eAAN/uE,OAAsB6uE,EAAY,WAAa,IAAE7uE,OAC/C8uE,EAAkB,GAAK,MAAK,eAAA9uE,OAChBktE,EAAU,iBAGb8B,EAA+BA,CAC1CL,EACAG,KACU,IAADG,EAAAC,EACT,MAAM,KAAE7xC,EAAI,SAAE8xC,GAAanuE,cAAasE,eAAe83B,iBAAmB,CACxE+xC,SAAU,CAAC,GAIPC,EAAoB,CACxBC,YAAaV,EACbW,YAJqB,OAAJjyC,QAAI,IAAJA,GAAa,QAAT4xC,EAAJ5xC,EAAMkyC,eAAO,IAAAN,GAAO,QAAPC,EAAbD,EAAeO,aAAK,IAAAN,OAAhB,EAAJA,EAAsBO,gCAKvCC,iBAAkBP,EAASQ,WAC3BC,iBAAkBT,EAASrnE,SAGvB+nE,EAAcf,EAChBM,EAAiBrsE,IAAA,GAEZqsE,GAAiB,IACpBj0C,OAAQuzC,EAAyBC,KAGvC9uE,KAAOC,KACL8uE,EAAyB,CACvBC,WAAW,EACXC,oBAEFe,EACD,EAGU7pB,EAA8BA,KACzC,MAAM,qBAAE8pB,GAAyBjuD,IAASC,WAAWC,GAErDliB,KAAOC,KACL8uE,EAAyB,CACvBC,WAAW,EACXC,gBAAiBgB,IAEpB,EASUC,EAAsCA,KACjDlwE,KAAOE,KAAK,0CAA2C,CACrDuzD,WAAY,iDACZnzD,WAAYkuE,IAAWpS,QACvB77D,gBAAiB,0CACjB,EAUSglD,EAAiC7pB,IAC5C17B,KAAOE,KAAK,+BAAgC,CAC1CuzD,WAAY,yCACZnzD,WAAYkuE,IAAWpS,QACvBvvD,OAAQ6uB,EAAS,UAAY,UAC7Bn7B,gBAAiB,iCACjB,C,6QCvQG,IAAKwjD,EAAgB,SAAhBA,GAAgB,OAAhBA,EAAgB,kBAAhBA,EAAgB,UAAhBA,EAAgB,kBAAhBA,EAAgB,sEAAhBA,CAAgB,MAOhBT,EAAS,SAATA,GAAS,OAATA,EAAS,kBAATA,EAAS,yEAATA,EAAS,qEAATA,EAAS,iEAATA,EAAS,4DAATA,EAAS,+EAATA,CAAS,MAST6sB,EAAY,SAAZA,GAAY,OAAZA,EAAY,uBAAZA,CAAY,MAIZC,EAAY,SAAZA,GAAY,OAAZA,EAAY,kBAAZA,EAAY,iDAAZA,EAAY,oEAAZA,EAAY,uBAAZA,CAAY,MAQZhO,EAAa,SAAbA,GAAa,OAAbA,EAAa,QAAbA,EAAa,cAAbA,EAAa,UAAbA,EAAa,cAAbA,CAAa,MAObiO,EAAa,SAAbA,GAAa,OAAbA,EAAa,cAAbA,EAAa,gBAAbA,CAAa,MAKlB,MAAMC,EAAgB,kBAUhBrO,EAAsC,CACjD1hB,qBAAsB,CACpBgwB,OAAQD,EACRE,KAAMJ,EAAaxsB,gCAErBI,IAAK,CACHusB,OAAQD,EACRE,KAAMJ,EAAaK,WAErB9sB,sBAAuB,CACrB4sB,OAAQD,EACRE,KAAMJ,EAAazsB,uBAErBC,+BAAgC,CAC9B2sB,OAAQD,EACRE,KAAMJ,EAAaxsB,iCAIVF,EAAmD,CAC9DC,sBAAuB,CACrB4sB,OAAQD,EACR3jE,KAAMwjE,EAAaO,eACnBC,WAAYN,EAAcO,MAC1BJ,KAAMJ,EAAazsB,uBAErBC,+BAAgC,CAC9B2sB,OAAQD,EACR3jE,KAAMwjE,EAAaO,eACnBC,WAAYN,EAAcO,MAC1BJ,KAAMJ,EAAaxsB,iCAKVitB,EAAS,CACpBC,aAAcjmE,OAAOq5C,OAAOZ,GAC5BytB,MAAOlmE,OAAOq5C,OAAOksB,GACrBY,UAAWnmE,OAAOq5C,OAAOH,I,umBCzFpB,IAAIF,EAEJ,SAASotB,IACdptB,EAAUqtB,wBAAahuE,EAAC,CAAEqtE,OAAQD,GAAkBO,IAAU9oE,IAC5D,KAAMgB,MAAMyd,QAAQze,IAAYA,EAAQpH,OAAS,GAC/C,OAAO,KAGToH,EAAQyE,SAAQ2kE,IACd,GAAyB,WAArBA,EAAYxvE,KAAmB,CACjC,MAAM,SAAEyvE,GAAaD,EAAYt/C,MAC3Bw/C,EAAanuE,IAAA,GACdiuE,EAAYt/C,OAAK,IACpB5mB,WAAU/H,IAAA,GACLiuE,EAAYt/C,MAAM5mB,YAAU,IAC/BqmE,WAAY,YAEdvmE,gBAAiBqmE,IAEnBpxE,IAAO2J,aAAa0nE,EACtB,IACA,GAEN,C,qMCxBO,MAAME,EAAiBxyB,YAAGjxC,MAAAC,IAAA,oI,MCA1B,MAAMyjE,EAA2BzyB,YAAGjxC,MAAAC,IAAA,ya,MCGpC,MAAM0jE,EAAkC1yB,YAAGjxC,MAAAC,IAAA,m5B,MCF3C,MAAM2jE,EAA+B3yB,YAAGjxC,MAAAC,IAAA,wT,4gCCClCs/C,EAAY,WAMkB,IAADttD,EAAAW,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAA3B,CAAC,GANU,cACxBixE,EAAgB,UAAS,WACzBC,EAAa,KAAI,YACjBC,EAAc,YAAW,UACzBC,EAAY,MAEF/xE,EADPgyE,EAAQ5uE,IAAApD,EAAAqD,GAEX,OACEkf,IAAAC,cAAA,MAAAkL,IAAA,CACEtpB,MAAO2tE,EACP9tE,OAAQ4tE,EACRI,QAASH,EACTI,KAAK,OACLC,MAAM,8BACFH,GAEJzvD,IAAAC,cAAA,QACE4vD,EAAE,8pBACFF,KAAMN,IAId,ECxBapkB,EAAgBA,IAC3BjrC,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,KAAG6vD,SAAS,0BACV9vD,IAAAC,cAAA,UAAQ8vD,GAAG,UAAUC,GAAG,KAAKL,KAAK,UAAUM,EAAE,QAEhDjwD,IAAAC,cAAA,QACE4vD,EAAE,2WACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,0WACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACEve,OAAO,KACPjD,GAAG,mBACHyxE,UAAU,iBACVjU,MAAO,CAAEkU,SAAU,SACnBtuE,MAAM,KACNuuE,EAAE,KACFC,EAAE,MAEFrwD,IAAAC,cAAA,QACE4vD,EAAE,0WACFF,KAAK,aAGT3vD,IAAAC,cAAA,KAAGy2C,KAAK,0BACN12C,IAAAC,cAAA,QACE4vD,EAAE,oEACFF,KAAK,aAGT3vD,IAAAC,cAAA,QACE4vD,EAAE,0OACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,kNACFF,KAAK,YAEP3vD,IAAAC,cAAA,YACED,IAAAC,cAAA,YAAUxhB,GAAG,oBACXuhB,IAAAC,cAAA,QACE0vD,KAAK,QACLjuE,OAAO,KACP4uE,UAAU,sBACVzuE,MAAM,UCtDH0uE,EAAgBA,IAC3BvwD,IAAAC,cAAA,OACE2vD,MAAM,6BACN/tE,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,QAEL3vD,IAAAC,cAAA,UAAQ8vD,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAKN,KAAK,YACpC3vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,mUACFF,KAAK,WCZExkB,EAAWA,IACtBnrC,IAAAC,cAAA,OAAK0vD,KAAK,OAAOD,QAAQ,YAAYE,MAAM,8BACzC5vD,IAAAC,cAAA,UAAQ8vD,GAAG,UAAUC,GAAG,UAAUL,KAAK,UAAUM,EAAE,YACnDjwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,+kBACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,irBACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACE4vD,EAAE,oEACFa,OAAO,UACPC,cAAc,QACdC,eAAe,QACfC,YAAY,a,8EClBLtlB,EAAc,WAMgB,IAAD9tD,EAAAW,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAA3B,CAAC,GANY,cAC1BixE,EAAgB,UAAS,WACzBC,EAAa,KAAI,YACjBC,EAAc,YAAW,UACzBC,EAAY,MAEF/xE,EADPgyE,EAAQ5uE,IAAApD,EAAAqD,GAEX,OACEkf,IAAAC,cAAA,MAAAkL,IAAA,CACEtpB,MAAO2tE,EACP9tE,OAAQ4tE,EACRI,QAASH,EACTI,KAAK,OACLC,MAAM,8BACFH,GAEJzvD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,+dACFF,KAAMN,IAId,E,YCzBA,MAKa3nD,EAAcjqB,IAAA,IAAC,SAC1BR,GAGDQ,EAAA,OACCuiB,IAAAC,cAAA,OACEpe,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAG5yE,EAjBP,8TAFA,+TAoBI0yE,KAAMjxD,MAEJ,ECzBK8N,EAAcA,IACzBxM,IAAAC,cAAA,OACE,kBAAgB,eAChB6wD,KAAK,MACLpvE,OAAO,KACPG,MAAM,KACN6tE,QAAQ,aAER1vD,IAAAC,cAAA,QACEuwD,SAAS,UACTX,EAAE,0MACFY,SAAS,aCXFM,EAAaA,IACxB/wD,IAAAC,cAAA,OACE2vD,MAAM,6BACN/tE,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,QAEL3vD,IAAAC,cAAA,UAAQ8vD,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAKN,KAAK,YACpC3vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,k/BACFF,KAAK,aCbE9jB,EAAWA,IACtB7rC,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,UAAQ8vD,GAAG,UAAUC,GAAG,UAAUL,KAAK,UAAUM,EAAE,YACnDjwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,iNACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACE4vD,EAAE,gJACFF,KAAK,QACLqB,YAAY,SAEdhxD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,2uBACFF,KAAK,QACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,qaACFF,KAAK,QACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACE4vD,EAAE,6RACFF,KAAK,aClCE5jB,EAAaA,IACxB/rC,IAAAC,cAAA,OACEpe,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,iQACFF,KAAK,aCTElkB,EAAW,WAAH,IAAI,YACvBwlB,EAAc,WACJ7yE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OACf4hB,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,8TACFF,KAAMsB,EACNT,SAAS,YAEP,E,2DChBK7kB,EAAa,WAAH,IAAAluD,EAAAW,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAMR,CAAC,GANW,cACzBixE,EAAgB,UAAS,WACzBC,EAAa,KAAI,YACjBC,EAAc,YAAW,UACzBC,EAAY,MAEF/xE,EADPgyE,EAAQ5uE,IAAApD,EAAAqD,GAAA,OAEXkf,IAAAC,cAAA,MAAAkL,IAAA,CACEtpB,MAAO2tE,EACP9tE,OAAQ4tE,EACRI,QAASH,EACTI,KAAK,OACLC,MAAM,8BACFH,GAEJzvD,IAAAC,cAAA,QACE4vD,EAAE,8pBACFF,KAAMN,IAEJ,ECrBKpjB,EAAYA,IACvBjsC,IAAAC,cAAA,OAAK0vD,KAAK,OAAOD,QAAQ,YAAYE,MAAM,8BACzC5vD,IAAAC,cAAA,WAAS8vD,GAAG,SAASC,GAAG,UAAUL,KAAK,UAAUuB,GAAG,SAASC,GAAG,YAChEnxD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,+JACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,0NACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,yOACFF,KAAK,OACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACE4vD,EAAE,otBACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,kLACFF,KAAK,OACLa,SAAS,aC7BFY,EAAkBA,IAC7BpxD,IAAAC,cAAA,OACEpe,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,YACLC,MAAM,8BAEN5vD,IAAAC,cAAA,KAAGxhB,GAAG,uBACJuhB,IAAAC,cAAA,QACE2vD,MAAM,6BACNS,EAAE,KACFD,EAAE,KACFvuE,MAAM,KACNH,OAAO,KACPiuE,KAAK,YAEP3vD,IAAAC,cAAA,QACExhB,GAAG,QACH+xE,SAAS,UACTC,SAAS,UACTZ,EAAE,+tBACFF,KAAK,cCvBA0B,EAAkBA,IAC7BrxD,IAAAC,cAAA,OACEpe,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,KAAGxhB,GAAG,YACJuhB,IAAAC,cAAA,QACExhB,GAAG,QACHoxE,EAAE,2aACFF,KAAK,cCTAtjB,EAAiB,WAAH,IAAI,QAC7BilB,GACUlzE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OACf4hB,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,KAAG6vD,SAAS,0BACV9vD,IAAAC,cAAA,UAAQ8vD,GAAG,UAAUC,GAAG,KAAKL,KAAM2B,GAAW,UAAWrB,EAAE,OAC3DjwD,IAAAC,cAAA,KAAG6vD,SAAS,0BACV9vD,IAAAC,cAAA,QACE4vD,EAAE,wbACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,kbACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,mWACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,orBACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,wqBACFF,KAAK,UACLa,SAAS,cAIfxwD,IAAAC,cAAA,YACED,IAAAC,cAAA,YAAUxhB,GAAG,oBACXuhB,IAAAC,cAAA,QACE0vD,KAAK,QACLjuE,OAAO,KACP4uE,UAAU,sBACVzuE,MAAM,QAGVme,IAAAC,cAAA,YAAUxhB,GAAG,oBACXuhB,IAAAC,cAAA,QACE0vD,KAAK,QACLjuE,OAAO,UACP4uE,UAAU,wBACVzuE,MAAM,SAIR,EC5DKsqD,EAAaA,IACxBnsC,IAAAC,cAAA,OAAK0vD,KAAK,OAAOjuE,OAAO,KAAKG,MAAM,KAAK+tE,MAAM,8BAC5C5vD,IAAAC,cAAA,UAAQ8vD,GAAG,SAASC,GAAG,SAASL,KAAK,UAAUM,EAAE,WACjDjwD,IAAAC,cAAA,QACE4vD,EAAE,+WACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,mNACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,qPACFF,KAAK,UCbEpjB,EAAmBA,IAC9BvsC,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,UAAQ8vD,GAAG,UAAUC,GAAG,KAAKL,KAAK,UAAUM,EAAE,OAC9CjwD,IAAAC,cAAA,QACEve,OAAO,KACPjD,GAAG,mBACHyxE,UAAU,iBACVjU,MAAO,CAAEkU,SAAU,SACnBtuE,MAAM,KACNuuE,EAAE,IACFC,EAAE,KAEFrwD,IAAAC,cAAA,UAAQ8vD,GAAG,UAAUC,GAAG,UAAUL,KAAK,UAAUM,EAAE,QAErDjwD,IAAAC,cAAA,KAAGy2C,KAAK,0BACN12C,IAAAC,cAAA,QACE4vD,EAAE,mqCACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,2uBACFF,KAAK,UACL4B,QAAQ,QAEVvxD,IAAAC,cAAA,QACE4vD,EAAE,2oBACFF,KAAK,YC7BA6B,EAAc,WAAH,IAAI,YAC1BP,EAAc,QACJ7yE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OACf4hB,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,UAAQ8vD,GAAG,KAAKC,GAAG,KAAKL,KAAMsB,EAAahB,EAAE,OAC7CjwD,IAAAC,cAAA,QACE4vD,EAAE,0UACFF,KAAK,YAEH,ECfK8B,EAAc,WAAH,IAAI,YAC1BR,EAAc,QACJ7yE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OACf4hB,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,UAAQ8vD,GAAG,KAAKC,GAAG,KAAKL,KAAMsB,EAAahB,EAAE,OAC7CjwD,IAAAC,cAAA,QACE4vD,EAAE,gFACFF,KAAM,YAEJ,EClBKljB,EAAeA,IAC1BzsC,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,UAAQ8vD,GAAG,UAAUC,GAAG,UAAUL,KAAK,UAAUM,EAAE,YACnDjwD,IAAAC,cAAA,QACE4vD,EAAE,kMACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,iQACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,oEACFF,KAAK,UAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,8MACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,8MACFF,KAAK,aCxBEhjB,EAAkB,WAEY,IAFX,QAC9B2kB,GACUlzE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACd,OACE4hB,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,UAAQ8vD,GAAG,KAAKC,GAAG,KAAKL,KAAM2B,GAAW,UAAWrB,EAAE,OACtDjwD,IAAAC,cAAA,QACE4vD,EAAE,6LACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,+PACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,oEACFF,KAAK,UAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,gNACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,4MACFF,KAAK,YAIb,ECrCa9iB,EAAaA,IACxB7sC,IAAAC,cAAA,OAAK0vD,KAAK,OAAOjuE,OAAO,KAAKG,MAAM,KAAK+tE,MAAM,8BAC5C5vD,IAAAC,cAAA,UAAQ8vD,GAAG,OAAOC,GAAG,SAASL,KAAK,UAAUM,EAAE,WAC/CjwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,+KACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,2VACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,4IACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,wIACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,sCACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,2RACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,+IACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,oHACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,YACED,IAAAC,cAAA,kBACEyxD,cAAc,iBACdjzE,GAAG,IACHkzE,GAAG,QACHC,GAAG,QACHC,GAAG,QACHC,GAAG,SAEH9xD,IAAAC,cAAA,QAAM8xD,UAAU,YAChB/xD,IAAAC,cAAA,QAAM/G,OAAO,IAAI64D,UAAU,aAE7B/xD,IAAAC,cAAA,kBACEyxD,cAAc,iBACdjzE,GAAG,IACHkzE,GAAG,OACHC,GAAG,OACHC,GAAG,QACHC,GAAG,UAEH9xD,IAAAC,cAAA,QAAM8xD,UAAU,YAChB/xD,IAAAC,cAAA,QAAM/G,OAAO,IAAI64D,UAAU,aAE7B/xD,IAAAC,cAAA,kBACEyxD,cAAc,iBACdjzE,GAAG,IACHkzE,GAAG,SACHC,GAAG,SACHC,GAAG,QACHC,GAAG,UAEH9xD,IAAAC,cAAA,QAAM8xD,UAAU,YAChB/xD,IAAAC,cAAA,QAAM/G,OAAO,IAAI64D,UAAU,eChFtBhlB,EAAgB,WAEc,IAFb,QAC5BukB,GACUlzE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACd,OACE4hB,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAO,KACPguE,QAAQ,YACR7tE,MAAM,KACN+tE,MAAM,8BAEN5vD,IAAAC,cAAA,UAAQ8vD,GAAG,KAAKC,GAAG,KAAKL,KAAM2B,GAAW,UAAWrB,EAAE,OACtDjwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,85BACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,26BACFF,KAAK,UACLa,SAAS,YAEXxwD,IAAAC,cAAA,QACE4vD,EAAE,wTACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE0vD,KAAK,UACLjuE,OAAO,UACPwvE,GAAG,UACHrvE,MAAM,UACNuuE,EAAE,UACFC,EAAE,YAEJrwD,IAAAC,cAAA,QACE4vD,EAAE,sHACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,6oBACFF,KAAK,YAIb,EC/CaqC,EAAeA,IAC1BhyD,IAAAC,cAAA,OACEpe,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,qyBACFF,KAAM9wD,M,k8BC6EZ,MAAMugC,EAAeA,CAAA3hD,EAAAsnB,KAGS,IAF5B,GAAEtmB,EAAE,KAAE3B,EAAI,KAAEuC,GAAoD5B,GAChE,YAAEsoC,GAA4BhhB,EAE9B,MACMsf,EADmB,UAAThlC,EACSvC,EAAOm1E,YAAmBxzE,GAC7C0gD,EAAe+yB,EAAqB,CAAEnsC,cAAa1B,UAEzD,MAAO,CACL0B,YAAaA,GAAW,GAAAloC,OAAOkoC,EAAW,WAC1CoZ,eACA9a,QACD,EAUG6tC,EAAuB7sD,IAG0B,IAHzB,MAC5Bgf,EAAK,YACL0B,GAC2B1gB,EAC3B,MAAQoa,KAAMC,GAAchgB,IAASC,WAErC,IAAKomB,EACH,OAAOrG,EAAU2E,GAKnB,OAAO3E,EADW,GAAA7hC,OAAMkoC,EAAW,WACL,EAY1BuI,EAKJ6jC,GAEgB5pE,OAAOq8B,QAAQutC,GAAc,CAAC,GACzB/tC,QAAO,CAAC+G,EAAK5lB,KAAmB,IAAhB1f,EAAKlF,GAAK4kB,EAC7C,OAAKvB,YAASrjB,IAKdwqC,EAAMtlC,GAAIjF,IAAA,GACLD,GACC4jC,YAAW5jC,EAAM,YAAc,CAAEusB,SAAS,IAEzCie,IARLA,EAAMtlC,GAAOlF,EACNwqC,EAOG,GACX,CAAC,GAYA6B,EAAsBtN,IAC1B,MAAM,YACJ+I,EAAW,MACX1B,EAAK,UACLhE,EAAS,SACTC,EAAQ,cACRrD,EAAa,MACbgJ,EAAK,UACLE,GACEnJ,EAEJ,MAAO,CACL+I,cACA1B,QACAhE,YACAC,WACArD,gBACAgJ,QACAE,YACD,EAWGoE,EAAgBvN,IACpB,MAAQ9f,GAAIsgB,GAAYxgB,IAASC,YAC3B,OAAEwgB,GAAWD,GACb,kBAAEe,EAAiB,gBAAEC,EAAe,SAAEC,EAAQ,aAAEC,GACpD1B,EAEF,GAAe,SAAXS,EACF,MAAO,CAAC,EAGV,MAAMiyC,EAAuB,CAAC,EAQ9B,MAP8B,SAA1BlxC,EAAgB3R,OAClB6iD,EAAUnxC,kBAAoBA,EAC9BmxC,EAAUhxC,aAAeA,GAEzBgxC,EAAUjxC,SAAWA,EAGvBvgC,EAAA,CACEsgC,mBACGkxC,EAAS,EAIV1pC,EAAkB/nC,IAAkD,IAAD0xE,EACvE,MACE3uC,KAAK,gBAAEsZ,IACLt9B,IAASC,WAEb,OADuBq9B,EAAgBua,4BACb,OAAJ52D,QAAI,IAAJA,GAAiB,QAAb0xE,EAAJ1xE,EAAM8nC,mBAAW,IAAA4pC,OAAb,EAAJA,EAAmB9iD,MAAM,EAU3C2d,EAAgBxN,IACpB,MAAQ9f,GAAIsgB,GAAYxgB,IAASC,YAC3B,OAAEwgB,GAAWD,EAEnB,GAAe,SAAXC,EACF,MAAO,CAAC,EAIV,MAAMmyC,EAAiBC,eAAwBC,eACzC,QACJpyC,EAAO,WACPC,EAAU,WACVC,EAAU,4BACVE,EAA2B,iBAC3BE,GACEhB,EAEJ,OAAA9+B,IAAA,CACEw/B,UACAC,aACAC,cACItjC,IAASC,SAAS,kCAAoC,CACxDyjC,qBAEE4xC,GAAkB,CAAE9xC,+BAA8B,EAWpD2M,EAA2BzN,IAC/B,MAAQ9f,GAAIsgB,GAAYxgB,IAASC,YAC3B,yBAAE8yD,GAA6BvyC,GAC/B,gBAAE+I,GAAoBvJ,EAE5B,OAAK+yC,EAIE,CACLxpC,mBAJO,CAAC,CAKT,EAGGypC,EACJC,IAEA,GAAY,SAARA,EAAgB,CAGlB,MAAO,CAAEzwE,MAFS0jC,YAAW,wBAG/B,CACA,GAAY,SAAR+sC,EAAgB,CAMlB,MAAO,CAAEzwE,MALOlF,IAASgnC,WAAW,aAAc,sBAE9C4B,YAAW,wBACXA,YAAW,qBAGjB,CACA,GAAY,SAAR+sC,EAAgB,CAGlB,MAAO,CAAEzwE,MAFa0jC,YAAW,uBAGnC,CACA,MAAO,CAAE1jC,MAAO,GAAI,C,qhCCpPtB,MAAM0wE,EAAgBn1E,IAIK,IAJJ,aACrBo1E,GAGDp1E,EACC,OACE63D,YAAA,OAAK,cAAY,6BACfA,YAACwd,IAAmB,KAClBxd,YAACyd,IAAqB,KACnBntC,YAAW,0BAGbitC,GAGHvd,YAAC0d,IAAS,KACR1d,YAAC2d,IAAM,KAAErtC,YAAW,aAElB,EAIJstC,EAAmBnuD,IAAA,IAAC,aACxB8tD,GAGD9tD,EAAA,OACCuwC,YAACnkC,IAAU,CAAC5lB,IAAK4nE,IAAmB,cAAY,wBAC7CvtC,YAAW,wBAAyB,CAAEstB,UAAW2f,IACvC,EAGT1f,EAAY9tC,IAME,IAND,SACjBtF,EAAQ,SACRqzC,EAAW,QAIZ/tC,EACC,MAAM+tD,EAAwB,WAAbhgB,EACX3lC,EAAY2lD,EAAW/mD,IAASkE,IAChCuxB,EAAmBjiD,aAAc0lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGkiC,gBAAgB,IAChE0f,EAAsB5hE,aAAgB+lB,IAAa,IAAZ,GAAE/F,GAAI+F,EACjD,OAAO/F,EAAG4hD,mBAAmB,IAUzBh5C,EAAK5nB,IAAA,CACTmf,WACA0H,QATmBhlB,IACnBA,EAAEm+C,iBACGkB,IACH0f,GAAoB,GACpBxD,eACF,GAKIoV,GAAY,CACd3qD,eAAgB4qD,OAEbD,GAAY,CACf5iD,KAAM,IACNC,OAAQ,mBACRzV,KAAM+E,IAIV,OAAOu1C,YAAC7nC,EAAcjF,EAAS,EAG3B8qD,EAAyB3pD,IAIJ,IAJK,eAC9B4pD,GAAiB,GAGlB5pD,EACC,MAAM8D,EAAY8lD,EAAiBC,EAAwBZ,EACrDa,EACJne,YAACnC,EAAS,CAACC,SAAUmgB,EAAiB,OAAS,UAC5C3tC,YAAW,kBAGhB,OAAO0vB,YAAC7nC,EAAS,CAAColD,aAAcY,GAAS,EAGrCC,EAAqBA,KACzB,MAAMD,EACJne,YAACnC,EAAS,CAACC,SAAU,QAASxtB,YAAW,kBAE3C,OAAO0vB,YAAC4d,EAAgB,CAACL,aAAcY,GAAS,EAY5CE,EAAmC37C,aAAW,CAClDC,OAAQA,IACN,qDACFC,QAAShK,IACTpxB,KAAM,qBACNq7B,OAAQb,YAA4B,CAClCI,cAAe,mCAIbk8C,EAAmB57C,aAAW,CAClCC,OAAQA,IAAM,yCACdC,QAAShK,IACTpxB,KAAM,eACNq7B,OAAQb,YAA4B,CAAEI,cAAe,mBAGjDm8C,EAAmC77C,aAAW,CAClDC,OAAQA,IACN,qDACFC,QAAShK,IACTpxB,KAAM,kCACNq7B,OAAQb,YAA4B,CAClCI,cAAe,mCAebo8C,GAX0B97C,aAAW,CACzCC,OAAQA,IAAM,yCACdC,QAASA,IAAMo9B,YAACye,IAAc,MAC9Bj3E,KAAM,yBACNq7B,OAAOR,EAAiBnP,GAEtB,MAAMiF,EAAYkK,EAAOq8C,oBACzB,OAAO1e,YAAC7nC,EAAS,KACnB,IAGqBuK,aAAW,CAChCC,OAAQA,IAAM,mEACdC,QAAShK,IACTpxB,KAAM,aACNq7B,OAAQb,YAA4B,CAAEI,cAAe,kBAGjDu8C,EAAwBlqD,IAIV,IAJW,kBAC7BmqD,GAAoB,GAGrBnqD,EACC,MAAM,QAAEpkB,GAAYC,cACduuE,EAA8BC,YAA2BzuE,GACzD0uE,EAAwBt3C,gBACxB,eAAE55B,GAAmBtE,eAAgB,CAAC,EAEtCspD,EAAiBnrD,IAASC,SAAS,kBA4DzCs+B,qBAAU,KACR+4C,aAA+B,GAC9B,IAEH,MAGMC,EAHgCv3E,IAASC,SAC7C,6CAGE,wDACA,gDAEJ,OACEq4D,YAAA,OAAK,cAAY,8BACfA,YAACkf,IAAoB,CACnB/sD,QAxEcgtD,KAClBhmE,IAAGynC,MAAMznC,IAAG+zC,MAAMkyB,uBAClB,IAAK,IAADC,EACF,IAAIC,EAAkE,CACpEC,uBAAwB,CACtBC,QAAS,GACTC,sBAAuB,IAEzBC,eAAgB,CACdC,UAAW,KACXC,gBAAiB,KACjBlsB,gBAAiB,KACjBqkB,MAAO,OAGX,MAAMnyC,EAAqB,OAAd/3B,QAAc,IAAdA,GAA+B,QAAjBwxE,EAAdxxE,EAAgB83B,uBAAe,IAAA05C,OAAjB,EAAdA,EAAiCz5C,KAK9C,GAH+Bi6C,YAA8Bj6C,GAGjC,CAAC,IAADk6C,EAAAC,EAK1B,MAAMC,EAAwBC,cAGxBC,EAA2BrtB,EAC7BstB,mBACAn3E,EAEJs2E,EAAwBc,YAAkC,CACxDx6C,KAA2B,OAArBo6C,QAAqB,IAArBA,GAAsC,QAAjBF,EAArBE,EAAuBr6C,uBAAe,IAAAm6C,OAAjB,EAArBA,EAAwCl6C,KAC9C8xC,SAAwB,OAAd7pE,QAAc,IAAdA,GAA+B,QAAjBkyE,EAAdlyE,EAAgB83B,uBAAe,IAAAo6C,OAAjB,EAAdA,EAAiCrI,SAC3C2I,iBAA0C,OAAxBH,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BI,2BAEhD,CAEAC,cACAC,YACEC,YACgB,OAAd5yE,QAAc,IAAdA,OAAc,EAAdA,EAAgB83B,gBAChBo5C,EACAO,IAEFoB,QACFt4E,KAAO4J,OAAO2uE,IAAiCC,eACjD,CAAE,MAAOvzE,GACPjF,KAAO4J,OAAO2uE,IAAiCE,aAC/Cz4E,KAAOiF,MAAM,sDAAuD,CAClEyzE,cAAezzE,aAAiBq3B,MAAQr3B,EAAM42B,QAAU6tB,OAAOzkD,KAGjE8L,IAAGunC,QAAQvnC,IAAG+zC,MAAMkyB,sBAAuBjmE,IAAGi0C,OAAO2zB,IACvD,GAkBIC,YAAa,QACbra,MAAO,CAAE1iD,MAAO,QAAS0U,aAAc,UAExCkmD,GACC7e,YAACihB,IAA8B,KAC5B3wC,YAAW2uC,EAAciC,gBAG9BlhB,YAAC0d,IAAS,KACPkB,GAAqB5e,YAAC2d,IAAM,KAAErtC,YAAW,aAExC,EAIJ4tC,EAAwBxpD,IAAA,IAAC,aAC7B6oD,GAGD7oD,EAAA,OACCsrC,YAAA,OAAK,cAAY,uCACfA,YAACnkC,IAAU,CAAC5lB,IAAKkrE,IAAwB,cAAY,wBAClD7wC,YAAW,wBAAyB,CAAEstB,UAAW2f,KAGpDvd,YAAC0d,IAAS,KACR1d,YAAC2d,IAAM,KAAErtC,YAAW,aAElB,C,6UChUD,MAAM8wC,EAA4Bj6B,YAAGjxC,MAAAC,IAAA,+W,MCArC,MAAMkrE,EAAwBl6B,YAAGjxC,MAAAC,IAAA,+zC,MCAjC,MAAMmrE,EAAsBn6B,YAAGjxC,MAAAC,IAAA,6U,MCA/B,MAAMorE,EAA4Bp6B,YAAGjxC,MAAAC,IAAA,qP,MCDrC,MAAMqrE,EAAgBr6B,YAAGjxC,MAAAC,IAAA,wvC,MCAzB,MAAMsrE,EAAkCt6B,YAAGjxC,MAAAC,IAAA,gN,MCC3C,MAAMurE,EAA4Bv6B,YAAGjxC,MAAAC,IAAA,wI,MCDrC,MAAMwrE,EAA6Bx6B,YAAGjxC,MAAAC,IAAA,00C,+BCF7C,uUAsBA,MAAMyrE,EAA6B,6BActBllC,EAAsBv0C,IAOpB,IAPqB,aAClCw0C,EAAY,SACZ5Y,GAKD57B,EACC,MAAM,WAAE20C,EAAa,CAAC,IAAkB,OAAZH,QAAY,IAAZA,OAAY,EAAZA,EAAc7Y,SAAUC,GAAY,CAAC,GAQ3D,cAAE89C,EAAa,eAAEC,GAAmBhlC,EAE1C,OAAOglC,GAAkBD,GAAiB,eAAe,EA0B9CxmC,EAA6B0mC,GAvBfA,IAClBA,IAAWC,IAA4BC,gCAwB5CC,CAAWH,IArBgBA,IACtBA,IAAWC,IAA4BG,cAqB5CC,CAAeL,IAlBeA,IACzBA,IAAWC,IAA4BK,mBAkB5CC,CAAkBP,IAfgBA,IAC7BA,IAAWC,IAA4BO,sBAe5CC,CAAsBT,IATMA,IACvBA,IAAWC,IAA4BS,wBAS5CC,CAAgBX,GAIPxmC,EAA2BwmC,GAjBUA,IAChDA,IAAWY,IAA0BC,oCAiBrCC,CAAkCd,GAQvB9lC,EAAsB8lC,GAE1Be,IAA8Bf,IAAW,KAiBrCgB,EAAwBh/C,IAAkC,IAADi/C,EAAAC,EACpE,MAAM,cAAE3mC,EAAa,aAAEK,GAAiB5Y,EAClCm/C,EAA6B,OAAb5mC,QAAa,IAAbA,OAAa,EAAbA,EAAgB,GAEhC6mC,EAAgC,OAAZxmC,QAAY,IAAZA,GAAoB,QAARqmC,EAAZrmC,EAAc7Y,cAAM,IAAAk/C,GAAQ,QAARC,EAApBD,EAAsBrrD,cAAM,IAAAsrD,OAAhB,EAAZA,EAA+B,GAEzD,OAAOC,GAAiBC,GAAqBp/C,CAAQ,EAG1Cqc,EACXgjC,GAGEnhD,GAEOmhD,EAAOzjC,MAAqB1d,GAASnwB,OAAOiyB,IAEjD,MADcg/C,EAAqBh/C,EACxB,IAKJmc,EACXkjC,GAGEnhD,GAEOmhD,EAAOC,OAAsBphD,GAASnwB,OAAOiyB,IAElD,MADcg/C,EAAqBh/C,EACxB,IAKJkZ,EAAsBxtB,IAID,IAAD6zD,EAAAC,EAAA,IAJG,iBAClC9mC,EAAgB,cAChBH,EAAa,cACb1B,GACoBnrB,EAIlB,OAHF6sB,QAGE,IAHFA,GAIiE,QAD/DgnC,EAHFhnC,EAIIpzC,QAAOmE,GAA4B,6BAAd,OAALA,QAAK,IAALA,OAAK,EAALA,EAAO42B,kBAAsC,IAAAq/C,GACtD,QADsDC,EAJjED,EAKI1uE,eAAO,IAAA2uE,GALXA,EAAA7tE,KAAA4tE,GAKcj2E,IAAU,IAADm2E,EACnB,MAAM,WAAE1mC,EAAa,CAAC,EAAC,QAAE7Y,EAAU29C,GAA+Bv0E,GAC5D,UAAEo2E,EAAY,CAAC,GAAM3mC,EAC3B,IAAI,KAAEpM,EAAOzM,GAAY6Y,EACrB4mC,EAAa,GAGU,IAADC,EAAAC,EAAb,cAATlzC,IAEFgzC,EAAkB,OAALr2E,QAAK,IAALA,GAAgB,QAAXs2E,EAALt2E,EAAO22B,iBAAS,IAAA2/C,GAGzB,QAHyBC,EAAhBD,EACTvqD,KAAKyqD,GACc,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAcnzC,cACrB,IAAAkzC,OAHc,EAALA,EAIT72B,KAAK,KAITrc,EAAOA,EAAO,IAAMgzC,GAItBt7E,IAAOiF,MAAM,iBAAD9E,OAAkBqyC,EAAa,KAAAryC,OAAImoC,GAAQ,CACrD+L,mBACAxY,UACAuD,OAAgB,OAATi8C,QAAS,IAATA,GAAqB,QAAZD,EAATC,EAAWK,kBAAU,IAAAN,OAAZ,EAATA,EAAuBz2B,KAAK,WAAY,KAGjD3kD,IAAO4J,OAAO,6BAA8B,CAC1CqB,WAAY,CACVq9B,OACAqzC,eAAgBnpC,KAIpBxyC,IAAOE,KAAK,iBAAkB,CAC5B07E,aAAcppC,EACd2O,eAAgB7Y,EAChB8kC,eAAgB,iBAChByO,kBAAmBP,EACnBh7E,WAAY,UACZC,gBAAiB,qBACjB,GACF,EAGOu0C,EAAqBntB,IAID,IAADm0D,EAAA,IAJG,iBACjCznC,EAAgB,cAChB7B,EAAa,aACb+B,GACmB5sB,EACnB,IAAK4sB,EACH,OAMF,MAAMwnC,EAAiD,QAA3BD,EAAe,OAAZvnC,QAAY,IAAZA,OAAY,EAAZA,EAAcqC,kBAAU,IAAAklC,IAAI,gBAE3D97E,IAAO4J,OAAO,6BAA8B,CAC1CqB,WAAY,CACV0wE,eAAgBnpC,EAChBwpC,YAAaD,KAGjB/7E,IAAOiF,MAAM,gBAAiB,CAC5BovC,mBACA7B,gBACAoE,WAAYmlC,GACZ,C,+BCxOJ,uDAKO,MAAM7f,EAAmC,CAC9CxsC,gBACAC,kBACAC,aAAcwxB,I,+BCRhB,oVAAO,IAAI66B,EAA4B,OAC5BC,EAAc,63BACdC,EAAsB,WACtBC,EAAe,YACfC,EAAa,KACbC,EAAoB,MACpBC,EAAsB,iBACtBC,EAAiB,QACjBC,EAAmB,uBACnBC,EAAkB,O,iCCT7B,sGA4BO,MAAMC,EAAW,CACtBC,MAAO,QACPC,OAAQ,UAWH,IAAKC,EAAQ,SAARA,GAAQ,OAARA,EAAQ,gBAARA,EAAQ,gBAARA,EAAQ,gBAARA,CAAQ,MAiER1vB,EAAK,SAALA,GAAK,OAALA,EAAK,wCAALA,EAAK,sCAALA,EAAK,8BAALA,EAAK,gDAALA,CAAK,K,+BC1GjB,wIAAO,MAAMnU,EAAoB,CAC/BnS,UAAW,GACXtX,SAAS,GAGEutD,EAAyB,CACpC9zC,KAAK,EACLC,KAAK,EACLC,QAAQ,GAGG6zC,EAAsB,0CAEtBC,EAAgB,CAC3BC,WAAY,aACZC,MAAO,QACPC,SAAU,W,gCChBZ,2PAcA,MAAMC,EAAkB/iD,aAAW,CACjCC,OAAQA,IAAM,yCACdC,QAASA,IAAMlY,IAAAC,cAACiO,IAAc,MAC9BpxB,KAAM,eAENq7B,OAAMA,CAACR,EAAQnP,IACNxI,IAAAC,cAAC+6D,cAAgBxyD,KAItByyD,EAAwBjjD,aAAW,CACvCC,OAAQA,IAAM,yCACdC,QAASA,IAAMlY,IAAAC,cAACiO,IAAc,MAC9BpxB,KAAM,oBAENq7B,OAAMA,CAACxJ,EAAGnG,IACDxI,IAAAC,cAACi7D,oBAAsB1yD,KAI5B2yD,EAAuBnjD,aAAW,CACtCC,OAAQA,IAAM,yCACdC,QAASA,IAAMlY,IAAAC,cAACiO,IAAc,MAC9BpxB,KAAM,oBAENq7B,OAAMA,CAACR,EAAQnP,IACNxI,IAAAC,cAACm7D,mBAAqB5yD,KAI3B6yD,EAA4BrjD,aAAW,CAC3CC,OAAQA,IAAM,+BACdC,QAASA,IAAMlY,IAAAC,cAACiO,IAAc,MAC9BpxB,KAAM,2BAENq7B,OAAMA,CAACR,EAAQnP,IACNxI,IAAAC,cAACq7D,IAAkC9yD,KAIxC+yD,EAAkCvjD,aAAW,CACjDC,OAAQA,IAAM,yCACdC,QAASA,IAAMlY,IAAAC,cAACiO,IAAc,MAC9BpxB,KAAM,2BAENq7B,OAAMA,CAACR,EAAQnP,IACNxI,IAAAC,cAACu7D,sCAAwChzD,I,gCC5DpD,keAAM0jD,EAAa,CACjBuP,eAAgB,mBAChB3hB,QAAS,UACT4hB,SAAU,YACVC,eAAgB,kBAChBC,aAAc,gBACdC,KAAM,sBACNC,OAAQ,UAGJC,EAAkB,CACtBN,eAAgB,2BAChBO,aAAc,sCACdL,eAAgB,0BAChBC,aAAc,wBACdK,YAAa,mCACb1iB,cAAe,yBACf2iB,MAAO,gBACPC,WAAY,8BACZC,eAAgB,uBAChBjkD,OAAQ,kBACRkkD,cAAe,uBACfC,cAAe,mBAuBXC,EAAsC,CAC1CC,WAAY,UACZ7X,KAAM,oBACN8X,WAAY,KACZC,aAAc,WACdC,OAAQ,eACRC,OAAQ,IACRC,WAAY,aACZC,UAAW,oBACXC,UAAWv9E,OAAOC,SAASC,SAC3Bs9E,uBAAwB,WACxB,gBAAiB,OAGbC,EAA4Bt8E,IAehC,MAAM,QAAEu8E,EAAO,WAAE7R,EAAU,OAAE3lE,EAAM,WAAE8nE,GAAe7sE,EACpD,MAAO,CACLw8E,IAAK9R,EAAWzhC,cAChBwzC,KAAM13E,EAAOC,QACbg/D,KAAM,oBACN0Y,KAAMhS,EAAWthC,aACjBuzC,KAAMJ,EACNK,KAAM/P,EACNljE,KAAM,8CACNkzE,KAAM,eACP,EAGG99B,EAAmCA,CACvC7a,EACA3X,EACAsX,KAAiB,CAOjBqa,eAAgB3xB,EAAU,IAAM,IAChC49C,eAAgB59C,EAAU,GAAKsX,EAC/BxmC,WAAYkuE,EAAWpS,QACvB77D,gBAAgB,WAADJ,OAAagnC,EAAS,yBAqBjC44C,EAAuB14D,IAAA,IAAC,OAC5BkzB,EAAM,KACNn7C,EAAI,UACJ4gF,GAKD34D,EAAA,MAAuD,CACtD/mB,WAAY0/E,GAAaxR,EAAW4P,OACpC79E,gBAAgB,WAADJ,OAAaf,EAAI,kBAAAe,OAAiBo6C,GAClD,EAEK0lC,EACJpkB,IAAsB,CAEtBqkB,cAAerkB,EAAgB,EAAI,EACnCv7D,WAAYkuE,EAAW4P,OACvB79E,gBAAiB89E,EAAgBxiB,gBAe7B0E,EAAiBA,KAAA,CACrBjgE,WAAYkuE,EAAW4P,OACvB79E,gBAAiB89E,EAAgBG,QAG7B2B,EACJ17B,IAAmB,CAMnB27B,oBAAqB37B,EACrBnkD,WAAY,UACZC,gBAAiB,mCAGb8tE,EAA0B1mD,IAAA,IAAC,KAC/B65C,EAAI,UACJ8M,GAID3mD,EAAA,MAA2E,CAC1E04D,WAAY73E,KAAKC,MAAQ6lE,EACzBhuE,WAAYkuE,EAAWhN,GACvBjhE,gBAAgB,WAADJ,OAAaqhE,EAAI,qBACjC,EAEKn0D,EAAoB,WAEqD,IAADizE,EAC5E,MAAM1Z,EAFElmE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAEsB,aAAe,cAE7C,MAAO,CACL6/E,eAAkC,QAApBD,EAAEx+E,OAAOuJ,mBAAW,IAAAi1E,OAAA,EAAlBA,EAAoB73E,MACpCnI,WAAYkuE,EAAWpS,QACvB77D,gBAAiB89E,EAAgBzX,GAErC,EAEM4Z,EAA0B34D,IAAA,IAAC,kBAC/B44D,EAAiB,iBACjBn4D,EAAgB,UAChBo4D,GAKD74D,EAAA,MASK,CACJ84D,YAAaF,EAAoB,YAAc,UAC/ChtB,WAAY,8BACZL,sBAAuB9qC,EAAmB,EAAI,EAC9Cs4D,iBAAkB,IAClBtT,gBAAiB,IACjBhtE,WAAYkuE,EAAWpS,QACvB77D,gBAAiB89E,EAAgBK,eACjCrrB,UAAWqtB,EAAY,WAAa,mBACrC,EAaKG,EAA+BtjD,IAInC,MACEC,MAAM,QAAEkyC,GACRJ,UAAU,WAAEQ,IACVvyC,GACE,aAAE8O,EAAe,GAAE,cAAEH,EAAgB,IAAa,OAAPwjC,QAAO,IAAPA,OAAO,EAAPA,EAASC,QAAS,CAAC,EAEpE,MAAO,CAEL8P,IAAsC,IAAjCqB,WAAW50C,GAAiB,GACjCoc,cAAejc,GAAgB,GAC/B00C,UAAWjR,EACZ,EAGGkR,EAA4B/4D,IAAA,IAAC,UACjCg5D,EAAS,UACT95C,EAAS,UACTqa,GAKDv5B,EAAA,MAMK,CACJi5D,SAAUD,EACVvtB,WAAYvsB,EACZg6C,WAAY3/B,EACZlhD,WAAY,YACZC,gBAAiB,aAClB,C,+BChRD,siBAAMgkC,EAA6B,0BAC7B68C,EAAqC,gCACrCC,EAAoB,oBACpBC,EAAmB,mBAGnBC,EAAiB,iBACjBC,EAAkB,kBAClBC,EAAkB,kBAClBC,EAAqB,qBACrBC,EAAuB,uBACvBC,EAAsB,sBAOtB38C,EAAyB,CAC7BC,eAAgB,iBAChB28C,IAAK,MACLC,IAAK,OAOD38C,EAAmC,iBAInC48C,EAAyB,CAC7BC,aAAc,cACdC,kBAAmB,iBACnBC,mBAAoB,kBACpBC,uBAAwB,qBACxBC,QAAS,WAcLC,EAA4C,CAChDjyE,GAAI,CACF0xE,IAAK,CACH1vD,aAAc,iCACd2oC,UA7BsB,GA8BtBunB,MA3CY,gBA8ChBvuE,GAAI,CACF+tE,IAAK,CACH1vD,aAAc,gCACd2oC,UArCsB,GAsCtBunB,MA/CY,4CAkDhB9nE,GAAI,CACFqnE,IAAK,CACHzvD,aAAc,8BACd2oC,UA7CsB,EA8CtBunB,MAvDJ,qEA4DIC,EAA2B,eAC3BC,EAA2B,c,4pDC1EjC,MAAMC,EAAsB,WAAgB,OAAL/hF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAC7BgmC,QAAO,CAAC+G,EAAOi1C,KAAS,IAADC,EAChC,MAAM17D,EAAqB,QAAd07D,EAAGD,EAAIz7D,eAAO,IAAA07D,OAAA,EAAXA,EAAaj8C,QAAO,CAAC+G,EAAK1tC,KAAsB,IAApB,IAAEoI,EAAG,MAAE0pB,GAAO9xB,EAExD,OADA0tC,EAAMtlC,GAAO0pB,EACN4b,CAAK,GACX,CAAC,GAMJ,OAJAA,EAAMi1C,EAAIE,gBAAe1/E,IAAA,GACpBw/E,GAAG,IACNz7D,QAASA,GAAW,OAEfwmB,CAAK,GACX,CAAC,EAAG,E,6kBCkBT,MAAMo1C,EAAuBh4E,OAAOC,OAClC,CACE6oC,YAAa,CACXhyC,KAAM,KACNkwB,MAAO,MAITixD,UAAW,CAAC,EACZjjB,UAAW,GACXp/C,QAAS,CAAC,EACV2sB,YAAa,KACbqsC,cAAe,GACfsJ,kBAAmB,CACjBC,eAAgB,CACd5wC,WAAY,iBACZ6wC,WAAY,IAEdC,gBAAiB,CACf9wC,WAAY,kBACZyrB,QAAS,KAGbpS,UAAW,CACTI,YAAY,GAEdrmD,OAAQ,CAAC,EACTshB,YAAa,CAAC,EACduU,SAAU,CACRj6B,SAAU,KACV+hF,gBAAiB,MAEnB7jF,SAAU,CAAC,EACXmG,eAAgB,CACd83B,gBAAiB,CACfC,KAAM,CACJkyC,QAAS,CACPC,MAAO,CAAC,GAEVyT,YAAa,KACbC,YAAa,KACb/3B,gBAAiB,GACjBg4B,oBAAqB,CAAC,EACtBC,8BAA+B,MAEjCzY,oBAAqB,GACrBuY,YAAa,KACbG,WAAY,CACVC,2BAA2B,GAE7BC,MAAO,CAAC,EACRpU,SAAU,CAAC,EACXqU,sBAAuB,CACrBC,UAAW,IAEbvW,WAAY,IAEdwW,kCAAmC,CACjCZ,WAAY,IAEdt4E,eAAgB,CACd0hC,aAAc,KAGlB1kC,QAAQ,EACRm8E,mBAAmB,EACnBrkB,eAAgB,CAAC,EACjB8D,SAAU,CACRt7D,QAAS6d,IAAagR,GACtBoH,SAAU,MAEZkgC,SAAU,CACRE,MAAO,KACPD,KAAM,MAERtmC,MAAO,GACPgsD,gBAAiB,CACfv5E,KAAY,QAAR/H,EAAEX,cAAM,IAAAW,GAAkB,QAAlBuhF,EAANvhF,EAAQwhF,wBAAgB,IAAAD,OAAlB,EAANA,EAA0Bx5E,KAChCy4D,KAAY,QAARh8D,EAAEnF,cAAM,IAAAmF,GAAkB,QAAlBi9E,EAANj9E,EAAQg9E,wBAAgB,IAAAC,OAAlB,EAANA,EAA0BjhB,MAMlCkhB,MAAO,CAAE9nC,KAAM,GAAI+nC,YAAa,IAChCljF,IAAK,CACHmjF,2BAA4B,KAC5BhoB,KAAM,KACNioB,iBAAkB,KAClBC,eAAgB,KAChBC,eAAgB,KAChBj/E,eAAgB,KAChB6vC,cAAe,MAEjBkE,KAAM,CACJ4nB,QAAS,MAEXujB,WAAY,MAEd3iF,OAAO4iF,kBAIHvjF,EAAaA,IAAmB0hF,EAOzB8B,EAA6C,CAGxDC,aAAc,sBACdC,YAAa,CAEXC,qBAAsB,CACpBC,oBAAqB,EACrBC,iBAAkB,EAClBC,iBAAkB,IAGpBC,kBAAmB,CACjBC,qBAAsB,EACtBH,iBAAkB,EAClBC,iBAAkB,GAEpBG,SAAS,EACTC,+BAA+B,EAC/BC,oCAAoC,EACpCC,gBAAiB,IAQfC,EAAsBA,IAItB36E,OAAO47B,KAAKo8C,EAAQC,WAAWniF,OAAS,EACnCkiF,EAAQC,UAMV6B,EAGHnvC,EAAiBA,IACrBqtC,EAAQlvC,YAEJlpC,EAAqBA,IACzBo4E,EAAQkB,gBAEJnwC,EACJ6xC,IAEA5C,EAAQlvC,YAAc8xC,CAAc,EAGhCC,EAAmBA,KACvB7C,EAAQlvC,YAAc,CACpBhyC,KAAM,KACNkwB,MAAO,KACR,EAGG3pB,EAAYA,KAChB,MAAM,QAAED,EAAO,SAAEi2B,GAAa2kD,EAAQtf,SACtC,MAAO,CACLt7D,UACAi2B,WACAl2B,OAAO,GAAD7H,OAAK+9B,EAAQ,KAAA/9B,OAAI8H,GACxB,EAIGP,EAAWA,IAAcm7E,EAAQvpC,KAAK4nB,SAAW,GAKjDykB,EACJC,IAIA/C,EAAQtf,SAAQrgE,IAAA,GACX2/E,EAAQtf,UACRqiB,EACJ,EAGGC,EAAoBC,IACxBjD,EAAQE,kBAAkBG,gBAAgBrlB,QAAUioB,CAAc,EAG9DC,EAAqBA,KAAA,IAAAC,EAAAC,EAAA,OACc,QADdD,EACH,QADGC,EACzBpD,EAAQp9E,sBAAc,IAAAwgF,OAAA,EAAtBA,EAAwB1oD,uBAAe,IAAAyoD,IAAI,CAAC,CAAC,EAGzC5gF,EAA0BA,KAAA,IAAA8gF,EAAAC,EAAA,OACR,QAAtBD,EAAArD,EAAQp9E,sBAAc,IAAAygF,GAAiB,QAAjBC,EAAtBD,EAAwB3oD,uBAAe,IAAA4oD,OAAjB,EAAtBA,EAAyCzC,QAAS,CAAC,CAAC,EAEhD3Y,EAAyBA,KAAA,IAAAqb,EAAAC,EAAA,OACtB,OAAPxD,QAAO,IAAPA,GAAuB,QAAhBuD,EAAPvD,EAASp9E,sBAAc,IAAA2gF,GAAiB,QAAjBC,EAAvBD,EAAyB7oD,uBAAe,IAAA8oD,OAAjC,EAAPA,EAA0Cvb,sBAC1CnlD,IAAoB2gE,QAAQ,EAiBxB1/D,EAAeA,KACnB,MAAM,eAAEjc,GAAmBk4E,EAAQp9E,gBAC3BmF,gBAAiB27E,GAAY57E,GAAkB,CAAC,EAExD,IAAK5B,MAAMyd,QAAQ+/D,GACjB,OAAO,KAUT,OALkBA,EAAQzmF,MAExB4K,GAA4B,kBAAXA,GAAuB87E,IAAYxlF,SAAS0J,MAG3C,IAAI,EAGpBovC,EAA6BA,KAA0C,IAAD2sC,EAC1E,MAAM,oBAAEC,GAAwB7D,EAAQp9E,eACxC,OAA0B,OAAnBihF,QAAmB,IAAnBA,GAAuC,QAApBD,EAAnBC,EAAqBC,0BAAkB,IAAAF,OAApB,EAAnBA,EAAyCG,iBAAkB,CAAC,CAAC,EAQhE1sC,EAA0BA,KAC9B,MAAQulB,gBAAgB,iBAAEonB,EAAmB,CAAC,GAAM,CAAC,GAAMhE,EAC3D,OAAOgE,CAAgB,EAMnBC,EAA6BA,KAAsB,IAADC,EAAAC,EACtD,MAAMvmF,EAA4B,IAC5B,eAAE6oC,EAAc,YAAE29C,EAAW,gBAAEn4C,IACb,QAAtBi4C,EAAAlE,EAAQp9E,sBAAc,IAAAshF,GAAiB,QAAjBC,EAAtBD,EAAwBxpD,uBAAe,IAAAypD,OAAjB,EAAtBA,EAAyCxpD,OAAQ,CAAC,EA2BpD,OAtBmB,OAAfsR,QAAe,IAAfA,KAAiBzJ,WAA4B,OAAfyJ,QAAe,IAAfA,KAAiBxJ,WACjD7kC,EAAgBqpC,KAAK,kBAGP,OAAdR,QAAc,IAAdA,KAAgB2hB,OACF,OAAd3hB,QAAc,IAAdA,KAAgBof,MACF,OAAdpf,QAAc,IAAdA,KAAgBjD,OACF,OAAdiD,QAAc,IAAdA,KAAgBqf,aAEhBloD,EAAgBqpC,KAAK,oBAGN,OAAfgF,QAAe,IAAfA,KAAiBmc,OACF,OAAfnc,QAAe,IAAfA,KAAiB4Z,MACF,OAAf5Z,QAAe,IAAfA,KAAiBzI,OACF,OAAfyI,QAAe,IAAfA,KAAiB6Z,aAEjBloD,EAAgBqpC,KAAK,oBAEnBm9C,GACFxmF,EAAgBqpC,KAAK,SAEhBrpC,EAAgBE,OAAS,EAAIF,EAAgBkkD,KAAK,KAAO,IAAI,EAGhEuiC,EAAmBA,KAA6B,IAADC,EAAAC,EAAAC,EACnD,MAAM,oBAAEX,EAAmB,gBAAEnpD,GAAoBslD,EAAQp9E,gBACjD4jC,MAAOwQ,EAAO,mBAAEovB,IACH,OAAnByd,QAAmB,IAAnBA,GAAuC,QAApBS,EAAnBT,EAAqBC,0BAAkB,IAAAQ,OAApB,EAAnBA,EAAyCP,iBAAkB,CAAC,EACxD7sC,EAA2B,OAAfxc,QAAe,IAAfA,GAAqB,QAAN6pD,EAAf7pD,EAAiBC,YAAI,IAAA4pD,GAAO,QAAPC,EAArBD,EAAuB/9C,aAAK,IAAAg+C,OAAb,EAAfA,EAA8BrtC,YAEhD,MAAO,CACLD,YACAutC,eAC0B,IAAvBre,EAA+B,UACR,IAAvBA,GAAgC,UACjC,KACFse,WACG/nF,QAAQq6C,GAAY,YACpBr6C,QAAQu6C,IAAc,oBACvB,KACFkvB,mBACgC,mBAAvBA,EAAmCA,EAAqB,KACjEpvB,QAAgB,OAAPA,QAAO,IAAPA,OAAO,EAAPA,EAASG,YACnB,EAUGwtC,EAAiBA,KAAe,IAADC,EAAAC,EAAAC,EAAAC,EACnC,MAAM/E,EAAU1hF,IAIhB,OAF6D,QAD5CsmF,EACR,OAAP5E,QAAO,IAAPA,GAAuB,QAAhB6E,EAAP7E,EAASp9E,sBAAc,IAAAiiF,GAAiB,QAAjBC,EAAvBD,EAAyBnqD,uBAAe,IAAAoqD,GAAM,QAANC,EAAxCD,EAA0CnqD,YAAI,IAAAoqD,OAAvC,EAAPA,EAAgDxE,mBAAW,IAAAqE,IAAI,EAE/C,EAGdI,EAA0BA,KAC9B,MAAM,QAAE5/E,GAAYC,IAEpB,OAAO4/E,IAAkC9mF,SAASiH,EAAQ,EAGtD8/E,EAAqCA,KACzC,MAAM3E,EAAcoE,IACpB,MAAO,CACL/hE,IAAYuiE,wBACZviE,IAAYwiE,wCACZjnF,SAASoiF,EAA2B,EAGlC8E,EAAsCA,KAC1C,MAAM9E,EAAcoE,IACpB,MAAO,CACL/hE,IAAY0iE,yBACZ1iE,IAAY2iE,gCACZpnF,SAASoiF,EAA2B,EAGlCnmB,EAA8BA,KAClC,MAAMmmB,EAAcoE,IACpB,OAAO/hE,IAAY4iE,kBAAoBjF,CAAW,EAG9CkF,EAAuBA,KAC3B,MAAMlF,EAAcoE,IACpB,OAAO/hE,IAAY8iE,oBAAsBnF,CAAW,EAGhDoF,EAAwBA,KAC5B,MAAMpF,EAAcoE,IACpB,MAAO,CACL/hE,IAAY4iE,gBACZ5iE,IAAYgjE,qBACZznF,SAASoiF,EAA2B,EAGlChyB,EAAoBA,KACxB,MAAM,QAAEnpD,GAAYC,IAEpB,OAAOwgF,IAAoB1nF,SAASiH,EAAQ,EAGxCspD,EAA0CA,KAC9C,MAAM,QAAEtpD,GAAYC,IAEpB,OAAOygF,IAAkC3nF,SAASiH,EAAQ,EAGtDuoC,EAAuBA,KAC3B,MAAM,QAAEvoC,GAAYC,IAEpB,OAAO0gF,IAAuB5nF,SAASiH,EAAQ,EAG3C4gF,EAAYA,IAAmD,QAApChG,EAAQtf,SAASulB,eAM5C5Z,EAAqBA,KAAgB,IAAD6Z,EAAAC,EAAA/+E,EAAAugD,EAExC,MAAMy+B,EAAyB,CAAC,SAAU,OAAOjoF,UAC9C6hF,EAAQ4B,YAAc,IAAIzmD,eAGvBkrD,EACoD,aAAlC,QAAtBH,EAAAlG,EAAQp9E,sBAAc,IAAAsjF,GAAiB,QAAjBC,EAAtBD,EAAwBxrD,uBAAe,IAAAyrD,OAAjB,EAAtBA,EAAyC3b,YAGrC8b,GAAiC,QAANl/E,EAAAnI,cAAM,IAAAmI,GAAQ,QAARugD,EAANvgD,EAAQlD,cAAM,IAAAyjD,OAAR,EAANA,EAAgB4+B,UAAU,EAE3D,OACEH,GACAC,GACAC,CAAwB,EAItBE,EAAoBA,KAAa,IAADC,EAIpC,MAAM,WAAErG,EAAa,KACG,QAAtBqG,EAAAzG,EAAQp9E,sBAAc,IAAA6jF,OAAA,EAAtBA,EAAwBzF,oCAAqC,CAAC,GACxD96D,KAAMwgE,IAA4B,OAAP1G,QAAO,IAAPA,OAAO,EAAPA,EAASpjB,iBAAkB,CAAC,GACvDwjB,WAAYuG,GAA0BD,GAAoB,CAAC,GAC3DtG,WAAYwG,GAClB5G,EAAQE,kBAAkBC,eACtB57B,EAAYL,YAAkB,CAAEC,UAAW,SAEjD67B,EAAQ/7D,YAAW5jB,QAAA,GACdu/E,EAAoBQ,IACpBR,EAAoBgH,IACpBhH,EAAoB+G,IACnB3G,EAAQiB,mBDhcuB18B,KACrC,GAAKA,EAIL,OAAOv8C,OAAOq8B,QAAQkgB,GAAW1gB,QAC/B,CAAC+G,EAAKpmB,KAAA,IAAGlf,EAAKuhF,GAAIriE,EAAA,OAAAnkB,IAAA,GACbuqC,GAAK,IACR,CAACtlC,GAAM,CAAEy6E,eAAgBz6E,EAAKgf,cAAeuiE,IAAK,GAEpD,CAAC,EACF,ECqbkCC,CAA+BviC,GACjE,ED/a4By7B,KAC7B,IAAK,IAADmD,EAAAC,EAAAC,EAAAC,EAAAC,EACF,GAA8D,kBAA5C,OAAPvD,QAAO,IAAPA,GAAuB,QAAhBmD,EAAPnD,EAASp9E,sBAAc,IAAAugF,GAAiB,QAAjBC,EAAvBD,EAAyBzoD,uBAAe,IAAA0oD,OAAjC,EAAPA,EAA0CzoD,MAAmB,CACtE,MAAM,KAAEA,GAASqlD,EAAQp9E,eAAe83B,gBAClCqsD,EAAe/hB,KAAKgiB,MAAMC,IAAStsD,IACzCqlD,EAAQp9E,eAAe83B,gBAAgBC,KAAOosD,CAChD,CAKA,GACgE,kBAAhD,OAAP/G,QAAO,IAAPA,GAAuB,QAAhBqD,EAAPrD,EAASp9E,sBAAc,IAAAygF,GAAiB,QAAjBC,EAAvBD,EAAyB3oD,uBAAe,IAAA4oD,OAAjC,EAAPA,EAA0C7W,UACjD,CACA,MAAM,SAAEA,GAAauT,EAAQp9E,eAAe83B,gBACtCqsD,EAAe/hB,KAAKgiB,MAAMC,IAASxa,IACzCuT,EAAQp9E,eAAe83B,gBAAgB+xC,SAAWsa,CACpD,CAGA,GAA4D,kBAA1C,OAAP/G,QAAO,IAAPA,GAAuB,QAAhBuD,EAAPvD,EAASp9E,sBAAc,IAAA2gF,OAAhB,EAAPA,EAAyBM,qBAAkC,CACpE,MAAM,oBAAEA,GAAwB7D,EAAQp9E,eAClCmkF,EAAe/hB,KAAKgiB,MAAMC,IAASpD,IACzC7D,EAAQp9E,eAAeihF,oBAAsBkD,CAC/C,CACF,CAAE,MAAO3kF,GAAQ,IAAD8kF,EACd,GAAe,QAAfA,EAAIlH,EAAQ3hF,WAAG,IAAA6oF,GAAXA,EAAaxkF,eAAgB,CAC/B,MAAM,YAAEykF,EAAW,eAAEC,EAAc,QAAEvyC,GAAYmrC,EAAQr9E,QAAU,CAAC,EAC9DuC,EAAU,CACdwE,OAAQ,CACN,CACEE,MAAO,mCACPsgE,MAAO,OACPhlE,QAAS,CACPiiF,cACAC,iBACAvyC,UACAjwC,MAAOo7E,EAAQvpC,KAAK4nB,WAI1Bn7B,KAAM,CACJM,MAAO,UACP5+B,MAAOo7E,EAAQvpC,KAAK4nB,UAGxBrkB,MAAMgmC,EAAQ3hF,IAAIqE,eAAgB,CAChCqa,KAAMioD,KAAKC,UAAU//D,GACrB2tC,QAAS,CACP,eAAgB,mBAChB,aAAc,6BAEhB6V,OAAQ,SACP7hD,OAAM,IAAM,MACjB,CACF,GC2XFwgF,CAAuB/oF,KAGvBkoF,G,+BCvdA,wIAAO,MAAMc,EAA2B,CACtCC,eAAgB,kBAChBC,eAAgB,2BAChBC,kBAAmB,qBACnBC,OAAQ,CAAC,OAAQ,aAAc,UAGpBC,EAA0B,CACrCH,eAAgB,6BAGLI,EAAqB,CAChCC,kBAAmB,qBAGRC,EAAkB,CAC7BC,uCACE,yCACFC,yCACE,2CACFC,UAAW,Y,+BCpBb,4LAgBO,MAAMC,EAA+BhrF,IAIb,IAJc,iBAC3CirF,EAAgB,SAChBC,EAAQ,oBACRC,GACUnrF,EACV,MACEorF,mBAAmB,KAAE9uC,IACnB+uC,IAEJ,IAAIt4D,EAAO2pB,YAAc,CAAEJ,SAK3B,OAJI6uC,IACFp4D,GAAI,IAAA3yB,OAAQ+qF,IAIZ5oE,IAAAC,cAACsQ,IAAI,CACHC,KAAMA,EACN/I,QAASA,IAAMioC,YAAa,GAAD7xD,OAAI8qF,EAAQ,mBAAmB5uC,GAC1DtpB,OAAM,GAAA5yB,OAAK8qF,EAAQ,mBACnB3tE,KAAM4qB,YAAW8iD,IACjB,EAIOK,EAAoChkE,IAGlB,IAHmB,iBAChD2jE,EAAgB,SAChBC,GACU5jE,EACV,MACEikE,wBAAwB,KAAEjvC,IACxB+uC,IACJ,OACE9oE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,SACtBtyB,QAASA,IAAMioC,YAAa,GAAD7xD,OAAI8qF,EAAQ,yBAAyB5uC,GAChE/+B,KAAM4qB,YAAW8iD,IACjB,EAIOO,EAAuB5jE,IAGL,IAHM,iBACnCqjE,EAAgB,SAChBC,GACUtjE,EACV,MACE6jE,mBAAmB,eAAElvC,IACnB8uC,IAEJ,OACE9oE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEH,mBACtBvyB,QAASA,IACPioC,YAAa,GAAD7xD,OAAI8qF,EAAQ,mBAAmB3uC,KAE7CvpB,OAAM,GAAA5yB,OAAK8qF,EAAQ,mBACnB3tE,KAAM4qB,YAAW8iD,IACjB,EAIOlS,EAAoCA,KAC/C,MAAM,UAAE2S,GAAcL,IACtB,MAAO,CACLM,yBAA0BH,EAAqB,CAC7CP,iBAAkB,kCAClBC,SAAU,UAEZU,oBACErpE,IAAAC,cAACsQ,IAAI,CACHC,KAAM4oB,YAAY,CAAEC,QAAS,yBAC7Br+B,KAAM4qB,YAAW,gCAGrBijD,kBAAmBJ,EAA6B,CAC9CC,iBAAkB,2BAClBC,SAAU,UAEZW,2BAA4Bb,EAA6B,CACvDC,iBAAkB,oCAClBC,SAAU,UAEZY,oBAAqBd,EAA6B,CAChDC,iBAAkB,6BAClBC,SAAU,UAEZQ,UACEnpE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAMovC,EAAUpvC,OACtCtyB,QAASA,IAAMioC,YAAa,cAAey5B,EAAUpvC,MACrDtpB,OAAO,cACPzV,KAAM4qB,YAAW,sBAGrB4jD,YAAaT,EAAkC,CAC7CL,iBAAkB,4BAClBC,SAAU,UAEZO,kBAAmBD,EAAqB,CACtCP,iBAAkB,2BAClBC,SAAU,UAEb,EAGUc,EAAqCA,KAA0B,IAADC,EACzE,MAAM95B,EAAqB,QAAd85B,EAAG9jF,qBAAW,IAAA8jF,OAAA,EAAXA,EAAa/jF,SACvB,uBACJgkF,EAAsB,YACtBC,EAAW,aACXC,EAAY,0BACZC,EAAyB,wBACzBC,EAAuB,cACvBC,GACElB,IACJ,MAAO,CACLiB,wBACE/pE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAMgwC,EAAwBhwC,OACpDtyB,QAASA,IACPioC,YAAa,wBAAyBq6B,EAAwBhwC,MAEhEtpB,OAAO,wBACPzV,KAAM4qB,YAAW,oCAIrBqkD,0BACEjqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEC,YAAa,mBACnC3yB,QAASA,IAAMioC,YAAa,yBAA0B,UACtDj/B,OAAO,yBACPzV,KAAM4qB,YAAW,sCAGrBskD,iBACElqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM8vC,EAAa9vC,OACzCtyB,QAASA,IAAMioC,YAAa,uBAAwBm6B,EAAa9vC,MACjEtpB,OAAO,uBACPzV,KAAM4qB,YAAW,6BAGrBukD,8BACEnqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM+vC,EAA0B/vC,OACtDtyB,QAASA,IACPioC,YACE,8BACAo6B,EAA0B/vC,MAG9BtpB,OAAO,2BACPzV,KAAM4qB,YAAW,0CAGrBwkD,mBACEpqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEC,YAAa,mBACnC3yB,QAASA,IAAMioC,YAAa,kBAAmB,UAC/Cj/B,OAAO,kBACPzV,KAAM4qB,YAAW+pB,YAAuC,CAAEC,eAG9Dy6B,kCACErqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM6vC,EAAY7vC,OACxCtyB,QAASA,IAAMioC,YAAa,iBAAkBk6B,EAAY7vC,MAC1DtpB,OAAO,iBACPzV,KAAM4qB,YAAW,wBAGrB0kD,wBAAyBrB,EAAqB,CAC5CP,iBAAkB,iCAClBC,SAAU,WAEZE,kBAAmBJ,EAA6B,CAC9CC,iBAAkB,2BAClBC,SAAU,WAEZW,2BAA4Bb,EAA6B,CACvDC,iBAAkB,oCAClBC,SAAU,WAEZY,oBAAqBd,EAA6B,CAChDC,iBAAkB,6BAClBC,SAAU,WAEZ4B,sBACEvqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEC,YAAa,sBACnC3yB,QAASA,IACPioC,YAAa,sBAAuB,yBAEtCj/B,OAAO,sBACPzV,KAAM4qB,YAAW,kCAGrBokD,cACEhqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAMiwC,EAAcjwC,OAC1CtyB,QAASA,IACPioC,YAAa,8BAA+Bs6B,EAAcjwC,MAE5DtpB,OAAO,8BACPzV,KAAM4qB,YAAW,0BAGrB+jD,uBACE3pE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM4vC,EAAuB5vC,OACnDtyB,QAASA,IACPioC,YAAa,iBAAkBi6B,EAAuB5vC,MAExDtpB,OAAO,6BACPzV,KAAM4qB,YAAW+pB,YAAuC,CAAEC,eAG9Do5B,uBAAwBD,EAAkC,CACxDL,iBAAkB,yCAClBC,SAAU,WAEZ6B,gCAAiCzB,EAAkC,CACjEL,iBAAkB,yCAClBC,SAAU,WAEZO,kBAAmBD,EAAqB,CACtCP,iBAAkB,2BAClBC,SAAU,WAEb,C,+pBChPH,MAyEa8B,EAAoB7pF,MAAA,GAzEV,CAErB8pF,kBAAmB,oBAEnBC,YAAa,cAGbC,gCAAiC,kCAGjCC,gCAAiC,kCAGjCC,2BAA4B,6BAG5BC,yBAA0B,2BAE1BC,mCAAoC,qCAEpCC,mCAAoC,qCAEpCC,qCAAsC,uCAEtCxW,sBAAuB,wBAEvByW,6BAA8B,+BAG9BC,gBAAiB,kBAEjBC,iBAAkB,mBAElBC,eAAgB,iBAGhBC,oBAAqB,wBAGG,CAExBC,8BAA+B,gCAE/B/oC,iBAAkB,mBAElB0B,wBAAyB,4BAGA,CAGzBsnC,8BAA+B,gCAG/BC,4BAA6B,8BAG7B9oC,wCACE,0CAGF+oC,6CACE,+CAEFC,gDACE,kDAEFC,mCAAoC,qCAEpCC,uCACE,2CCpBJ,IAAIC,GAA0B,EAQvB,SAASC,EACdC,GAEA,OAAO,WAEiD,IAAD,IAAA1lF,EAAAnI,UAAAC,OADlDmI,EAAI,IAAAC,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJF,EAAIE,GAAAtI,UAAAsI,GAEP,IAEE,OAAOlH,OAAOsK,qBAAqBC,YAAYkiF,MAAezlF,EAChE,CAAE,MAAO0wB,GAAM,IAADttB,EAAAC,EAAAqiF,EAEZ,MAAM,QAAE3yD,EAAO,KAAEz8B,EAAI,MAAEggC,GACrB5F,aAAe8C,MAAQ9C,EAAM,IAAI8C,MAAS,OAAH9C,QAAG,IAAHA,OAAG,EAAHA,EAAKwG,YAEd,QAA5B9zB,EAACpK,OAAOsK,4BAAoB,IAAAF,GAAa,QAAbC,EAA3BD,EAA6BG,mBAAW,IAAAF,GAAe,QAAfqiF,EAAxCriF,EAA0CsiF,qBAAa,IAAAD,GAAvDA,EAAAlhF,KAAAnB,GAQHnM,IAAOiF,MAAM,2BAAD9E,OAA4BouF,EAAWzhF,eAAiB,CAClEhE,OACA+yB,UACAz8B,OACAggC,UAXGivD,IACHA,GAA0B,EAC1BruF,IAAOC,KAAK,4BAA6B,CACvCyuF,eAAgBlvF,QAAQsC,OAAOsK,wBAWvC,CACF,CACF,CAIA,MAoBa2E,EAAS,CACpB6nC,IAAK01C,EAAgB,OACrBrvB,OAAQqvB,EAAgB,UACxB9pC,WAAYA,CAAC33C,EAAQ5H,KAAW,IAAD0pF,EAC7B,MAAMC,EACiC,QADxBD,EACb59E,EAAG89E,0CAAkC,IAAAF,OAAA,EAArCA,EAAuCG,cAAcziF,YACnDuiF,EACE/hF,EACFkE,EAAGunC,QAAQs2C,EAAW/hF,EAAQ5H,GAE9B8L,EAAG6nC,IAAIg2C,GAGT5uF,IAAOkJ,KAAK,kCACd,EAEFovC,QAASg2C,EAAgB,WACzBrpF,MAAM,SAAD8pF,GAAA,SAAA9pF,EAAA+pF,GAAA,OAAAD,EAAA9lF,MAAA,KAAAvI,UAAA,QAAAuE,EAAA+6B,SAAA,kBAAA+uD,EAAA/uD,UAAA,EAAA/6B,CAAA,CAAC,EAACA,IAAK,IAAAgqF,EAAAC,EAAA,OAC2B,QAD3BD,EACVl+E,EAAG89E,0CAAkC,IAAAI,GAAa,QAAbC,EAArCD,EAAuCE,mBAAW,IAAAD,OAAb,EAArCA,EAAA5hF,KAAA2hF,EACEl+E,EAAGi0C,OAAO1oB,MACVr3B,EACD,IACHs6B,YAnC2C,CAC3CC,YAAa,cACb4vD,KAAM,OACNnqC,KAAM,OACNoqC,QAAS,UACTC,KAAM,OACN16C,OAAQ,SACR26C,WAAY,aACZhrC,KAAM,QA4BNO,MAAOioC,EACPztD,IAAK5yB,IAAW,IAAA8iF,EAAAC,EAAA,OACuB,QADvBD,EACdz+E,EAAG89E,0CAAkC,IAAAW,GAAa,QAAbC,EAArCD,EAAuCL,mBAAW,IAAAM,OAAb,EAArCA,EAAAniF,KAAAkiF,EACEz+E,EAAGi0C,OAAO2zB,IACVjsE,EACD,EACHgjF,KAAMA,KAAA,IAAAC,EAAA,OACiC,QADjCA,EACJ5+E,EAAG89E,0CAAkC,IAAAc,OAAA,EAArCA,EAAuCR,YACrCp+E,EAAGi0C,OAAO1oB,MACVvrB,EAAGwuB,YAAY0lB,KAChB,EACH2qC,0BAA2BtB,EAAgB,6BAC3CO,iCAAkCP,EAChC,oCAIFuB,UAAWC,IAAmB,IAADC,EAC3B,MAAMC,EAA6C,QAA9BD,EAAGjuF,OAAOsK,4BAAoB,IAAA2jF,OAAA,EAA3BA,EAA6B1jF,YAClDykE,aACGmf,EAAaD,EAAgBE,WACjCzjF,GAASA,EAAM0jF,kBAAoBL,IAIU,IAADM,EAA9C,OAAIH,GAAcD,EAAgBrvF,OAAS,EACH,QAAtCyvF,EAAOJ,EAAgBC,EAAa,UAAE,IAAAG,OAAA,EAA/BA,EACHD,gBAGCL,CAAc,EAEvBrB,cAAeH,EAAgB,iBAC/BjsB,GAAIA,KAAA,IAAAguB,EAAAC,EAAA,OAA2C,QAA3CD,EAAMt/E,EAAG89E,0CAAkC,IAAAwB,GAAa,QAAbC,EAArCD,EAAuClB,mBAAW,IAAAmB,OAAb,EAArCA,EAAAhjF,KAAA+iF,EAAqDt/E,EAAGi0C,OAAOY,GAAG,EAC5Et5C,UAAWgiF,EAAgB,aAC3Ba,YAAab,EAAgB,eAC7B91C,MAAO81C,EAAgB,SACvBtpC,OAhF+B,CAC/BurC,OAAQ,SACRj0D,MAAO,QACPq8C,IAAK,MACL/yB,GAAI,KACJ4qC,MAAO,SA4EPC,eAAgBnC,EAAgB,kBAChCoC,aAAcA,IAAM3/E,EAAGyzC,WAAWzzC,EAAGi0C,OAAOurC,OAAQx/E,EAAGwuB,YAAYglB,M,02BCzJrE,MAAM5Y,EAAsBglD,IAC1B,MAAM,SAAEC,GAAa5uE,IAASC,WAAW+jB,IAAIsZ,gBACvCuxC,EAAcD,EAASC,YACvBxzB,EAAYyzB,YAAwBD,GACpCE,EAAYC,YAAoBH,EAAaxzB,IAC7C,IAAE4zB,EAAG,MAAEC,EAAK,KAAEC,GAASC,YAC3BL,EACAJ,EACAtzB,GAIF,MAAO,CACL4zB,IAAKI,YAAQJ,EAAK,EAAG,KACrBC,MAAOG,YAAQH,EAAO,EAAG,KACzBC,OACD,EAGG5iD,EAAkBA,KACtB,MAAM,QAAEtmC,EAAO,SAAEi2B,EAAQ,OAAEl2B,GAAWE,cAChCklC,EAAcC,YAAerlC,GAMnC,MAAO,CACLulC,kBAHqB,GAAAptC,OAAM8H,EAAO,KAAA9H,OAAI+9B,EAAQ,KAAA/9B,OAAIitC,EAAW,KAAAjtC,OAHtC,mBAOxB,EAGGmxF,EAA6B,CACjCC,cAAeA,KACb,IAAI71D,EAAS,KACb,MAAM,aAAE81D,EAAY,aAAEC,GACpBzvE,IAASC,WAAW+jB,IAAIurD,eAAiB,CAAC,EAEtCG,EAA0BlyF,QAAQgyF,GAAgBC,GAcxD,OAZIC,IACFh2D,EAAS,CACP61D,cAAe,CACbC,eACAC,kBAKNzxF,KAAOC,KAAK,wCAADE,OAC+BuxF,IAEnCh2D,CAAM,GAKX8S,EAAyBA,KAatB,CAAEmjD,gBAZI9mF,OAAO47B,KAClB6qD,GAGCtgE,KAAI7oB,GAAOmpF,EAA2BnpF,OACtCu+B,QAAO,CAACkrD,EAAUx5C,IACbA,EACFl1C,IAAA,GAAY0uF,GAAax5C,GAEpBw5C,GACN,CAAC,KAWFnjD,EACJxrC,GAEIA,EAAK4uF,uBACA,CAAEA,uBAAwB5uF,EAAK4uF,wBAEjC,CAAC,EAWJ3vC,EAAyBniD,IAGY,IAHX,YAC9B6oB,EAAW,YACXyf,GAC6BtoC,EAC7B,GAAIT,IAAS4mB,OAAO4rE,2BAA4B,CAC9C,MAAQ/vD,KAAMC,GAAchgB,IAASC,YAC/B,qBAAE6rB,GAAyB9L,EAC3B8W,EAAapwB,YACjBppB,IAAS4mB,OAAO4yB,WAChBlwB,GAGI7gB,EAAO7E,IAAA,GAAQ4qC,GAAoB,IAAEjc,MAAOinB,EAAW,KAC7DuJ,YAAmB,CACjB1b,MAAO,uBACP5+B,WAEJ,GAGWwsE,EAAsBxzE,GAE1BA,EAAG+2B,QADW,uCACW,CAAC7G,EAAG8gE,EAAIC,IAAMA,EAAEh0D,e,+BCjJlD,wCAKai0D,EAAyB,CACpCC,QANc,qCAOdC,OAJa,uCAKbC,wBAN8B,uCAO9BC,sBAR4B,qC,wUCc9B,MAAMxZ,EAAiC3vD,IAAO0B,EAAC9c,MAAAC,IAAA,iIACpCiW,MAQLsuE,EAA6BppE,IAAO0B,EAACzc,MAAAJ,IAAA,gHAChCiW,MAOLoxD,EAAsBlsD,IAAOC,IAAGI,MAAAxb,IAAA,8KAWhCsnE,EAAwBnsD,IAAO0B,EAACnB,MAAA1b,IAAA,6GAC3BQ,IACI4W,IACEE,KAKXiwD,EAAYpsD,IAAOC,IAAGS,MAAA7b,IAAA,uFACFyV,KAKpB+xD,EAASrsD,YAAOuK,IAAPvK,CAAkBkD,MAAAre,IAAA,2KAEtBuV,IAGI8B,IACEC,KAKXktE,EAA2BrpE,IAAOspE,KAAI5lE,MAAA7e,IAAA,sD,+ICjErC,MAAM0kF,EAAkBvpE,YAAOyF,IAAPzF,CAAcpb,MAAAC,IAAA,+C,oBCAtC,MCcM2kF,EAAyBA,KAIpC,MAAQ7gE,MAAO4yB,GAAgBtiD,aAC7BpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKE,aAAa,IAE5BmP,EAAoBjvC,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIoL,iBAAiB,IACpEuhD,EAAenK,cAEfoK,EDxB6BC,MAAe,IAADC,EACjD,MAAMC,EAAiB5wF,aAAcpC,IAAA,IAAC,IAAEimC,GAAKjmC,EAAA,OAAKimC,EAAI+nC,sBAAsB,IAEtEilB,EAAY7wF,aAAcklB,IAAe,IAAd,KAAE0a,GAAM1a,EACvC,OAAO0a,EAAKe,2BAA2B,IAKzC,OAAmB,OAAdiwD,QAAc,IAAdA,KAAgB77C,KAKgB,QAArC47C,EAAOC,EAD8B,WAAdC,EAAyB,KAAO,eAClB,IAAAF,OAAA,EAA9BA,EAAgCzmD,aAJ9B,EAI0C,ECUlCwmD,GAEjB,GACEvzF,IAASC,SAAS,+BAClBD,IAASC,SAAS,wBACjBozF,EACD,CACA,MAAMM,EAAY/jB,cACd,wCACA,gCAEJ,MAAO,CAAEzuD,QAASynB,YAAW+qD,GAAYC,QAASD,EACpD,CAEA,MAAME,EAA+B7zF,IAASC,SAC5C,gCAEIyxC,EAAiC1xC,IAASC,SAC9C,kCAII6zF,EAAyB9zF,IAASC,SAAS,wBAC3C8zF,EAAoB/zF,IAASC,SACjC,yCAEF,GAAI6xC,GAAqBgiD,EACvB,MAAO,CACL3yE,QAASynB,YAAW,sBACpBgrD,QAAS,sBAGb,GAAI9hD,GAAqBiiD,EACvB,MAAO,CACL5yE,QAASynB,YAAW,2BACpBgrD,QAAS,2BAMb,MAAMte,EAAiBp1E,QAAQozF,IACzB,QAAE3qF,GAAYC,cACdorF,ECnEoB7uC,KAC1B,GAAoB,WAAhBA,EAA0B,CAC5B,MAAMr8B,EAAiB9oB,IAASC,SAAS,kBACnCmrC,EAA6BprC,IAASC,SAC1C,4BAEIg0F,EAA6Bj0F,IAASC,SAC1C,kCAGF,OAAQ6oB,IAAkBsiB,GACvB6oD,EAEC,SADA,MAEN,CAEA,MAAO,OAAO,EDmDGC,CAAY/uC,GACvBgvC,EChDN7e,IAEIt1E,IAASC,SAAS,cACb,UAKSq1E,GAAkB1F,cAElB,SAAW,ODsCbwkB,CAAW9e,GACrBzvE,EAAQ7F,IAASC,SAAS,SAC1Bo0F,EAAqBrL,cACrBsL,EAAiB5iD,IAAmC7rC,EACpD0uF,EAAkB7iD,GAAkC7rC,EACpD2uF,EAAiCx0F,IAASC,SAC9C,wBAIF,GAAiB,WAAb+zF,GAAyBK,EAC3B,MAAO,CACLlzE,QAASynB,YAAW,4BACpBgrD,QAAS,4BAOb,GAAIP,EAAc,CAChB,IAAI/pD,EAEJ,GAAgB,OAAZ3gC,EAAkB,CACpB,MAAM8rF,EAAmB7kB,cAUzB,OAREtmC,EADe,UAAb0qD,EACWS,EACT,8BACA,6BAESA,EACT,2BACA,gCAEC,CACLtzE,QAASynB,YAAWU,GACpBsqD,QAAStqD,EAEb,CAMA,OAJAA,EACe,WAAb0qD,EACI,2BACA,4BACC,CACL7yE,QAASynB,YAAWU,GACpBsqD,QAAStqD,EAEb,CAEA,GACEsmC,gBACCikB,GACEniD,IAAmC6iD,GAEtC,MAAiB,WAAbP,EACK,CACL7yE,QAASynB,YAAW,yBACpBgrD,QAAS,yBAGN,CACLzyE,QAASynB,YAAW,wBACpBgrD,QAAS,wBAKb,GAAiB,UAAbI,GAAwBM,EAC1B,OAAIE,EACK,CACLrzE,QAASynB,YAAW,wBACpBgrD,QAAS,wBAIN,CACLzyE,QAASynB,YAAW,2BACpBgrD,QAAS,2BAGb,GAAiB,WAAbI,GAAyBM,EAC3B,MAAO,CACLnzE,QAASynB,YAAW,iCACpBgrD,QAAS,iCAIb,GAAiB,UAAbI,GAAwBO,EAC1B,OAAIC,EACK,CACLrzE,QAASynB,YAAW,wBACpBgrD,QAAS,wBAIN,CACLzyE,QAASynB,YAAW,2BACpBgrD,QAAS,2BAGb,GAAiB,WAAbI,GAAyBO,EAC3B,MAAO,CACLpzE,QAASynB,YAAW,uCACpBgrD,QAAS,uCAIb,MAOMtqD,EAPa,CACjB,UACA0qD,EACA1e,GAAkB,iBAClB6e,GAG4B3yF,OAAOtB,SAASmlD,KAAK,KACnD,MAAO,CAAElkC,QAASynB,YAAWU,EAAY,CAAEgqD,aAAaM,QAAStqD,EAAY,EEhLlEja,EAAU7D,IACrB,MAAM,SACJzI,EAAQ,WACRumB,EAAU,oBACVorD,EAAmB,SACnBl3E,EAAQ,aACRm3E,EAAY,UACZC,EAAS,QACTnqE,EAAUA,SAAQ,UAClBoqE,GAAY,EAAK,KACjB/mF,EAAO,KAAI,OACXmgB,EAAM,SACNwB,EAAQ,KACRptB,EAAO,UACLmpB,EACEs5B,EAAmBjiD,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGkiC,gBAAgB,IAChEgwC,ECd2BC,MACjC,MAAMC,EAAmCnyF,aACvCpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGoyE,gCAAgC,IAE3ChjD,EAA6CnvC,aACjDklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGovB,0CAA0C,IAErDijD,EAA0BpyF,aAC9BwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAGqyE,uBAAuB,IAElCC,EAA4BryF,aAChC0lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGsyE,yBAAyB,IAG1C,OAAOh1F,QACL80F,GACEhjD,GACAijD,GACAC,EACH,EDL0BH,GAErBI,EAAgBR,EAAen3E,EADXsnC,GAAoB8vC,GAAap3E,GAGrD,QAAE2D,EAAO,QAAEyyE,GAAYR,IACvB5oE,EAAgBzH,GAAsB5B,EAiB5C,OANAod,qBAAU,MACH+K,IAAcsqD,GAAakB,GE1CAr0F,KAIvB,IAJwB,WACnC6oC,GAGD7oC,EACCC,KAAOE,KAAK,kBAAmB,CAC7Bw0F,YAAa9rD,EACbtoC,WAAY,+BACZC,gBAAiB,wCACjB,EFkCEo0F,CAAqB,CAAE/rD,WAAYA,GAAcsqD,GACnD,GACC,CAACA,EAAStqD,IAGXtmB,IAAAC,cAACH,IAAoB,KACnBE,IAAAC,cAACkwE,EAAe,CACdmC,SAAUV,GAAa,aACvB,cAAa3mE,EACbzQ,SAAU23E,EACV1qE,QApBJtd,IAEIunF,GACFjjF,IAAGynC,MAAMw7C,GAEXjqE,EAAQtd,EAAM,EAgBV0nF,UAAWA,EACX/mF,KAAMA,EACN2hB,SAAUA,EACVptB,KAAMA,GAELmoB,GAEkB,C,+BG/D3B,iFAEO,MAAMshE,EAAY,CACvBiB,wBAAyB,CACvBzjD,WAAY,sBACZyT,KAAM,yBAERw4C,oBAAqB,CACnBjsD,WAAY,kBACZyT,KAAM,8BAER6vC,YAAa,CACXtjD,WAAY,UACZyT,KAAM,mBAERy4C,qBAAsB,CACpBlsD,WAAY,mBACZyT,KAAM,0BAERkwC,0BAA2B,CAEzB3jD,WAAY,wBACZ8T,YAAa,kBAEfgvC,yBAA0B,CACxB9iD,WAAY,uBACZ0T,eAAgBy4C,KAElBC,gBAAiB,CACfpsD,WAAY,cACZyT,KAAM,gBAER44C,0BAA2B,CACzBrsD,WAAY,wBACZyT,KAAM,iBAER8vC,aAAc,CACZvjD,WAAY,eACZyT,KAAM,iBAER+vC,0BAA2B,CACzBxjD,WAAY,4BACZyT,KAAM,iBAERqwC,mBAAoB,CAClB9jD,WAAY,iBACZ8T,YAAa,kBAEfw4C,uBAAwB,CACtBtsD,WAAY,gBACZyT,KAAM,mBAERuwC,wBAAyB,CACvBhkD,WAAY,sBACZ0T,eAAgBy4C,KAElB5J,kBAAmB,CACjBviD,WAAY,gBACZyT,KAAM,mBAERwwC,sBAAuB,CACrBjkD,WAAY,oBACZ8T,YAAa,qBAEfy4C,sBAAuB,CACrBvsD,WAAY,oBACZyT,KAAM,iCAERiwC,cAAe,CACb1jD,WAAY,YACZyT,KAAM,+BAER4vC,uBAAwB,CACtBrjD,WAAY,qBACZyT,KAAM,8BAERivC,uBAAwB,CACtB1iD,WAAY,qBACZyT,KAAM,oBAERovC,UAAW,CACT7iD,WAAY,QACZyT,KAAM,sBAERmvC,kBAAmB,CACjB5iD,WAAY,gBACZ0T,eAAgBy4C,MAMP5jC,EAA+B,+B,0SClF5C,MAAMikC,EAAiBA,KAAa,IAAD3yF,EAAA4yF,EAAAC,EAEjC,GAAIC,gBAAqB,QAAP9yF,EAACX,cAAM,IAAAW,GAAQ,QAAR4yF,EAAN5yF,EAAQ+yF,cAAM,IAAAH,GAAa,QAAbC,EAAdD,EAAgBI,mBAAW,IAAAH,IAA3BA,EAAAhoF,KAAA+nF,IAAiC,CAClDr1F,IAAOC,KAAK,gCAEZ,IAIE6B,OAAOyc,IAAKxc,SAAWD,OAAOC,SAAS+wB,IACzC,CAAE,MAAO0G,GACPx5B,IAAOiF,MAAM,oBAAqBu0B,EACpC,CAEAH,YAAW,KACTr5B,IAAOiF,MAAM,wCACbk0D,aAAwB,GACvB,IACL,GAGIu8B,EAAeA,KACfC,eACF31F,IAAOC,KAAK,wBAAyB,CACnC21F,oBAAqBC,cACrBl0F,KAAMm0F,cAAY,QAAU,SAC5B/uF,OAAQvH,QAAQsC,OAAOiF,SAE3B,E,+qBCmBF,MAAMgvF,EAAoCA,KACxC,IAAM9tF,QAAS+tF,GACbh0E,IAASC,WAAW+jB,IAAIiwD,YAAY3mB,SACtC,MAAQrnE,QAASiuF,GAAiBhuF,eAC1Bga,GAAImgB,GAAcrgB,IAASyb,aAInCu4D,EACEA,IAAoBlwE,IAAaqwE,GAAKrwE,IAAapV,GAAKslF,EAGxD12F,IAASC,SAAS,oCAClBy2F,IAAoBE,IAEpBE,YAAsCJ,GAElCK,IAAmBr1F,SAASg1F,IAC9B3zD,EAAUi0D,iCAAgC,GAE9C,EASIC,EAAiCA,KACrC,MAAMC,EAAmBl3F,IAASC,SAAS,uBACrC+oB,EAAmBhpB,IAASC,SAAS,qBACrC,QAAE0I,GAAYC,cAQduuF,EACJn3F,IAASC,SAAS,oCAClB0I,IAAY6d,IAAa0O,IAEtBgiE,IAAoBC,GAAkCnuE,IACzDtoB,KAAOiF,MAAM,4CAA6C,CACxDixF,aAAchuF,cAAYD,UAE5BkxD,cACF,EAGI6e,EAAoCj4E,IAQO,IARN,KACzCy9B,EAAO,CAAC,EAAC,SACT8xC,EAAW,CAAC,EAAC,iBACb2I,GAKDl4E,EACC,MAAM,QAAEkI,GAAYC,cAEpB,GAAS,OAAJs1B,QAAI,IAAJA,MAAMsR,iBAAoC,OAAhBmpC,QAAgB,IAAhBA,MAAkBZ,sBAC/C,OAGF,MAAMD,GAA0B,OAAhBa,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBb,UAAW,GACvCsf,GACY,OAAhBze,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBye,6BAA6B,EAE3CC,EAAmBC,YACvBxf,EACI,OAAJ55C,QAAI,IAAJA,OAAI,EAAJA,EAAMkyC,QAAQ,GAADvvE,OACF,OAARmvE,QAAQ,IAARA,OAAQ,EAARA,EAAUlwE,KAAI,KAAAe,OAAI+nC,YAAW,uBAChCwuD,GAGIG,EAAoC,OAAJr5D,QAAI,IAAJA,OAAI,EAAJA,EAAMsR,gBAEtCgoD,EAA6B,GAQnC,OAPiC,OAA7BD,QAA6B,IAA7BA,KAA+B5rC,OACjC6rC,EAA2BhtD,KAAK+sD,EAA8B5rC,OAE/B,OAA7B4rC,QAA6B,IAA7BA,KAA+B3rC,OACjC4rC,EAA2BhtD,KAAK+sD,EAA8B3rC,OAGzD,CACLisB,uBAAwB,CACtBC,UACAC,sBAAuBY,EAAiBZ,uBAE1CC,eAAgB,CACdC,UAAWof,EAAiBI,aAC5Bvf,gBAAet0E,cAAA,GACT4zF,EAA2Bn2F,QAAU,CACvCq2F,aAAcF,IAEZD,EAA8BxwD,OAAS,CACzC4wD,mBAAoBJ,EAA8BxwD,QAEhDp+B,GAAW,CAAE22B,YAAa32B,IAC1B4uF,EAA8BvxD,UAAY,CAC5CqgC,WAAYkxB,EAA8BvxD,WAExCuxD,EAA8BxxD,WAAa,CAC7CugC,UAAWixB,EAA8BxxD,YAEvCwxD,EAA8BnuC,MAAQ,CACxC6a,SAAUszB,EAA8BnuC,OAEtCmuC,EAA8BluC,YAAc,CAC9CA,WAAYkuC,EAA8BluC,aAG9C2C,gBAAiBqrC,EAAiBO,mBAClCvnB,MAAOgnB,EAAiBQ,UAE3B,EAGGtf,EAA2BA,IAGR7gC,IAAaogD,UAAU,CAC5C7/C,MAAO8/C,IACP5/C,UAAW,CACThwC,MAAOC,iBAOPqwE,EAA0BA,KAG9B,MAAMjpC,EAAkBgc,eAEtBG,OAASp5B,MAAOo5B,GAChBC,OAASr5B,MAAOq5B,GAChBvC,YAAc92B,MAAO82B,GACrBtiB,OAASxU,MAAOwU,GAChBqiB,MAAQ72B,MAAO62B,IACb5Z,GAEE,SAAE5Q,GAAah2B,cACfD,EAAU4iD,cAEVpT,EAAY,CAChBzvC,OAAQ,CACNC,UACAqvF,KAAMp5D,GAER4Q,gBAAiB,CACf4Z,OACAzgD,UACAgjD,QACAC,QACAvC,aACAtiB,SAEF5+B,MAAOC,eAQT,OALuBsvC,IAAaogD,UAAU,CAC5C7/C,MAAOggD,IACP9/C,aAGmB,C,gCCpOvB,sLAEA,MAAM89C,EAAWA,IACRzzF,OAAOyc,MAAQzc,OAAO01F,KAGzB1B,EAAUA,IACPt2F,QAAQsC,OAAO21F,QAalB5B,EAAoBA,KACxB,MAAM6B,EAAiBnC,IACjBoC,EAAgB7B,IAChB8B,EATmBC,MACzB,MAAMC,EAAgB,iBAAiBz4F,KAAKyC,OAAOC,SAASi9B,QAE5D,MAAuB,oBAAhBl9B,OAAO1C,MAA8B04F,CAAa,EAMxBD,GAC3BE,EAAaj2F,OAAO1C,KACpBm/C,EAAYz8C,OAAOC,SAASi9B,OAC5Bg5D,EAAkBx4F,QAAQsC,OAAOiF,QAgBvC,GAdA/G,IAAOC,KAAK,kCAAmC,CAC7Cy3F,iBACAC,gBACAC,2BACAI,kBACAz5C,YACAw5C,eAQEC,GAAmBJ,EACrB,OAAO,EAGT,MACMK,EADsB,iCAAiC54F,KAAK04F,IACXJ,EAEjDO,EAAoB,kBAAkB74F,KAAKk/C,GAGjD,OAAO05C,IAF2BC,GAAqBR,EAEI,EAGvD/B,EAAcA,IA5CXn2F,QAAQsC,OAAOiF,UAAY+uF,KAAaP,MA6CjBM,IAS1BsC,EAAiCn4B,IACrC,IAAK61B,IACH,OAAO,EAGT,IAAK,IAADuC,EAAAC,EAAAC,EAAAC,EAAAC,EACF,MAAMC,EAAM5wB,KAAKC,UAAU,CACzB1rC,UAAW,qBACX4jC,YACA04B,cAAc,IAGVC,EAASn5F,QAAQsC,OAAOm8D,UAAU26B,UAAU32F,MAAM,UAClD42F,EAAUr5F,SACD,QAAb44F,EAAAt2F,OAAO21F,cAAM,IAAAW,OAAA,EAAbA,EAAeU,eACZh3F,OAAOm8D,UAAU26B,UAAU32F,MAAM,kBAItC,GAAI02F,GAAUE,EAGZ,OAFA74F,IAAOC,KAAK,6BACZ6B,OAAO21F,OAAOqB,YAAYL,EAAK,MACxB,EAIT,MAAMM,GACS,QAAbV,EAAAv2F,OAAO21F,cAAM,IAAAY,GAAQ,QAARC,EAAbD,EAAeW,cAAM,IAAAV,OAAR,EAAbA,EAAuB33F,UAAuB,QAAjB43F,EAAIz2F,OAAO21F,cAAM,IAAAc,GAAQ,QAARC,EAAbD,EAAeS,cAAM,IAAAR,OAAR,EAAbA,EAAuBS,cAE1D,GAAU,OAANF,QAAM,IAANA,KAAQG,eAGV,OAFAl5F,IAAOC,KAAK,+BACZ84F,EAAOG,eAAeT,IACf,CAEX,CAAE,MAAOj/D,GACPx5B,IAAOkJ,KAAK,+BAAgC,CAC1CjE,MAAOu0B,EAAI4F,OAAS5F,EAAIwG,YAE5B,CAIA,OAFAhgC,IAAOC,KAAK,6BAEL,CAAK,C,gCC3Gd,wFA8CIk5F,EAAgB,MAACv4F,EAAW,MAE5BimC,EAAa,CAAC/G,EAAGhV,KACnB,GAAIquE,EAAcn4F,SAAS8+B,GACzB,OAAO,EAGT,IAAIs5D,EAAatuE,EAQjB,OANI,YAASA,GACXsuE,EAAatuE,EAAM/C,MAAM,KACfhf,MAAMyd,QAAQsE,KACxBsuE,EAAa,CAACtuE,IAGTsuE,EAAW74D,OAAM84D,GACfxuF,OAAOk1B,UAAUz6B,eAAegI,KAAKwyB,EAAGu5D,IAC/C,EAGAC,EAASr8C,IACX,YAAaA,GACb,IAAIs8C,EAAW,CAAC,EAKhB,OAJA1uF,OAAOq8B,QAAQ+V,GAAKzwC,SAAQzM,IAC1B,IAAKoI,EAAKuhF,GAAO3pF,EACjBw5F,EAAS7P,GAAOvhF,CAAG,IAEdoxF,CAAQ,C,+BCvEjB,kCAAO,MAAMjvE,EAAa,CACxBC,MAAO,QACPC,KAAM,OACNC,QAAS,UACTC,QAAS,U,gCCLX,0RA2BA,MAAM8uE,EAA8B,CAClC,CAACtxF,cAAYF,QAAS,CACpByY,QAAStf,cAAasf,QACtBwiD,KAAM9hE,cAAaisC,cAGjBqsD,EAAuB,IAAIlsF,IAC3BmsF,EAA2B,aAC3BC,EAAgB,CAAC,KAAM,KAAM,MAG7BC,EAAuB5xF,GACtB+7D,EAA0B/7D,GAKxBwxF,EAAcxxF,GAAQyY,SAJ3BzgB,IAAOiF,MAAM,8BAA+B,CAAE+C,WACvC,CAAC,GAMN+7D,EAA6B/7D,GACjC6+B,YAAW2yD,EAAexxF,GAOtB07D,EAAqB3jE,IAI2B,IAJ1B,QAC1B0gB,EAAO,KACPwiD,EAAI,OACJj7D,GACwCjI,EACxC,IAAKumB,YAAS7F,GAIZ,OAHAzgB,IAAOiF,MAAM,wCAGNk0D,cAGT,MAAMhxD,EAAMH,GAAUE,cAAYF,QAC9B+jD,KAAWgY,EAA0B57D,KACvCnI,IAAOC,KAAK,yBAA0B,CAAE+H,OAAQG,IAChDqxF,EAAcrxF,GAAO,CACnBsY,UACAwiD,QAEJ,EAUI42B,EAAmBxyE,IAAkC,IAAjC,KAAEg1B,GAAyBh1B,EACnD,MAAM,OAAErf,GAAWE,cAGfuxF,EAAqBjjD,IAAI,GAADr2C,OAAI6H,EAAM,KAAA7H,OAAIk8C,MAI1Co9C,EAAqBhsF,IAAI,GAADtN,OAAI6H,EAAM,KAAA7H,OAAIk8C,IACtCr8C,IAAOkJ,KAAK,mBAAD/I,OAAoB6H,EAAM,KAAA7H,OAAIk8C,IAAO,EAGlD,IAAIy9C,EAAuBC,qBAAgB,CACzCt5E,QAASm5E,EAAoB1xF,cAAYF,QACzC6xF,qBAOF,MAAMj2B,EAAeA,KACnB,MAAM,SAAE1lC,EAAQ,OAAEl2B,GAAWE,cACvBuY,EAAUm5E,EAAoB5xF,GAEpC8xF,EAAuBC,qBAAgB,CACrCt5E,UACAo5E,qBAUF14F,cAAasf,QAAUA,EAGvB,MAAMqoE,EAAiB6Q,EAAc34F,SAASk9B,GAAY,MAAQ,MAC5D87D,EAAwBz1F,SAAS01F,gBAAgBC,aAAa,OACpE31F,SAAS01F,gBAAgBrhE,aAAa,OAAQsF,GAC1C87D,IAA0BlR,IAC5BnD,YAAa,CAAEmD,mBACfvkF,SAAS01F,gBAAgBrhE,aAAa,MAAOkwD,GAC/C,EAoBI5gD,EAAa,WAGjB,MAAMxM,EAASo+D,KAAqBp5F,WACpC,OAAO6I,YAAWmyB,GAAU,KAAOA,CACrC,EAoBM2R,EAAkBrlC,IACtB,MAAM,KAAEi7D,GAASu2B,EAAcxxF,IAAW,CAAC,EAK3C,OAAOi7D,GAAQ,IAAI,EAQfk3B,EAAwBvxD,IAC5B,GAA0B,kBAAfA,EACT,OAAO,KAGT,MAAM,OAAE5gC,GAAWE,cAEbkyF,EADOxxD,EAAW7gB,MAAM,KACN2e,QAAmC,CAACjmB,EAAStY,IAE5Dme,YAAS7F,GAAWA,EAAQtY,GAAOsY,GACzCm5E,EAAoB5xF,IAEvB,GAA0B,kBAAfoyF,EACT,OAAO,KAMT,MAAMn4F,EAAQm4F,EAAWn4F,MAAMy3F,GAC/B,OAAOz3F,EAAQA,EAAM+uB,KAAI0G,GAAOA,EAAIiW,UAAU,KAAM,IAAI,C,+BClN1D,4MAUA,MAAM0sD,EAAoCA,IACjCp3F,IACL,MAAM,MAAEygF,EAAK,qBAAE4W,GAAyBr3F,GAEtCs3F,kBAAmBC,EACnBC,uBAAwBC,GACtBJ,GAAwB,CAAC,EAE7B,GAAS,OAAL5W,QAAK,IAALA,KAAOiX,mBAAoB,CAG7B,GACEH,GACmC,YAAnCA,EAAwB3tF,OAKxB,MAHA7M,IAAOiF,MAAM,2BAA4B,CACvC4H,OAAQ2tF,EAAwB3tF,SAE5B,IAAIyvB,MAAM,uBACX,GACLo+D,GACsC,kCAAtCA,EAAwBE,UAKxB,MAHA56F,IAAOiF,MAAM,2BAA4B,CACvC21F,UAAWF,EAAwBE,YAE/B,IAAIt+D,MAAM,uBACX,IAAKk+D,IAA4BE,EAItC,MADA16F,IAAOiF,MAAM,gCACP,IAAIq3B,MAAM,oBAEpB,CAEA,MAAO,CACLq+D,mBAAoBn7F,QAAa,OAALkkF,QAAK,IAALA,OAAK,EAALA,EAAOiX,oBACnCH,0BACAE,0BACD,EAUCG,EAAyBC,GACtBn/D,IAAa,IAADyX,EAAA2nD,EAAAC,EAAAC,EAAAn0F,EACjB,MAAQk/B,IAAK2I,EAAU5M,KAAMC,GAAchgB,IAASC,YAC5C4P,MAAOoQ,GAAkBD,EAAUC,cACrCmhB,EAA4B,UAAlBnhB,EACVi5D,EAAuB,OAARv/D,QAAQ,IAARA,GAAc,QAANyX,EAARzX,EAAU14B,YAAI,IAAAmwC,OAAN,EAARA,EAAiB0nD,IAChC,YAAEnnD,IAA4B,OAAZunD,QAAY,IAAZA,OAAY,EAAZA,EAAcznD,MAAMC,OAAQ,CAAC,GAC7C1N,IAAKsa,GAAet+B,IAASyb,aAC/B09D,EAA2C,QAA9BJ,EAAGG,EAAaE,sBAAc,IAAAL,OAAA,EAA3BA,EAA8B,GAC9CM,EAAoB,OAAbF,QAAa,IAAbA,GAAuB,QAAVH,EAAbG,EAAeG,gBAAQ,IAAAN,OAAV,EAAbA,EAA0B,GACjC3jD,EAAoB,OAAJgkD,QAAI,IAAJA,GAAoB,QAAhBJ,EAAJI,EAAME,sBAAc,IAAAN,OAAhB,EAAJA,EAAuB,GACvCO,EAAoB7sD,EAAS8sD,yBAC/BN,EACA9jD,EACJ,GAAImkD,EAAmB,CAAC,IAADE,EACrB,MAAMC,GAAkD,QAAnCD,EAAAF,EAAkBA,yBAAiB,IAAAE,OAAA,EAAnCA,EAAqC36F,KAAM,GAEhEf,IAAOC,KAAK,4CAA6C,CACvD27F,oBAAqBp8F,QAAQm8F,KAE/Br7C,EAAWu7C,gBAAgBF,GAC3Br7C,EAAWw7C,iBAAiBN,EAC9B,CAKA,GAAI7nD,EAAa,CAAC,IAADjxC,EAAAC,EAAAo5F,EACf,MAAMp6F,EAAOyhD,EAAU,QAAU,UAC3B,WAAEuqB,EAAU,WAAEmC,GAAenhC,EACnC,GAAIplC,YAAwB,QAAd7G,EAACZ,OAAOc,cAAM,IAAAF,GAAW,QAAXC,EAAbD,EAAeG,iBAAS,IAAAF,GAAU,QAAVo5F,EAAxBp5F,EAA0Bq5F,gBAAQ,IAAAD,OAArB,EAAbA,EAAoCE,aAAc,CAAC,IAADC,EAC/D,MAAMj5F,EAAOs8E,YAAyB,CACpCC,QAAqB,OAAZ0b,QAAY,IAAZA,GAAmB,QAAPgB,EAAZhB,EAAcznD,aAAK,IAAAyoD,OAAP,EAAZA,EAAqBC,OAC9BxuB,aACA3lE,OAAQE,cACR4nE,eAGF9vE,IAAOC,KAAK,iCAAkCgD,GAC9C,IAIEnB,OAAOc,OAAOC,UAAUm5F,SAASC,YAAY,CAAEh5F,QACjD,CAAE,MAAOgC,GACP,MAAM,QAAE42B,EAASuD,MAAOg9D,GAAen3F,EACvCjF,IAAOkJ,KAAK,sCAAuC,CACjD2yB,UACAugE,cAEJ,CACF,CAEAp8F,IAAOC,KAAK,uBAAwB,CAAEwkD,YAAa9iD,GACrD,CAQA,OALI4H,YAAwB,QAAdzC,EAAChF,OAAOiF,cAAM,IAAAD,OAAA,EAAbA,EAAeu1F,UAC5Br8F,IAAOC,KAAK,sCACZ6B,OAAOiF,OAAOs1F,OAAO,CAAE1oD,iBAGlBysB,YAA6B86B,EAAa,EAI/CoB,EACJzB,EAAuB,kBACnB0B,EAAoC1B,EACxC,+BAEI2B,EAAyC3B,EAC7C,mCAEI4B,EAAsCpC,IACtCqC,EAAmCrC,G,iRC9HlC,MAAMsC,EAAmC59C,YAAGjxC,MAAAC,IAAA,2+BAiD/CqrE,IACAC,K,cCpDG,MAAMujB,EAAiC79C,YAAGjxC,MAAAC,IAAA,y/CAkD7CwjE,K,MC7CG,MAAMsrB,EAA0C99C,YAAGjxC,MAAAC,IAAA,2hCAoCtDwjE,IACAC,IACAE,IACAD,K,MCzCG,MAAMqrB,EAAyB/9C,YAAGjxC,MAAAC,IAAA,q/CA+DrCyjE,IACAC,K,MC/DG,MAAMsrB,EAA8Bh+C,YAAGjxC,MAAAC,IAAA,m8EA8E1CwjE,IACAC,IACAE,IACAD,K,MCxFG,MAAMurB,EAAiCj+C,YAAGjxC,MAAAC,IAAA,+N,uYCE5CkvF,EAAY,SAAZA,GAAY,OAAZA,EAAY,oCAAZA,EAAY,0CAAZA,EAAY,kDAAZA,CAAY,EAAZA,GAAY,IAMV,MCqBDC,EAAmB,CACvBC,oBAAqBP,IACrBQ,aAAcN,IACdO,gBAAiBN,KAQb32C,EAAgBnjD,IACpB,MACE+iC,IAAK2I,EACL5M,KAAMC,EACN9f,IAAI,OAAEugB,IACJzgB,IAASC,YACL4P,MAAOoQ,GAAkBD,EAAUC,cACrCmP,EAAoBzC,EAASyC,kBAC7BnpC,EAAUC,cAAYD,QACtBmgB,EAAiB9oB,IAASC,SAAS,kBACnCmrC,EAA6BprC,IAASC,SAC1C,4BAGIkrC,EAA6B,WAAlBxI,EACXwiB,GAFar8B,GAAkBsiB,IAEHD,EAAW,OAASxI,EAChDuI,EAAwB,SAAX/H,EACb66D,EAA0BzmE,IAAwB71B,SAASiH,GAE3Ds1F,EDnDuB,SAC7B9yD,EACAD,EACA4G,GAEkB,IADlB9xC,EAAkBoB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEtB,MAAM,cAAE88F,EAAa,qBAAEC,GAAyBn+F,EAQhD,OAAIkrC,EACKyyD,EAAaS,6BAYfjzD,GAFL2G,GAAqBosD,GAAiBC,EAIpCR,EAAaU,qBADbV,EAAaW,uBAEnB,CCqBuBC,CACnBpzD,EACAD,EACA4G,EACA,CACEosD,cACEl+F,IAASC,SAAS,yBAClBD,IAASC,SAAS,yCACpB+oB,iBAAkBhpB,IAASC,SAAS,sBAIlC6uE,EAAmB5lE,KAAKC,MAE9BzI,IAAOC,KAAK,uBAAwB,CAClCwkD,cACAhiB,SACA86D,iBAMF7X,cAEA,MAAMoY,EAAWZ,EAAiBK,GAE5B9lD,EAAYpN,YAAkBpnC,GAC9B86F,EAAkBlmD,YAAe,CAAEimD,WAAUrmD,cAChDhuC,KAAK6yF,KACL7yF,MAAKxG,IACJkrE,YAAwBlsC,EAAemsC,GAChCnrE,KAGX,GAAIunC,EAAY,CACd,MAAMwzD,EAAc,CAClBC,eAAgB,cAChB3iE,OAAQ,SACRzuB,OAAQ,WAGV,OAAOkxF,EACJt0F,MAAK,KACJglE,YAAiCuvB,GACjCp9B,aAAiB,CACfs9B,YAAY,EACZ7mD,cAAe,WACf8mD,sBAAuBb,GACvB,IAEH5zF,OAAM8vB,IACL,MAAM,QAAEqC,GAAYN,aAAc/B,GAElCwkE,EAAYnxF,OAAS,UACrBmxF,EAAY78C,eAAiBtlB,EAC7BmiE,EAAY5wB,eAAiB,0CAC7BqB,YAAiCuvB,GACjCI,YAAoB5kE,EAAI,GAE9B,CAEA,OAAOukE,EACJt0F,KAAKgzF,KACLhzF,KAAK88C,KACL98C,MAAK,KAEJsH,IAAGsxD,IAAI,IAER34D,MAAM00F,IAAoB,E,8BChIxB,MAAMC,EAA0Ct/C,YAAGjxC,MAAAC,IAAA,ypB,wPCUnD,MAAMuwF,EAAuBp1E,IAAOC,IAAGrb,MAAAC,IAAA,iDAEnChO,IAAA,IAAC,aAAEw+F,GAAcx+F,EAAA,OAAMw+F,GAAgB,EAAI,CAAC,IAG1CC,EAAkBt1E,IAAOS,KAAIxb,MAAAJ,IAAA,6CAC/BmW,IACMmB,KAGJo5E,EAAOv1E,IAAOC,IAAGI,MAAAxb,IAAA,4GAOjB2wF,EAAax1E,IAAOxN,OAAM+N,MAAA1b,IAAA,4eAEjB+S,IAWEkC,KAQNhC,KAUL29E,EAAyBz1E,IAAOC,IAAGS,MAAA7b,IAAA,8gBAKzBS,I,+BClEvB,wIACO,MAAMorE,EAA8B,CACzCC,gCACE,+CACFM,sBAAuB,8BACvBJ,cAAe,uBACfE,mBAAoB,0BACpBI,wBAAyB,gCAGdE,EAA4B,CACvCC,oCACE,2CAGShnC,EAAqC,CAChDorD,wCAAyC,kCACzCC,qBAAsB,iBACtBC,wBAAyB,iBACzBC,6BAA8B,wBAInBrkB,EAAgC,CAC3CskB,6CAA8C,QAC9CJ,wCAAyC,QACzCK,4BAA6B,SAC7BJ,qBAAsB,QACtBC,wBAAyB,SACzBC,6BAA8B,S,4SC3BzB,MAAMG,EAA4BngD,YAAGjxC,MAAAC,IAAA,8c,cCIrC,MAAMw2D,EAAyBxlB,YAAGjxC,MAAAC,IAAA,wRAWrCirE,K,MCPG,MAAMjb,EAAyBhf,YAAGjxC,MAAAC,IAAA,8SAarCkrE,IACAC,IACAC,IACAG,IACAC,K,MCrBG,MAAMrV,EAAyBnlB,YAAGjxC,MAAAC,IAAA,++BA2CrCirE,K,MC/CG,MAAMmmB,EAAoCpgD,YAAGjxC,MAAAC,IAAA,yc,MCC7C,MAAMqxF,EAAsBrgD,YAAGjxC,MAAAC,IAAA,6tBAsClCqrE,IACAC,K,MCvCG,MAAMgmB,EAA6CtgD,YAAGjxC,MAAAC,IAAA,mmB,6NCOnBF,YAAGC,MAAAC,IAAA,4BAAtC,MAIMqkD,EAAuBvkD,YAAGM,MAAAJ,IAAA,2BAI1B0jB,EAAsB5jB,YAAG0b,MAAAxb,IAAA,+IAE3BsV,KAUEi8E,EAA0Bp2E,IAAOC,IAAGM,MAAA1b,IAAA,iCAIpC2wF,EAAax1E,IAAOxN,OAAMkO,MAAA7b,IAAA,4OAG5BU,KAMP1O,IAAA,IAAC,MAAEoiB,GAAOpiB,EAAA,OAAK2yB,YAAmBvQ,EAAM,IAO/Bo9E,EACXC,GACqB3xF,YAAGue,MAAAre,IAAA,gMAMrByxF,GACH3xF,YAAG+e,MAAA7e,IAAA,uKAEiBU,IAEGA,MC3DZgxF,EAAkBA,KAC7B,MAAQv9E,GAAImgB,GAAcrgB,IAASyb,aAOnC,OCTAz9B,KAAOE,KAAK,mCAAoC,CAC9CI,WAAY,UACZC,gBAAiB,qCDOZ8hC,EAAU0F,gCAA+B,EAAK,EEa1C23D,EACX50E,IAEAiT,YAAgB,6BAEhB,MAAOyhE,EAAeG,GAAoBp0E,oBAAS,GAEnD,OACEjJ,IAAAC,cAAC+8E,EAAuB,CACtB,cAAY,qCACZ1oC,UAAU,uBAEVt0C,IAAAC,cAACwyC,IAAoB,CACnBE,QAAQ,4BACRD,6BAA8BuqC,EAC5BC,KAGD,IACCl9E,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAAC4yC,IAAkB1nC,IAAA,CACjB1sB,GAAG,4BACHsd,MAAO6pB,YAAW,yCAClBrY,UAAU,EACVgC,MAAO/G,EAAM+G,MACbL,wBAAyB4gC,EACzB3gC,oBAAqBA,EACrB,cAAY,iCACZmuE,UAAQ,GACJ90E,IAENxI,IAAAC,cAACm8E,EAAU,CACT39F,GAAG,sCACHY,KAAK,SACL,cAAY,sCACZooB,QAAS01E,EACT,gBAAAt/F,OAAe+nC,YAAW,gBAAe,KAAA/nC,OAAI+nC,YAC3C,0CAEF7X,QAASA,IAAMsvE,GAAiB,GAChC1vE,OAAQA,IAAM0vE,GAAiB,IAE9Bz3D,YAAW,oBAKI,E,iCCtE9B,MAAM23D,EAAkChyF,YAAGC,MAAAC,IAAA,kC,slBCqBpC,MAAM+xF,EAAgBh1E,IAC3B,MAAM,uBAAE4sC,EAAsB,eAAEpG,GAAmBxmC,GAC7C,cAAE6E,GAAkBusC,IAEpB6jC,EAAS78F,IAAA,GACVg5D,KACApxC,GAGCk1E,EAA2BtoC,EAC7BuoC,IACAC,IAGEC,ECjCyCC,MAC/C,MAAMtiD,EAAiBnO,cAIjB60B,EAAcriE,aAClBpC,IAAA,IAAC,IAAEimC,GAAKjmC,EAAA,OAAKimC,EAAIsZ,gBAAgBC,QAAQzB,EAAe,IAEpD1O,EAAqBjtC,aACzBklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKqN,kBAAkB,IAKvC,IACG9vC,IAASC,SAAS,kCAClBilE,IACAp1B,EAED,OAAO,KAIT,IAAKA,EAAmBsK,SACA8qB,EAAYzmB,OAC/Bj9C,QAAO6lC,GAASA,EAAMtX,aACtBmlB,MAAK7sB,IAAe,IAAd,KAAEvoB,GAAMuoB,EAEb,MAAMgf,EAAQyI,EAAmBhwC,GAEjC,OAAyB,IAAlBunC,EAAMnX,SAAyC,iBAApBmX,EAAMG,SAA4B,IAKtE,OAAO,KAIX,MAAM,GAAN3mC,OAAUivC,EAAmB6b,MAAMp5B,MAAK,MAAA1xB,OAAKivC,EAAmBuZ,WAAW92B,MAAK,EDNzCuuE,GAEjChvD,EAAoBjvC,aAAcpC,IAAA,IAAC,IAAEimC,GAAKjmC,EAAA,OAAKimC,EAAIoL,iBAAiB,IAC1E,OAAI9xC,IAASC,SAAS,yBAA2B6xC,EACxC,KAIP9uB,IAAAC,cAAAD,IAAAyO,SAAA,MACIugC,GACAhvC,IAAAC,cAAC89E,IAAiB5yE,IAAA,CAChB+D,wBAAyBquE,EACzB,cAAY,uBACRE,IAGRz9E,IAAAC,cAAC+9E,IAAkBP,GAElBI,GACC79E,IAAAC,cAACm9E,EAAyB,CAAC7tE,MAAOsuE,IAGpC79E,IAAAC,cAACy9E,EAAwB,CACvBrwE,cAAeA,EACf2hC,eAAgBA,EAChB3vD,KAAK,WAEN,C,yJE9DA,MAAM4+F,EAAYA,CACvBC,EACA7+F,KAEA3B,IAAOE,KAAK,6CAA8C,CACxDugG,UAAW9+F,EACX6+F,cACA/sC,WAAY,6CACZitC,QAAS,UACTpgG,WAAY,uBACZC,gBAAiB,gCACjB,E,YCEJ,MA+BaogG,EAAiBpiE,UAC5B,IACE,MACEr9B,KAAK,KAAEm7D,GACP0mB,mBAAmB,gBAAEG,IACnB/hF,cAUJ,MA7CFy/F,KAMA,MAAM,8BAAEC,EAA6B,qBAAEC,GACrC9+E,IAASyb,aAAavb,GACxB,GAAInZ,MAAMyd,QAAQo6E,GAEhB,OADAL,GAAU,EAAO,WACV,EACF,GAAIK,EAAgB,CACzB,MAAQ/iC,QAASioB,EAAc,SAAEib,GAAaH,EAQ9C,OAPA/a,YAAiBC,GACjBya,GAAU,EAAM,UAIhBM,EAA8B,YAC9BC,EAAqBC,IACd,CACT,CAGA,OADAR,GAAU,EAAO,UACV,CAAK,EAqBHS,OARgBC,YAAO,CAC5BpjC,QAASqlB,EAAgBrlB,QACzBhkC,QAAS,CACPqnE,QAASr4E,IAAQ81C,WAAW58D,SAAS65C,OAASygB,GAEhD8kC,iBAAkB93D,IAItB,CAAE,MAAO7P,GACP,MAAM,QAAEqC,EAAO,MAAEuD,GAAU5F,GAAO,CAAC,EAEnC,OADAx5B,IAAOkJ,KAAK,mBAAoB,CAAE2yB,UAASuD,WACpC,CACT,G,kmBC3DF,MAAMk0B,EAAmBA,KACvB,MAAMF,EAAwB9zD,IAASC,SAAS,kBAAoB,EAAI,EAExE,MAAO,CACLi0D,qBAAsB,CACpBC,WAAY,kCACZC,WAAY,QACZN,wBACA9yD,WAAY,0BAEd8yD,wBACD,ECJUguC,EAAiB/3D,IAC5B,MACM,QAAE7Z,GAAY4qB,YAAoB/Q,EAAO,CAAEve,MADnC,CAAE+E,UAAU,EAAMluB,KAAM,WAEtC,OAAO6tB,CAAO,EAGH6xE,EAAeA,KAC1B,IAAKx6E,YAAc,iBACjB,OAAO,EAMT,QAFgB1lB,cAAa4hF,kBAAkBG,gBAAgBrlB,UAG7D79D,IAAOkJ,KAAK,sBAAuB,CACjC2yB,QACE,iGAGG,EAGE,EAGAw4B,EAAc91B,UACzB,MAAM,mBAAE+iE,EAAkB,qBAAEC,GAC1Bv/E,IAASyb,aAAauI,KAClB,IAAEA,GAAQhkB,IAASC,WAEzB,GAAI+jB,EAAIw7D,kBAAoBn4D,GAAS+3D,EAAc/3D,IAAUg4D,IAAgB,CDR7ErhG,IAAOE,KAAK,0CAAyCgD,IAAA,GAChDowD,IAAmBE,sBAAoB,IAC1CjzD,gBAAiB,oCCQjB+gG,EAAmBj4D,GAEnB,MAAM+H,QAA0BuvD,EAAet3D,IAGzC,KAAEtH,GAAS/f,IAASC,WACtBonB,IAAUtH,EAAKsH,MAAMxX,QACvB0vE,EAAqBnwD,GClDUA,KACnC,MAAQlvB,GAAImgB,EAAWN,KAAM0gB,GAAgBzgC,IAASyb,cAChD,cAAEwE,GAAkBjgB,IAASC,WAAW8f,KAE9C,GAAIlb,YAAc,kBAAmB,CACnC,MAAM46E,EAAiBniG,IAASC,SAC9B,wCAGE6xC,EACFqR,EAAYi/C,oBAAoB,SAI/BtwD,IACDqwD,GAECx/D,EAAcyX,SAGS,WAAxBzX,EAAcpQ,OAEd4wB,EAAYi/C,oBAAoB,UAGlCr/D,EAAUs/D,qCAAqCvwD,EACjD,GDyBIwwD,CAAqBxwD,GDlCaA,KACtCpxC,IAAOE,KAAK,8CAA6CgD,IAAA,GACpDowD,IAAmBE,sBAAoB,IAC1CsrB,WAAY1tC,EAAoB,mBAAqB,cACrD7wC,gBAAiB,mCACjB,EC+BEshG,CAAwBzwD,GAE5B,GEtDW0wD,EAAyBvjE,UAA4B,IAADwjE,EAC/D,MAAM,qBAAER,EAAoB,mBAAED,GAC5Bt/E,IAASyb,aAAauI,IAClBqD,EAAsC,QAAjC04D,EAAG//E,IAASC,WAAW8f,KAAKsH,aAAK,IAAA04D,OAAA,EAA9BA,EAAgClwE,MACxCmwE,EAAW9a,cAEX+a,EAAkBD,EAASnoD,SAAWmoD,EAASjoD,UAGrD,GACE1Q,IAAU44D,GACVb,EAAca,IACdZ,IACA,CACAC,EAAmBj4D,GAEnBk4D,QADgCZ,EAAesB,GAEjD,E,+BCtBF,kCAaA,MAAM99C,EAAgE,CACpEnjB,QAAS,8CACT,6BAA8B,8CAC9B,oDACE,8CACF,mGACE,+CACF,+CACE,qCACF,+CACE,qCACF,6CACE,mCACF,2CAA4C,iC,iCC1B9C,0YAGIoG,EAAkBnH,GACb,YAASA,GAAKqlC,EAAUrlC,EAAE,IAAMA,EAAE0N,UAAU,GAAK,GAGtDu0D,EAAW,SAAkBxqE,GAC/B,IAAIyqE,EAAgBzhG,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAKg3B,EACxF,OAAO,YAASA,GAAOA,EAAI8R,OAAS24D,CACtC,EAEIC,EAAYniE,GAAKoiE,EAAQpiE,EAAG,eAE5BqiE,EAAgB5qE,GACb,YAASA,GAIVA,EAAI/2B,OAAS,EACR+2B,EAGF4qE,EAAc5qE,EAAI6qE,OAAO,IAAM7qE,EAAI,GAPjC,GAUP2qE,EAAU,CAACpiE,EAAG32B,IACT,YAAS22B,IAAM,YAAWA,EAAE32B,IAAO22B,EAAE32B,KAAQ,GAGlDk5F,EAAiBviE,GACZ,YAASA,GAAKwiE,EAAcxiE,GAAGnI,QAAQ,IAAmB,IAAM,GAGrE4qE,EAAmBziE,GACd,YAASA,GAAKwiE,EAAcxiE,GAAGnI,QAAQ,IAAqB,IAAM,GAGvE6qE,EAAc,CAAC1iE,EAAG2iE,IACb3iE,EAAEnI,QAAQ8qE,EAAa,IAAI9qE,QAAQ,IAAcsqE,GAGtD98B,EAAYrlC,GAAKoiE,EAAQpiE,EAAG,eAE5BoxD,EAAU,CAACpxD,EAAGt/B,EAAQkiG,KACxB,KAAO5iE,EAAEt/B,OAASA,GAChBs/B,EAAI4iE,EAAM5iE,EAGZ,OAAOA,CAAC,EAGNwiE,EAAgB,SAAuB/qE,GACzC,IAAIqK,EAAOrhC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,OAC3EyhG,EAAgBzhG,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAKg3B,EACxF,OAAO,YAASA,IAAQ,YAAWA,EAAIorE,WAAaprE,EAAIorE,UAAU/gE,GAAQogE,CAC5E,EAEIY,EAAS,CAACrrE,EAAKsrE,EAAKC,IAAWvrE,EAAImvB,MAAM,EAAGm8C,GAAOC,EAASvrE,EAAImvB,MAAMm8C,E,+BC1D1E,qFAUA,IAAIE,EAAqD,CACvD9jG,KAAM,oBACN+jG,OAAQ,yCAQN3yE,EAAiBzwB,IACnB,IAAI,OACFiE,EAAM,eACN+mB,EAAc,OACdgI,EAAM,MACNvuB,EAAK,cACL0a,EAAa,aACbkkF,EAAY,MACZj/F,GACEpE,EACAsjG,EAAS,iBAAO,eAChBC,EAAa,iBAAO,eACxB,OAAO,YAAI,MAAO,CAChB1sC,UAAW7rC,EACXld,IAAK,YAAK,CAACq1F,EAAYn4E,GAAiB,0BACxC,cAAegI,GACd,YAAI,MAAO,CACZ,kBAAmB,gBACnB/uB,OAAQA,EACRu/F,oBAAqB,OACrBnwB,KAAM,MACNpB,QAAS,OAAO7xE,OAAOijG,EAAc,KAAKjjG,OAAO+e,GACjD/a,MAAOA,GACN,YAAI,QAAS,CACdpD,GAAI,iBACHyD,GAAQ,YAAI,OAAQ,CACrB4tE,SAAU,QAAQjyE,OAAOkjG,EAAOjrD,QAAS,KACzC65B,KAAM,QAAQ9xE,OAAOmjG,EAAWlrD,QAAS,KACzCp0C,OAAQA,EACRG,MAAOA,EACPuuE,EAAG,IACHC,EAAG,MACD,YAAI,OAAQ,KAAM,YAAI,WAAY,CACpC5xE,GAAIsiG,EAAOjrD,SACV,YAAI,OAAQ,CACbp0C,OAAQA,EACRwvE,GAAI,IACJC,GAAI,IACJtvE,MAAOA,EACPuuE,EAAG,IACHC,EAAG,OACA,YAAI,iBAAkB,CACzB5xE,GAAIuiG,EAAWlrD,SACd,YAAI,OAAQ,CACb58B,OAAQ,YACR64D,UAAW,UACXmvB,YAAa,KACZ,YAAI,UAAW,CAChBC,cAAe,SACfC,IAAK,KACLC,YAAa,aACbz/C,OAAQ,WACL,YAAI,OAAQ,CACf1oC,OAAQ,WACR64D,UAAW,UACXmvB,YAAa,KACZ,YAAI,UAAW,CAChBC,cAAe,SACfC,IAAK,KACLC,YAAa,aACbz/C,OAAQ,WACL,YAAI,OAAQ,CACf1oC,OAAQ,UACR64D,UAAW,UACXmvB,YAAa,KACZ,YAAI,UAAW,CAChBC,cAAe,SACfC,IAAK,KACLC,YAAa,aACbz/C,OAAQ,cACH,EAGT1zB,EAAeozE,aAAe,CAC5B5/F,OAAQ,KACRkb,cAAe,KACfkkF,aAAc,MACdj/F,MAAO,QAGe,YAAQ,MAAO,CACrCgsB,OAAQ,WACR9R,MAAO,qBAFe,CAGrB,oBAAqB,IAAoB,mCAAmCyM,GAASA,EAAMC,gBAAwD,IAEpI84E,UAAY,CAC5B94E,eAAgB,S,4sBCrGlB,MAAMszD,EACQ,8B,YCKP,MAAMylB,EAAmC,SAC9CC,GAE+B,IAADC,EAAA,IAD9BC,EAAmBvjG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAEnB,MAAQqhC,KAAMC,EAAW9f,GAAIsgB,GAAYxgB,IAASC,WAC5C4yD,EAA8BqvB,cAC9BC,EAAsC,OAATniE,QAAS,IAATA,GAAqB,QAAZgiE,EAAThiE,EAAWY,kBAAU,IAAAohE,OAAZ,EAATA,EAAuBx0E,QACpD40E,EAAoC,OAAP5hE,QAAO,IAAPA,OAAO,EAAPA,EAASkrC,0BACtC22B,EAAyBC,cAI/B,IACGzvB,IACAsvB,GACAC,IAAsBH,IACtBI,EAQD,YANArkG,IAAOC,KAAK,kCAAmC,CAC7CkkG,oBACAtvB,qBACAuvB,oBACAC,kBAKJ,MAAQniF,GAAImgB,GAAcrgB,IAASyb,aAenC,OAPKwmE,GACH5hE,EAAUuF,wBAAuB,GAEnC5nC,IAAOC,KAAK,qCCxCoBskG,MAGhC,MAAQxiE,KAAMC,GAAchgB,IAASC,YAC/B,SAAE4gB,EAAUhR,MAAO+Q,GAAeZ,EAAUY,WAC5C6U,EAAuD,CAC3D+sD,UAAW3hE,EACXD,aACA36B,QAASC,cAAYD,QACrBR,MAAOC,eAGT,OAAOsvC,IACJO,MAAM,CACLumB,YAAa,WACbvmB,MAAO8nD,IACP5nD,cAEDhuC,MAAKkyB,IAAa,IAAD8oE,EAChB,GAAY,OAAR9oE,QAAQ,IAARA,GAAgB,QAAR8oE,EAAR9oE,EAAUpM,cAAM,IAAAk1E,GAAhBA,EAAkB9jG,OACpB,MAAM,IAAI27B,MAAMX,EAASpM,OAAO,IAGlC,MAAQm1E,iCAAkC3R,GACxCp3D,EAAS14B,MACL,SAAE4/B,GAAa7gB,IAASC,WAAW8f,KAAKa,WAS9C,IAAKmwD,EAEH,YADA/yF,IAAOC,KAAK,qCAAsC,CAAE4iC,aAItD,MAAQmD,IAAKsa,EAAYve,KAAM0gB,GAAgBzgC,IAASyb,cAChD97B,KAAMgjG,GAAmB5R,EAKjC,GAJAtwC,EAAYmiD,kCAAkCD,GAAkB,UAI3D5R,EAAe8R,wBASpB,OAJA7kG,IAAOC,KAAK,iCAAkC,CAAE4iC,aAEhDyd,EAAWwkD,0BAA0B/R,GAE9BA,EARL/yF,IAAOC,KAAK,qCAAsC,CAAE4iC,YAQjC,IAEtBn5B,OAAMzE,IAGLjF,IAAOkJ,KAAK,4BAA6BjE,EAAM,GAC/C,EDhBGs/F,GAA4B96F,MAAKspF,IAAmB,IAADgS,EACxD1iE,EAAUuF,wBAAuB,GAIpB,OAAbm8D,QAAa,IAAbA,GAAoB,QAAPgB,EAAbhB,EAAe7nF,aAAK,IAAA6oF,GAApBA,EAAAz3F,KAAAy2F,GAEA,MAAMh8F,EDjDRgrF,KAEA,MAAMhrF,EAAU,CACdi9F,sBAAsB,EACtB3+D,MAAOmoC,IAAWpS,QAClB77D,gBAAiB89E,GAGnB,OAAmB,OAAd0U,QAAc,IAAdA,KAAgB8R,wBAWrB3hG,IAAA,GACK6E,GAAO,IACVk9F,kBAAmB,gBACnBC,qBAAsB,SACtBt3B,oBAAqB,IAdrB1qE,IAAA,GACK6E,GAAO,IACVk9F,kBAAmB,uBACnBC,qBAAsBnS,EAAiB,SAAW,SAClDnlB,oBAAqB,GAUD,EC0BNu3B,CAAoCpS,GACpD/yF,IAAOE,KAAK,sCAAuC6H,GAIjC,OAAdgrF,QAAc,IAAdA,KAAgB8R,0BAClB9zF,IAAGynC,MAAMznC,IAAG+zC,MAAMsoC,4BAClB/qD,EAAU+iE,8BAA6B,GACzC,GAEJ,C,+BEtEA,0KAAO,MAAMh9B,EAAe,aACfi9B,EAAyB,UAEzBC,EAAgC,gCAChCC,EAAoC,CAC/C/sB,eAAgB,4DAChBC,YAAa,0DAEF+sB,EAA2B,uC,2SCRjC,MAAMC,EAAmC56F,OAAOi2B,OAAO,CAC5DC,OAAQl2B,OAAOi2B,OAAO,CACpBE,QAAS,sCACTC,qCAAsC,wCAExCD,QAASn2B,OAAOi2B,OAAO,CACrBE,QAAS,gCACTC,qCACE,4C,YCCC,MAAMykE,EAAyBA,KAAe,IAADC,EAClD,MAAMxgG,EAAiC,QAA5BwgG,EAAGvgG,qBAAyB,IAAAugG,OAAA,EAAzBA,EAA2BxgG,MACnC6hB,EAAU,mCAEV4+E,EAAcl+E,YAAkB,CACpCV,UACAM,UAAW,sCAGPu+E,EAAc32B,cAChBu2B,EAAiC1kE,OACjC0kE,EAAiCzkE,QAE/B8kE,EAAaD,EAAY7kE,QAE/B,GAAI4pC,eAAwBzlE,EAC1B,OAAO0gG,EAAY7kE,QAGrB,GAAI4kE,EAAa,CAMf,OAAOC,EALSj+E,YAA4B,CAC1CE,eAAgB,UAChBd,cAG6B8+E,CACjC,CAEA,OAAOA,CAAU,E,aChCZ,MAAMC,EAAgBA,IACpBx+E,YAAa,0BAGTy+E,EAAiBA,KAC5B,GAAI1mG,IAASC,SAAS,kBACpB,OAAO,EAGT,MAAM0mG,EAAoBv+E,YAAkB,CAC1CV,QAAS,iCACTM,UAAW,0CAEP4+E,EAAuBx+E,YAAkB,CAC7CV,QAAS,qCACTM,UAAW,sDAEP6+E,EAAsCz+E,YAAkB,CAC5DV,QAAS,iCACTM,UACE,qEAEE8+E,EAAyC1+E,YAAkB,CAC/DV,QAAS,qCACTM,UACE,yEAEE++E,EAAoB9+E,YACxB,0CAGF,OACE0+E,GACAC,GACAC,GACAC,GACAC,CAAiB,EC/BfC,EAAwB,IAAIC,IAErBC,EACX5jB,IAEA0jB,EAAsBn5F,OAAOy1E,EAAe,EAGjC6jB,EAA2BA,IACtCH,EAAsBI,QAEX7/E,EACX+7D,IAEA,IACE,IAAK0jB,EAAsB9vD,IAAIosC,GAAiB,CAC9C,MAAMlnD,EAAS0b,EAAUwrC,KAGzB,OAFA0jB,EAAsBK,IAAI/jB,EAAgBlnD,GAC1C17B,IAAOC,KAAK,cAADE,OAAeyiF,GAAkB,CAAElnD,WACvCA,CACT,CAEA,OAAO4qE,EAAsBv5D,IAAI61C,EACnC,CAAE,MAAOppD,GACPx5B,IAAOiF,MAAM,qCAAsC,CAAE29E,kBACvD,GAIWgkB,EAAoB,CAE/BC,aACEjkB,GAEA0jB,EAAsBv5D,IAAI61C,GAE5BkkB,cAAeA,CACblkB,EACA/wD,KAEAy0E,EAAsBK,IAAI/jB,EAAgB/wD,EAAM,GAKhDhJ,MAEF81C,WAAWooC,cAAgB,CACzBH,oBACA//E,gBACA4/E,2BACAD,uBACApvD,a,sNClDJ,MAAM4vD,EAAkBn5F,YAAGC,MAAAC,IAAA,+FACLC,IACJC,IAGLiW,KAIP+iF,EAAoBp5F,YAAGM,MAAAJ,IAAA,oJACP2U,IAEXhG,M,8CCQX,MAAMwqF,EAA8DnnG,IAE7D,IAF8D,oCACnEonG,GACDpnG,EACC,OAAKonG,EAKH7kF,IAAAC,cAACH,IAAoB,KACnBE,IAAAC,cAAC6I,IAAK,CAACrqB,GAAG,uBAAuBY,KAAK,QACnCumC,YAAW,oCANT,IAQgB,EAIrBk/D,EAAkBA,KACtBrpE,aAAgB,mBAChB,MAAQ91B,QAASo/F,EAAc,OAAEr/F,GAAWE,cACtCi/F,EAAsC7nG,IAASC,SACnD,yBAEI+nG,EAAehoG,IAASC,SAAS,uBACjC6kD,EAAmBjiD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChEmjD,EAAgBplG,aAAcwlB,IAAc,IAAb,IAAEqe,GAAKre,EAC1C,OAAOqe,EAAIsZ,gBAAgB0kB,YAAYh8D,EAAO,IAG1Cw/F,EAA+BrlG,aACnC0lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGslF,4BAA4B,IAEvCC,EAA4BC,eAK3Bz/F,EAAS0/F,GAAcp8E,mBAAS87E,GAEvC,GAAkB,OAAbE,QAAa,IAAbA,MAAe5mG,OAClB,OAAO2hB,IAAAC,cAACiO,IAAc,MAGxB,MAAMo3E,EAAaxjD,GAAoB+iD,EACjCU,EAAsBC,YAC1BF,EACAH,GAGF,OACEnlF,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAAC2kF,EAAqB,CACpBC,oCACEA,IAIJ7kF,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClBkC,cAAeA,CACb5qB,EACAgjG,KAYkE,IAADtzC,EAAAuzC,EAA5DC,YAAwB,QAASF,EAAWR,IASjDI,EAAWI,GACXF,EAAoBE,EAAWhjG,IAT7B/E,KAAOC,KAAK,yCAA0C,CACpDioG,cAAgB,OAADnjG,QAAC,IAADA,GAAS,QAAR0vD,EAAD1vD,EAAGorB,cAAM,IAAAskC,OAAR,EAADA,EAAWyzC,cAC1BH,YACAl2E,MAAQ,OAAD9sB,QAAC,IAADA,GAAS,QAARijG,EAADjjG,EAAGorB,cAAM,IAAA63E,OAAR,EAADA,EAAWn2E,OAMW,EAEnC/U,SAAU8qF,EACVlxC,qCACEywC,GAAuCH,EAEzCjmG,GAAG,UACHonG,gBAAiBhB,EACjB93E,YAAY,EACZhR,MAAO6pB,YAAW,uBAClB9oC,KAAK,UACLy3D,cAAe0wC,EACf11E,MAAO5pB,GACFk/F,GAAuCiB,MAG7CZ,GACCllF,IAAAC,cAAA,OAAK,cAAY,wCACfD,IAAAC,cAAC8yC,IAAO,CAACtqC,eAAgBk8E,GACtB/+D,YAAW,sCAAuC,CACjD8tD,gBAAiB9tD,YAAW,eAAD/nC,OAAgB8H,QAMlDq/F,GACChlF,IAAAC,cAAC8yC,IAAO,CAACtqC,eAAgBk8E,GACtB/+D,YAAW,0CAGf,E,+CC7IP,MAAMmgE,EAAyBn/E,IAAO0B,EAAC9c,MAAAC,IAAA,iEAC5BmW,K,MCSX,MAAMokF,EAA6Bz6F,YAAGC,MAAAC,IAAA,4EAWhCw6F,EAAiBz9E,IACrB,MAAQ7iB,QAASugG,EAAa,OAAExgG,GAAWE,cAErCD,EAAU9F,aAAcpC,IAAc,IAAb,IAAEimC,GAAKjmC,EACpC,MAAM0oG,EAAcziE,EAAIsZ,gBAAgB0kB,YAAYh8D,GACpD,OACEygG,GAAeA,EAAY3oG,MAAKmI,GAAWA,EAAQE,MAAQqgG,GAAc,IAI7E,OAAKvgG,EAKH2vD,YAACywC,EAAsB,CAAC,cAAY,mBACjCpgG,EAAQqV,KACTs6C,YAAC8wC,IAAuB,CACtB5rF,SAAUgO,EAAMs5B,iBAChBr6B,QAASe,EAAM69E,aACf59E,eAAgBu9E,GAEfpgE,YAAW,iBAXT0vB,YAACpnC,IAAc,KAaG,ECtCvBo4E,EAAkBA,KACtB7qE,aAAgB,mBAChB,MAAO8qE,EAAcC,GAAmBv9E,oBAAS,GAE3C64B,EAAmBjiD,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGkiC,gBAAgB,IAWtE,OAVmC9kD,IAASC,SAAS,yBAenD+iB,IAAAC,cAAA,OAAK,cAAY,mBACdsmF,EACCvmF,IAAAC,cAAC6kF,EAAe,MAEhB9kF,IAAAC,cAACgmF,EAAa,CACZI,aAlByBI,KAC/B/oG,IAAOE,KAAK,yBAA0B,CACpCI,WAAY,SACZC,gBAAiB,iCAEnBuoG,GAAgB,EAAK,EAcf1kD,iBAAkBA,KAVjB9hC,IAAAC,cAAC6kF,EAAe,KAajB,E,aC9BV,MAAM4B,EAAwB9qE,IAC5Bl+B,KAAOE,KAAK,2BAA4B,CACtC+oG,eAAgB/qE,EAChB59B,WAAY,SACZC,gBAAiB,oBAGnB2oG,cACAvjB,aAAa,CAAEznD,aACflc,IAASyb,aAAavb,GAAGinF,mBAAmBjrE,GAC5C2lC,cAEAulC,cAAoB3/F,KAAK4/F,IAAgB,E,MCfZx7F,YAAGC,MAAAC,IAAA,qOAUrBK,K,cCb4B8a,IAAOC,IAAGrb,MAAAC,IAAA,sI,gBCQnD,MAAMu7F,EAAiBpgF,IAAOxN,OAAM5N,MAAAC,IAAA,iOAGzBU,KAEI2W,KAIXrlB,IAAA,IAAC,MAAEoiB,GAAOpiB,EAAA,OAAK2yB,YAAmBvQ,EAAM,IAOtConF,EAAwBrgF,IAAOC,IAAGhb,MAAAJ,IAAA,wMAKhBwV,KCvBlBimF,EAAezpG,IAID,IAJE,aACpB0pG,GAGD1pG,EAEC,OADAg+B,YAAgB,gBAEdzb,IAAAC,cAACgnF,EAAqB,KACnBjqG,IAAS4mB,OAAOwjF,iBACd5oG,QAAQw2F,GAAiBA,IAASmS,IAClCz4E,KAAKsmE,GACJh1E,IAAAC,cAAC+mF,EAAc,CACb,cAAahS,EACbnvF,IAAKmvF,EACLvtE,QAASA,IAAMi/E,EAAqB1R,IAEnCpvD,YAAW,aAAD/nC,OAAcm3F,OAGT,C,+BC5B5B,4ZAAIqS,EAAyB,CAAC,WAAY,yBACtCC,EAAe,KACfC,EAAqB,mBACrBC,EAAsB,CAAC,2CAA4C,4CAA6C,mCAAoC,+BAAgC,2CAA4C,2CAA4C,mCAAoC,gCAAgCnlD,KAAK,KACrVolD,EAAuB,WACvBC,EAAY,EACZC,EAAyB,iCACzBC,EAAqB,CAAC,WAAY,UAAW,wBAAyB,sBAAuB,sBAAuB,mBAAoB,oBAAqB,gBAAiB,oBAC9KC,EAAoB,CACtBC,cAAe,CACbhrG,KAAM,eACNuC,KAAM,eAER0oG,oBAAqB,CACnBjrG,KAAM,oBACNuC,KAAM,eAER2oG,oBAAqB,CACnBlrG,KAAM,uBACNuC,KAAM,eAER4oG,iBAAkB,CAChBnrG,KAAM,iBACNuC,KAAM,eAER6oG,kBAAmB,CACjBprG,KAAM,kBACNuC,KAAM,eAER8oG,iBAAkB,CAChBrrG,KAAM,UACNuC,KAAM,eAER+oG,sBAAuB,CACrBtrG,KAAM,cACNuC,KAAM,eAERgpG,QAAS,CACPvrG,KAAM,UACNuC,KAAM,eAERipG,SAAU,CACRxrG,KAAM,WACNuC,KAAM,gBAGNkpG,EAAkB,CAAC,aAAc,gBAAiB,iBAAkB,eAAgB,cAAe,gBAAiB,0BAA2B,cAAe,eAAgB,QAAS,eAAgB,eAAgB,sBAAuB,KAAM,sBAAuB,OAAQ,WAAY,sBAAuB,oBAAqB,iBAAkB,OAAQ,SACrWC,EAAgB,oBAChBC,EAA0B,uB,gCChD9B,6CAGA,MAAMhW,EAAuBA,KAAe,IAADiW,EACzC,MAAQhlE,IAAK2I,GAAa3sB,IAASC,WAGnC,OAFoC,OAAR0sB,QAAQ,IAARA,GAAuB,QAAfq8D,EAARr8D,EAAU4iD,qBAAa,IAAAyZ,OAAf,EAARA,EAAyBC,YAEvB,uBAAuB,C,8KCJvD,MAAMC,EAAsBr9F,YAAGC,MAAAC,IAAA,iCAIzBo9F,EAAmBjiF,IAAOkK,GAAEjlB,MAAAJ,IAAA,qIAS5Bq9F,EAAwBliF,IAAOC,IAAGI,MAAAxb,IAAA,sD,gCChBxC,wNAEO,MAAMs9F,EAAsD,CACjEvlF,IAAakO,IAeF00D,GATkB5iE,IAAawQ,GAAIxQ,IAAayQ,GAGpBzQ,IAAa8O,GAAI9O,IAAagP,GAMpC,CACjChP,IAAa+N,GACb/N,IAAagO,GACbhO,IAAayO,GACbzO,IAAa0O,GACb1O,IAAa6O,GACb7O,IAAaoP,GACbpP,IAAauP,GACbvP,IAAa8P,GACb9P,IAAaoQ,GACbpQ,IAAaqQ,GACbrQ,IAAasQ,KAGFuyD,EAAoC,CAC/C7iE,IAAawlF,GACbxlF,IAAaylF,GACbzlF,IAAa0lF,GACb1lF,IAAa2lF,GACb3lF,IAAa4lF,IA2BFllB,EAAc,CAAC,OAAQ,OAAQ,SAqC/BoC,GA1B2B9iE,IAAagR,GAcnDrR,IAAY8iE,kBACZ9iE,IAAYgjE,oBACZhjE,IAAY4iE,gBAQyBviE,IAAagR,GAEd,CAAChR,IAAakO,KAEvC8zD,EAAoC,CAAChiE,IAAawQ,G,6RCnGxD,MAAMq1E,EAAqBziF,IAAOC,IAAGrb,MAAAC,IAAA,uJAU/B69F,EAAwB1iF,IAAOC,IAAGhb,MAAAJ,IAAA,kMAYlC89F,EAAe3iF,IAAO4iF,IAAGviF,MAAAxb,IAAA,gHAQhCg+F,EAAoBl+F,YAAG4b,MAAA1b,IAAA,qFAMhBi+F,EAAc9iF,IAAOC,IAAGS,MAAA7b,IAAA,iBACjChO,IAAA,IAAC,eAAEksG,GAAgBlsG,EAAA,OAAKksG,GAAkBF,CAAiB,IAGlDG,EAAahjF,IAAOC,IAAGiD,MAAAre,IAAA,iJAGrBsZ,IAAA,IAAC,SAAE8kF,GAAU9kF,EAAA,MAAmB,YAAb8kF,EAAyB,OAAS,OAAO,IAC9DxkF,IAAA,IAAC,SAAEwkF,GAAUxkF,EAAA,MAAmB,YAAbwkF,EAAyB,QAAU,QAAQ,IAG1DtkF,IAAA,IAAC,SAAEskF,GAAUtkF,EAAA,MACX,YAAbskF,EAAyB,QAAU,OAAO,IAOnCC,EAAiBljF,IAAOC,IAAGyD,MAAA7e,IAAA,kBACpCka,IAAA,IAAC,mBAAEokF,EAAkB,MAAElqF,GAAO8F,EAAA,OAC9BokF,EACI,cAAa,cAAAlsG,OACCgiB,EAAM3B,SAASC,QAAQC,SAAU,G,mLC5DhD,MAAM4rF,EAAsBvtD,YAAGjxC,MAAAC,IAAA,wGCGzBq7F,EAAoBA,IAexBpyD,IACJO,MAA8B,CAC7BsmB,QAAS,CACPvoB,gBAAgB,GAElBwoB,YAAa,eACbvmB,MAAO+0D,IAER5iG,OAAM8vB,IAQL,IAAKoyB,IAOH,OALAO,QAAQD,IACN,uDACA,cAGK,CACLjpD,KAAM,CACJu5B,aAAc,CAAC,IAKrB,MAAMhD,CAAG,IAEV/vB,MAAK1J,IAAA,IAAC,KAAEkD,GAAMlD,EAAA,OAAKkD,EAAKu5B,YAAY,I,mBClDlC,MCEM+vE,EAAe,0BACtBC,EAA0B,mCAC1Bh1E,EAAmB,sCAEZ0xE,EAAqBA,KAChC,MAAM,QAAEjhG,EAAO,SAAEi2B,GAAah2B,cAIxBukG,EAAcloG,SAASm5C,eAAe6uD,GAK5C,GAFAhoG,SAASqb,KAAK2+C,MAAM/L,WAAa,MAEjB,OAAXi6C,QAAW,IAAXA,KAAaxzE,WAAlB,CASA,IAJA10B,SAASqb,KAAKg3C,UAAYryD,SAASqb,KAAKg3C,UACrC9+B,QAAQ00E,EAAyB,IACjChjE,OAEIijE,EAAYxzE,YACjBwzE,EAAYC,YAAYD,EAAYxzE,YAGtCj5B,KAAOC,KAAK,wBAAyB,CAAEgI,UAASi2B,YAVhD,MAFEl+B,KAAOC,KAAK,6BAA8B,CAAEgI,UAASi2B,YAYI,EAIhDyuE,EAA4BA,CACvCj1E,EACAC,KAEA,MAAMC,EAAKrzB,SAASge,cAAcoV,GAOlC,OAHAC,EAAGC,YAAcH,EAAII,QAAQN,EAAkB,MAC/CI,EAAGG,MAAQ52B,cAAa42B,MAEjBH,CAAE,EAGEyxE,EAAkBtpG,IAQlB,IAAD6sG,EAAA,IARoB,IAC9B/+F,EAAG,KACHqqB,EAAI,GACJC,GAKDp4B,EACC,MAAM,QAAEkI,EAAO,SAAEi2B,GAAah2B,cAC9B,IAAK2F,IAAQqqB,IAASC,EAKpB,YAJAn4B,KAAOC,KAAK,sCAAuC,CACjDgI,UACAi2B,aAKJ,IAAIuuE,EAAcloG,SAASm5C,eAAe6uD,GAC1C,MAAMj0E,EAAW/zB,SAASg0B,yBAEpBC,EAAkBj0B,SAASge,cAAc,OAC/CiW,EAAgBC,UAAYP,EAa5B,MAAM20E,EAAartG,QAAmC,QAA5BotG,EAACp0E,EAAgBX,mBAAW,IAAA+0E,OAAA,EAA3BA,EAA6BjsG,QAGxD,GDrF2CksG,KAC3C7sG,IAAOE,KAAK,wBAAyB,CACnC4sG,iBAAkBD,EAAa,EAAI,EACnCvsG,WAAY,UACZC,gBAAiB,yBACjB,EC8EFwsG,CAA6BF,IAExBA,EAEH,YADA7sG,KAAOC,KAAK,iCAOd,MAAM,MAAE83B,GAAU52B,cACZu3B,EAAWF,EAAgBG,kBAC3BE,EAAU8zE,EAA0B9+F,EAAK,SACzCirB,EAAW6zE,EAA0Bx0E,EAAI,UAE/CU,EAAQD,aAAa,QAASb,GAC9Be,EAASF,aAAa,QAASb,GAC3BW,GACFJ,EAASS,YAAYL,GAEvBJ,EAASS,YAAYF,GACrBP,EAASS,YAAYD,GAKhB2zE,IACHzsG,KAAOC,KAAK,qCACZwsG,EAAcloG,SAASge,cAAc,OACrCkqF,EAAY1rG,GAAKwrG,EACjBhoG,SAASqb,KAAKmZ,YAAY0zE,IAG5BA,EAAY1zE,YAAYT,GACxBt4B,KAAOC,KAAK,kCAAmC,CAC7CgI,UACAi2B,YACA,C,gCC3HJ,wIAIA,MAAM8uE,EACJxkG,KAAKC,MAAMu3B,SAAS,IAAMitE,KAAKC,SAASltE,SAAS,IAAIuiE,OAAO,EAAG,GAE3D4K,EAA6B,GAI7BC,EAAuC,IAAI7/F,IAAI,CACnD,OACA,QACA,eAGIu7B,EAAgB,CACpBukE,gBAAiB,iBACjBtkE,oBAAqB,qBACrBukE,iBAAkB,kB,8HClBb,MAAMC,EAA0C,CAAC,KAAM,MAQjDC,EAAiD,CAC5D,eACA,cACA,UACA,UACA,WACA,WACA,MACA,UACA,OACA,UAIWC,EAAiD,CAAC,Q,YCL/D,MAAMnJ,EAAoBA,KACxB,MAAQt+D,IAAK2I,EAAU5M,KAAMC,GAAchgB,IAASC,WAC9CtgB,EAAOqgC,EAAUY,WAAWC,UAAY,IACtC56B,QAAS+tF,GAAoBrnD,EAASsnD,YAAY3mB,UAAY,CAAC,GAC/DrnE,QAASiuF,GAAiBhuF,cAC5BwlG,EAAwBxX,IAAiBF,EACzC2X,EACJruG,IAASC,SAAS,8BAAgCmuG,EAC9CE,EAAkCrmF,YACtC,+BAGF,QACIgmF,EAA8BvsG,SAASk1F,IACvC0X,KACDJ,EAAqCxsG,SAASW,KAC9C8rG,EAAqCzsG,SAASW,KAC9CgsG,CAA+B,EAO9B94B,EAAqBA,KACzB,MAAM,WAAElH,EAAU,gBAAEruB,GAAoBt9B,IAASC,WAAW+jB,KACpDqG,aAAcwhE,GAA2B,OAAVlgC,QAAU,IAAVA,IAAc,CAAC,GAC9CthC,aAAcyhE,GAAkC,OAAfxuD,QAAe,IAAfA,IAAmB,CAAC,EAS7D,SAAKuuD,IAAiBC,IAIfD,IAAiBC,CAAc,C,ytBCvCjC,MAAMC,EAAyBA,CACpC/tG,EAAkBD,KASR,IARV,MACE0H,EAAK,KACL+5D,EAAOmb,IAASE,OAAM,MACtBx0D,EAAK,4BACLklD,EAA2B,oBAC3BygC,EAAmB,QACnB7wF,GACuBpd,EAEzB,MAAM,OAAE4H,GAAWxG,cAEnB09E,IAAeE,WAAat3E,EAC5Bo3E,IAAeC,WAAsB,WAATtd,EAAoB,YAAc,UAC9D,MAAMr2D,EAAkBkd,EAAQ,MAAQ,KACxCw2D,IAAeG,aAAY,GAAA7+E,OAAMgL,EAAe,UAChD0zE,IAAe,iBAAmB,CAChCG,aAAa,GAAD7+E,OAAKgL,EAAe,WAGlC,MAAM,YAAE8iG,GAAgBn0D,eAClB,aAAEwtC,EAAY,UAAEC,GAAcL,cAC9BgnB,EAAsBpnB,cAEtB/+E,EAAU,CACdomG,qBAAsB,WACtBC,aAAc,GACdrvB,WAAYt3E,EACZu3E,aAAa,GAAD7+E,OAAKgL,EAAe,UAChCs1F,UAAWnZ,EACXrI,OAAQ,eACR51C,MAAOk+C,EACPpI,WAAY,kBACZC,UAAW,oBACXivB,iBAAkBljG,EAClBmjG,aAAc3mG,EAAS,UAAY,QACnC4mG,WAAYN,GAAgBtmG,GAAU,QAAW,KACjD6mG,OAAQ,WACRC,iBAAkBP,EAClBQ,yBAA0B,GAC1BnhC,8BACAygC,sBACA1tG,WAAYkuE,IAAW2P,KACvB12E,MAAOA,EACPlH,gBAAiB,4BACjB4c,WAGFnd,EAAOC,KAAK,4BAA6B8H,GAEzC6D,EAAQ0B,KAAKtN,EAAQ,OAAQ+H,EAAQ,EAWhC,SAAS6D,EAEda,GAGO,IAADkiG,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAFNhnG,EAA0BrH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC9B0I,EAAwB1I,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAExB,MAAMouG,EAAc7tG,cAIdgK,EACsB,QAA1BwjG,EAAAK,EAAYvpG,sBAAc,IAAAkpG,GAAiB,QAAjBC,EAA1BD,EAA4BpxE,uBAAe,IAAAqxE,GAAO,QAAPC,EAA3CD,EAA6ClrB,aAAK,IAAAmrB,GAAlDA,EAAoD1pG,OAC1B,QAD+B2pG,EACzDE,EAAYvvC,sBAAc,IAAAqvC,GAA1BA,EAA4B3pG,MACxB,MACA,KAEAsC,EAAQC,cAEdm3E,IAAeE,WAAat3E,EAC5Bo3E,IAAeG,aAAY,GAAA7+E,OAAMgL,EAAe,UAChD0zE,IAAewvB,iBAAmBljG,EAClC0zE,IAAep3E,MAAQA,EAEvB,MAAMwnG,EAAY/rG,MAAA,GACb27E,KACA92E,GAAO,IACV0rD,WAA8B,QAApBs7C,EAAEhnG,EAAQ0rD,kBAAU,IAAAs7C,IAAItiG,EAClCyiG,uBAAwB1mG,KAAKC,MAC7B0mG,SAAU,GACVC,WAAY,KAGRC,EAAiBL,EAAY,iBAEnC,GAAIK,EACF,IACE,MAAMC,EAAcznC,KAAKgiB,MAAMwlB,GAE/BJ,EAAaE,SAAWG,EAAYC,kBACpCN,EAAaG,WAAaE,EAAYE,SACxC,CAAE,MAAOvqG,GACPD,KAAK/E,KAAK,2CAA4CgF,EACxD,CAIF,MAAM,QAAEgD,EAAO,OAAED,GAAWE,cACtBqyC,EAASnyC,IAAW/I,KAAKoN,GAAM,GAAAtM,OAC9BsM,EAAMK,cAAa,oBAAA3M,OACXsM,EAAMK,cAAa,SAElC9H,KAAK/E,KAAKs6C,EAAMr3C,EAAA,CACdmF,cAAeJ,EACfK,aAAcN,GACXinG,IAILjqG,KAAKyG,MAAMwjG,GAGP7lG,GACFpE,KAAKmE,OAET,C,+BClJA,sGAAO,MAAMi/F,EAAkB,CAC7B,mBAAoB,wBAGTqH,EAAkC,CAC7C5xC,QAAS,CACPvoB,gBAAgB,IAmCPo6D,EAA+B,CAC1CjzF,QAvBoC,CACpCyF,GAAI,CACFytF,eAAe,EACfC,kBAAkB,IAqBpBC,iBAT+C,CAC/C3tF,GAAI,CACFytF,eAAe,EACfC,kBAAkB,I,mMC3BtB,MAAME,EAAoBpqF,IAA4BqqF,G,6pBCNtD,MAAMC,EAAoB/sG,IACxB,MAAM,YAAEgtG,EAAW,UAAElI,EAAS,eAAEmI,GAA4BjtG,EAATuqB,EAAIrqB,IAAKF,EAAIG,GAChEpD,IAAOE,KAAKgwG,EAAchtG,EAAA,CACxBitG,gBAAiBF,EACjBG,wBAAyBrI,EACzBznG,WAAY,iBACZC,gBAAiB2vG,GACd1iF,GACH,E,gmBCiDJ,MAAMq6E,EAAsB,SAAH9nG,GAMJ,IAADs/C,EAAAI,EAAA,IALlB,YACEwwD,EAAW,UACXlI,GACuDhoG,EACzDswG,EAAkB3vG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGg+C,IAIrB,GAAIp/C,IAASC,SAAS,yBAEpB,OAAOS,KAAOC,KAAK,4CAA6C,CAC9DgwG,cACAlI,cAIJmB,cACAlnF,IAASyb,aAAavb,GAAG4hD,qBAAoB,GD7D7CksC,EAAgB9sG,EAAC,CAAEgtG,eAAgB,qBC8DL,CAAED,cAAalI,eAE7C,MAAM/jC,EAAcssC,cACdC,EFhE6CxwG,KAMxC,IANyC,YACpD6+B,EAAW,YACXolC,GAC4CjkE,EAI5C,MAAMkD,EAAO+gE,EAAYlkE,MAAKunB,IAAA,IAAC,KAAEihB,GAAMjhB,EAAA,OAAKihB,IAAS1J,CAAW,IAEhE,OAAK37B,EAOEA,EAAKstG,0BANVvwG,IAAOC,KAAK,uCAAwC,CAClD2+B,gBAEKkxE,EAG2B,EEgDHU,CAAsC,CACrE5xE,YAAampE,EAEb/jC,gBAGF2hB,YAAa,CACX19E,QAAS8/F,EAET7pE,SAAUqyE,IAGZ,MAAQxuE,KAAMC,GAAchgB,IAASC,YAC/B,gBAAE6sB,GAAoB9M,EAKtBmiC,EAAqD,QAAlC9kB,EAAkB,OAAfvQ,QAAe,IAAfA,GAAwB,QAAT2Q,EAAf3Q,EAAiB7mC,eAAO,IAAAw3C,OAAT,EAAfA,EAA0B5tB,aAAK,IAAAwtB,IAAI0oD,EASzD0I,EAAW,CACfrH,cACAsH,YAAoBjB,IAAiCtrC,GACrDwsC,YAAwBztG,EAAC,CACvB46D,YAAa,gBACV2xC,MAEL9rC,cACAhlC,YAAiB,CACfC,YAAampE,EACblpE,aAAc0xE,KAIlB,OAAO7tC,QAAQkuC,IAAIH,GAChBhnG,MAAK4d,IAAsD,IAApDmV,EAAc7xB,EAAgB4yB,GAAgBlW,EDvGxDtf,KAEAioG,EAAgB9sG,EAAC,CACfgtG,eAAgB,wBACbnoG,GACH,ECmGE8oG,CAA8B,CAAEZ,cAAalI,cAC7C/lF,IAASyb,aAAavb,GAAG4hD,qBAAoB,GAC7CgtC,YAA6B,CAC3BC,wBAAyBxzE,EACzByzE,uBAAwBrmG,EACxBw5D,wBAEFniD,IAASyb,aAAavb,GAAG+uF,yBAAwB,GACjD5H,YAAgB7sE,EAAa,IAE9B/yB,MAAK,KACJssF,cACAQ,cACA2a,cACAb,IAEIJ,IAAgBnqF,IAAaqrF,IAAMpJ,IAAcjiF,IAAagR,IAChE9U,IAASyb,aAAavb,GAAGkvF,kCAAiC,EAC5D,IAED1nG,OAAMzE,IDnHT8C,KAEAioG,EAAgB9sG,EAAC,CACfgtG,eAAgB,8BACbnoG,GACH,EC+GEspG,CAA4B,CAC1BpB,cACA9uD,eAAgBl8C,EAAM42B,QACtBuxC,eAAgB,6BAChB26B,cAEF5uC,aAAwB,GAE9B,C,yICvJO,MAAMm4C,EAAmCvyD,YAAGjxC,MAAAC,IAAA,4aAiB/CkrE,K,MCjBG,MAAMs4B,EAA2CxyD,YAAGjxC,MAAAC,IAAA,uqBA6BvDkrE,I,+BCjCJ,qEAOA,MAAM1yB,EAAiBxmD,IAIhB,IAJiB,mBACtB46F,EAAkB,wBAClBD,EAAuB,wBACvBF,GACDz6F,EAIC,GAHAC,KAAOC,KAAK,2BAGP06F,EAAoB,CAGvB,MAF8D,YAAxCr7F,IAAS4mB,OAAOsrF,oBAG7BC,cAEFC,aACT,CAEAjpC,YAAwB3tC,IAAOurC,sBAC1Bm0B,IACHx6F,KAAOC,KAAK,4BACZ0xG,EAA2BjX,GAC7B,EAGIiX,EAA6BjX,IACjC3pF,IAAGynC,MAAMznC,IAAG+zC,MAAMqpC,oCAElB,MAAQnoD,IAAKsa,EAAYp+B,GAAImgB,GAAcrgB,IAASyb,aAYpD,GATIi9D,EAAwBkX,oBAC1BlX,EAAwBmX,mBACtBnX,EAAwBkX,oBAOvBlX,EAAwBmX,mBAAoB,CAC/C,MAAQ7rE,IAAK2I,GAAa3sB,IAASC,YAC7B,OAAEgqB,EAAS,CAAC,GAAM0C,EAAS0I,eAAiB,CAAC,GAC7C,aAAEhL,EAAY,cAAEH,GAAkBD,EAExCjsC,KAAOC,KAAK,0DAA2D,CACrE6xG,oBAAqBtyG,QAAQ6sC,GAC7B0lE,qBAAsBvyG,QAAQ0sC,KAGhCwuD,EAAwBruD,aAAeA,EACvCquD,EAAwBxuD,cAAgBA,CAC1C,CAEAoU,EAAW0xD,2BAA2BtX,GACtCr4D,EAAUuF,wBAAuB,GACjCvF,EAAU4vE,uBAAsB,EAAK,C,owBC3DhC,MAAM7b,EACXnuF,IAEAjI,KAAOE,KAAK,GAADC,OAAI8H,EAAO,iCAAiC,CACrDmlE,eAAe,mCAADjtE,OAAqC8H,GACnD3H,WAAY,UACZC,gBAAiB,yBACjB,EAGS2xG,EAAsBA,KACjC,MAAM,gBAAEroC,GAAoBzkE,cACtB+sG,EAAsB7yG,IAASC,SAAS,uBACxCwyD,EAAY,qBAElB/xD,KAAOE,KAAK6xD,EAAS7uD,EAAA,CACnBk9E,oBAAqBvW,EAAkB,QAAU,SACjDpW,WAAY1B,EACZzxD,WAAYkuE,IAAWpS,QACvB77D,gBAAiB,sBACb4xG,GAAuB,CACzBC,UAAW,kBAEb,EAGSx7B,EAAgCA,KAC3C,MAAM,gBAAE/M,GAAoBzkE,cACtB+sG,EAAsB7yG,IAASC,SAAS,uBACxCwyD,EAAY,yBAElB/xD,KAAOE,KAAK6xD,EAAS7uD,EAAA,CACnBk9E,oBAAqBvW,EAAkB,QAAU,SACjDpW,WAAY1B,EACZzxD,WAAYkuE,IAAWpS,QACvB77D,gBAAiB,0BACb4xG,GAAuB,CACzBC,UAAW,kBAEb,EAGSj6B,EAAkCA,KAC7C,MAAM,gBAAEtO,GAAoBzkE,cACtB+sG,EAAsB7yG,IAASC,SAAS,uBACxCwyD,EAAY,gDAElB/xD,KAAOE,KAAK6xD,EAAS7uD,EAAA,CACnBk9E,oBAAqBvW,EAAkB,QAAU,SACjDpW,WAAY1B,EACZsgD,wBAAyB,YACzB/xG,WAAYkuE,IAAWpS,QACvB77D,gBAAiB,iCACb4xG,GAAuB,CACzBC,UAAW,kBAEb,C,+BC3DJ,gFAIA,MAAME,EACJvqG,IAEA,MAAM,iBAAEwqG,EAAmB,OAAM,OAAE1lG,GAAW9E,EAC9C/H,IAAOE,KAAK,kDAAmD,CAC7DsyG,aAAc3lG,EACdxM,kBAAmBkyG,EACnBjyG,WAAY,SACZC,gBAAiB,gDACjB,EAGEkyG,EACJ1qG,IAEA,MAAM,iBAAEwqG,EAAmB,OAAM,OAAE1lG,GAAW9E,EAC9C/H,IAAOE,KAAK,oDAAqD,CAC/DsyG,aAAc3lG,EACdxM,kBAAmBkyG,EACnBjyG,WAAY,SACZC,gBAAiB,uDACjB,C,8QChBJ,MAAM,MAAEw3B,GAAU52B,cAEX,IAAKuxG,EAAkB,SAAlBA,GAAkB,OAAlBA,EAAkB,UAAlBA,EAAkB,UAAlBA,CAAkB,MAM9B,MAAMC,EAAY,CAChBxqG,IAAK,UACL4vB,QACA66E,cAAe,IAGJC,EAAgB,CAC3B,CAACH,EAAmBI,KAAMC,YAAYJ,GACtC,CAACD,EAAmBM,KAAMD,YAAY,CACpC5qG,IAAK,UACL4vB,QACA66E,cAAe,CAACK,QAIPC,EAAuB,CAClC,CAACR,EAAmBI,KAAMK,YAAkBR,GAC5C,CAACD,EAAmBM,KAAMG,YAAkB,CAC1ChrG,IAAK,UACL4vB,QACA66E,cAAe,CAACQ,Q,iCC1Bb,MAAMC,EAAwBxlG,YAAGC,MAAAC,IAAA,kIAC7BQ,IACI2W,IACE1W,IACA6W,KAKJiuF,EAA2BzlG,YAAGM,MAAAJ,IAAA,8HAChCQ,IAEMC,KCrBX+kG,EAAcxzG,IAAA,IAAC,uBACnByzG,GAGDzzG,EAAA,OACCuiB,IAAAC,cAAA,OACE,mBAAiB,6BACjBpe,MAAM,KACNH,OAAO,KACPovE,KAAK,MACLpB,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,SAAOxhB,GAAG,8BAA8ByyG,GACxClxF,IAAAC,cAAA,QACE4vD,EAAE,iNACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,0aACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACExhB,GAAG,kBACHw9D,MAAO,CAAEkU,SAAU,SACnBD,UAAU,iBACVE,EAAE,KACFC,EAAE,IACFxuE,MAAM,KACNH,OAAO,MAEPse,IAAAC,cAAA,QACE4vD,EAAE,icACFF,KAAK,WAGT3vD,IAAAC,cAAA,KAAGy2C,KAAK,yBACN12C,IAAAC,cAAA,QACE4vD,EAAE,icACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,yNACFF,KAAK,aAGT3vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,srBACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,urBACFF,KAAK,YAEH,EC3BFwhC,EAAiB1zG,IAMH,IANI,SACtBosG,EAAQ,SACR9pF,GAIDtiB,EAMC,MAAM2zG,EHJC7qB,cAAc6pB,EAAmBM,IAAMN,EAAmBI,IGMjE,OACEl7C,YAAC+7C,IAAmB,CAAC9hF,MAAOqhF,EAAqBQ,IAC/C97C,YAACg8C,IAAa,CAAC/hF,MAAOghF,EAAca,IAClC97C,YAACi8C,IAAM,CAAC1Q,OAAQ,CAAC90F,KAAaC,QAC7B+T,GAEiB,EAIpByxF,EAAsBhpF,GAC1B8sC,YAACye,IAAc5oD,IAAA,CACbsmF,sBAAuBlmG,YAAI,CAAEmmG,gBAAiB,UAC1ClpF,IAIFmpF,EAAmBA,IACvBr8C,YAAC+zC,IAAkB,KACjB/zC,YAAC27C,EAAW,CACVC,uBAAwBtrE,YAAW,8BAErC0vB,YAACnkC,IAAU,CAAC5lB,IAAKwlG,GACdnrE,YAAW,4BAEd0vB,YAACnkC,IAAU,CAAC5lB,IAAKylG,GACdprE,YAAW,+B,+BC1ElB,sCAAIgsE,EAAY,KACd,IAAIC,EAAOlH,KAAKC,SACZkH,EAAQnH,KAAKC,SACbzkG,EAAMD,KAAKC,MACX4rG,EAAUF,EAAOlH,KAAKqH,MAAc,GAARF,GAChC,MAAO,YAAYj0G,OAAOk0G,GAASl0G,OAAOsI,GAAKqvB,QAAQ,MAAO,IAAI,C,sxBCmC7D,MAAMy8E,EAAoBA,KAC/B,MAAMC,EAAiB9sG,cACjBuuF,EAAc9zF,aAAcpC,IAAA,IAAC,IAAEimC,GAAKjmC,EAAA,OAAKimC,EAAIiwD,WAAW,IACxD3qC,EAAkBnpD,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIslB,eAAe,IAEhEmpD,EAAcvyG,aAAgBylB,IAAA,IAAC,IAAEqe,GAAKre,EAAA,OAAKqe,EAAIyuE,WAAW,IAC1DtvD,EAAoBjjD,aAAgB2lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGijC,iBAAiB,IACpEuvD,EAAmCxyG,aACvC+lB,IAAA,IAAC,GAAE/F,GAAI+F,EAAA,OAAK/F,EAAGwyF,gCAAgC,IAI3CC,EAAwB,SAFfxyG,aAAc8pB,IAAA,IAAC,GAAE/J,GAAI+J,EAAA,OAAK/J,EAAGugB,MAAM,KAEVnjC,IAASC,SAAS,cACpDq1G,EAAwCt1G,IAASC,SACrD,iCAEI,QAAEmwE,GAAYumB,EAEd4e,EC/BiCC,EACvCN,EACA9kC,KACqC,IAADjtE,EAAAqE,EACpC,MAAMiuG,EAA2B,QAATtyG,EAAGX,cAAM,IAAAW,GAAQ,QAARqE,EAANrE,EAAQsE,cAAM,IAAAD,OAAR,EAANA,EAAgB8jD,iBAGrCoqD,EAA6B78D,iBAEjC,CAAC,GA8FH,OA5FgB7Z,uBACdC,UAEwB,IAAD02E,EAAAC,EACrB,GAAkC,oBAAvBH,IAAsCP,EAE/C,OADAx0G,IAAOC,KAAK,qDACL,EAGT,MACEk1G,yBAA0BrmE,EAAe,uBACzCsmE,EAAsB,2BACtBC,EAA0B,iCAC1BX,EAAgC,eAChCY,GACEvtG,EACEwtG,EACJH,EACI7sD,YAAwB6sD,GACxB,KAKAI,EACJ/sD,YAA4B3Z,GAW9B,GAT2Bga,YACzB0sD,EACAR,EAA2B58D,WAOFi9D,EACzB,OAAO,EAGT,MAAMI,EAA8D,CAClExpE,OAAQ,CACNwb,UAAWD,YAAqBkoB,GAChCpnB,cAAsB,OAAPonB,QAAO,IAAPA,GAAc,QAAPulC,EAAPvlC,EAASC,aAAK,IAAAslC,OAAP,EAAPA,EAAgB5oE,aAC/Bxa,MAAc,OAAP69C,QAAO,IAAPA,GAAc,QAAPwlC,EAAPxlC,EAASC,aAAK,IAAAulC,OAAP,EAAPA,EAAgBhpE,eAEzBqzB,QAAS,UACTm2C,QAASlB,EACTmB,aAAcnB,EACdoB,yBAA0BL,EAC1BM,iBAAkBL,GAKpBR,EAA2B58D,QAAUo9D,EAErC,MAAMluE,EAAkD,CACtDwuE,OAAQA,KASN,MAAM7wG,EAAe,IAAIq3B,MACvB,gDAEF,OAAOomC,QAAQozC,OAAO7wG,EAAM,EAM9B09D,QAASjkB,KAGX,IAKE,OAJAg2D,EAAiCY,SAGT,OAAlBP,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAqBU,EAAwBnuE,KAC5C,CACT,CAAE,MAAOriC,GACP,OAAOy9D,QAAQozC,OAAO7wG,EACxB,IAEF,CAACuvG,EAAQ9kC,EAASslC,EAA2B58D,SAGjC,EDtEZ08D,CAA0BN,EAAQ9kC,GAE9BqmC,EAAUz3E,uBACdC,UAGE,MAAM,2BAAE82E,GAA6B,GAAiB,OAAPttG,QAAO,IAAPA,IAAW,CAAC,EACrDqtG,EAEJ/pD,YAA0BC,GACtB0qD,EAAkCX,EACpC5C,IACAH,IACEgD,EAAyBD,EAC3B,2BACA,2BACJ,IAAIY,GAAkB,EAEtB,IACE,MAAMnnE,EAAe5rC,IAAA,GAChB4nD,eAAoB,IACvB7iD,QAAS,CAAE4pB,MAAOg5B,iBAEdsqD,EACJhrD,YAAiBrb,GAGnBmnE,EAAkBz2G,cACVq1G,EAA0B,CAC9BM,2BACAE,6BACAD,yBACAV,mCACAY,mBAGN,CAAE,MAAO97E,GACPk7E,EAAiC,MAGjCvvD,EAAkB,sCAElB,MAAM+wD,EAAS18E,aAAe8C,MAAW,OAAH9C,QAAG,IAAHA,OAAG,EAAHA,EAAKqC,QAAUrC,EAErDw8E,EAAgC,CAC9BzD,iBAAkB2D,EAClBrpG,OAAQ,YAEV7M,IAAOiF,MAAM,0CAA2C,CACtD5E,kBAAmB61G,IAErBp0G,OAAOwiD,SAAS,EAAG,EACrB,CAEA,IAIE,GAAI2xD,EAAiB,CAInB,MAAOE,SAA6BzzC,QAAQkuC,IAAI,CAC9ChzC,cAMA+2C,EACIjyC,QAAQC,UACRmhC,YAAiC,MAAM,MAEvC,KAAEtmE,GAA4B,OAAnB24E,QAAmB,IAAnBA,IAAuB,CAAC,GACnC,QAAEzmC,EAAO,MAAExiE,EAAK,gBAAEo+C,GAAwB,OAAJ9tB,QAAI,IAAJA,IAAQ,CAAC,EAErDi3E,EAAY,CACV9mC,WAAmB,OAAP+B,QAAO,IAAPA,OAAO,EAAPA,EAASC,MACrBsmB,YAAW/yF,IAAA,GACN+yF,GAAW,IAEdvmB,UAEAxiE,UAEFo+C,gBAAgC,OAAfA,QAAe,IAAfA,IAAmB,KAEtC0qD,EAAgC,CAAEnpG,OAAQ,YAC1C7M,IAAOC,KAAK,wCAAyC,CACnDo1G,6BACAD,2BAIFV,EAAiC,MACjCvvD,EAAkB,GACpB,CACF,CAAE,MAAO3rB,GAEPk7E,EAAiC,MACjC,MAAMwB,EACJ18E,aAAe8C,MAAW,OAAH9C,QAAG,IAAHA,OAAG,EAAHA,EAAKqC,QAAUrC,EAExC2rB,EAAkBhB,IAAgCnjB,SAElDg1E,EAAgC,CAC9BzD,iBAAkBpuD,IAAgCnjB,QAClDn0B,OAAQ,YAEV7M,IAAOiF,MAAM,4CAA6C,CACxD5E,kBAAmB61G,IAErBp0G,OAAOwiD,SAAS,EAAG,EACrB,IAEF,CAACuwD,EAA2BvpD,EAAiBqpD,IAG/C,OAAKC,EAIEmB,EAHEr3D,GAGK,EEzJV03D,EACC,MADDA,EAEK,U,ikBCLJ,MAAMC,EAA2BA,KACtC,MAAM7B,EAAS9sG,cACTuuF,EAAc9zF,aAAcpC,IAAA,IAAC,IAAEimC,GAAKjmC,EAAA,OAAKimC,EAAIiwD,WAAW,IACxD3qC,EAAkBnpD,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIslB,eAAe,IAEhEmpD,EAAcvyG,aAAgBylB,IAAA,IAAC,IAAEqe,GAAKre,EAAA,OAAKqe,EAAIyuE,WAAW,IAC1DtvD,EAAoBjjD,aAAgB2lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGijC,iBAAiB,IACpEuvD,EAAmCxyG,aACvC+lB,IAAA,IAAC,GAAE/F,GAAI+F,EAAA,OAAK/F,EAAGwyF,gCAAgC,IAE3C4B,EAAgCh3G,IAASC,SAC7C,kCAEI,QAAEmwE,GAAYumB,EAEdvrC,EDNwC6rD,EAC9C/B,EACAlpD,EACAokB,KAC4B,IAADjtE,EAAAqE,EAC3B,MAAM0vG,EAAkC,QAAT/zG,EAAGX,cAAM,IAAAW,GAAQ,QAARqE,EAANrE,EAAQsE,cAAM,IAAAD,OAAR,EAANA,EAC9B4jD,wBACEsqD,EAA6B78D,iBAAO,CAAC,GAErC49D,EAAUz3E,uBACdC,MAAOuQ,EAAiB2nE,KACtB,MAAMjB,EACJvrD,YAA8Bnb,GAOhC,GAL2Bob,YACzBsrD,EACAR,EAA2B58D,SAI3B,OAAO,EAGT,MAAM,MAAEu3B,GAAUD,EAEZgnC,EAAgC,CACpCzqE,OAAQ,CACNwb,UAAWmC,YAAuB8lB,GAClCrjC,aAAmB,OAALsjC,QAAK,IAALA,OAAK,EAALA,EAAOtjC,aACrBxa,MAAY,OAAL89C,QAAK,IAALA,OAAK,EAALA,EAAOzjC,eAEhBz/B,MACE6+C,GAAmBA,EAAgB3qD,OAAS,EACxCy1G,EACAA,EACNO,QAASnC,EACT1lE,gBAAiB0mE,GAKnBR,EAA2B58D,QAAUo9D,EAErC,MAAMluE,EAAU,CACdwuE,OAAS1jF,GAaAswC,QAAQozC,OAAO1jF,IAI1B,IAME,OALAqkF,EAAqB,kCACU,OAAzBD,QAAyB,IAAzBA,OAAyB,EAAzBA,EACJE,EACApvE,KAEK,CACT,CAAE,MAAOriC,GAEP,OADAwxG,EAAqB,MACd/zC,QAAQozC,OAAO7wG,EACxB,IAEF,CAACuvG,EAAQ9kC,EAASslC,EAA2B58D,UAG/C,MAAyC,oBAA9Bo+D,GAA6ChC,EAIjDuB,EAHE,IAGK,EC1EkBQ,CAC9B/B,EACAlpD,EACAokB,GAGIqmC,EAAUz3E,uBAAYC,UAC1B,IACE,MAAMuQ,EAAe5rC,IAAA,GAChB4nD,eAAoB,IACvB7iD,QAAS,CAAE4pB,MAAOg5B,iBAEdsqD,EAA2BhrD,YAAiBrb,GAOlD,SAL8B4b,EAC5ByqD,EACAT,GAGmB,CAInB,MAAOyB,SAA6BzzC,QAAQkuC,IAAI,CAC9ChzC,cACAkmC,YAAiC,MAAM,MAEnC,KAAEtmE,GAA4B,OAAnB24E,QAAmB,IAAnBA,IAAuB,CAAC,GACnC,QAAEzmC,EAAO,MAAExiE,EAAK,gBAAEo+C,EAAkB,IAAW,OAAJ9tB,QAAI,IAAJA,IAAQ,CAAC,EAE1Di3E,EAAY,CACV9mC,WAAmB,OAAP+B,QAAO,IAAPA,OAAO,EAAPA,EAASC,MACrBsmB,YAAW/yF,IAAA,GACN+yF,GAAW,IACdvmB,UACAxiE,UAEFo+C,gBAAiBA,IAGnBnG,EAAkB,IAClBuvD,EAAiC,MAEjCpC,YAAyC,CAAEzlG,OAAQ,YACnD7M,IAAOC,KAAK,gDACd,CACF,CAAE,MAAOu5B,GACPk7E,EAAiC,MACjC,MAAMwB,EAAwB,kBAAR18E,EAAmBA,EAAS,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAKqC,QAC9C+6E,EAAczyD,IAAgC+xD,GAChDU,GACFtE,YAAyC,CACvCC,iBAAkBqE,EAClB/pG,OAAQ,YAEVs4C,EAAkByxD,GAClB52G,IAAOiF,MAAM,kDAAmD,CAC9D5E,kBAAmBu2G,MAGrBtE,YAAyC,CACvCC,iBAAkBpuD,IAAgCnjB,QAClDn0B,OAAQ,YAGVs4C,EAAkBhB,IAAgCnjB,SAClDhhC,IAAOiF,MAAM,oDAAqD,CAChE5E,kBAAmB61G,KAGvBp0G,OAAOwiD,SAAS,EAAG,EACrB,IACC,CAACoG,EAAyBY,IAE7B,OAAKgrD,EAIEP,EAHEr3D,GAGK,ECzGHgpD,EAA8BA,KAIzC,MAAMh9C,EAA0B2rD,IAE1BzrD,EAAmB2pD,IAIzB,OAAIj1G,IAASC,SAAS,gCACbqrD,EAGLtrD,IAASC,SAAS,iCACbmrD,EAGFhM,GAAI,C,iCChCb,wNAGO,MAAMm4D,EAAgCzB,IAC3Cp1G,IAAOE,KAAK,wBAAyB,CACnC8tG,oBAAqBoH,EAAuB/2F,MAC5C/d,WAAY,WACZC,gBAAiB,kCACjB,EAGSu2G,EAAkCA,KAC7C92G,IAAOE,KAAK,2BAA4B,CACtCI,WAAY,WACZC,gBAAiB,oCACjB,EAGSw2G,EAAmCA,KAC9C/2G,IAAOE,KAAK,2BAA4B,CACtCI,WAAY,WACZC,gBAAiB,oCACjB,EAGSy2G,EAAkC5B,IAC7Cp1G,IAAOE,KAAK,2BAA4B,CACtC8tG,oBAAqBoH,EAAuB/2F,MAC5C/d,WAAY,WACZC,gBAAiB,oCACjB,EAGS02G,EAAqCA,KAChDj3G,IAAOE,KAAK,8BAA+B,CACzCI,WAAY,WACZC,gBAAiB,uCACjB,EAGS22G,EAAkCA,CAC7CC,EACAC,EACAC,KAEAr3G,IAAOE,KAAK,2BAA4B,CACtCo3G,OAAQzvC,KAAKC,UAAU,CAAEuvC,eAAcD,mBACvC92G,WAAW,wBAADH,OAA0Bg3G,GACpC52G,gBAAiB,2BACjB,C,upBC3CJ,MAAMkkE,EAA+BllB,IACnC,MAAM,OAAExB,EAAS,GAAE,QAAEC,EAAU,CAAC,GAAMuB,EAyCtC,OA5BAA,EAAQxB,OAASA,EAAO/sB,KAAIumF,IAC1B,MAAM,UAAEx8C,EAAS,KAAE37D,EAAI,MAAEkjF,GAAUi1B,EAC7BC,EAAmB,UAATp4G,EACVq4G,EAAwB,aAATr4G,EAErB,OAAA8D,IAAA,GACKq0G,GAAI,IACPx8C,UAAWy8C,EAAU,KAAOz8C,EAC5B37D,KAAMq4G,EAAe,aAAer4G,EACpCkjF,MAAOk1B,EAAU,KAAOl1B,GAAK,IAK7BtkC,EAAQ14C,eAAe,mBACzB04C,EAAQ05D,gBAAkB15D,EAAQ25D,qBAC3B35D,EAAQ25D,eAKb35D,EAAQ45D,YACV55D,EAAQ45D,UAAY55D,EAAQ45D,UAAU5mF,KAAIjxB,IAAA,IAAC,YAAE83G,EAAW,MAAEhmF,GAAO9xB,EAAA,MAAM,CACrE83G,cACAhmF,MAAY,OAALA,QAAK,IAALA,OAAK,EAALA,EAAO/kB,cACf,KAGIyyC,CAAO,C,+BChDhB,+MAmBA,MAAMu4D,EAAqB,SACzBrwG,GAEmB,IADnBswG,EAAYr3G,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAEf,OAAO,IAAIgiE,SAAc,CAACC,EAASmzC,KACjC,IAAIkC,EAEJ,MAMMC,EAAkBz+E,IACtB0+E,aAAaF,GACb,MAAMn8E,EAAyB,kBAARrC,EAAsB,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAKqC,QAAUrC,EACzDs8E,EAAOj6E,GAAW,kBAAkB,EAGhCs8E,EAAkB,CACtBC,gCAAkC5+E,GAChCy+E,EAAez+E,GACjB6+E,uCAAyC7+E,IAAyB,IAAD8+E,EAG5B,QAAnCA,EAAA/zG,SAASm5C,eAAe,mBAAW,IAAA46D,GAAnCA,EAAqCC,SACrCN,EAAez+E,EAAI,EAErBg/E,iCAAkCA,KAChCN,aAAaF,GACbh4G,IAAOC,KAAK,qBACZ0iE,GAAS,EAKX81C,mCAAoCA,OAEpCC,gCAAiCA,QAwB7BC,EAAkBp0G,SAASge,cAAc,OAC/Co2F,EAAgB//E,aAAa,KAAM,YAGnC+/E,EAAgBp6C,MAAMv6D,OAAS,MAC/B20G,EAAgBp6C,MAAMp6D,MAAQ,MAC9Bw0G,EAAgBp6C,MAAM5yC,OAAS,MAC/BgtF,EAAgBp6C,MAAMxiD,QAAU,MAEhCxX,SAASqb,KAAKmZ,YAAY4/E,GAE1B,MAAM,QAAE1wG,EAAO,OAAED,GAAWE,cAEtB2xB,EAAU,CACd++E,eAAgB,6BAChBC,cA1B0Bl9E,IAC1B37B,IAAOC,KAAK,0BAA2B07B,GACvC,MAAM,MAAElvB,GAAUkvB,EAAS14B,MAAQ04B,EAAS12B,MAE5C,GAAIwH,GAASo6B,YAAWsxE,EAAiB1rG,GAAQ,CAC/C,MAAMqsG,EAAUX,EAAgB1rG,GAChClD,YAAWuvG,IAAYA,EAAQrsG,EACjC,GAoBAmvC,OAAQz6C,cAAaD,IAAIm7D,KACzBsD,YAAa,CACX8Z,cAAet4E,cAAas4E,cAC5B,YAAaxxE,EACb64D,OAAQr5D,EACR6rF,SAAU,qBACV,WAAYtrF,GAEd+wG,cAAeJ,GA9EfX,EAAiB3+E,YAAW,KAC1By8E,EAAO,oBAAoB,GAC1BiC,GAiFLiB,SAASC,aAAaC,OAAOr/E,EAAQ,GAEzC,EAQMs/E,EAAaA,IACVt8D,MAAM,4BACVpzC,MAAK,KACJzJ,IAAOC,KAAK,wBACL,KAERyJ,OAAM3J,IAAkB,IAAjB,QAAE87B,GAAS97B,EAEjB,OADAC,IAAOiF,MAAM,oBAAqB,CAAE42B,aAC7B,CAAK,IAQZu9E,EAA+B/xF,IAM/B,IANgC,kBACpCgyF,EAAiB,kBACjBC,GAC+BjyF,EAI/B,MAGMkyF,EAAuC,OAAjBF,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBjhE,QACzCohE,EAAiD,OAAjBF,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBlhE,QAEzD,IAAIqhE,EAAkBC,EAetB,OAbIF,IACFC,KAC+B,OAA7BD,QAA6B,IAA7BA,OAA6B,EAA7BA,EAA+B98E,cAVP,KAcxB88E,GAAiCD,IACnCG,GAC+B,OAA7BF,QAA6B,IAA7BA,OAA6B,EAA7BA,EAA+BG,cACZ,OAAnBJ,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBK,YAhBE,GAoBpB,CAAEF,qBAAoBD,mBAAkB,C,+FClK1C,MAAMI,EAA4B96D,YAAGjxC,MAAAC,IAAA,ovB,4BCFrC,MAAM+rG,EAAsC,CACjD,CACEC,QAAS,CACP,CAAE5xG,IAAK,YAAa0pB,OAAO,GAC3B,CAAE1pB,IAAK,gBAAiB0pB,OAAO,IAEjCuK,UAAW,QACX49E,IAAK,qCAEP,CACED,QAAS,CACP,CAAE5xG,IAAK,YAAa0pB,OAAO,GAC3B,CAAE1pB,IAAK,gBAAiB0pB,OAAO,IAEjCuK,UAAW,OACX49E,IAAK,uBAMIC,EAAqC,CAChD,qBACA,qCCbWx7E,EAAwBF,UAGnC,MAAM,OAAE/4B,GAAWrE,eACb,QAAE8G,GAAYC,cAEpB,IACE,MAAMs2B,QAA4BwY,IAAaO,MAAM,CACnDA,MAAOsiE,EACPpiE,UAAW,CACTC,QAAe,OAANlyC,QAAM,IAANA,OAAM,EAANA,EAAQkyC,QACjBC,oBAAqB1vC,EACrB+xG,IAAKnyC,KAAKC,UAAUgyC,GACpBryG,MAAOC,kBAGL,KAAEzE,GAASu7B,GACX,WAAEykD,EAAa,IAAOhgF,EAAK4gF,mCAAqC,CAAC,EAEjEq2B,EAAqBj3B,EAAWnjF,MAAMwnB,GAC1C2yF,EAAmCj5G,SAAkB,OAATsmB,QAAS,IAATA,OAAS,EAATA,EAAWs7D,kBAGzD,GAAIs3B,EAAoB,CAEtB,MAAMC,EAAe,CACnBz7E,SAAUw7E,EAAmB/yF,cAAcM,WAAW,UAGxD,OADAznB,IAAOC,KAAK,iCAAkCk6G,GACvCA,CACT,CAKA,OADAn6G,IAAOC,KAAK,wDACL,CAAEy+B,UAAU,EACrB,CAAE,MAAOlF,GACP,MAAM,QAAEqC,EAAO,MAAEuD,GAAU5F,EAO3B,OANAx5B,IAAOkJ,KAAK,uDAAwD,CAClE2yB,UACAuD,UAIK,CAAEV,UAAU,EACrB,E,kCCvDF,6CAWO,MAAM07E,EAA8BA,IACzCxiD,YAAA,OAAKhB,UAAU,0BACbgB,YAAA,OAAKhB,UAAU,iBAEfgB,YAAA,OACEzzD,MAAM,OACNH,OAAO,OACPguE,QAAQ,YACRqoC,QAAQ,MACRnoC,MAAM,6BACNooC,WAAW,gCAEX1iD,YAAA,KACE72D,GAAG,oBACHiyE,OAAO,OACPG,YAAY,IACZlB,KAAK,OACLa,SAAS,WAETlb,YAAA,KAAGgb,UAAU,sCAAsC7xE,GAAG,QACpD62D,YAAA,KAAGgb,UAAU,qCACXhb,YAAA,QAAM72D,GAAG,cAAc2xE,EAAE,IAAIC,EAAE,IAAIxuE,MAAM,KAAKH,OAAO,OACrD4zD,YAAA,QACEua,EAAE,oCACFpxE,GAAG,WACHiyE,OAAO,UACPG,YAAY,MACZF,cAAc,QACdC,eAAe,UAEjBtb,YAAA,KACE72D,GAAG,UACH6xE,UAAU,gCACVI,OAAO,UACPC,cAAc,QACdC,eAAe,QACfC,YAAY,OAEZvb,YAAA,QACEua,EAAE,yZACFpxE,GAAG,aAEL62D,YAAA,QACEua,EAAE,oOACFpxE,GAAG,kB,uFClDZ,MAAMk6D,E,MAAoB/xC,EAAOS,KAAI7b,MAAAC,IAAA,qK,kHCH5C,MAAMwqD,EAAgC1qD,YAAGC,MAAAC,IAAA,gHAQnCyqD,EAAuB3qD,YAAGM,MAAAJ,IAAA,4F,YC0BzB,MAAMwnD,EAAcx1D,IAW6C,IAX5C,KAC1BwuB,EAAI,QACJsN,EAAO,WACP0+E,EAAU,eACVxvF,EAAiB,CACfjN,UAAWy6C,EACX18B,QAAS28B,GACV,OACDzlC,EAAM,YACN4iC,EAAW,GACX50D,GACmDhB,EAOnD,OANA89B,qBAAU,KACJt0B,YAAWgxG,IACbA,GACF,GACC,IAGD3iD,YAAC4iD,IAAe,CACdjsF,KAAMA,EACNwE,OAAQA,EACR8I,QAASA,EACT9Q,eAAgBA,EAChB4qC,YAAaA,EACb50D,GAAIA,GACJ,C,gCC9DN,sGAAO,MAAM+D,EAAoBA,KAC/B,IACE,MAAMoiC,EAAUplC,OAAOuJ,YAAYovG,iBAAiB,cAEpD,OAAOxN,KAAKyN,MAAMxzE,EAAQ,GAAGyzE,eAC/B,CAAE,MAAOnhF,GAEP,OAAO,CACT,GAGWl2B,EAAkBA,KAAe,IAADb,EAAA69E,EAC3C,MAAMs6B,EAAa,QAATn4G,EAAGX,cAAM,IAAAW,GAAa,QAAb69E,EAAN79E,EAAQ4I,mBAAW,IAAAi1E,OAAb,EAANA,EAAqBu6B,OAC5BC,GAAmB,OAAJF,QAAI,IAAJA,OAAI,EAAJA,EAAME,gBAAoB,OAAJF,QAAI,IAAJA,OAAI,EAAJA,EAAMG,gBAGjD,OAAOH,EAAOE,EAAeF,EAAKI,gBAAkB,CAAC,EAkC1Cj4G,EAA0BA,KAA6B,IAADkE,EAAAg0G,EAAAhxG,EAAAixG,EAAA9wG,EAAA+wG,EAAAC,EAAAC,EAAAC,EAAAC,EAEjE,MAAMC,EAAgB,QAATv0G,EAAGnF,cAAM,IAAAmF,GAAW,QAAXg0G,EAANh0G,EAAQg3D,iBAAS,IAAAg9C,OAAX,EAANA,EAAmBQ,WAEnC,MAAO,CAELC,cAAqB,QAARzxG,EAAEnI,cAAM,IAAAmI,GAAW,QAAXixG,EAANjxG,EAAQg0D,iBAAS,IAAAi9C,OAAX,EAANA,EAAmBS,aAClCC,iBAAyB,OAAPJ,QAAO,IAAPA,OAAO,EAAPA,EAASK,SAC3BC,oBAA4B,OAAPN,QAAO,IAAPA,OAAO,EAAPA,EAASO,YAC9B13G,sBAA8B,OAAPm3G,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAChCC,sBAA8B,OAAPT,QAAO,IAAPA,OAAO,EAAPA,EAASU,IAChCC,iBAAyB,OAAPX,QAAO,IAAPA,OAAO,EAAPA,EAASY,SAC3BC,aAAqB,OAAPb,QAAO,IAAPA,OAAO,EAAPA,EAAS75G,KACvB8B,eACQ,QAAN2G,EAAAtI,cAAM,IAAAsI,OAAA,EAANA,EAAQkyG,eAAuB,QAAZnB,EAAI52G,gBAAQ,IAAA42G,GAAiB,QAAjBC,EAARD,EAAUlhB,uBAAe,IAAAmhB,OAAjB,EAARA,EAA2BmB,cACpD54G,cAAoB,QAAN03G,EAAAv5G,cAAM,IAAAu5G,OAAA,EAANA,EAAQmB,cAAsB,QAAZlB,EAAI/2G,gBAAQ,IAAA+2G,GAAiB,QAAjBC,EAARD,EAAUrhB,uBAAe,IAAAshB,OAAjB,EAARA,EAA2BkB,aAChE,C,oNCnDH,MAAM9mC,EAA4B9nE,YAAGC,MAAAC,IAAA,yiBAEfoV,IAEXzG,KAaayG,IACJ1U,KAEGA,KAMCA,MAKlBgnE,EAAoB5nE,YAAGM,MAAAJ,IAAA,sJAClBQ,IACI6W,IACEC,KASXq3F,EAA6B7uG,YAAG0b,MAAAxb,IAAA,yHAChBgW,KACAhB,MAMhBg2D,EAAyBlrE,YAAG4b,MAAA1b,IAAA,6I,yPCxD3B,MAAM4uG,EAA8B59D,YAAGjxC,MAAAC,IAAA,o0CA4E1CurE,IACAL,IACAC,IACAK,IACAJ,K,qlBCpEJ,MAAMyjC,EAAen8G,IAGnB,IACE,MAAMo8G,EAAiB57G,YAAkBR,GCXrBV,KAMH,IANI,eACvB+8G,GAAiB,EAAI,SACrB17G,EAAQ,SACRE,EAAQ,YACRE,EAAW,UACXI,GACa7B,EAMb,MAAMg9G,EAAiBx4G,SAASm5C,eAAe,WAC/C,GAAIq/D,EACF,IAEMA,EAAeC,eACjBD,EAAeC,cAActQ,YAAYqQ,EAE7C,CAAE,MAAOh4G,GAIPg4G,EAAeh8G,GAAK,eACtB,CAKF,MAAMk8G,EAAiC,CACrCt9E,EAAG/9B,EACHq+B,EAAG3+B,GAGDE,IACFy7G,EAAcC,GAAK17G,GAKrB,MAAM27G,EAA6B54G,SAASge,cAAc,UAC1D46F,EAAQp8G,GAAK,UACbo8G,EAAQx7G,KAAO,mBAEfw7G,EAAQvkF,aAAa,QAAS,iDAC9BukF,EAAQ7/F,KAAOuqD,KAAKC,UAAUm1C,GAC9B14G,SAASqb,KAAKmZ,YAAYokF,GAE1B,MAAMC,EAA8B74G,SAASge,cAAc,UAC3D66F,EAAS7+E,OAAQ,EACjB6+E,EAASC,IAAMj8G,EAIX07G,IACFM,EAASE,YAAc,aAGzB/4G,SAASqb,KAAKmZ,YAAYqkF,EAAS,ED5CjCG,CAASV,GACT78G,KAAOC,KAAK,yBAA0B48G,EACxC,CAAE,MAAO93G,GACP/E,KAAOkJ,KAAK,iCAAkC,CAAE2yB,QAAU,OAAD92B,QAAC,IAADA,OAAC,EAADA,EAAG82B,SAC9D,GAGI80E,EAA2BpyE,UAC/B,MAAM92B,EAAQC,cACRi0B,QAAiBoc,YAAW70C,EAAC,CACjCq0C,MAAOolE,EACPllE,UAAW,CAAEhwC,UACV+1G,IAaL,OANArhF,aACER,EACA,uBACA,sBAGKA,CAAQ,EAGX+0E,EAAsBA,CAAC8M,EAAcr5C,KACzC,MAAQl8D,QAAS22B,EAAaV,SAAUW,GAAiB32B,cAEzD,OAAO8uC,IACJO,MAAKr0C,EAAC,CACLq0C,MAAO2sB,IACPzsB,UAAW,CAAE7Y,cAAaC,eAAcslC,wBACrCq5C,IAEJ/zG,MAAKkyB,IAKJQ,aACER,EACA,uBACA,sBAGKA,IACP,EAGAm1E,EAA+B/wG,IAI9B,IAAD09G,EAAAC,EAAAC,EAAA,IAJgC,wBACpC5M,EAAuB,uBACvBC,EAAsB,oBACtB7sC,GACDpkE,EACC,MAAQ4K,eAAgBizG,GAAsB5M,EAAuB/tG,MAC/D,gBAAEs6B,GAAoBwzE,EAAwB9tG,KAC9C0H,EAAiBy5D,YACrBw5C,EACAz5C,GAEIK,EAAc75D,EAAe40C,QAAQ5P,eACrCkuE,EACJlzG,EAAe40C,QAAQ5P,YAAkBw0B,KACrC,KAAE3mC,EAAO,CAAC,EAAC,SAAE8xC,EAAW,CAAC,GAAM/xC,GAAmB,CAAC,GACjDoyC,MAAOhC,EAAa,CAAC,IAAU,OAAJnwC,QAAI,IAAJA,OAAI,EAAJA,EAAMkyC,UAAW,CAAC,GAC/C,QAAEA,EAAO,YAAEouC,EAAW,OAAEC,EAAM,MAAE7wG,EAAK,YAAE8wG,GAAgBxgF,EACvDy4D,EAAc,CAClBvmB,UACAouC,cACAC,SACA7wG,QACAoiE,WACA0uC,eAGFh8F,IAASyb,aAAauI,IAAIq+B,mBAAmB15D,GAK7CszG,YAAmC3uC,GAInC4uC,YAAkB,CAChB15C,cACAhnC,OACA8xC,WACA1V,UAAWjvD,EAAeivD,UAC1BikD,wBAGF,MAAQ73E,IAAKsa,GAAet+B,IAASyb,aAC/B0gF,EAAyBtzG,OAAOq8B,QAAQ1J,EAAKsR,iBAAmB,CAAC,GACpEhuC,QAAOumB,IAAA,IAAElf,EAAK0pB,GAAMxK,EAAA,OAAKwK,GAAiB,mBAAR1pB,CAAwB,IAC1D6oB,KAAIrJ,IAAA,IAAExf,GAAIwf,EAAA,OAAKxf,CAAG,IAErBm4C,EAAW89D,0BAA0B,CACnC1tE,kBAAmBlxC,QAAQ2+G,EAAuBx9G,UAEpD2/C,EAAWm0D,YAAY,CACrBxuE,kBAAiC,OAAf1I,QAAe,IAAfA,OAAe,EAAfA,EAAiB8gF,qBAAsB,GACzDx+C,WAAyB,QAAd49C,EAAAjgF,EAAKqiC,iBAAS,IAAA49C,OAAA,EAAdA,EAAgB3qF,OAAQ,GACnC66C,aACAsoB,cACAqoB,cAAe9+G,QAA4B,QAArBk+G,EAAClgF,EAAKsR,uBAAe,IAAA4uE,OAAA,EAApBA,EAAsBa,gBAC7CjzD,gBAAiB9tB,EAAK8tB,iBAAmB,KAE3ChL,EAAWk+D,cAA6B,OAAfjhF,QAAe,IAAfA,GAAyB,QAAVogF,EAAfpgF,EAAiB+xC,gBAAQ,IAAAquC,OAAV,EAAfA,EAA2B7tC,WAAW,EAG3D2uC,EAAmBA,KAAO,IAADrhF,EAAAC,EAAAuc,EAAA8kE,EAAAC,EAE7B3+G,KAAO6L,kBAAkB2B,aAAa,eACtCxN,KAAOC,KAAK,6BACZ,MAAQiiB,GAAImgB,GAAcrgB,IAASyb,cAE3Bx1B,QAAS22B,GAAgB12B,cAC3Bi8D,EAEO,QAFY/mC,EACI,QADJC,EACvBl8B,cAAasE,sBAAc,IAAA43B,GAAiB,QAAjBuc,EAA3Bvc,EAA6BE,uBAAe,IAAAqc,GAAM,QAAN8kE,EAA5C9kE,EAA8Cpc,YAAI,IAAAkhF,GAAiB,QAAjBC,EAAlDD,EAAoD5vE,uBAAe,IAAA6vE,OAAxC,EAA3BA,EACI12G,eAAO,IAAAm1B,IAAIwB,EAEjB,OAAO8jC,QAAQkuC,IAAI,CACjBF,EAAoB,CAAC,EAAGvsC,GACxBwsC,MAEClnG,MAAKoe,IAAwD,IAAtDmpF,EAAwBD,GAAwBlpF,EACtDipF,EAA6B,CAC3BC,0BACAC,yBACA7sC,wBAEF9hC,EAAU4uE,yBAAwB,GAElC,MAAM,gBAAE1zE,GAAoBwzE,EAAwB9tG,MAC9C,KAAEu6B,GAASD,EAKX4gF,EAAyBtzG,OAAOq8B,QAAQ1J,EAAKsR,iBAAmB,CAAC,GACpEhuC,QAAOmnB,IAAA,IAAE9f,EAAK0pB,GAAM5J,EAAA,OAAK4J,GAAiB,mBAAR1pB,CAAwB,IAC1D6oB,KAAI/E,IAAA,IAAE9jB,GAAI8jB,EAAA,OAAK9jB,CAAG,IACfy2G,EAA4B,CAChCphF,EAAK6L,OAAS,QACd7L,EAAKypD,aAAe,SACpBnmF,QAAO6+B,GAAKA,IAEd3/B,KAAO6L,kBAAkBoB,iBAAiB,eAE1C,MAAMlF,EAAU84E,YAA4BtjD,GAC5Cv9B,KAAOE,KAAK,8BAA+B6H,GAC3C60G,EAAa,IAAIuB,KAA2BS,IAE5C5+G,KAAOmJ,OAAO,IAEfO,OAAM8vB,IACL,MAAM,MAAEv0B,EAAK,QAAE42B,GAAYN,aAAc/B,GAEzCx5B,KAAOiF,MAAM,mBAAkB/B,EAAA,CAC7B24B,YACO,OAAHrC,QAAG,IAAHA,OAAG,EAAHA,EAAK4F,QAAS,CAAEA,MAAO5F,EAAI4F,SAEjConB,YAAevhD,EAAM,GACrB,C,4MEtLN,MAAMg5G,EAAqCl+G,IAAmC,IAAhCkI,QAAS+tF,GAAiBj2F,EACtE,MAAM8+G,EAAyBv/G,IAASC,SAAS,4BAC3C22F,EAAehuF,cAAYD,QAMjC,KAJE+tF,GAAmBA,IAAoBE,KAIP2oB,EAChC,OAGF7+G,IAAOC,KAAK,4DAA6D,CACvEi2F,eACAF,oBAIF,8BACGvsF,MAAKq1G,IACJA,EAAWC,qBAAqB/oB,EAAgB,IAEjDtsF,OAAM2d,IAAkB,IAAjB,QAAEwU,GAASxU,EACjBrnB,IAAOiF,MAAM,yCAA0C,CAAE42B,YACzDs9B,aAAwB,IAG5B,MAAQp3B,KAAM0gB,GAAgBzgC,IAASyb,aACvCglB,EAAYu8D,qBAAoB,GAChCv8D,EAAYw8D,mBAAmB,CAC7B52E,YAAa,kBACb1B,MAAO,UACP5+B,QAAS,CAAE8pB,MAAOmkE,IAClB,EA2EEoL,EAAgBvvE,GAEbuoB,YAAoBvoB,EAAO,CAAE/G,MADtB,CAAE+E,UAAU,EAAMluB,KAAM,W,gnBC5GxC,MAAMu9G,EAA4BA,CAACrtF,EAAOwmC,KACxC,MAAM,QAAE7oC,EAAO,OAAED,GAAW8oC,EAAaxmC,GAEzC,MAAO,CACLiV,UAAWvX,EAAO,IAAM,GACxBC,UACAqC,QACD,EAOGstF,EAA0Bp/G,IAA0B,IAAzB,KAAEy9B,EAAI,UAAEo8B,GAAW75D,EAClD,MAAM,MAAEspC,EAAK,YAAE49C,GAAgBzpD,GACvBuE,KAAMC,GAAchgB,IAASC,WAC/Bm9F,EDwEkBn3F,KAAwB,IAAvB,KAAE+wC,EAAI,QAAEF,GAAS7wC,EAC1C,OAAO4J,IACL,MAAM/G,EAAQ,CACZiwC,UAAe,OAAJ/B,QAAI,IAAJA,OAAI,EAAJA,EAAMr4D,OACjB0+G,UAAe,OAAJrmD,QAAI,IAAJA,OAAI,EAAJA,EAAMr4D,OACjBm4D,UACAjpC,UAAU,GAENyvF,EAAcC,YAAqB1tF,EAAOmnC,GAChD,OAAOwmD,YAAc3tF,EAAO,CAAEytF,cAAax0F,SAAQ,CACpD,EClF2B20F,CAAkB7lD,IACxC,UAAEv0B,EAAS,SAAEC,GD6CUzd,KAAiC,IAAhC,MAAE63F,EAAK,gBAAE5wE,GAAiBjnB,EACxD,MAAM,WAAE89C,EAAU,UAAEC,IAAmB,OAAL85C,QAAK,IAALA,OAAK,EAALA,EAAOtgH,OAAQ,CAAC,EAClD,GAAIwmE,GAAaD,EACf,MAAO,CACLtgC,UAAWugC,EACXtgC,SAAUqgC,GAId,MAAM,UAAEtgC,EAAS,eAAEk5E,EAAc,SAAEj5E,GAAawJ,GAAmB,CAAC,EAGpE,OAAIyvE,EACK,CAAC,EAGH,CAAEl5E,YAAWC,WAAU,EC7DEq6E,CAAuBniF,GASjDoiF,EAPU,CACd,CAAEj5E,MAAO,QAASk5E,UAAWze,EAAevvE,MAAY,OAALwX,QAAK,IAALA,OAAK,EAALA,EAAO2Q,aAC1D,CAAErT,MAAO,YAAak5E,UAAWC,IAAcjuF,MAAOwT,GACtD,CAAEsB,MAAO,WAAYk5E,UAAWC,IAAcjuF,MAAOyT,GACrD,CAAEqB,MAAO,QAASk5E,UAAWT,EAAqBvtF,MAAOo1D,IAG5BnmF,QAAOumB,IAAuB,IAAtB,MAAEsf,EAAK,MAAE9U,GAAOxK,EACrD,MAAM04F,EAAoB/9E,EAAU2E,GAAO9U,MAG3C,OAAOryB,QAAQqyB,KAAWkuF,CAAiB,KAGrCh+E,KAAM0gB,GAAgBzgC,IAASyb,aACvCmiF,EAAepzG,SAAQmb,IAAkC,IAAjC,MAAEgf,EAAK,UAAEk5E,EAAS,MAAEhuF,GAAOlK,EACjD86B,EAAYqX,sBAAsB,CAChCnzB,QACA5+B,QAASm3G,EAA0BrtF,EAAOguF,IAC1C,IAGAD,EAAej/G,QACjBX,IAAOC,KAAK,+BAAgC,CAC1CqnC,QAASs4E,EAAe5uF,KAAInJ,IAAA,IAAC,MAAE8e,GAAO9e,EAAA,OAAK8e,CAAK,KAEpD,EAqHIu3E,EAAoB5xF,IAAuC,IAAtC,YAAEk4C,EAAW,KAAEhnC,EAAI,UAAEo8B,GAAWttC,EA7G9BrE,KAA4B,IAA3B,YAAEu8C,EAAW,KAAEhnC,GAAMvV,EACjD,MAAQ8Z,KAAMC,GAAchgB,IAASC,YAC7B8f,KAAM0gB,GAAgBzgC,IAASyb,aASjC6L,EAAiB0T,YACrBxf,EAAK8L,gBACLrd,IAAA,IAAA+zF,EAAAC,EAAA,IAAE93G,EAAK0pB,GAAM5F,EAAA,MACH,eAAR9jB,KAAiD,QAAzB63G,EAACh+E,EAAUsH,sBAAc,IAAA02E,GAAO,QAAPC,EAAxBD,EAA2B73G,UAAI,IAAA83G,GAA/BA,EAAiCpuF,QAASA,CAAK,IAEtEid,EAAkBkO,YACtBxf,EAAKsR,iBACLziB,IAAA,IAAA6zF,EAAAC,EAAA,IAAEh4G,EAAK0pB,GAAMxF,EAAA,MACH,eAARlkB,KAAkD,QAA1B+3G,EAACl+E,EAAU8M,uBAAe,IAAAoxE,GAAO,QAAPC,EAAzBD,EAA4B/3G,UAAI,IAAAg4G,GAAhCA,EAAkCtuF,QAASA,CAAK,IAEvEgqC,EAAgBv8D,IAASC,SAAS,iBAClC6gH,EAAuB5gH,QAAQqL,OAAO47B,KAAK6C,GAAgB3oC,QAC3D0/G,EAAwB7gH,QAAQqL,OAAO47B,KAAKqI,GAAiBnuC,QAGnE,KAAMy/G,GAAwBvkD,KAAmBwkD,EAM/C,YALArgH,IAAOC,KAAK,sBAAuB,CACjC47D,gBACAukD,uBACAC,0BAaJ,MAAM,eAAE9B,IAAuB,OAAJ/gF,QAAI,IAAJA,OAAI,EAAJA,EAAMsR,kBAAmB,CAAC,EACrD,IAAK+sB,IAAkBukD,IAAyB7B,GAAiB,CAIb,IAAD+B,EAA7Ch3E,EAAehkC,eAAe,gBAChCgkC,EAAeqf,WAAsC,QAA5B23D,EAAGh3E,EAAeqf,kBAAU,IAAA23D,OAAA,EAAzBA,EAA2B92E,QAEzDiZ,EAAY89D,iDAAiD,CAC3Dl4E,YAAa,iBACbsa,eAAe,EACf56C,QAASy4G,EACPJ,EAAuB92E,EAAiBwF,EACxC01B,KAIJxkE,IAAOC,KAAK,0BAA2B,CACrCs+G,eAAgB/gF,EAAK+gF,eACrB6B,uBACAC,yBAEJ,CAEA,GAAIA,EAAuB,CAU0B,IAADI,EAP9ClC,GACF97D,EAAYu8D,qBAAoB,GAM9BlwE,EAAgBxpC,eAAe,gBACjCwpC,EAAgB6Z,WAAuC,QAA7B83D,EAAG3xE,EAAgB6Z,kBAAU,IAAA83D,OAAA,EAA1BA,EAA4Bj3E,QAK3D,MAAMk3E,EAAkB,CAAC,YAAa,YAAYh6E,QAChD,CAAC+G,EAAO9G,KACN,MAAM9U,EAAQid,EAAgBnI,GAI9B,OAHI9U,IACF4b,EAAM9G,GAASu4E,EAA0BrtF,EAAOiuF,MAE3CryE,CAAK,GAEd+yE,EAAyB1xE,EAAiB01B,IAG5C/hB,EAAY89D,iDAAiD,CAC3Dl4E,YAAa,kBACbsa,eAAe,EACf56C,QAAS24G,IAGX1gH,IAAOC,KAAK,2BACd,GASA0gH,CAAqB,CAAEn8C,cAAahnC,SACpC2hF,EAAwB,CAAE3hF,OAAMo8B,aAAY,EAGxC4mD,EAA2BA,CAACjhE,EAASilB,KACzC,MAAMo8C,EAAmBC,YAAsB,CAC7CthE,UACAilB,cACAs8C,mBAAmB,IAGrB,OAAOj2G,OAAOq8B,QAAQ05E,GAAkBl6E,QACtC,CAAC+G,EAAKlhB,KAAA,IAAGpkB,EAAKlF,GAAKspB,EAAA,OAAArpB,IAAA,GACduqC,GACCxqC,EAAK4uB,OAAS,CAAE,CAAC1pB,GAAMlF,GAAO,GAEpC,CAAC,EACF,E,2OC9LH,MAAM89G,EAAgB,CAAC,KAAM,MAOvB38C,EAAqBz5D,IACzB,MAAM,aAAE0hC,EAAY,MAAEpB,GAAUtgC,GAC1B,MAAEkuD,EAAK,SAAEE,GAAa9tB,GACpBxuB,QAASq8C,GAAYC,GACvB,QAAE9wD,GAAYC,cACdm9D,EAAa11B,cACb4P,EAAU50C,EAAe40C,QAC3B,CAAE,CAAC8lB,GAAaZ,YAA6B95D,EAAe40C,UAC5D,CAAC,EAECyhE,EFiCkBh9C,KACxB,IAAKj7D,MAAMyd,QAAQw9C,GACjB,OAAOA,EAET,MAAMi9C,EAAyB3hH,IAASC,SACtC,mCAGF,OAAOykE,EAAYljE,QACjB6mB,IAAA,IAAC,KAAE2gB,GAAM3gB,EAAA,MACE,OAAT2gB,GACS,OAATA,KACC24E,GAAkC,OAAT34E,EAAqB,GAClD,EE9C2B44E,CAAkBv2G,EAAeq5D,aAE7D,O,iWAAA9gE,CAAA,CACEq8C,UACAlT,eACAukD,SAAUjmF,EAAeH,KACzBovD,UAAW,CACTZ,KAAMH,EAAMI,OAEZH,QAASA,EAAQnrB,UAAU,EAAGmrB,EAAQn4D,OAAS,KAE9CwgH,EAAeH,EAAqB/4G,GAAQ,EAW7Ck5G,EAAiBn9C,IACrB,MAAM,OAAEh8D,GAAWE,cACbk5G,EAAqB,CACzB7qD,yBAA0B,GAC1ByN,YAAa,CAAE,CAACh8D,GAAS,IACzBi8D,oBAAqB,CACnB,CAACj8D,GAAS,CACRq5G,SAAU,GACVC,KAAM,GACNC,KAAM,KAGV1nD,4BAA6B,CAAC,GAGhC,OAAK9wD,MAAMyd,QAAQw9C,GAIZA,EAAYt9B,QAAO,CAAC+G,EAAO+zE,KAChC,MAAM,KAAEl5E,EAAI,yBAAEm5E,EAAwB,KAAEriH,GAASoiH,EAGjD/zE,EAAM8oB,yBAAyBzsB,KAAK,CAClC3hC,IAAKmgC,EACLhrB,KAAK,GAADnd,OAAKf,EAAI,MAAAe,OAAKshH,GAClB5vF,MAAOyW,IAITmF,EAAMu2B,YAAYh8D,GAAQ8hC,KAAK,CAAE3hC,IAAKmgC,EAAMhrB,KAAMle,EAAMyyB,MAAOyW,IAG/DmF,EAAMosB,4BAA4BvxB,GAAK,GAAAnoC,OAAMshH,GAG7C,MAAM/2G,EA1EiB3K,KAAuB,IAAtB,KAAEuoC,EAAI,OAAE59B,GAAQ3K,EAC1C,MAAkB,UAAX2K,GAAsBq2G,EAAc//G,SAASsnC,GAChD,WACA59B,CAAM,EAuEOg3G,CAAmBF,GAGlC,OAFA/zE,EAAMw2B,oBAAoBj8D,GAAQ0C,GAAQo/B,KAAK03E,GAExC/zE,CAAK,GACX2zE,GAxBMA,CAwBa,C,2XC9DxB,IAAIv+B,EAAkCh4E,OAAOC,OAC3C,CACEusC,cAAe,KACfiC,KAAM,CACJ4nB,QAAS,KACT73B,MAAO,KACPhE,UAAW,KACXC,SAAU,KACVoO,KAAM,CACJrN,MAAO,KACP1kC,KAAM,KACNggH,aAAc,KACdC,OAAQ,KAGZr+C,SAAU,CACRt7D,QAAS,KACTi2B,SAAU,KACV4qD,eAAgB,OAElB+4B,IAAK,CAEHtxC,OAAQ,aACRuxC,YAAa,wBACbC,gBAAiB,0BAEnB7gH,IAAK,CACHk0C,cAAe,KACf7vC,eAAgB,KAChB++E,iBAAkB,KAClB09B,sBAAuB,MAEzBv9B,WAAY,KACZppD,SAAU,CACRj6B,SAAU,KACV+hF,gBAAiB,MAEnBW,kBAAmB,KACnBm+B,iBAAkB,CAChBC,IAAK,CACHC,WAAY,8CAGhB12D,UAAW,CAAC,EACZnsD,SAAU,CAAC,EACXwnB,YAAa,CAAC,EACds7F,cAAc,EACdC,aAAa,EACbC,YAAY,EACZC,WAAW,EACXC,kBAAkB,EAClBC,eAAgB,CACdC,aAAc,CAAC,GAEjBC,sBAAuB,KACvBC,OAAQ,CACNC,kBAAmB,KACnBC,WAAY,KACZC,SAAS,EACTC,sBAAsB,GAExBC,MAAM,GAvEUC,MAClB,IAEgBphH,OACd,OAAO,CACT,CAAE,MAAOiD,GACP,OAAO,CACT,GAkEAm+G,IAAgBphH,OAAO4iF,kBAAyB,CAAC,GAG5C,MAcMy+B,EAAiBC,IACxBA,IACFvgC,EAAUh4E,OAAOC,OAAO+3E,EAASugC,IAE5BvgC,GAMIwgC,GAHyC,QAApBC,EAAAt9G,eAAAs9G,EAAsBtlF,cAGjCqlF,IAA2BxgC,EAAQvpC,MAAQ,CAAC,GAEtD5xC,EAAWA,KAAA,IAAA67G,EAAA,OAA0C,QAA1CA,EAAiCF,WAAS,IAAAE,OAAA,EAATA,EAAWriD,OAAO,EAK9DsiD,EAAaA,KAAA,IAAAC,EAAA,OAAsB,QAAtBA,EAAM5gC,EAAQtf,gBAAQ,IAAAkgD,OAAA,EAAhBA,EAAkBx7G,OAAO,EAC5CC,EAAYA,KAAA,IAAAw7G,EAAA,OAAsB,QAAtBA,EAAM7gC,EAAQtf,gBAAQ,IAAAmgD,OAAA,EAAhBA,EAAkBxlF,QAAQ,EAe5CylF,EAA2BA,IAC/B9gC,EAAQ8/B,sBAIjB,IAAIiB,EAEG,SAASC,IACd,IAAKD,EACH,MAAM,IAAItnF,MAAM,gCAElB,OAAOsnF,CACT,CAEO,SAASE,EAAU9oC,GACxB4oC,EAAU5oC,CACZ,CAOO,MAIMn/B,EAAkBA,KAAA,IAAAkoE,EAAA,OAAiB,QAAjBA,EAAMlhC,EAAQg/B,WAAG,IAAAkC,OAAA,EAAXA,EAAaxzC,MAAM,EAC3C5iE,EAAiBA,KAAA,IAAAq2G,EAAA,OAAiB,QAAjBA,EAAMnhC,EAAQg/B,WAAG,IAAAmC,OAAA,EAAXA,EAAalC,WAAW,ECpKrD,IAAK98D,EAAM,SAANA,GAAM,OAANA,EAAM,kBAANA,EAAM,gBAANA,CAAM,K,8ICyBX,SAASi/D,EACdC,GAES,IAADC,EAAAC,EAAA,IADRC,EAAU3jH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAEb,IAAKwjH,EACH,OAAOG,EAKT,IAAiC,KAAT,QAApBF,EAAAD,EAAKI,uBAAe,IAAAH,OAAA,EAApBA,EAAA72G,KAAA42G,IACF,OAAOG,EAKT,GAAgB,QAAhBD,EAAIF,EAAKK,eAAO,IAAAH,GAAZA,EAAcI,kBAChB,OAAOH,EAKT,GAFAA,IAEIH,EAAKvrF,kBAAmB,CAI1B,MAAM8rF,EAAYR,EAAoBC,EAAKvrF,kBAAmB0rF,GACxDK,EAAeT,EACnBC,EAAKS,mBACLN,GAIFA,EAAapX,KAAKn2D,IAAI2tE,EAAWC,EAAcL,EACjD,CAEA,OAAOA,CACT,CAUO,SAASO,EAAsBV,GACpC,IAAKA,EACH,MAAO,GAST,MAAMW,EAAmC,GA+CzC,OA1CA,SAASC,EACPC,GAEC,IAADC,EAAA,IADAC,EAAYvkH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,IAAI,EAEhB,IAAKqkH,EACH,OAAOE,EAGTA,IAGA,MAAMC,EAwCH,SAA0BH,GAA2C,IAADI,EAAAC,EAAAC,EAAAC,EAAA,IAAxBjB,EAAU3jH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAC9D,IAAKqkH,EACH,MAAO,GAGT,MAAMQ,EAA0C,QAAzBJ,EAAiB,QAAjBC,EAAGL,EAAKS,iBAAS,IAAAJ,OAAA,EAAdA,EAAgBzkH,cAAM,IAAAwkH,IAAI,EAC9CM,EAAYV,EAAK7qB,aAAa,mBAEpC,IAAIxiE,EAAM,GACVA,GAAO2sF,EAAa,IACpB3sF,GAAOqtF,EAAKptF,QAAQqG,cAEhB+mF,EAAKhkH,KACP22B,GAAO,IAAMqtF,EAAKhkH,IAIhBgkH,EAAK3lH,OACPs4B,GAAO,MAAQqtF,EAAK3lH,OAKW,KAAT,QAApBimH,EAAAN,EAAKT,uBAAe,IAAAe,OAAA,EAApBA,EAAA/3G,KAAAy3G,MACFrtF,GAAO,QAIL+tF,EACF/tF,GAAO,SAAW+tF,EACG,QAAhBH,EAAIP,EAAKR,eAAO,IAAAe,GAAZA,EAAcI,SACvBhuF,GAAO,OAASqtF,EAAKR,QAAQmB,QAKd,IAAD3lH,EAAZglH,EAAKlzF,MACP6F,GAA8B,QAA3B33B,EAAI,IAAMglH,EAAKlzF,MAAMlxB,cAAM,IAAAZ,IAAI,GAElC23B,GAAO,IAAM6tF,EAGf,OAAO7tF,CACT,CAnF0BiuF,CAAiBZ,EAAME,GAI7C,GAHAJ,EAAuB/6E,KAAKo7E,GAGO,QAA/BH,EAAKptF,QAAQqG,eAIkB,WAA/B+mF,EAAKptF,QAAQqG,gBAID,QAAhBgnF,EAAID,EAAKR,eAAO,IAAAS,IAAZA,EAAcR,oBAOdO,EAAK1iG,SAAS1hB,OAAS,EACzB,IAAK,IAAIuwB,EAAI,EAAGA,EAAI6zF,EAAK1iG,SAAS1hB,OAAQuwB,IAAK,CAE7C4zF,EADWC,EAAK1iG,SAAS6O,GACf+zF,EACZ,CAEJ,CAGAH,CAAMZ,GAGCW,EAAuBlgE,KAAK,IACrC,CC7DA,MAAMihE,EAAmBpgC,cAEnBqgC,EAC4D,QAD5BC,EACR,QADQC,EACpCH,EAAiB/gC,mBAAW,IAAAkhC,OAAA,EAA5BA,EAA8BzgC,0CAAkC,IAAAwgC,KAOrDvgC,EACkC,QADnBygC,EACE,QADFC,EAC1BL,EAAiB/gC,mBAAW,IAAAohC,OAAA,EAA5BA,EAA8B1gC,uBAAe,IAAAygC,IAFd,GAO3B9gC,EAAgD,QAA/BghC,EAAGN,EAAiB/gC,mBAAW,IAAAqhC,OAAA,EAA5BA,EAA8BhhC,kBAMlDJ,EAAmD,QAA/BqhC,EAAGP,EAAiB/gC,mBAAW,IAAAshC,OAAA,EAA5BA,EAA8BrhC,qBAIrDshC,EAAkE,QAAzCC,EAAuB,OAApBvhC,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBG,wBAAgB,IAAAohC,KAAK,EAEvEC,EACqC,QADNC,EACf,OAApBzhC,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBC,2BAAmB,IAAAwhC,KAAK,EAE1CC,EAAkE,QAAzCC,EAAuB,OAApB3hC,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBE,wBAAgB,IAAAyhC,KAAK,EAehEC,EAAsB,SACjCC,EACAl6G,EACAm6G,GACgB,IAADC,EAAAC,EAAAC,EACf,IAAIC,EAAQ,EACZ,MAAMC,EAA+C,GAM/ChiC,ED/GD,SAA6B0hC,GAA6B,IAADO,EAC9D,OAAa,OAANP,QAAM,IAANA,GAAiB,QAAXO,EAANP,EAAQnB,iBAAS,IAAA0B,OAAX,EAANA,EAAmBvmH,SAAU,CACtC,CC6G2BwmH,CAAoBR,GAE7C,GAAI1hC,EAAmBmhC,EAA2B,CAAC,IAADgB,EAEhDJ,GAAgB,GADkC,QAAtCI,EAAoB,OAAjBliC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBD,wBAAgB,IAAAmiC,IAAI,GAEtDH,EAAiBn9E,KAAK,mBACxB,CAGA,MAAMu9E,EDlID,SAA6BV,GAIlC,MAAO,CACL3iH,QAAc,OAAN2iH,QAAM,IAANA,OAAM,EAANA,EAAQjqF,eAAgB,EAChCv4B,OAAa,OAANwiH,QAAM,IAANA,OAAM,EAANA,EAAQhN,cAAe,EAElC,CC0H2B2N,CAAoBX,GAC7C,GACEU,EAAiBljH,MAAQmiH,GACzBe,EAAiBrjH,OAASsiH,EAC1B,CAAC,IAADiB,EAEAP,GAAgB,GADsC,QAA1CO,EAAoB,OAAjBriC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBC,4BAAoB,IAAAoiC,IAAI,GAE1DN,EAAiBn9E,KAAK,uBACxB,CAIA,MAAMk7C,EAAmBi/B,EAAoB0C,GAE7C,GAAI3hC,EAAmBwhC,EAA2B,CAAC,IAADgB,EAMhDR,GAAgB,GADkC,QAAtCQ,EAAoB,OAAjBtiC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBF,wBAAgB,IAAAwiC,IAAI,GAEtDP,EAAiBn9E,KAAK,mBACxB,CAqBA,OALKo7C,GAhG0B,KAgGLK,IACxByhC,GAAS,GAIJ,CACLS,gBAAiB,CACfviC,kBAAoC,OAAjBA,QAAiB,IAAjBA,IAAqB,CAAC,EAEzCwiC,YAA0C,QAA/Bb,EAAEjB,EAAiBhhC,oBAAY,IAAAiiC,IAAI,KAC9CthC,gBAAiBA,GAEnB94E,QACAm6G,WACAK,mBACAD,QACAW,aAAc,CACZC,eAAgBrjH,SAASsjH,WACzBC,WAAiD,QAAvChB,EAAQ,OAANH,QAAM,IAANA,GAA6B,QAAvBI,EAANJ,EAAQtuF,cAAc,eAAO,IAAA0uF,OAAvB,EAANA,EAA+BpmH,cAAM,IAAAmmH,KAAK,EACtDiB,YAAanD,EAAsB+B,GACnCqB,UAAWX,EAAiBljH,MAAQ,IAAMkjH,EAAiBrjH,OAC3DghF,mBACAC,oBAEFgjC,2BAA4BpC,EAC5BqC,UAAW1/G,KAAKC,MAEpB,E,6mBC5LA,MAIMo9G,EAC4D,QAD5BC,EACR,QADQC,EAJbvgC,cAKNX,mBAAW,IAAAkhC,OAAA,EAA5BA,EAA8BzgC,0CAAkC,IAAAwgC,KAW5DqC,EAAoBA,KACxB,IAAK,IAAD1lH,EAAA2lH,EAEF,OADY,IAAI1qD,IAAU,QAAPj7D,EAACX,cAAM,IAAAW,GAAU,QAAV2lH,EAAN3lH,EAAQV,gBAAQ,IAAAqmH,OAAV,EAANA,EAAkBt1F,MAC3BiM,QACb,CAAE,MAAOvF,GACP,MAAM,QAAEqC,EAAO,KAAEz8B,GACfo6B,aAAe8C,MAAQ9C,EAAO,CAAC,EACjC,OAAOqC,GAAWz8B,GAAQ,gCAC5B,GASK,SAASipH,IAGP,IAADC,EAAAC,EAAA,IAFNz9F,EAAyBpqB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7B8nH,EAAwB9nH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAExB,MAAM6nH,EAAoBC,EACxB59F,EACA09F,GAGIG,EAA8C,QAAvCL,EAAY,OAATE,QAAS,IAATA,GAAuB,QAAdD,EAATC,EAAWb,oBAAY,IAAAY,OAAd,EAATA,EAAyBR,mBAAW,IAAAO,IAAI,KAElDt4C,EAAcnlE,OAAOC,OAAO,CAAC,EAAG29G,EAAmB,CACvDh1D,WAAY,kCACZm1D,WAAYD,IAGRE,EA8ED,SACL/9F,EACA09F,GACsB,IAADM,EAAAC,EAAA1N,EAAA2N,EAGrB,MAAAjpH,EAAsE,QAAtE+oH,EAAwD,OAATN,QAAS,IAATA,OAAS,EAATA,EAAWb,oBAAY,IAAAmB,IAAI,CAAC,GAArE,YAAEf,GAAoChoH,EAApBkpH,EAAkB9lH,IAAApD,EAAAqD,GAE1C,MAAO,CAELqJ,MAAO,yBACPsgE,MAAwB,WAAZ,OAALjiD,QAAK,IAALA,OAAK,EAALA,EAAOiiD,OAAoB,OAAS,OAC3ChlE,QAAO7E,IAAA,GACFslH,GAAS,IACZ/7G,MAAOqe,EAAMre,MACbm6G,SAAU4B,EAAU5B,SACpBsC,YAAuC,QAA5BH,EAAQ,QAAR1N,EAAEv5G,cAAM,IAAAu5G,GAAa,QAAb2N,EAAN3N,EAAQhwG,mBAAW,IAAA29G,OAAb,EAANA,EAAqBvgH,aAAK,IAAAsgH,IAAI,KAC3CI,YAAahB,IACbp7C,MAAOjiD,EAAMiiD,OAAS,OACtBzxC,OAAQxQ,EAAMwQ,OACdqsF,aAAcsB,EACd5L,IAAKvyF,EAAMuyF,MAGjB,CAtGqB+L,CAA+Bt+F,EAAO09F,GASnDzgH,EAAU,CAEdwE,OAAQ,CAACs8G,EATyB,CAElCp8G,MAAO,iCACPsgE,MAAuB,UAAhBjiD,EAAMiiD,MAAoB,OAAS,OAC1ChlE,QAAS,CAAE4gH,aAOXU,SAAU,CAACr5C,IAG0B,IAAD/oE,EAAAqiH,EAAlCzD,IACI,QAAN5+G,EAAAnF,cAAM,IAAAmF,GAAY,QAAZqiH,EAANriH,EAAQ86C,kBAAU,IAAAunE,GAAlBA,EAAAh8G,KAAArG,EAAqBc,IAGlB6jD,MAAUG,KAEbI,QAAQo9D,MAAM,+BAAgCf,EAElD,CAKO,SAASE,EACd59F,EACA09F,GACqD,IAADv+G,EAAAu/G,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA1/G,EAAAC,EAAA0/G,EAAAC,EAAAC,EAAAC,EACpD,MAAM,MAAEn9C,EAAK,OAAEzxC,GAAWxQ,EAE1B,MAAO,CAKLi0D,YAAkB,QAAN90E,EAAAnI,cAAM,IAAAmI,GAAkB,QAAlBu/G,EAANv/G,EAAQy6E,wBAAgB,IAAA8kC,GAAM,QAANC,EAAxBD,EAA0BlwE,YAAI,IAAAmwE,OAAxB,EAANA,EAAgCvoD,UAAWx5D,cACvD+rD,WAAY,gCACZ0rB,WAAY,aACZC,UAAW,oBACX+qC,SAAqB,QAAbT,EAAE5+F,EAAMre,aAAK,IAAAi9G,IAAI,KACzBU,YAA+B,QAApBT,EAAEnB,EAAU5B,gBAAQ,IAAA+C,IAAI,KACnCU,qBAA4D,QAAxCT,EAAW,OAATpB,QAAS,IAATA,GAA2B,QAAlBqB,EAATrB,EAAWvB,wBAAgB,IAAA4C,OAAlB,EAATA,EAA6BllE,KAAK,YAAI,IAAAilE,IAAI,KAChEU,SAAUv9C,EACVm8C,YAAuC,QAA5BY,EAAQ,QAAR1/G,EAAEtI,cAAM,IAAAsI,GAAa,QAAbC,EAAND,EAAQiB,mBAAW,IAAAhB,OAAb,EAANA,EAAqB5B,aAAK,IAAAqhH,IAAI,KAC3CS,UAAWjvF,EAIXkvF,cAAwB,OAAThC,QAAS,IAATA,GAAuB,QAAduB,EAATvB,EAAWb,oBAAY,IAAAoC,OAAd,EAATA,EAAyBjC,WACxC2C,aAAuB,OAATjC,QAAS,IAATA,GAAuB,QAAdwB,EAATxB,EAAWb,oBAAY,IAAAqC,OAAd,EAATA,EAAyBhC,UACvC0C,SAAUlC,EAAUxB,MACpB2D,OAAQ7/F,EAAMuyF,IACduN,aAAcrlC,EACd4jC,YAAahB,IACb0C,oBAA8B,OAATrC,QAAS,IAATA,GAAuB,QAAdyB,EAATzB,EAAWb,oBAAY,IAAAsC,OAAd,EAATA,EAAyBjlC,iBAC9C8lC,oBAA8B,OAATtC,QAAS,IAATA,GAAuB,QAAd0B,EAAT1B,EAAWb,oBAAY,IAAAuC,OAAd,EAATA,EAAyBjlC,iBAElD,C,wBCrGA,MAAM2gC,EAAmBpgC,cAKzB,IAAIulC,GAAoB,EACxB,MAAM1lC,EACwB,QADKygC,EACjCF,EAAiB/gC,mBAAW,IAAAihC,OAAA,EAA5BA,EAA8BzgC,8BAY1B2lC,GAC8B,QAAlCC,EAAAlkG,YAAW,+BAAuB,IAAAkkG,OAAA,EAAlCA,EAAoCzpD,OACpC8F,OAAyC,QAAnC4jD,EAACnkG,YAAW,+BAAuB,IAAAmkG,OAAA,EAAlCA,EAAoC1pD,MAGvC2pD,EAA+C7jD,OAAO8jD,UAAUJ,GACjE1jD,OAAO0jD,QACRpqH,EAWSyqH,GAAiB,WAQnB,IAADC,EAAAC,EAAAxF,EAAAhmH,EAAAsnB,EAAAM,EAAA,IAPR,MACElb,EAAQ,GAAE,SACVm6G,EAAW,IACuClmH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CACrD+L,MAAO,GACPm6G,SAAU,IAGZ,MAAM4E,EAA0C,QAAtBF,EAAAxpH,OAAOc,OAAO6oH,gBAAQ,IAAAH,GAAa,QAAbC,EAAtBD,EAAwBzmC,mBAAW,IAAA0mC,GAAnCA,EAAqC3jB,WAC3D,EACA,KAEE8jB,EAAoD,QAA5B3F,EAAAH,EAAiB/gC,mBAAW,IAAAkhC,GAA5BA,EAA8B3gC,QACxD,KACA,EAUE5jB,EACiE,QADxCzhE,EACa,QADbsnB,EACZ,OAAjBmkG,QAAiB,IAAjBA,IAAqBE,SAAqB,IAAArkG,IAAI8jG,SAAuB,IAAAprH,IAAI,EAG3E,GAAIgrH,EACF,MAAO,4BAGT,GAAa,IAATvpD,IAAeA,EACjB,MAAO,6BAIL6jB,IACF0lC,GAAoB,GAGtB,MAAMpE,EAASpiH,SAASm5C,eAAe,QAEjC8qE,EAAY9B,EAAoBC,EAAQl6G,EAAOm6G,GAG/C+E,EAC0B,QADAhkG,EAC7B6gG,EAAUvB,iBAAiB,UAAE,IAAAt/F,IAAe,MAI/C,GAAI6gG,EAAUxB,MAAQzhC,EAAiB,CACrC,MAAMz6D,EAA4B,CAChCre,MAAOA,GAAS,KAChBsgE,MAAO,QACPzxC,OAAQ,cAAgBqwF,EACxBtO,IAAKuJ,GAAY,yBAOnB,OAJAgF,GAAiB9gG,EAAMiiD,MAAOy7C,GAC9BH,EAAsBv9F,EAAO09F,GAGtB,oCACT,CAGAoD,GAAiB,UAAWpD,GAG5Br8D,QAAQo9D,MAAM,+BAAgCf,GAc9C,OAHAH,EAPkC,CAChC57G,MAAOA,GAAS,KAChBsgE,MAAO,UACPzxC,OAAQ,cAAgBqwF,EACxBtO,IAAKuJ,GAAY,yBAGU4B,GAGtB,4BACT,EAIa,QAAb9lH,GAAAD,EAAAX,QAAOc,cAAM,IAAAF,IAAbD,EAAOG,OAAW,CAAC,GACG,QAAtBipH,GAAAC,EAAAhqH,OAAOc,QAAO6oH,gBAAQ,IAAAI,IAAtBC,EAAcL,SAAa,CAAC,GACM,QAAlCM,GAAAC,EAAAlqH,OAAOc,OAAO6oH,UAAS5mC,mBAAW,IAAAknC,IAAlCC,EAAuBnnC,YAAgB,CACrConC,SAAUZ,KAIZvpH,OAAOc,OAAO6oH,SAAS5mC,YAAYonC,SAAWZ,GAIhB,IAA5BF,IAC0C,KAAd,QAA5BnF,EAAAJ,EAAiB/gC,mBAAW,IAAAmhC,OAAA,EAA5BA,EAA8B5gC,WAE9BtjF,OAAOc,OAAO6oH,SAAS5mC,YAAY+iB,YAAa,GAYlD,MAAMgkB,GAAmB,SACvB7+C,EACAy7C,GACO,IAADoB,EAAA3iH,EAAAqiH,EACN,MACMhuF,EAAS,eADyC,QAAhCsuF,EAAGpB,EAAUvB,iBAAiB,UAAE,IAAA2C,IAAI,OActDv4C,EAAgB,CACpB66C,QAAS,CACP,CACEjhH,WAAY,CACVqmE,WAAY,UACZvE,QACAzxC,UAEFzxB,gBAAiB,MACjBkB,gBAAiB,8BACjBohH,UAAW,UACXnhH,YAAa,EACb5L,KAAM,KAIViqH,SAAU,CA3BQX,EAClB,CACEj8G,MAAO+7G,EAAU/7G,MACjBsgE,QACAzxC,SACA+hF,IAAK,yCAEPmL,KAyBI,QAANvhH,EAAAnF,cAAM,IAAAmF,GAAY,QAAZqiH,EAANriH,EAAQ86C,kBAAU,IAAAunE,GAAlBA,EAAAh8G,KAAArG,EAAqBoqE,EACvB,C,qxBC7LA,MAAM+6C,EAAsCxwF,IAE1C,MAAMywF,EAAuB,CAC3BhkF,YAAaS,IAAcC,oBAC3B4Z,eAAe,EACf56C,QAAS,CACPkjD,MAAO,CACL75B,cAAc,EACdnsB,MAAOqnH,YAA6B1wF,EAAUyM,aAC9CvB,UAAW,8BACXtX,SAAS,MAIPtN,GAAIsgB,GAAYxgB,IAASC,YACzB8f,KAAM0gB,EAAavgC,GAAImgB,GAAcrgB,IAASyb,aAEtDglB,EAAYw8D,mBAAmBoN,GAI1B7pF,EAAQqF,2BACX4a,EAAY3a,4CAA2C,GAIzDzF,EAAU0F,gCAA+B,GAEzCwkF,YAA+C,CAC7ClkF,YAAazM,EAAUyM,YACvBmkF,2BAA2B,GAC3B,EAGEC,EAAqC7wF,IAEzCA,EAAUpvB,SAAQ+qG,IAChB,MAAM51G,EAAW,OAAJ41G,QAAI,IAAJA,OAAI,EAAJA,EAAMlvE,YACbgkF,EAAuB,CAC3BhkF,YAAa1mC,EACbghD,eAAe,EACf56C,QAAS,CACPkjD,MAAO,CACL75B,cAAc,EACdnsB,MAAOqnH,YAA6B3qH,GACpCmlC,UAAU,GAAD3mC,OAAKwB,EAAI,YAClB6tB,SAAS,MAKPuS,KAAM0gB,GAAgBzgC,IAASyb,aAEvCglB,EAAYw8D,mBAAmBoN,EAAqB,GACpD,EAGEjuB,EAAsB5kE,IAC1B,MAAM,MACJv0B,EAAK,UACL22B,EAAS,4BACTG,EAA2B,WAC3BC,EAAU,0BACVC,EAAyB,mCACzBC,EAAkC,QAClCL,GACEN,aAAc/B,GACZ8N,EAAUtlB,IAASyb,aACnB8J,EAAWvlB,IAASC,YAClB8f,KAAMC,GAAcuF,GACpB1V,MAAOoQ,GAAkBD,EAAUC,cAQ3C,GANAqF,EAAQplB,GAAG0lB,wBAAuB,GAElC5nC,KAAOC,KAAK,mBAADE,OAAoB8hC,EAAa,UAAU,CACpDh9B,MAAO42B,IAGLG,EACF,GAAa,OAATJ,QAAS,IAATA,KAAWj7B,OAAQ,CACrB,MAAM+rH,EAAiB9wF,EAAU96B,QAAO6+B,GAAKA,KACrC2I,KAAMqkF,EAAiBhrH,KAAMirH,GACnCF,EAAe,IAAM,CAAC,EAExB,GAAI7jF,IAAmBvjC,eAAeqnH,GAAkB,CACtD,MAAMtkF,EAAcukF,GAAoB9jF,IAAcukE,gBAChDwf,EAAsB,IAAIC,OAC9B,qCAIF,IAAIC,EAAyB,CAAC,EA4C9B,OA3CAL,EAAelgH,SAAQzM,IAAsB,IAArB,KAAEuoC,EAAI,MAAEL,GAAOloC,EACrC,MAAM,MACJ4mC,EAAK,QACL5+B,EAAO,WACP2gC,EAAa,CAAC,GACZP,YAAwB,CAC1BE,cACAC,OACAtG,YACAiG,UASF,GALA8kF,EAAsB7pH,IAAA,GACjB6pH,GACArkF,IAGA1G,EAAU2E,KAAW3E,EAAUqG,GAAa1B,GAC/C,OAGF,MAAMC,EAAiBimF,EAAoBxtH,KAAKsnC,GAC1C4T,EAAS3T,EACX,qBACA,wBAEJU,EAAQvF,KAAKwY,GAAOr3C,IAAC,CAAC,EAChB0jC,GAAkB,CAAEyB,gBAAe,CAAF,GACrC1B,QACA5+B,YACA,IAIJs/B,YAAiC,CAC/BC,UACAC,WACAhY,OAAQm9F,EACRllF,cAAeulF,IAGjBh8G,IAAGyzC,WAAWzzC,IAAGi0C,OAAO1oB,MAAOvrB,IAAGwuB,YAAYglB,MACvClH,YAAkBr7B,IAASC,WAAW8f,KAE/C,CAAWirF,IAAkB1nH,eAAeqnH,GAC1C1nH,EAAM42B,QAAU8wF,GAIhB1nH,EAAM42B,QAAU,qBAChB77B,KAAOkJ,KAAK,6BAA8B,CACxCo/B,KAAK,GAADnoC,OAAK8E,EAAM42B,QAAO,KAAA17B,OAAIwsH,GAC1B1nH,MAAO42B,IAGb,MACE52B,EAAM42B,QAAU,qBAEhB77B,KAAOkJ,KAAK,6BAA8B,CACxCo/B,KAAMrjC,EAAM42B,QACZ52B,MAAO42B,IAKb,GAAIE,EAA6B,CAC/B,GAAsC,oCAAzB,OAATH,QAAS,IAATA,OAAS,EAATA,EAAWi2E,oBAQb,OAPAvqE,EAAQtB,IAAIinF,6BAA6BrxF,EAAUqT,qBAGnDrT,EAAUoT,iCACR1H,EAAQtB,IAAIknF,yCACVtxF,EAAUoT,iCAEP1H,EAAQplB,GAAGirG,sCAAqC,GAClD,GAC4B,kCAAxB,OAATvxF,QAAS,IAATA,OAAS,EAATA,EAAWg2E,mBAGX,OADA5xG,KAAOC,KAAK,+CACLsmD,YAAe,CACpBo0C,oBAAoB,EACpBD,wBAAuBx3F,EAAA,GAAO04B,IAGpC,CAEA,GAAIK,EACF,OAAOmwF,EAAoCxwF,GAG7C,GAAgB,yCAAZC,EAAoD,CACtD,MAAM,MAAE12B,GAAUC,cACZ+F,EAAkBhG,EAAQ,MAAQ,KAOxC,OANAnF,KAAOE,KAAK,gDAAiD,CAC3D6+E,WAAYr3E,cACZs3E,aAAa,GAAD7+E,OAAKgL,EAAe,UAChC7K,WAAY,0BACZC,gBAAiB,gCAEZksH,EAAmC7wF,EAC5C,CAEA,GAAIM,EAGF,OAFAoL,EAAQplB,GAAGkrG,4BAA2B,QACtC9lF,EAAQplB,GAAG6vB,+BAA8B,GAI3CyU,YAAevhD,EAAM,C,wQCjOvB,MAAMooH,EAAkBx/G,YAAGC,MAAAC,IAAA,sFAChBiW,MAMuBnW,YAAGM,MAAAJ,IAAA,mEAC1BmW,K,wBCAQgF,IAAO0B,EAAC9c,MAAAC,IAAA,mGAOTmb,IAAOC,IAAGhb,MAAAJ,IAAA,+HACNyV,KAON0F,IAAO0B,EAACrB,MAAAxb,IAAA,yCAEpBs/G,GAGgBnkG,IAAOkK,GAAE3J,MAAA1b,IAAA,qEAGzBs/G,GAGYnkG,IAAO+jC,GAAErjC,MAAA7b,IAAA,8GACdmW,KAOOgF,IAAO8C,GAAEI,MAAAre,IAAA,0MAOTqV,KAQS8F,IAAOzL,MAAKmP,MAAA7e,IAAA,4BAjDvC,MAqDMu/G,EAAWpkG,IAAOkK,GAAErG,MAAAhf,IAAA,qJAiBpBw/G,GANqBrkG,IAAOS,KAAIsD,MAAAlf,IAAA,+CAMfmb,IAAOxN,OAAMwR,MAAAnf,IAAA,kTAchBmV,M,4PC3EpB,MAAMsqG,EAAaA,KACjB,MAAMzxD,EAA6Bz8D,IAASC,SAC1C,kCAEF,OACE+iB,IAAAC,cAAA,OAAK,cAAY,cACdw5C,GAA8Bz5C,IAAAC,cAAC44C,IAAkB,MAClD74C,IAAAC,cAACy5C,IAAc,CACbsQ,UAAW,SACX1gD,UAAWmwC,EAA6B,OAAS,UAEhD7zB,YAAW,qBAGd5lB,IAAAC,cAACiqD,IAAiB,CAACjvD,SAAS,MAC1B+E,IAAAC,cAACkrG,EAAqB,OAEpB,EAIJA,EAAwBA,KAC5B,MAAMC,EAAkBpuH,IAASC,SAAS,YAE1C,IAAIqpC,EAAatpC,IAASC,SAAS,4BAC/B,iCACA,uBAEAmuH,IACF9kF,EAAa,gBAGf,MAAM+kF,EAAexrH,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGyrG,YAAY,IACxDC,EAAaC,YAAcjlF,EAAY+kF,GAEvCltG,EAAUynB,YAAWU,EAAYglF,EAAY,CACjDE,SAAUJ,IAGZ,OAAOprG,IAAAC,cAACwrG,EAAmB,CAACttG,QAASA,GAAW,EAG5CstG,EAAsB1mG,IAIR,IAJS,QAC3B5G,GAGD4G,EACC,MAAMqmG,EAAkBpuH,IAASC,SAAS,YACpCyuH,EAAkBz8D,cAClB8nD,EAAoBlhE,iBAA0B,MAC9CmhE,EAAoBnhE,iBAAyB,OAC5C81E,EAAkBC,GAAuB3iG,oBAAS,GAInD4iG,EAAmB/U,uCAA6B,CACpDC,oBACAC,sBAEIjnD,GFxDNvnC,E,iWEwDsD5nB,CAAC,CACrD+qH,oBACGE,GFzDgBtgH,YAAG0b,MAAAxb,IAAA,0JAEV+c,EAAM2uF,iBAIN3uF,EAAMmjG,iBAAmB,UAAY,SAGxCnjG,EAAM4uF,qBAVjB5uF,MEkFA,OACExI,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAACsL,IAAS,CAACnB,gBAAc,EAACa,OAAO,aAC9B9M,GACCitG,IAAoBM,GACpB1rG,IAAAC,cAACgrG,EAAc,CACb,mBAAiB,kBACjB,cAAY,8BACZt9F,OA5BRlrB,IAEAmpH,GAAoB,EAAM,EA2BlBnkG,QAbRhlB,IAEAmpH,GAAqBD,EAAiB,EAY9BG,UAzBRrpH,IAKc,KAAVA,EAAEoD,KAAwB,KAAVpD,EAAEoD,MACpBpD,EAAEm+C,iBACFgrE,GAAqBD,GACvB,EAkBQ97F,IAAKknF,EACL13G,KAAK,UAEL2gB,IAAAC,cAAA,YACED,IAAAC,cAAC8rG,IAAY,CACX7pH,MAAO0jC,YAAW,iBAClBvmC,KAAK,eAMf2gB,IAAAC,cAAC8yC,IAAO,CAACC,cAAc,SAASvqC,eAAgBsnC,GAC9C/vC,IAAAC,cAAC+qG,EAAQ,CACPvsH,GAAG,kBACH,cAAY,kBACZoxB,IAAKmnF,GAELh3F,IAAAC,cAAA,UAAK2lB,YAAW,4BAChB5lB,IAAAC,cAAA,UAAK2lB,YAAW,+BAChB5lB,IAAAC,cAAA,UAAK2lB,YAAW,2BAChB5lB,IAAAC,cAAA,UAAK2lB,YAAW,4BAGnB,C,q4BCjFA,MAAMupE,EAA0BA,KAGrC,MAAMhqG,EAAQC,cAId,OAFA4mH,cAEOt3E,IACJikC,OAGC,CACA6iB,SAAUd,IACVvlD,UAAW,CAAEhwC,WAEdgC,KAAKioG,EAAe,EAGnB6c,EAAoChwF,UAEyB,IAADkmE,EAChE,MAAQz+D,IAAK2I,GAAa3sB,IAASC,WAC7B05E,EAAehtD,EAASgtD,aACxBryB,IAAuBhqE,IAASytC,IAAI,eACpCyhF,EAAexmG,YAAgB,CACnCE,eAAgB5oB,IAAS4mB,SAGrByV,QAAiBkc,YAGrB,CACAimD,SAAUnB,IACV8xB,OAAQA,CAACz8E,EAAKjyC,KAAgB,IAAd,KAAEkD,GAAMlD,EACtB,MAAM2uH,EAA6B,OAAJzrH,QAAI,IAAJA,OAAI,EAAJA,EAAM0rH,0BACX,OAAtBD,QAAsB,IAAtBA,KAAwBE,sBAC1B58E,EAAMsF,WAAW,CACfr0C,KAAM,CAAEs6B,gBAAiBmxF,GACzBn3E,MAAO6nD,KAEX,EAEF3nD,UAAW,CACTkkD,eACAryB,qBACA7hE,WAGJ,GAAY,OAARk0B,QAAQ,IAARA,GAAgB,QAAR8oE,EAAR9oE,EAAUpM,cAAM,IAAAk1E,GAAhBA,EAAkB9jG,OAIpB,MAHAX,IAAOiF,MAAM,wCAAyC,CACpDsqB,OAAQoM,EAASpM,SAEb,IAAI+M,MAAMX,EAASpM,OAAOo1B,KAAK,MAIvC,OADAkqE,YAAuBL,EAAc1zF,IAAOqrC,iBACrCxqC,CAAQ,EAwCJ+1E,EAAiBA,KAC5B,MAAMjqG,EAAQC,eACNs+B,IAAK2I,GAAa3sB,IAASC,YAC3BC,GAAImgB,GAAcrgB,IAASyb,aAC7BsgF,EAASpvE,EAASsnD,YAAY8nB,OAC9B51F,EAA4B7oB,IAASC,SACzC,6BAEI6oB,EAAiB9oB,IAASC,SAAS,kBACnCkxG,EAAW,CACf8d,EAAkC9mH,IAE9B6lC,EAAwBhuC,IAASC,SAAS,yBAC1CivH,EAAexmG,YAAgB,CACnCE,eAAgB5oB,IAAS4mB,SAe3B,OAZA2oG,YAAuBL,EAAc1zF,IAAOwrC,kBAC5CmC,YAAwB3tC,IAAOqrC,iBAE/BmoD,cAEInmG,IAA8BC,IAChCpoB,IAAOC,KAAK,wCACZwwG,EAAS,GA7D2BlyE,WAGtC,MAAQwD,KAAMC,GAAchgB,IAASC,WAC/BotB,EAAoBH,YAAgBlN,GACpC8sF,EAEJ1lF,YAAyCiG,GAa3C,aAZuB2H,IAAaO,MAGlC,CACAA,MAAO4nD,IAEP1nD,UAASv0C,EAAA,CACPuE,SACGqnH,IAIQ,EAyCCC,CAAgCtnH,IAKzCi7D,QAAQkuC,IAAIH,GAChBhnG,MACC4d,IAGO,IAADvgB,EAAAkoH,EAAAC,EAAAC,EAAAC,EAAA,IAFJC,EACAC,GACDhoG,EAGM9d,YAAwB,QAAdzC,EAAChF,OAAOiF,cAAM,IAAAD,OAAA,EAAbA,EAAewoH,cAC7BtvH,IAAOkJ,KAAK,uCAAwC,CAClDqmH,QAAS1kH,OAAO47B,KAAK3kC,OAAOiF,QAAU,CAAC,KAGtCwC,YAAwB,QAAdylH,EAACltH,OAAOiF,cAAM,IAAAioH,OAAA,EAAbA,EAAeQ,gBAC7BxvH,IAAOkJ,KAAK,yCAA0C,CACpDqmH,QAAS1kH,OAAO47B,KAAK3kC,OAAOiF,QAAU,CAAC,KAI3C,MAAM,MAAE0sC,EAAK,KAAEjW,EAAI,qBAAEoxF,IACkB,OAArCQ,QAAqC,IAArCA,GAA2C,QAANH,EAArCG,EAAuCnsH,YAAI,IAAAgsH,OAAN,EAArCA,EACIN,4BAA6B,CAAC,EAC9B3uD,EAAgB,OAAJxiC,QAAI,IAAJA,GAAe,QAAX0xF,EAAJ1xF,EAAMwiC,iBAAS,IAAAkvD,OAAX,EAAJA,EAAiBp8F,KAC9BktC,GACHhgE,IAAOkJ,KAAK,sCAEd,MAAQ2oB,MAAOoQ,GAAkBjgB,IAASC,WAAW8f,KAAKE,cAM1D,GAAIg7B,cAIF,OAHAgD,eACAsB,aAAkBt/B,QAClBjiC,IAAO4J,OAAO,yBAIhB,GAAIL,YAAwB,QAAd4lH,EAACrtH,OAAOiF,cAAM,IAAAooH,OAAA,EAAbA,EAAeG,aAAc,CAAC,IAADG,EAAAC,EAC1C,MAAMC,EAAgB,CACpB5R,OAAc,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQ//E,cAChB03E,QAASjuG,EACTmoH,QAAc,OAALn8E,QAAK,IAALA,OAAK,EAALA,EAAO0oD,OAChB0zB,UAAe,OAAJryF,QAAI,IAAJA,OAAI,EAAJA,EAAMsyF,UACjBna,aAAcluG,EACdu4D,aAGF,OAAIl+D,OAAOiF,QAAUwC,YAAwB,QAAdkmH,EAAC3tH,OAAOiF,cAAM,IAAA0oH,OAAA,EAAbA,EAAeD,eACtC1tH,OAAOiF,OACXyoH,cAAc,CAAEI,QAAc,OAALn8E,QAAK,IAALA,OAAK,EAALA,EAAO0oD,SAChC1yF,MAAKsmH,IACJ9vD,eACOnB,YAAqB,CAAEl5D,IAAKmqH,OAEpCrmH,OAAM8vB,IAAQ,IAADw2F,EAAAC,EAQZ,OAPAjwH,IAAOiF,MAAM,6BAA8B,CACzCu0B,IAAKA,EAAI4F,OAAS5F,EAAIwG,aAIxBigC,eACAjgE,IAAO4J,OAAO,yBACM,QAApBomH,EAAOluH,OAAOiF,cAAM,IAAAipH,GAAa,QAAbC,EAAbD,EAAeV,mBAAW,IAAAW,OAAb,EAAbA,EAAA3iH,KAAA0iH,EAA6BL,EAAc,KAIxD3vH,IAAOC,KAAK,sBAAuB0vH,GACnC3vH,IAAOE,KAAK,sBAAuB,CACjCI,WAAY,UACZC,gBAAiB,yBAInBP,IAAO4J,OAAO,yBACdq2D,oBACa,QAAbyvD,EAAA5tH,OAAOiF,cAAM,IAAA2oH,GAAbA,EAAeJ,YAAYK,IAE7B,CAIA,GAD4Bx3B,aAA8Bn4B,GAWxD,OATAhgE,IAAOE,KAAK,0BAA2B,CACrCI,WAAY,UACZC,gBAAiB,gCAKnB0/D,oBACAjgE,IAAO4J,OAAO,yBAUhB,MAAMw5C,EAA4B,UAAlBnhB,EACViuF,EAAe1wH,QAAQwgE,GACvB53C,EAAiB9oB,IAASC,SAAS,kBAEnCqrC,EAA+BtrC,IAASC,SAC5C,8BAEIsrC,EACJvrC,IAASC,SAAS,mCAClBqrC,EAEIviB,EAAQ/oB,IAASC,SAAS,SAC1BmrC,EAA6BprC,IAASC,SAC1C,4BAEIorC,EACJrrC,IAASC,SAAS,iCAClBmrC,EAEIylF,EACJ/nG,GACAsiB,GACAC,GACAE,EAGF,GAAIslF,IAAuB9nG,EACzB,OAAI+6B,GAEFpjD,IAAOC,KAAK,kCAAmC,CAC7CiwH,eACAC,qBACA9nG,UAEK03C,aAA4BC,IAI9Bm5C,uBAAa1vG,MAAK,KAEvBzJ,IAAOC,KAAK,oDAAqD,CAC/DiwH,iBAEKnwD,aAA4BC,MAKvC,GAAImwD,GAAsB9nG,EACxB,OAAI+6B,GAEFpjD,IAAOC,KAAK,2BAA4B,CACtCkwH,qBACA9nG,UAEFga,EAAUuF,wBAAuB,QACjCvF,EAAU+tF,yBAAwB,IAK7BjX,uBAAa1vG,MAAK,KAEvBzJ,IAAOC,KAAK,wCAAyC,CACnDiwH,eACAC,qBACA9nG,UAEFga,EAAUuF,wBAAuB,GACjCvF,EAAU+tF,yBAAwB,EAC5B,IAQV,GAAIjoG,EAA2B,CAAC,IAADkoG,EAAAC,EAC7B,GACkC,OAAhCjB,QAAgC,IAAhCA,GAAsC,QAANgB,EAAhChB,EAAkCpsH,YAAI,IAAAotH,GAAtCA,EAAwCE,2BAQxC,OANAvwH,IAAOC,KAAK,6CACZoiC,EAAUuF,wBAAuB,QAEjC0F,EACIjL,EAAUmuF,iCAAgC,GAC1CnuF,EAAUouF,iCAAgC,IAGhDzwH,IAAOC,KACL,yDACA,CACEswH,2BACkC,OAAhClB,QAAgC,IAAhCA,GAAsC,QAANiB,EAAhCjB,EAAkCpsH,YAAI,IAAAqtH,OAAN,EAAhCA,EACIC,6BAGVvwH,IAAOE,KAAK,mDAAoD,CAC9DI,WAAY,iBACZC,gBAAiB,oDAErB,CAMA,IAAIjB,IAASC,SAAS,WAAYqvH,EAOlC,OADA5uH,IAAOC,KAAK,kCAAmC,CAAEiwH,iBAC1CnwD,aAA4BC,GANjC39B,EAAU+tF,yBAAwB,EAMS,IAGhD1mH,OAAO8vB,IACN6I,EAAUuF,wBAAuB,GACjC4e,YAAehtB,EAAI,GACnB,EAGO8sB,EACsCrjD,IAGjD,MAAMw0C,EAAY/I,YAA4BzrC,GAE9C,OAAO40C,YAGL,CACAimD,SAAUjB,IAEVplD,cAEChuC,KAAK8yF,KACL9yF,KAAKizF,IAAiC,EAG9B/1C,EACX1jD,GAEO+zC,IACJikC,OAGC,CACA6iB,SAAU4yB,IACVj5E,UAAWx0C,IAEZwG,KAAK+yF,KACL/yF,KAAKizF,I,+BCzbV,sDAKO,MAAM/uC,EAAY5tD,IAAA,IAAC,MACxB8b,EAAQ,WACE9b,EAAA,OACVuiB,IAAAC,cAAA,OACEpe,MAAM,KACNH,OAAO,KACPguE,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,gXACFF,KAAMp2D,IAEJ,EAEO8xC,K,8VCrBR,MAAMgjE,EAA6B9jH,IACxC7M,IAAOE,KAAK,sCAADC,OAAuC0M,GAAU,CAC1DvM,WAAY,wBACZC,gBAAgB,8CAADJ,OAAgD0M,IAC/D,EAGSszC,EAAmB,SAACtzC,GAAwC,IAAxB+jH,EAAOlwH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC1DV,IAAOE,KAAK,4B,iWAA2BgD,CAAA,CACrC5C,WAAY,wBACZC,gBAAgB,GAADJ,OAAK0M,EAAM,+BACvB+jH,GAEP,C,mvBCQA,MA0Ban5C,EAAiCo5C,IAC5C,MACMC,EAAkC,OAD3BD,QAC2B,IAD3BA,OAC2B,EAD3BA,EAC6B/hF,gBAC1C,OAAOtvC,SACsB,OAA3BsxH,QAA2B,IAA3BA,OAA2B,EAA3BA,EAA6BpoE,QACA,OAA3BooE,QAA2B,IAA3BA,OAA2B,EAA3BA,EAA6BzqF,SACF,OAA3ByqF,QAA2B,IAA3BA,OAA2B,EAA3BA,EAA6BnoE,YAChC,EAGU0vB,EAAyBA,CACpC22B,EAGAr4B,EACAO,KAC0B,IAAD65C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACzB,MAAQnpH,QAASiuF,GAAiBhuF,eAC5B,SACJ2oH,EAAQ,aACRQ,EAAY,gBACZr7B,EAAe,aACfs7B,EAAY,eACZ7mE,GAC+B,QAAhCsmE,EAjDD/hB,KAKA,GACEA,IACC,SAAUA,GACT,UAAWA,GACX,aAAcA,GAChB,CACA,MAAM,KAAExxE,EAAI,MAAEkmD,EAAK,SAAEpU,GAAa0/B,EAClC,MAAO,CACL6hB,SAAUrzF,EACV6zF,aAAmB,OAAL3tC,QAAK,IAALA,OAAK,EAALA,EAAO2tC,aACrBE,+BAAqC,OAAL7tC,QAAK,IAALA,OAAK,EAALA,EAAO6tC,+BACvC9mE,eAAqB,OAALi5B,QAAK,IAALA,OAAK,EAALA,EAAOj5B,eACvBurC,gBAAyB,OAAR1mB,QAAQ,IAARA,OAAQ,EAARA,EAAUrnE,QAC3BqpH,aAAsB,OAARhiD,QAAQ,IAARA,OAAQ,EAARA,EAAUlwE,KAE5B,CACA,OAAO4vG,CAAW,EA4BdwiB,CAAiBxiB,UAAY,IAAA+hB,IAAI,CAAC,EAChCU,EAA4BnyH,IAASC,SAAS,sBAChDkyH,GACFzxH,KAAOC,KAAK,oDAGd,MAAMyxH,EAAgC,CAAC,QAAS,SAE3CL,GACHK,EAA8B5nF,KAAK,gBAAiB,QAKtD,MAAMwtC,EAAiDp0E,IAAA,CAErD07B,YAAao3D,EAEb3pD,aAAsB,OAARwkF,QAAQ,IAARA,GAAiB,QAATG,EAARH,EAAUnhD,eAAO,IAAAshD,GAAO,QAAPC,EAAjBD,EAAmBrhD,aAAK,IAAAshD,OAAhB,EAARA,EAA0B5kF,aACxCslF,qBAAsB,CAAC,cAAe,gBAAiB,kBACvDC,6BAA8B,CAAC,OAAQ,gBAAiB,SACxDF,gCACAG,kBAAmB,KACdR,GAAgB,CAAES,aAAc,aAAc,CAAF,GACjDniD,MAAO,CACL1jC,OAAgB,OAAR4kF,QAAQ,IAARA,GAAiB,QAATK,EAARL,EAAUnhD,eAAO,IAAAwhD,GAAO,QAAPC,EAAjBD,EAAmBvhD,aAAK,IAAAwhD,OAAhB,EAARA,EAA0BjlF,cAClC7tB,MAAM,GAADle,OAAKmxH,EAAY,KAAAnxH,OAAI+nC,YAAW,uBACrCvmC,KAAM,WAIJowH,EACiB,OAArB76C,QAAqB,IAArBA,GAAqC,QAAhBk6C,EAArBl6C,EAAuBI,sBAAc,IAAA85C,OAAhB,EAArBA,EAAuC55C,gBACnCw6C,EAA8Bv6C,EAA8Bo5C,IAE7DkB,GAA0BC,GAM7BhyH,KAAOiF,MAAM,wCAAyC,CACpD+sH,8BACAD,2BAIJ,MAAM56C,EAA8C,OAArBD,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBC,uBAEzB,IAAD86C,EAEPC,EAAAC,EAAAC,EAFjBL,IACFz6C,EAAe3H,MAA6B,OAArBuH,QAAqB,IAArBA,GAAqC,QAAhB+6C,EAArB/6C,EAAuBI,sBAAc,IAAA26C,OAAhB,EAArBA,EAAuCtiD,MACzD0hD,IAEH/5C,EAAeC,UACQ,OAArBL,QAAqB,IAArBA,GAAqC,QAAhBg7C,EAArBh7C,EAAuBI,sBAAc,IAAA46C,OAAhB,EAArBA,EAAuC36C,UACzCD,EAAeE,gBACQ,OAArBN,QAAqB,IAArBA,GAAqC,QAAhBi7C,EAArBj7C,EAAuBI,sBAAc,IAAA66C,OAAhB,EAArBA,EAAuC36C,gBACzCF,EAAehsB,gBACQ,OAArB4rB,QAAqB,IAArBA,GAAqC,QAAhBk7C,EAArBl7C,EAAuBI,sBAAc,IAAA86C,OAAhB,EAArBA,EAAuC9mE,kBAwB7C,OAAApoD,IAAA,CACEmvH,UAAW,CACTr7E,iBACAs7E,qBAAsB,CACpBC,WAAYnzB,IACZ3nD,UAAW,CAAEhwC,MAAOC,gBAEtBD,MAAOC,eAET8qH,cAAe,CACbC,SAZ4BC,IAAM3hH,IAAG2/E,eAarCz8C,QA/Ba0+E,IAAqB,IAADC,EACnC,GACY,OAAVD,QAAU,IAAVA,GAAmB,QAATC,EAAVD,EAAY5qH,eAAO,IAAA6qH,GAAnBA,EAAqBr+E,cACX,OAAVo+E,QAAU,IAAVA,KAAY5qH,QAAQmsC,cACpB,CACA,IAAKy+E,EAAWE,aAAc,CAC5B,MAAM5tH,EAAQ01E,YAAqBg4C,EAAW5qH,SAC9CgJ,IAAGuuB,MACHt/B,KAAOqJ,WAAU,IAAMm9C,YAAevhD,IACxC,CACAjF,KAAOC,KAAK,8BAA+B0yH,EAAWE,aACxD,MACE9hH,IAAGuuB,MAEHt/B,KAAOiF,MAAM,kCAA6C,OAAV0tH,QAAU,IAAVA,OAAU,EAAVA,EAAY5qH,QAC9D,EAiBE+qH,oBAAqBn8C,GAEvB32E,OAAMkD,IAAA,GACDlD,MAAM,IACTyL,MAAQ1D,IACN,MAAMgqD,EAAYhqD,EAAQ0rD,YAAc,gCACpC1rD,EAAQ6zE,cAEV57E,KAAO4J,OAAO47F,IAA0B,CACtCv6F,WAAY,CACV2wE,aAAc7zE,EAAQ6zE,gBAI5B57E,KAAOE,KAAK6xD,EAAWhqD,EAAQ,IAGnCgrH,aAAc,CACZC,gBAAiBA,KAAA,CAAS3gB,wBAAyB,eAErD4gB,eAAgBC,KACZnB,IAA2BV,GAAgB,CAAEl6C,2BAA0B,CAAF,GACzE+e,eACAm7B,eACA5mE,iBACA6sB,iBACAm6C,4BACApX,QAAS,GAAC,EAID6Y,EAAsBA,KACjC,IACE,MAAM,IAAEhyH,GAAQC,eAAgB,CAAC,EAC3Bk7D,GAAU,OAAHn7D,QAAG,IAAHA,OAAG,EAAHA,EAAKm7D,OAAQ,yBAEpB42D,EADM,IAAIv1D,IAAIrB,GACOr6D,SAE3B,OADAhC,KAAOC,KAAK,0CAA2C,CAAEgzH,mBAClDA,CACT,CAAE,MAAOz5F,GAEP,OADAx5B,KAAOiF,MAAM,4CAA6C,CAAEu0B,QACrD,gBACT,GAGW25F,EAAkCprH,IAKzB,IAADqrH,EACnB,MAAMC,EAAoB,GAC6B,IAADC,GAAP,KAAlB,QAAzBF,EAAArrH,EAAQwrH,yBAAiB,IAAAH,OAAA,EAAzBA,EAA2B5yB,cAC7B6yB,EAAQvpF,KAA8B,QAA1BwpF,EAACvrH,EAAQwrH,yBAAiB,IAAAD,OAAA,EAAzBA,EAA2Bh4F,QAW1C,OATIvzB,EAAQyrH,oBACVH,EAAQvpF,KAAK,mDAEqB,IAAhC/hC,EAAQ0rH,qBACVJ,EAAQvpF,KAAK,0CAEsB,IAAjC/hC,EAAQ2rH,sBACVL,EAAQvpF,KAAK,wDAERupF,CAAO,C,+BCvOhB,yHAMA,MAAMM,EAAsBA,CAC1B1rH,EACAyC,KAEA,MAAMkpH,EAAiBt0H,IAASytC,IAAI,eACpC,OAEE6mF,EAAe3rH,IAAY2rH,EAAelpH,IAAWkpH,EAAe5yF,OAAO,EAIzE6yF,EAAwBA,IAGxBv0H,IAASC,SAAS,4CACb,iCAGF,qBAGHu0H,EAAkCA,CACtC/uH,EACA++D,EACA1f,EACA25D,EACAl+C,KAIA,GAFA96D,EAAEm+C,iBAEEkB,EACF,OAGFrzC,IAAGkuD,OAAOluD,IAAGi0C,OAAOurC,OAAQx/E,IAAGwuB,YAAYglB,MAE3Cuf,GAAoB,GACpB,MAAM,aAAEwa,GAAiBD,IAEzBr+E,IAAOE,KAAK,WAADC,OAAYm+E,GAAgB,CACrCh+E,WAAYkuE,IAAWuP,eACvBx9E,gBAAiB+9E,IAGnBt+E,IAAO4J,OAAO,sBAAuB,CACnCqB,WAAY,CACVk0D,QAAS,gCACTC,cAAe,sBACf9+D,WAAYkuE,IAAWuP,eACvBx9E,gBAAiB+9E,KAIrBt+E,IAAOqJ,WAAU,KACf,GAAIvH,OAAOiF,OAAQ,CACjB,MAAMU,EAAQC,cACRzE,EAAO,CACX48D,YACAk+C,OAAc,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQ//E,cAChB03E,QAASjuG,EACTkuG,aAAcluG,GAIhB,YADA3F,OAAOiF,OAAO0rH,SAASxvH,EAEzB,CAIEk1F,aAA8Bt4B,IAKhC/9D,OAAOC,SAAS+I,OAAO+0D,EAAU,GACjC,C,q0BCtDJ,MAkYak0D,EAAc,WAAH,IACtB3sE,EAAS1mD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAAwC,QAAA,GAnYK8wH,MAAkB,IAAD5kD,EAAA6kD,EAAAC,EACpC,MAAM,gBAAE32F,GAAoBp8B,cAAasE,gBAEnC,KAAE+3B,EAAI,SAAE8xC,EAAQ,WAAEkU,EAAU,oBAAE1Y,GAClCvtC,GAAoB,CAAC,GAGrBt1B,QAAS+tF,EACT52F,KAAMkyH,EAAY,sBAClB6C,GACE7kD,GAAa,CAAC,GAEZ,aAAEjjC,EAAY,cAAEH,EAAgB,IAAU,OAAJ1O,QAAI,IAAJA,GAAa,QAAT4xC,EAAJ5xC,EAAMkyC,eAAO,IAAAN,OAAT,EAAJA,EAAeO,QAAS,CAAC,EAC/D8rB,EACJ3wB,IAAwBnlD,IAAoByuG,uBAE9C,MAAO,CACLnuF,iBAAkB,GAClB45B,UAAW,GACX8N,WAAY,CACVthC,aAAcA,GAAgB,GAC9BgoF,eAAgB,GAChBzkD,gCAAiC,GACjC0kD,eAAgB,GAChBpoF,cAAeA,GAAiB,IAElC+pD,YAAa,CACXvmB,QAAS,CAAC,EACVouC,YAAa,GACbC,OAAQ,GACR7wG,MAAO,GACPoiE,SAAU,CACR6kD,sBAAuBA,GAAyB,GAEhDlsH,QAAS+tF,GAAmB,GAC5B52F,KAAMkyH,GAAgB,IAExBtT,YAAa,IAEf36B,aAAiB,OAAJ7lD,QAAI,IAAJA,OAAI,EAAJA,EAAM6lD,cAAe,GAClCG,WAAY,CACVC,2BAAqC,OAAVD,QAAU,IAAVA,OAAU,EAAVA,EAAYC,6BAA6B,GAEtEgY,yBAA0BA,EAC1B6iB,eAAe,EACfhzD,gBAAiB,GACjBg4B,oBAAqB,CACnBixC,mBAAwB,OAAJ/2F,QAAI,IAAJA,GAAyB,QAArBy2F,EAAJz2F,EAAM8lD,2BAAmB,IAAA2wC,OAArB,EAAJA,EAA2BM,mBAC/Cl5B,KAAU,OAAJ79D,QAAI,IAAJA,GAAyB,QAArB02F,EAAJ12F,EAAM8lD,2BAAmB,IAAA4wC,OAArB,EAAJA,EAA2B74B,MAEpC,EAmVE24B,IAjUmBQ,MACtB,MAAMC,EAAiBvsH,cAAYF,QAC7B,eAAE2C,GAAmBxJ,cAAasE,eAExC,MAAO,CACL65C,gBAAiB,CACfC,QAAS,CAAC,EACVlT,aAA4B,OAAd1hC,QAAc,IAAdA,OAAc,EAAdA,EAAgB0hC,aAC9BukD,SAAU,CACRC,YAAa,GACb6jC,cAAe,IAEjB96D,UAAW,CACTZ,KAAM,GACNF,QAAS,IAEXkL,YAAa,CACX,CAACywD,GAAiB,IAEpBxwD,oBAAqB,CACnB,CAACwwD,GAAiB,CAChBpT,SAAU,GACVC,KAAM,GACNC,KAAM,KAGV1nD,4BAA6B,CAAC,GAEjC,EAsSE26D,IA7OmBG,MAAqB,IAADC,EAAAx3F,EAAAC,EAAAuc,EAAA8kE,EAAAC,EAAAkW,EAE1C,MAAM,mBAAE5rD,GAAuBnvB,cAEzBy3C,EAA4B,QAAfqjC,EAAGzzH,qBAAY,IAAAyzH,GAAgB,QAAhBx3F,EAAZw3F,EAAcnvH,sBAAc,IAAA23B,OAAhB,EAAZA,EAA8Bm0D,cAEpDvxF,IAAOC,KAAK,iDAADE,OACwCX,QAClC,OAAb+xF,QAAa,IAAbA,OAAa,EAAbA,EAAe0Z,aAKnB,MAAM6pB,EAAgBt1H,QACO,QADA69B,EAC3Bl8B,cAAasE,sBAAc,IAAA43B,GAAiB,QAAjBuc,EAA3Bvc,EAA6BE,uBAAe,IAAAqc,GAAM,QAAN8kE,EAA5C9kE,EAA8Cpc,YAAI,IAAAkhF,GAAO,QAAPC,EAAlDD,EAAoDgB,aAAK,IAAAf,GAAmB,QAAnBkW,EAAzDlW,EAA2DoW,yBAAiB,IAAAF,OAAjD,EAA3BA,EACIG,yBAON,MAAO,CAELC,kBAAmB,CACjBrxF,cAAe,GACfsxF,mBAAoB,GACpBC,mBAAoB,GACpBC,cAAe,CACb,CACEC,SAAU,KAGd/rF,eAAgB,CACdof,KAAM,GACN4sE,YAAa,IAEfC,SAAU,CACRh2E,QAAS,CACP+1E,YAAa,IAEfv0H,GAAI,GACJ3B,KAAM,IAERitC,aAAc,GACdtrC,GAAI,GACJy0H,OAAQ,CACNC,eAAgB,GAChB/sE,KAAM,GAGNzgD,QAAS,GACT7I,KAAM,IAERs2H,SAAU,GACV7xF,cAAe,GAGfliC,KAAM,IAGRg0H,2BAA4B,CAAC,EAM7B9mF,sCAAuC,GACvCD,0BAA2B,GAE3Bm/B,uBAAwB,CAAC,EAEzBxjC,gBAAiB,GAEjBoxD,aAAc,GAEdt2C,6BAA6B,EAE7BjU,kBA3D+B,mBAAvB63B,GAAoCA,GAC5C6rD,EA4DAc,uBAAuB,EAEvBp0B,gBAAiB,KAEjB1xB,WAAY,GAIZ+lD,yBAA0B,CACxBz1E,mBAAmB,EACnBsI,KAAM,GACNlI,0BAA2B,CACzBG,2BAA4B,GAC5Bm1E,yBAA0B,IAE5B7qE,MAAO,GACPC,MAAO,GACPvC,WAAY,GACZtiB,MAAO,IAKT0vF,0BAA2B,CACzB31E,mBAAmB,EACnBsI,KAAM,GACNlI,0BAA2B,CACzBG,2BAA4B,GAC5Bm1E,yBAA0B,IAE5B7qE,MAAO,GACPC,MAAO,GACPvC,WAAY,GACZtiB,MAAO,IAMTsK,uBAAwB,CACtBD,mBAAmB,EACnBslF,kBAAkB,GAKpBC,wBAAwB,EAExB5+C,sBAAuB,GAGvBmjB,wBAAyB,CAAC,EAG1BE,wBAAyB,CAAC,EAE1BnJ,cAAe,CACb0Z,WAAwB,OAAb1Z,QAAa,IAAbA,OAAa,EAAbA,EAAe0Z,YAAa,GACvCzZ,cAA2B,OAAbD,QAAa,IAAbA,OAAa,EAAbA,EAAeC,eAAgB,GAC7CC,cAA2B,OAAbF,QAAa,IAAbA,OAAa,EAAbA,EAAeE,eAAgB,IAEhD,EAiGEkjC,IACAvtE,EAAS,E,oCCtXP,IAAK8uE,EAAkB,SAAlBA,GAAkB,OAAlBA,EAAkB,UAAlBA,EAAkB,kBAAlBA,EAAkB,gBAAlBA,EAAkB,gBAAlBA,EAAkB,wCAAlBA,CAAkB,M,6kBCE9B,MAAMC,EAA4C,CAChDrkF,aAAa,EACb/B,eAAgB,IAIZqmF,EAA8BA,IAClC92H,IAASC,SAAS,gCA2Bd82H,EAAoCA,CACxChwF,EACApjC,KAEA,IAAKmzH,MAAkC/vF,EAAM+I,mBAC3C,OAGF,MAAM,YAAE/G,EAAW,MAAE1B,EAAK,cAAEgc,GAAkB1/C,EAI9C,GAAoB,mBAAhBolC,IAAoChC,EAAM+I,mBAAmBsK,QAIjE,GAAIiJ,EAAJ,CACE,MAAM2zE,EAAqBzrH,OAAO47B,KAAKJ,EAAMiD,gBAAgB5C,QAC3D,CAAC6vF,EAAapuH,IAAGjF,IAAA,GACZqzH,GAAW,IACd,CAACpuH,GAAGjF,IAAA,GAECmjC,EAAMiD,eAAenhC,IAAI,IAI5BuxC,SAAS,OAGb,CAAC,GAGHrT,EAAM+I,mBAAkBlsC,IAAA,GACnBmjC,EAAM+I,oBACNknF,EAGP,MAGAjwF,EAAM+I,mBAAmBzI,GAAMzjC,IAAA,GAE1BmjC,EAAMgC,GAAa1B,IAAM,IAI5B+S,SAAS,GACV,EAGGulE,EAAqBA,CACzB54E,EACApjC,KACU,IAADuzH,EAAAC,EAAAC,EAAAC,EACT,MAAM,YAAEtuF,EAAW,MAAE1B,EAAK,cAAEgc,EAAa,QAAE56C,GAAY9E,EAEvD,IAAK+5E,IAAoB39E,KAAKgpC,GAC5B,OAAOroC,IAAOkJ,KAAK,sCAAuC,CACxDm/B,gBAIJ,GAAIsa,EAAe,CACjB,MAOMi0E,EAPU/rH,OAAOq8B,QAAQn/B,GAOM2+B,QACnC,CAAC+G,EAAK1tC,KAA8B,IAAD82H,EAAAC,EAAAC,EAAAC,EAAA,IAA1B7vF,EAAW8vF,GAAUl3H,EAC5B,MAAMm3H,EAAqBz3F,YAEP,QADlBo3F,EACAxwF,EAAMgC,UAAY,IAAAwuF,GAAa,QAAbC,EAAlBD,EAAqB1vF,UAAU,IAAA2vF,OAAb,EAAlBA,EAAiCp9E,SAE7BA,GAEc,QAAlBq9E,EAAA1wF,EAAMgC,UAAY,IAAA0uF,GAAa,QAAbC,EAAlBD,EAAqB5vF,UAAU,IAAA6vF,OAAb,EAAlBA,EAAiCt9E,UAEjCu9E,EAAUv9E,SAEVl6C,QAAQy3H,EAAUplG,OAQpB,OANA4b,EAAMtG,GAAUjkC,MAAA,GAEXmjC,EAAMgC,GAAalB,IACnB8vF,GACCC,GAAsB,CAAEx9E,YAEvBjM,CAAK,GAGd,CAAC,GAUH,OAPApH,EAAMgC,GAAYnlC,IAAA,GACbmjC,EAAMgC,IACNuuF,QAGLP,EAAkChwF,EAAOpjC,EAG3C,CAGA,MAAMi0H,EAAqBz3F,YAA4B,QAAnB+2F,EAACnwF,EAAMgC,UAAY,IAAAmuF,GAAS,QAATC,EAAlBD,EAAqB7vF,UAAM,IAAA8vF,OAAT,EAAlBA,EAA6B/8E,SAC5DA,GAEc,QAAlBg9E,EAAArwF,EAAMgC,UAAY,IAAAquF,GAAS,QAATC,EAAlBD,EAAqB/vF,UAAM,IAAAgwF,OAAT,EAAlBA,EAA6Bj9E,UAE7B3xC,EAAQ2xC,SAERl6C,QAAQuI,EAAQ8pB,OAKlBwU,EAAMgC,GAAa1B,GAAMzjC,MAAA,GAEpBmjC,EAAMgC,GAAa1B,IACnB5+B,GACCmvH,GAAsB,CAAEx9E,YAG9B28E,EAAkChwF,EAAOpjC,EAAK,EAG1Ck0H,EACHx1H,GACD,CAAC0kC,EAAkBpjC,KACjB,MAAMolB,EAAQ/oB,IAASC,SAAS,UAC1B,YAAE8oC,GAAgBplC,EAExBjD,IAAOC,KAAK,yBAA0B,CACpCooC,cACAhgB,QACA1mB,SAKF0kC,EAAMgC,GAAYnlC,IAAA,GACbmjC,EAAMgC,IAAY,IACrB48B,iBAAkB,CAChBpzC,MAAOlwB,IAEV,EAGCy1H,EACHvlG,GACD,CAACwU,EAAkBpjC,KACjB,MAAM,YAAEolC,GAAgBplC,EAGxBojC,EAAMgC,GAAYnlC,IAAA,GACbmjC,EAAMgC,IAAY,IACrB88B,cAAe,CACbtzC,UAEH,EAuMCwlG,EAAgBA,KACpB,MAAMp1F,EArMwBq1F,MAC9B,MAAMhvG,EAAmBhpB,IAASC,SAAS,oBACrCyxC,EAAiC1xC,IAASC,SAC9C,kCAEIg4H,EAASj4H,IAASC,SAAS,kBAC3BipB,EAAgBlpB,IAASgnC,WAC7B,4BACA,iBAEIoE,EAA6BprC,IAASC,SAC1C,6BAEI,QAAE0I,GAAYC,cACdsvH,EACJl4H,IAASC,SAAS,wBACjBD,IAASC,SAAS,oCACjB0I,IAAY6d,IAAa0O,IAEvB,mBAAEy0C,GAAuBnvB,cAEzB29E,EAAuBn4H,IAASC,SAAS,wBAEzCm4H,EACJzuD,GACA3pE,IAASC,SAAS,wCAGd6nD,EAAwC,CAC5Ch2B,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,GACX4S,SAAS,EACTlqB,SAAS,EACTqC,MAAO,UA6BT,OAzBIvJ,IACE0oB,GACFoW,EAAUtgB,UAAY,GACtBsgB,EAAU53B,SAAU,EACpB43B,EAAUv1B,MACR6lG,GAAoBD,EAAuB,QAAU,WAEvDrwE,EAAUtgB,UAAY,eACtBsgB,EAAU53B,SAAU,EAEpB43B,EAAUv1B,MAAQ,MAKpB0lG,GACAC,GACAhvG,GACAkiB,KAEA0c,EAAUtgB,UAAY,GACtBsgB,EAAU53B,SAAU,EACpB43B,EAAUv1B,MAAQ,SAGb4nB,YAAqB2N,EAAU,EAsIhBkwE,GAChB/mF,EAAiBC,cACjBmnF,EAAoC9vC,cAC1C,OAAA3kF,YAAA,CACEqgC,kBAAmBkW,cACnBjW,gBAAiB,CACf3R,MAAO,QAET4R,SAAUgW,cACV/V,aAAc+V,cACd/W,QAAS+W,cACT9W,WAAY8W,cACZ7W,WAAY6W,YAAqB,CAC/B5W,SAAU,GACV+0F,QAAS,KAEX50F,iBAAkByW,cAClB3W,4BAA6B,GAC7BiI,YAAa0O,YAAqB,CAChC3S,UAAW,GACXtX,SAAS,EACTqC,MAAO3pB,cAAYD,UAErBohC,MAAOsQ,cACPtU,UAAWoU,cACXtJ,kBAAmBsJ,YAAqB,CACtCjqB,QAASlwB,IAASu4H,YAAY,sCAC9BhmG,OAAO,IAETimG,qBAAsB71F,EACtBsJ,gBAAiBkO,cACjBo4C,wBAAwB,EACxBvsD,SAAUmU,cACVvM,eAAgBuM,YAAqB,CACnC3S,UAAW,GACXtX,SAAS,EACTqC,OACGvyB,IAASC,SAAS,8BACnBD,IAASC,SAAS,sCAEtB0iC,cAAeA,EACfkL,SAAUsM,cACVxO,MAAK/nC,IAAA,GACAu2C,eAAsB,IACzB1T,KAAMowF,IAERhrF,UAAWsO,YAAqB,CAC9B3S,UAAW,GACXtX,SAAS,EACTqC,MAAO,WAETkmG,sCAAsC,EACtCxxF,YAAakT,YAAqB,CAChCjqB,SAAU+gB,EACV1e,OAAO,IAETmmG,2BAA2B,EAC3B,CAACt2F,KAAwB+X,YAAqB,CAC5CjqB,QACElwB,IAASu4H,YAAY,yCACpBF,EACH9lG,OAAO,KAILvyB,IAASC,SAAS,oCAAsC,CAC1D+wC,kBAAmBmJ,YAAqB,CACtCjqB,SAAS,EACTqC,OAAO,MAIPvyB,IAASC,SAAS,6BAA+B,CACnD,CAACoiC,KAAqC8X,YAAqB,CACzDjqB,SAAS,EACTqC,OAAO,MAIPvyB,IAASC,SAAS,qCAAuC,CAC3D,CAACsiC,KAA2B4X,YAAqB,CAC/CjqB,SAAS,EACTqC,OAAO,MAIPvyB,IAASC,SAAS,2CAA6C,CACjE,CAACqiC,KAAgC6X,YAAqB,CACpDjqB,SAAS,EACTqC,OAAO,MAxdKvyB,IAAS4mB,OAAOsnB,UAG/Bxc,KAAImW,GAAaA,EAAU8wF,OAAO,GAAGj6F,cAAgBmJ,EAAU0f,MAAM,KAErEngB,QAAO,CAACwxF,EAAQvxF,KACf,MAAMwxF,EAAWt/E,YAA2BlS,GAG5C,OAFAuxF,EAAOvxF,GAAS8S,YAAqB0+E,GAE9BD,CAAM,GACZ,CAAC,IAkdDloF,IAAa,EAIdA,EAAcA,IACb1wC,IAASC,SAAS,6BAIhB,CACL4iC,uBAAuB,EACvB+B,kBAAmBuV,YAAqB,CACtC3S,UAAW,GACXtX,SAAS,EACTqC,MAAO,KAETsS,iBAAkBsV,YAAqB,CACrC3S,UAAW,GACXtX,SAAS,EACTqC,MAAO,KAETwS,cAAe,CACbxS,MAAO,CAAC6oB,gBAEVtW,aAAcqV,YAAqB,CACjC3S,UAAW,GACXtX,SAAS,EACTqC,MAAO,QArBF,CAAC,EA2KNumG,EAAe,WAAH,IAChBhxE,EAAS1mD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAAwC,MAAA,GAjZQA,IAAC,CACvBomC,eAAcpmC,IAAA,GACTm3C,eAAsB,IACzB4qB,iBAAkB,CAAEpzC,MAAOqkG,EAAmBmC,QAC9ClzD,cAAe,CAAEtzC,OAAO,GACxBkU,KAAM,CAAE0U,oBAAoB,MAO1B27E,KAAiC,CACnChnF,mBAAkBlsC,IAAA,GACbm3C,eAAsB,IACzB4qB,iBAAkB,CAAEpzC,MAAOqkG,EAAmBmC,QAG9C3+E,SAAS,EACTyrB,cAAe,CAAEtzC,OAAO,GACxBkU,KAAM,CAAE0U,oBAAoB,OAE7B,CAAF,GACDjP,wBAAyB,CACvB3Z,OAAQvyB,IAASC,SAAS,qCAE5BuvC,gBAAe5rC,EAAA,CACb+hE,iBAAkB,CAAEpzC,MAAOqkG,EAAmBmC,QAC9CpwH,QAASwxC,YAAqB,CAC5B3S,UAAW,GACXtX,SAAS,EACTqC,MAAO3pB,cAAYD,UAErBo9B,UAAWoU,cACX0rB,cAAe,CAAEtzC,OAAO,GACxByT,SAAUmU,cACV1T,KAAM,CAAE0U,oBAAoB,IACzBJ,eAELvJ,cAAe,CACbwnF,YAAY,EACZzmG,OAAO,GAETk0B,4BAA4B,KAyWzBsxE,KACAjwE,EAAS,E,6lBC1rBd,MAAMmxE,EAAkCA,KACtC,MAAM,QAAEtwH,GAAYC,cACdswH,EAAUl5H,IAASgnC,WAAW,aAAc,sBAC5CmyF,EAAmBxwH,IAAY6d,IAAa4yG,GAGlD,OAF4BF,IAAYC,EAEX,OAAS,MAAM,EAGxCE,EAAsBA,KAC1B,MACMC,EAAoC,QADnBt5H,IAASytC,IAAI,kBAE9ByrF,EAAUl5H,IAASgnC,WAAW,aAAc,sBAC5CghE,EAAehoG,IAASC,SAAS,uBAGvC,OAAQq5H,GAAkBJ,KAAalxB,CAAY,EAe/CuxB,EAAa,WAAH,IAAIzxE,EAA2B1mD,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAAwC,EAAA,CAElD41H,0BAA2B,CACzBlsH,KAAM,gBACNmsH,gBAAgB,EAChBC,gBAAgB,EAChBC,kBAAkB,GAEpBxtF,oBAAqBsxC,IACrBm8C,wBAAwB,EACxBC,sBAAsB,EACtBlxH,QAASC,cAAYD,QACrBmxH,aAAc,EACdC,gBAAiB,GACjB52F,OAAQ81F,IACRe,+BAA+B,EAC/Br3E,oBAAqB3iD,IAASC,SAAS,uBACvCo6D,0CAA0C,EAE1C4/D,oBAAoB,EACpBC,2BAA4B,aAC5BC,oBAhCO,CACLC,oBAAoB,EACpBC,4BAA4B,GA+B9BC,wBAAwB,EACxBC,mBAAmB,EACnBryB,8BAA8B,EAC9BsyB,uBAAuB,EACvBC,mCAAmC,EACnC31E,kBAAkB,EAClB2wB,0BAA0B,EAC1BilD,gCAAgC,EAChCC,wBAAwB,EACxB93E,kCAAmC7iD,IAASC,SAC1C,mCAEF+0F,kCAAkC,EAClChjD,4CAA4C,EAC5CC,8CAA8C,EAC9C2oF,mCAAmC,EACnCjqD,sBAAsB,EACtB0/B,eAAe,EACfnb,2BAA2B,EAC3BD,yBAAyB,EACzB4lC,sBAAsB,EACtBC,0BAA0B,EAC1BC,yBAAyB,EACzBC,wBAAwB,EACxBC,wBAAwB,EACxBC,iBAAiB,EACjB7M,cAAc,EACd8M,iBAAiB,EACjBC,qBAAqB,EACrB7yF,2BAA2B,EAC3B8yF,mBAAmB,EACnBC,oBAAqB,GACrBv2E,eAAgB,GAChBw2E,mBAAoB,GACpBhpF,2BAA4B,GAC5B67B,2BAA2B,EAC3B1Z,mCAAmC,EACnC8mE,8BAA+B,KAC/BvnE,SAAUolE,IACV/oB,iBAAgD,UAA9BnwG,cAAY43C,cAC9B0jF,yBAAqBn6H,EACrBo6H,YAAa/9C,IAAcE,MAC3Bh7D,MApEyB7iB,IAASC,SAAS,2BACjB,eAAiB,gBAoExC6nD,EAAS,E,ikBC/GP,MAAM6zE,EAAe,WACQ,OAAA/3H,EAAA,CAElCm9D,gBAAgB,GAFa3/D,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAGrB,ECwBDw6H,EAAa,CACxBl1F,ILoY6B9iC,QAAC,CAAD,EAC1B6wH,KAvVqB,CACxBtf,YAAal6D,aAAO,CAAClU,EAAOt+B,KAC1B8C,OAAOC,OAAOu7B,EAAOt+B,EAAQ,IAE/BozH,6BAA8B5gF,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAMm9C,WAAWC,0BAA4B17E,CAAO,MAyC3B,CAE3B28D,mBAAoBnqB,aAAO,CAAClU,EAAKtmC,KAAwB,IAAtB,IAAEoI,EAAG,QAAEJ,GAAShI,EAC5CsmC,GACHrmC,IAAOkJ,KAAK,2BAA4B,CACtCqxC,OAAQ,uBAIZlU,EAAMiZ,gBAAgBC,QAAQp3C,GAAOJ,CAAO,IAE9Cs8D,mBAAoB9pB,aAAO,CAAClU,EAAOt+B,KAC5Bs+B,GACHrmC,IAAOkJ,KAAK,2BAA4B,CACtCqxC,OAAQ,uBAUZlU,EAAMiZ,gBAAep8C,IAAA,GAChB6E,GAAO,IACVw3C,QAAOr8C,IAAA,GACFmjC,EAAMiZ,gBAAgBC,SACtBx3C,EAAQw3C,SAEbykB,YAAW9gE,IAAA,GACNmjC,EAAMiZ,gBAAgB0kB,aACtBj8D,EAAQi8D,aAEbC,oBAAmB/gE,IAAA,GACdmjC,EAAMiZ,gBAAgB2kB,qBACtBl8D,EAAQk8D,sBAEd,IAEHtL,oBAAqBpe,aAAO,CAAClU,EAAOt+B,KAC7Bs+B,GACHrmC,IAAOkJ,KAAK,2BAA4B,CACtCqxC,OAAQ,wBAGZlU,EAAMiZ,gBAAgBsa,UAAY7xD,CAAO,MAwJhB,CAC3BqzH,qBAAsB7gF,aAAO,CAAClU,EAAOt+B,KACnCs+B,EAAM4uF,kBAAoBltH,CAAO,IAGnCszH,8BAA+B9gF,aAAO,CAAClU,EAAOt+B,KAC5Cs+B,EAAMsvF,2BAA6B5tH,CAAO,IAG5CmlH,yCAA0C3yE,aAAO,CAAClU,EAAOt+B,KACvDs+B,EAAMwI,sCAAwC9mC,CAAO,IAGvDklH,6BAA8B1yE,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAMuI,0BAA4B7mC,CAAO,IAG3C+8F,0BAA2BvqD,aAAO,CAAClU,EAAOt+B,KACxCs+B,EAAM0nC,uBAAyBhmE,CAAO,IAGxC+zF,iBAAkBvhD,aAAO,CAAClU,EAAOt+B,KAC/Bs+B,EAAMgR,cAAgBtvC,CAAO,IAG/BuzH,mBAAoB/gF,aAAO,CAAClU,EAAOt+B,KACjCs+B,EAAMkE,gBAAkBxiC,CAAO,IAGjC8zF,gBAAiBthD,aAAO,CAAClU,EAAOt+B,KAC9Bs+B,EAAMs1D,aAAe5zF,CAAO,IAG9B6+C,+BAAgCrM,aAAO,CAAClU,EAAOt+B,KAC7Cs+B,EAAMgf,4BAA8Bt9C,CAAO,IAG7Cw5F,qBAAsBhnD,aAAO,CAAClU,EAAOt+B,KACnCs+B,EAAM+K,kBAAoBrpC,CAAO,IAGnC49C,yBAA0BpL,aAAO,CAAClU,EAAOt+B,KACvCs+B,EAAMuvF,sBAAwBp2H,QAAQuI,EAAQ,IAGhDu5F,mBAAoB/mD,aAAO,CAAClU,EAAOt+B,KACjCs+B,EAAMm7D,gBAAkBz5F,CAAO,IAGjCy2G,cAAejkE,aAAO,CAAClU,EAAOt+B,KAC5Bs+B,EAAMypC,WAAa/nE,CAAO,IAG5Bk5C,4BAA6B1G,aAAO,CAAClU,EAAOt+B,KAC1Cs+B,EAAMwvF,yBAA2B9tH,CAAO,IAG1C64C,6BAA8BrG,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAM0vF,0BAA4BhuH,CAAO,IAG3Cq2G,0BAA2B7jE,aAAO,CAAClU,EAAOt+B,KACxCs+B,EAAMsK,uBAAsBztC,IAAA,GACvBmjC,EAAMsK,wBACN5oC,EACJ,IAGHwzH,0BAA2BhhF,aAAO,CAAClU,EAAOt+B,KACxCs+B,EAAM4vF,uBAAyBluH,CAAO,IAGxCyzH,yBAA0BjhF,aAAO,CAAClU,EAAOt+B,KACvCs+B,EAAMgxC,sBAAwBtvE,CAAO,IAGvC0zH,2BAA4BlhF,aAAO,CAAClU,EAAOt+B,KACzCs+B,EAAMm0D,wBAA0BzyF,CAAO,IAGzCiqG,2BAA4Bz3D,aAAO,CAAClU,EAAOt+B,KACzCs+B,EAAMq0D,wBAA0B3yF,CAAO,IAGzC2zH,iBAAkBnhF,aAAO,CAAClU,EAAOt+B,KAC/Bs+B,EAAMkrD,cAAgBxpF,CAAO,MKtX/Bg6B,KH8qBuB7+B,MAAC,CAAD,EACpBk1H,KA3WwB,CAC3BnZ,mBAAoB1kE,aAAO,CAAClU,EAAOpjC,KACjCm0H,GAAoB,EAApBA,CAA0B/wF,EAAOpjC,GACjCg8G,EAAmB54E,EAAOpjC,EAAK,IAGjC04H,6BAA8BphF,aAAO,CAAClU,EAAOpjC,KAC3Cg8G,EAAmB54E,EAAO,CACxBgC,YAAaplC,EAAKolC,YAClBsa,eAAe,EACf56C,QAASuyC,YAA4Br3C,IACrC,IAGJ24H,+BAAgCrhF,aAAO,CAAClU,EAAOpjC,KAC7Cg8G,EAAmB54E,EAAOpjC,GAC1Bk0H,EAAuBjB,EAAmB2F,IAA1C1E,CAA+C9wF,EAAOpjC,GACtDm0H,GAAoB,EAApBA,CAA2B/wF,EAAOpjC,EAAK,IAGzC64H,8CAA+CvhF,aAAO,CAAClU,EAAOpjC,KAC5Dg8G,EAAmB54E,EAAOpjC,GAC1Bk0H,EAAuBjB,EAAmB6F,OAA1C5E,CAAkD9wF,EAAOpjC,GACzDm0H,GAAoB,EAApBA,CAA2B/wF,EAAOpjC,EAAK,IAGzCs9G,iDAAkDhmE,aAAO,CAAClU,EAAOpjC,KAC/Dg8G,EAAmB54E,EAAOpjC,GAC1Bk0H,EAAuBjB,EAAmB8F,mBAA1C7E,CAA8D9wF,EAAOpjC,GACrEm0H,GAAoB,EAApBA,CAA2B/wF,EAAOpjC,EAAK,IAGzCg5H,iCAAkC1hF,aAAO,CAAClU,EAAOt+B,KAC/Cs+B,EAAM0f,2BAA6BvmD,QAAQuI,EAAQ,IAGrDm0H,8BAA+B3hF,aAAO,CAAClU,EAAOt+B,KAC5Cs+B,EAAMmF,wBAA0B,CAAE3Z,MAAO9pB,EAAS,IAGpDi3G,oBAAqBzkE,aAAO,CAAClU,EAAOt+B,KAClCs+B,EAAMyK,cAAgB,CACpBwnF,YAAY,EACZzmG,MAAO9pB,EACR,IAKHo0H,mCAAoCC,aAElC90F,GAAWA,EAAQ23E,qBACnB,CAAC54E,EAAOlW,KACN,MAAM,YAAEkY,GAAgBlY,EAAOpoB,QACzBs0H,EAASh2F,EAAMyK,cAAcjf,MAC/B,iBACA,mBAKDvyB,IAASC,SAAS,oCACjBD,IAASC,SAAS,iCACpB8oC,IAAgBg0F,GAChBh2F,EAAM0f,6BAEN1f,EAAM0f,4BAA6B,EACrC,IAMJu2E,gCAAiC/hF,aAAO,CAAClU,EAAOt+B,KAEzCs+B,EAAM+I,qBAIX/I,EAAM+I,mBAAmBsK,QAAU3xC,EAAO,MAkInB,CACzB68F,kCAAmCrqD,aAAO,CAAClU,EAAO2sD,KAChD3sD,EAAMvD,4BAA8BkwD,CAAS,IAG/Cl5B,sBAAuBvf,aAAO,CAAClU,EAAKhf,KAA0B,IAADo2B,EAAA,IAAvB,MAAE9W,EAAK,QAAE5+B,GAASsf,EACtD,MAAMqyB,GACQ,QAAZ+D,EAAApX,EAAMM,UAAM,IAAA8W,OAAA,EAAZA,EAAc/D,UAAW3xC,EAAQ2xC,SAAWl6C,QAAQuI,EAAQ8pB,OAC9DwU,EAAMM,GAAMzjC,MAAA,GACPmjC,EAAMM,IACN5+B,GAAO,IAGV2xC,WACD,IAGHgoD,oBAAqBnnD,aAAO,CAAClU,EAAOk2F,KAClCl2F,EAAMpE,cAAcpQ,MAAQ0qG,EAC5Bl2F,EAAMpE,cAAczS,SAAU,EAC9B6W,EAAMpE,cAAc6E,UAAY,EAAE,IAGpC01F,gCAAiCjiF,aAAO,CAAClU,EAAOt+B,KAC9Cs+B,EAAM2xF,0BAA4Bx4H,QAAQuI,EAAQ,IAIpD00H,wBAAyBL,aACvB90F,GAAWA,EAAQwyB,wBACnB,CAACzzB,EAAOlW,KACN,MAAM,QAAEloB,GAAYC,cACpB,GACED,IAAY6d,IAAa42G,IACzBljF,YAAuBrpB,EAAOpoB,QAAQ4+B,OACtC,CACA,MAAM,OAAEpX,EAAM,QAAEC,GAAY0pB,YAAmB7S,GAE3C7W,IAAY6W,EAAM8G,SAAS3d,UAC7B6W,EAAM8G,SAAQjqC,IAAA,GACTmjC,EAAM8G,UAAQ,IACjB/b,aAAc5xB,QAAQ6mC,EAAMjV,gBAAkB5B,EAC9CsX,UAAWvX,EAAO,IAAM,GACxBC,YAGN,KAIJmtG,iCAAkCP,aAChC90F,GAAWA,EAAQ23E,qBACnB,CAAC54E,EAAOlW,KAAY,IAADxI,EACjB,MAAMi1G,EAAiC,CACrC,aACA,eAGA57H,SAASmvB,EAAOpoB,QAAQ4+B,OACpB0B,EAAclY,EAAOpoB,QAAQsgC,YAEnC,IAAKu0F,IAAmCv2F,EAAMgC,GAC5C,OAGF,MAAM,YAAEw0F,EAAW,WAAEC,GAAez2F,EAAMgC,IAAgB,CAAC,EACrD00F,EAAQ,GAAA58H,OAAgB,OAAV28H,QAAU,IAAVA,OAAU,EAAVA,EAAYjrG,MAAK,MAAA1xB,OAAgB,OAAX08H,QAAW,IAAXA,OAAW,EAAXA,EAAahrG,OAEvDwU,EAAMgC,GAAa4iB,MAAK/nD,IAAA,GAEnBmjC,EAAMgC,GAAa4iB,OAAK,IAC3BvR,SAAS,EACTlqB,QAAqD,QAA9C7H,GAAc,OAAXk1G,QAAW,IAAXA,OAAW,EAAXA,EAAartG,WAAqB,OAAVstG,QAAU,IAAVA,OAAU,EAAVA,EAAYttG,gBAAO,IAAA7H,KACrDkK,MAAOkrG,GACR,IAILC,mCAAoCZ,aAClC90F,GAAWA,EAAQwyB,wBACnB,CAACzzB,EAAOlW,KACN,GAA6B,gBAAzBA,EAAOpoB,QAAQ4+B,MACjB,OAGF,MAAMs2F,EAAgB,CACpB7rG,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,GACXtX,SAAS,GAGL0tG,EAAiB72F,EAAMhB,UAEE,uBAA7B63F,EAAep2F,WACfo2F,EAAe9rG,eAEfiV,EAAMhB,UAASniC,IAAA,GACVmjC,EAAMhB,WACN43F,IAIP,MAAME,EAAgB92F,EAAMf,SAEE,sBAA5B63F,EAAcr2F,WACdq2F,EAAc/rG,eAEdiV,EAAMf,SAAQpiC,IAAA,GACTmjC,EAAMf,UACN23F,GAEP,IAIJG,mCAAoChB,aAClC90F,GAAWA,EAAQwyB,wBACnB,CAACzzB,EAAOlW,KAKqB,UAAzBA,EAAOpoB,QAAQ4+B,YAA6C/lC,IAAxBuvB,EAAOpoB,QAAQg+B,OAGnDM,EAAM4E,MAAK/nC,IAAA,GACNmjC,EAAM4E,OAAK,IACdlF,KAAMowF,IAEV,IAIJ1uF,4BAA6B8S,aAAO,CAAClU,EAAOt+B,KAC1Cs+B,EAAMlE,sBAAwB3iC,QAAQuI,EAAQ,IAEhDs1H,6BAA8B9iF,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAMwrD,uBAAyBryF,QAAQuI,EAAQ,IAEjD+/B,2CAA4CyS,aAAO,CAAClU,EAAOt+B,KACzDs+B,EAAM0xF,qCAAuCv4H,QAAQuI,EAAQ,MGjqB/Dma,GFgQqBhf,IAAC,CAAD,EAClB21H,KA9KmB,CAGtByE,6BAA8B/iF,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAMyyF,0BAA4B/wH,CAAO,IAE3Cw1H,uBAAwBhjF,aAAO,CAAClU,EAAOt+B,KACrCs+B,EAAMoF,oBAAsB1jC,CAAO,IAErCy1H,0BAA2BjjF,aAAO,CAAClU,EAAOt+B,KACxCs+B,EAAM6yF,uBAAyB15H,QAAQuI,EAAQ,IAEjD01H,wBAAyBljF,aAAO,CAAClU,EAAOt+B,KACtCs+B,EAAM8yF,qBAAuB35H,QAAQuI,EAAQ,IAE/C21H,gBAAiBnjF,aAAO,CAAClU,EAAOt+B,KAC9Bs+B,EAAM+yF,aAAerxH,CAAO,IAE9BohG,mBAAoB5uD,aAAO,CAAClU,EAAOt+B,KACjCs+B,EAAMgzF,gBAAkBtxH,CAAO,IAEjC41H,UAAWpjF,aAAO,CAAClU,EAAOt+B,KACxBs+B,EAAM5D,OAAS16B,CAAO,IAExBqpG,iCAAkC72D,aAAO,CAAClU,EAAOt+B,KAC/Cs+B,EAAMizF,8BAAgC95H,QAAQuI,EAAQ,IAExD61H,uBAAwBrjF,aAAO,CAAClU,EAAOt+B,KACrCs+B,EAAM4b,oBAAsBziD,QAAQuI,EAAQ,IAE9C81H,4CAA6CtjF,aAAO,CAAClU,EAAOt+B,KAC1Ds+B,EAAMszB,yCAA2Cn6D,QAAQuI,EAAQ,IAEnE+1H,sBAAuBvjF,aAAO,CAAClU,EAAOt+B,KACpCs+B,EAAMkzF,mBAAqB/5H,QAAQuI,EAAQ,IAE7C84F,8BAA+BtmD,aAAO,CAAClU,EAAOt+B,KAC5Cs+B,EAAMmzF,2BAA6BzxH,CAAO,IAE5Cg2H,uBAAwBxjF,aAAO,CAAClU,EAAOt+B,KACrCs+B,EAAMozF,oBAAsB1xH,CAAO,IAErC+4F,qBAAsBvmD,aAAO,CAAClU,EAAOt+B,KACnCs+B,EAAMwzF,kBAAoBr6H,QAAQuI,EAAQ,IAE5CuuF,gCAAiC/7C,aAAO,CAAClU,EAAOt+B,KAC9Cs+B,EAAMmhE,6BAA+BhoG,QAAQuI,EAAQ,IAEvDi2H,qCAAsCzjF,aAAO,CAAClU,EAAOt+B,KACnDs+B,EAAM0zF,kCAAoChyH,CAAO,IAEnDk2H,4BAA6B1jF,aAAO,CAAClU,EAAOt+B,KAC1Cs+B,EAAM0uC,yBAA2Bv1E,QAAQuI,EAAQ,IAEnDm2H,kCAAmC3jF,aAAO,CAAClU,EAAOt+B,KAChDs+B,EAAM2zF,+BAAiCjyH,CAAO,IAEhD29C,oCAAqCnL,aAAO,CAAClU,EAAOt+B,KAClDs+B,EAAMiuD,iCAAmC90F,QAAQuI,EAAQ,IAE3Do2H,gDAAiD5jF,aAAO,CAAClU,EAAOt+B,KAC9Ds+B,EAAMkL,6CAA+C/xC,QAAQuI,EAAQ,IAEvEolH,qCAAsC5yE,aAAO,CAAClU,EAAOt+B,KACnDs+B,EAAM6zF,kCAAoC16H,QAAQuI,EAAQ,IAE5DkpG,wBAAyB12D,aAAO,CAAClU,EAAOt+B,KACtCs+B,EAAM8zF,qBAAuBpyH,CAAO,IAEtCqlH,2BAA4B7yE,aAAO,CAAClU,EAAOt+B,KACzCs+B,EAAMg0F,wBAA0B76H,QAAQuI,EAAQ,IAElDq2H,0BAA2B7jF,aAAO,CAAClU,EAAOt+B,KACxCs+B,EAAMk0F,uBAAyBxyH,CAAO,IAExCs2H,mBAAoB9jF,aAAO,CAAClU,EAAOt+B,KACjCs+B,EAAMm0F,gBAAkBh7H,QAAQuI,EAAQ,IAE1Cu2H,uBAAwB/jF,aAAO,CAAClU,EAAOt+B,KACrCs+B,EAAMu0F,oBAAsB7yH,CAAO,IAErCw2H,sBAAuBhkF,aAAO,CAAClU,EAAOt+B,KACpCs+B,EAAM4pC,qBAAuBzwE,QAAQuI,EAAQ,IAE/Co9C,kBAAmB5K,aAAO,CAAClU,EAAOt+B,KAChCs+B,EAAMge,eAAiBt8C,CAAO,IAEhCq9C,sBAAuB7K,aAAO,CAAClU,EAAOt+B,KACpCs+B,EAAMw0F,mBAAqB9yH,CAAO,IAEpCy2H,8BAA+BjkF,aAAO,CAAClU,EAAOt+B,KAC5Cs+B,EAAMwL,2BAA6B9pC,CAAO,IAE5Cq9F,6BAA8B7qD,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAMqnC,0BAA4B3lE,CAAO,IAE3C45F,qCAAsCpnD,aAAO,CAAClU,EAAOt+B,KACnDs+B,EAAM2tB,kCAAoCjsD,CAAO,IAEnD2sG,iCAAkCn6D,aAAO,CAAClU,EAAOt+B,KAC/Cs+B,EAAMy0F,8BAAgC/yH,CAAO,IAE/C02H,oBAAqBlkF,aAAO,CAAClU,EAAOt+B,KAClCs+B,EAAMupE,iBAAmBpwG,QAAQuI,EAAQ,IAE3C22H,uBAAwBnkF,aAAO,CAAClU,EAAOt+B,KACrCs+B,EAAM00F,oBAAsBhzH,CAAO,IAErC42H,eAAgBpkF,aAAO,CAAClU,EAAOt+B,KAC7Bs+B,EAAM20F,YAAcjzH,CAAO,IAE7B62H,SAAUrkF,aAAO,CAAClU,EAAOt+B,KACvBs+B,EAAMlkB,MAAQpa,CAAO,IAEvBm5C,6BAA8B3G,aAAO,CAAClU,EAAOt+B,MAC3B,IAAZA,EACFgJ,IAAGynC,MAAMznC,IAAG+zC,MAAMmpC,8CAElBl9E,IAAG6nC,IAAI7nC,IAAG+zC,MAAMmpC,8CAElB5nD,EAAMuzF,uBAAyBp6H,QAAQuI,EAAQ,IAEjDu6B,4BAA6BiY,aAAO,CAAClU,EAAOt+B,MAC1B,IAAZA,EACFgJ,IAAGynC,MAAMznC,IAAG+zC,MAAMspC,wCAElBr9E,IAAG6nC,IAAI7nC,IAAG+zC,MAAMspC,wCAElB/nD,EAAMyzF,sBAAwBt6H,QAAQuI,EAAQ,IAEhD6/B,uBAAwB2S,aAAO,CAAClU,EAAOt+B,KACrCs+B,EAAM+d,iBAAmB5kD,QAAQuI,EAAQ,IAE3C21B,6BAA8B6c,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAM4zF,uBAAyBz6H,QAAQuI,EAAQ,IAEjDq6C,wCAAyC7H,aAAO,CAAClU,EAAOt+B,KACtDs+B,EAAM8b,kCAAoC3iD,QAAQuI,EAAQ,IAE5D88C,iDAAkDtK,aAAO,CAAClU,EAAOpV,KAC/DoV,EAAMiL,2CAA6C9xC,SAChD6mC,EAAMiL,2CACR,IAEHwyB,oBAAqBvpB,aAAO,CAAClU,EAAOt+B,KAClCs+B,EAAMspE,cAAgBnwG,QAAQuI,EAAQ,IAExCyoH,gCAAiCj2E,aAAO,CAAClU,EAAOt+B,KAC9Cs+B,EAAMmuD,0BAA4Bh1F,QAAQuI,EAAQ,IAEpDgqC,8BAA+BwI,aAAO,CAAClU,EAAOt+B,KAC5Cs+B,EAAMkuD,wBAA0B/0F,QAAQuI,EAAQ,IAElDggC,+BAAgCwS,aAAO,CAAClU,EAAOt+B,KAC7Cs+B,EAAM+zF,yBAA2B56H,QAAQuI,EAAQ,IAEnD82H,6BAA8BtkF,aAAO,CAAClU,EAAOt+B,KAC3Cs+B,EAAMi0F,uBAAyB96H,QAAQuI,EAAQ,IAEjDkqG,sBAAuB13D,aAAO,CAAClU,EAAOt+B,KACpCs+B,EAAMo0F,gBAAkBj7H,QAAQuI,EAAQ,IAE1C+2H,0BAA2BvkF,aAAO,CAAClU,EAAOt+B,KACxCs+B,EAAMq0F,oBAAsBl7H,QAAQuI,EAAQ,IAE9C0oH,gCAAiCl2E,aAAO,CAAClU,EAAOt+B,KAC9Cs+B,EAAMwB,0BAA4BroC,QAAQuI,EAAQ,IAEpDqoH,wBAAyB71E,aAAO,CAAClU,EAAOt+B,KACtCs+B,EAAMs0F,kBAAoBn7H,QAAQuI,EAAQ,ME3P5CuxC,KDhB8Bp2C,IAAC,CAAD,EAC3B+3H,KAVqB,CACxB8D,gBAAiBxkF,aAAOlU,IACtBA,EAAMg6B,gBAAiB,CAAI,IAE7B2+D,iBAAkBzkF,aAAOlU,IACvBA,EAAMg6B,gBAAiB,CAAK,MCyB9B4+D,WAAY1kF,aAAO,CAACtpB,EAAGm2B,KACrBpnD,IAAOC,KAAK,mBAtBa,WAAH,IAAI,IAC5B+lC,EAAG,KACHjE,EAAI,GACJ7f,EAAE,KACFo3B,GAC0B54C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,MAAM,CACrCslC,IAAK+tF,EAAY/tF,GACjBjE,KAAMq2F,EAAar2F,GACnB7f,GAAI22G,EAAW32G,GACfo3B,KAAM2hF,EAAa3hF,GACpB,CAaU4lF,CAAqB93E,M,itBCtCzB,MAAM+3E,EAA0B,CACrCC,oBACE,MAAM,OAAE55H,GAAWrE,cAEnB,GAAKoI,YAAWzH,OAAOu9H,gBAKvB,IAWkB,IAAIA,eAAe,CAAC,CAAEC,iBADb,eACkC,CAAE3vD,MAR/C,CACZ1jC,OAAQ,CACN2mD,SAAU,MACV/gE,MAAO,QAETxT,MAAO,WAMNkhH,iBACA91H,MAAK81H,IACJv/H,IAAOC,KAAK,gCAA+BiD,EAAA,CACzCq8H,kBACG/5H,GACH,IAEHkE,OAAMzE,IACLjF,IAAOC,KAAK,6CAA4CiD,EAAA,CACtD+B,SACGO,GACH,GAER,CAAE,MAAOP,GACPjF,IAAOC,KAAK,4BAA2BiD,EAAA,CAAI+B,SAAUO,GACvD,MAjCExF,IAAOC,KAAK,kCAAmCuF,EAkCnD,G,ikBC1CF,MAIMg6H,EAAuBA,KAAa,IAADl/C,EAAAm/C,EAOvC,GACEl2H,YAAWzH,OAAO49H,8BAClBn2H,YAA6B,QAAnB+2E,EAACx+E,OAAOuJ,mBAAW,IAAAi1E,OAAA,EAAlBA,EAAoBm6B,kBAC/B,CACA,MAAOklB,GAAat0H,YAAYovG,iBAAiB,eAAiB,GAC5DmlB,EAAev0H,YAAYovG,iBAAiB,UAAY,GAE9D,IAAKklB,EAEH,YADA3/H,IAAOC,KAAK,iDAId,MAAM,YACJ4/H,EAAW,eACXllB,EAAc,aACdmlB,EAAY,YACZC,EAAW,cACXC,GACEL,EACEM,EAAkBL,EAAal5F,QACnC,CAACuW,EAAKs6D,KAAIr0G,WAAA,GACL+5C,GAAG,IAEN,EAlCkBhd,EAkCAs3E,EAAKn4G,KAjCtB6gC,EAAEnI,QAAQ,UAAU,CAAC7G,EAAGhvB,IAAUA,EAAM6K,kBAiCVyqG,EAAKjpC,YAlClBruC,KAmClB,GACF,CAAC,GAEGl4B,EAAO7E,EAAA,CACX28H,cACAllB,iBACAulB,UAAWF,EAAgBF,EAC3BK,kBAAmBJ,EAAcD,EACjCM,OAAQ,+BACLH,GAGLjgI,IAAOC,KAAK,wBAAyB8H,EACvC,MAAO,GAAsB,QAAtB03H,EAAI39H,OAAOuJ,mBAAW,IAAAo0H,GAAlBA,EAAoB5kB,OAAQ,CAGrC,MAAM,YACJglB,EAAW,yBACXQ,EAAwB,eACxB1lB,EAAc,gBACdK,EAAe,aACf8kB,EAAY,YACZC,EAAW,cACXC,GACE30H,YAAYwvG,OAEVhoE,EAAWgtF,GAAeQ,EAEhCrgI,IAAOC,KAAK,wBAAyB,CACnC4/H,YAAahtF,EAAWmoE,EACxBL,eAAgBA,EAAiBK,EACjCklB,UAAWF,EAAgBF,EAC3BK,kBAAmBJ,EAAcD,EACjCM,OAAQ,qBAEZ,MACEpgI,IAAOC,KAAK,iCACd,EAGWqgI,EAAkCA,KAC7Cx+H,OAAOm7B,iBAAiB,OAAQuiG,EAAqB,C,kCC/EvD,+FASA,MAAMlR,EAA4BA,KAChC,MAAQpsG,GAAImgB,GAAcrgB,IAASyb,aAG/ByxC,cAEF7sC,EAAUs8F,eAAe1hD,IAAcG,UAGvC/6C,EAAUs8F,eAAe1hD,IAAcC,WACzC,EAUIqjD,EAAsBxgI,IAIf,IAADugF,EAAA,IAJiB,YAC3B06C,GAGDj7H,EACmB,QAAlBugF,EAAAx+E,OAAOuJ,mBAAW,IAAAi1E,GAAlBA,EAAoBkgD,KAAK,0BAA2B,CAClDC,OAAQ,CAAEzF,gBACV,C,+BCpCJ,oEAAO,MAAM3kC,EAAqB,CAAC,KAAM,KAAM,MAElC9d,EAAmC,CAC9CC,eACE,sEACFC,YACE,mE,+GCKG,MAAMioD,EAAyBx3G,YAAOuK,IAAPvK,CAAkBpb,MAAAC,IAAA,2GAC7CuV,IACI8B,IACEC,I,oICTV,MAAMs7G,EAAgD,CAC3DC,0BAA2B,oBAC3BC,2CAA4C,oBAC5CC,2BAA4B,oBAC5BC,kCAAmC,qBAGxBC,EAA0B,CACrC,qBACA,uC,4BCVK,MCYMnT,EAAiBoT,IAC5B,MAAM71C,EFEmBrrF,KAAA,IAAC,OAC1BiI,EAAM,QACNC,GAIDlI,EAAA,MAAgB,CACfmhI,wBAAyB,CACvBt4F,WAAY,eACZyT,KAAM,iBAER8kF,eAAgB,CACdv4F,WAAY,qBACZyT,KAAK,8CAADl8C,OAAgD6H,EAAM,kBAAA7H,OAAiB8H,EAAO,+BAEpFm5H,cAAe,CACbx4F,WAAY,sCACZyT,KAAM,gDAERglF,mBAAoB,CAClBz4F,WAAY,qBACZyT,KAAM,6CAERilF,WAAY,CACV14F,WAAY,aACZyT,KAAM,KAERklF,aAAc,CACZ34F,WAAY,eACZyT,KAAM,+BAERmlF,4BAA6B,CAC3B54F,WAAY,eACZyT,KAAM,sCAERk1C,cAAe,CACb3oD,WAAY,gBACZ0T,eAAgBy4C,KAEnB,EEzCmB0sC,CAAYv5H,eAExBw5H,EAAavnC,YAAqB8mC,GAElCU,EAAc92H,OAAO47B,KAAK2kD,GAEhC,OAAKriF,MAAMyd,QAAQk7G,GAOZA,EACJ5gI,QAAOqH,GAAOw5H,EAAY3gI,SAASmH,KACnCu+B,QAAO,CAACk7F,EAAU/iH,KAEjB+iH,EAAS/iH,GAEE,UAATA,EAAmByD,IAAAC,cAAA,WAASD,IAAAC,cAACs/G,EAAaz2C,EAAUvsE,IAC/C+iH,IACN,CAAC,GAdG,CAAC,CAcF,EAGGC,EAAW9hI,IAQH,IARI,WACvB6oC,EAAU,eACV0T,EAAc,KACdD,GAKDt8C,EACC,MAAM,YAAEsjF,GAAgBrhE,IAASC,WAAW+jB,IAEtC87F,EACJz+C,GAAe29C,EAAwBhgI,SAAS4nC,GAE5Cq4F,EAAQ,GAAA9gI,OACZ2hI,EAAmB,sBAAwB,mBAAkB,KAAA3hI,OAC3DyoC,GACEnoB,EAAUynB,YAAW+4F,GAE3B,IAAInuG,EAOJ,MANa,kBAATupB,IACFvpB,EAAO2pB,YAAc,CAAEC,YAAa,mBAElColF,IACFhvG,EAAOupB,GAGP/5B,IAAAC,cAACsQ,IAAI,CACH9I,QAASA,IDjE+B8nC,KAC5C,MAAMC,EAAiB1d,YAAiByd,GAClCE,EAAS,WAAA5xD,OAAc2xD,EAAc,UAE3C9xD,IAAOE,KAAK6xD,EAAW,CACrBzxD,WAAY,SACZC,gBAAiBwxD,GACjB,EC0DiBgwE,CAA8Bn5F,GAC7C9V,KAAOA,GAAO2pB,YAAc,CAAEH,iBAAgBD,SAC9C/+B,KAAMmD,GACN,E,4CCjDN,MA4DMuhH,EAAsB/5H,IAC1B,MAAMg6H,EAAuBl6C,cACvBm6C,EAAwBh6C,cAMxBi6C,EAAgCl6H,IAAYm6H,IAAahrG,GAMzDirG,EACJ/iI,IAASC,SAAS,gCACjB0iI,GAAwBC,GAErBI,EAA0Bh6C,eAE1B,yBAAEmT,GAA6Bz5E,IAASC,WAAW+jB,IAIzD,MAAO,CACLy1D,2BACA0mC,gCACAF,uBACAM,0BANA/5C,eAA2BiT,EAO3B4mC,iCACAC,0BACD,EAGGE,EACJvsC,GAEOA,EAAY3mB,SAASlwE,MAAQ8oC,YAAW,oBAG3Cu6F,EAAiCA,CACrCr/C,EACA/V,KAEA,MAAM,YAAEgW,GAAgBrhE,IAASC,WAAW+jB,IAG5C,OAAIq9C,GAA+B,KAAhBA,EHjHW,mBG+GLA,EAInB,2DAA0D,uBAAAljF,OACnCkjF,EAAW,2BAGjCq/C,EAA+Br1D,EAAY+V,EAAY,EAG1Ds/C,EAAiCA,CACrCr1D,EACA+V,KAEA,MACMu/C,EAAYC,EADY,WAAfv1D,EAA0B,MAAQ,WACV+V,GAEvC,MAAM,mCAANjjF,OAA0CwiI,EAAS,EAG/CC,EAAeA,CAACroF,EAAgB54C,KACpC,MAAMkhI,EAAQlhI,IAAS8jB,IAAYuiE,wBAE7B86C,EAAqBD,EAAQ,YAAc,YAC3C,QAAE56H,GAAYC,eAElB+tF,aAAa,SAAE3mB,IACbttD,IAASC,WAAW+jB,IAClB+8F,EAAmBzzD,EAASrnE,UAAYm6H,IAAajxB,GAE3D,OAAIlpG,IAAYm6H,IAAajxB,GACtB4xB,GAAqBF,EAEfA,EACF,aACEE,GAAoBC,EAAuBrhI,GAC7C,kBAEFmhI,EANE,6BASP76H,IAAYm6H,IAAatrG,IAAM+rG,EAC1BC,EAMF56F,YAAW,mCAAD/nC,OACoB2iI,GAAkB3iI,OAAGo6C,GAAMp6C,OAAG8H,IAClE,GAAA9H,OACM2iI,GAAkB3iI,OAAGo6C,GAAMp6C,OAAG8H,GAAO,GAAA9H,OACrC2iI,GAAkB3iI,OAAGo6C,EAAQ,EAGhCyoF,EAA0BrhI,IAC9B,MAAMshI,EACJthI,IAAS8jB,IAAYuiE,wBACjBk7C,EACJvhI,IAAS8jB,IAAY0iE,yBACjBg7C,EACJxhI,IAAS8jB,IAAY2iE,+BAEvB,OAAO5oF,QACLyjI,GACEC,GACAC,EACH,EAGGC,EAA4BA,CAChC3+E,EACA2+B,EACAn7E,EACAw6B,EACA4qC,IAEIplE,IAAYm6H,IAAaiB,GACR,aAAfh2D,EACK,wDAEF,iDAEL5oB,IAAgBk4B,IAASC,MACZ,SAAXn6C,EACK,qDAEF,iDAIFigG,EAA+Br1D,EAAY+V,GAG9CkgD,EAA0BA,CAC9Br7H,EACAolE,KAEA,MAAMk2D,EACJ,6CACF,GAAIt7H,IAAYm6H,IAAatrG,GAC3B,OAAOysG,EAGT,MAAMhpF,EAAwB,WAAf8yB,EAA0B,MAAQ,WAIjD,OAAOnlC,YAAW,GAAD/nC,OAAIojI,GAA0BpjI,OAAGo6C,GAAMp6C,OAAG8H,IAAU,GAAA9H,OAC9DojI,GAA0BpjI,OAAGo6C,GAAMp6C,OAAG8H,GAAO,GAAA9H,OAC7CojI,GAA0BpjI,OAAGo6C,EAAQ,E,sBC5O9C,MAAMipF,EAAa31H,YAAGC,MAAAC,IAAA,qH,8NCaf,MAAM01H,EAAe1jI,IAID,IAAD2jI,EAAA,IAJG,YAC3BtgD,GAGDrjF,EACCg+B,YAAgB,GAAD59B,OAAIijF,EAAW,iBAC9B,MAAM,YAAE6S,EAAW,yBAAEwF,GAA6Bz5E,IAASC,WAAW+jB,IAChEye,EAActiD,aAAcklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKE,cAAcpQ,KAAK,IAClE7pB,EAASE,cACTu6B,EAAStgC,aAAcwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAGugB,MAAM,IAC5CkhG,EFHuBC,EAC7Bn/E,EACA2+B,EACA3gD,KAEA,MAAM4qC,EAAa6B,cAAuB,SAAW,YAC/C,QAAEjnE,GAAYC,eAEd,qBACJ+5H,EAAoB,8BACpBE,EAA6B,+BAC7BE,EAA8B,wBAC9BC,EAAuB,yBACvB7mC,EAAwB,0BACxB8mC,GACEP,EAAmB/5H,GAEvB,OAAIk6H,EACK,4CAGLE,EACyB,oBAAAliI,OACHktE,EADjB40D,EAC2B,oBACA,sBAGhCK,EACKgB,EAAwBr7H,EAASolE,GAGtCk1D,EACKa,EACL3+E,EACA2+B,EACAn7E,EACAw6B,EACA4qC,GAIAouB,EACKgnC,EAA+Br/C,EAAa/V,GAM/C,oBAANltE,OADiBwgI,EAA8Cv9C,GAC5B,EE7CPwgD,CAC1Bn/E,EACA2+B,EACA3gD,GA4BF,OAzBA5E,qBAAU,KACR79B,KAAOE,KACL,iEACA,CACE2jI,aAAcp/E,EACdq/E,eAAgBroC,EACZ91E,IAAoByuG,uBACpBzuG,IAAoBo+G,oBACxBC,aAAc5gD,EACd3vB,WACE,iEACFzrD,SACA1H,WAAY,kCACZ2jI,UAAWN,EACXpjI,gBAAiB,wCAEpB,GACA,CACDkkD,EACAk/E,EACAvgD,EACAqY,EACAzzF,IAIA4vD,YAACnkC,IAAU,CAAC5lB,IAAK21H,EAAY,cAAY,2BACtCt7F,YAAWy7F,E,iWAAmBzgI,CAAA,CAC7BixH,sBACEv8D,YAAA,cAAoB,OAAXq+B,QAAW,IAAXA,GAAqB,QAAVytC,EAAXztC,EAAa3mB,gBAAQ,IAAAo0D,OAAV,EAAXA,EAAuBvP,uBAElC7C,aAAc15D,YAAA,cAAS4qE,EAAgBvsC,KACpC43B,EAAc8V,KAER,C,mOCjCjB,MAAMO,EAAyBnkI,IAIkB,IAADisF,EAAA,IAJhB,cAC9Br8D,EAAa,eACb2hC,EAAc,KACd3vD,GAC4B5B,EAC5Bg+B,YAAgB,GAAD59B,OAAIwB,EAAI,iBACvB,MAAMwiI,EAAkBt8C,cAClBu8C,EAAgB/yE,YAA6B,CACjDC,iBACA3vD,SAGF,GAAa,UAATA,EAAkB,CAMpB,OAJgCrC,IAASC,SACvC,6CAKE+iB,IAAAC,cAAC8hH,IAAwB,CACvB1iI,KAAK,QACLguB,cAAeA,EACftR,MAAO6pB,YAAWk8F,EAAetrD,eACjCwrD,gBAAgB,oCAMpBhiH,IAAAC,cAACm+G,IAAsB,CAAC,cAAY,0BACjCx4F,YAAWk8F,EAAetrD,eAGjC,CAEA,MAAMyrD,EAAgBr8F,YACpBk8F,EACAr4C,eAQF,OAJuB50D,IAAyCn2B,SACnD,QAD2DgrF,EACtE9jF,qBAAW,IAAA8jF,OAAA,EAAXA,EAAa/jF,SAKXqa,IAAAC,cAAAD,IAAAyO,SAAA,KACGozG,GAAmB7hH,IAAAC,cAACiiH,IAAkB,MAEvCliH,IAAAC,cAAC8hH,IAAwB,CACvB1iI,KAAMA,EACNguB,cAAeA,EACftR,MAAOkmH,EACPD,gBACEH,EAAkB,uCAAoCvjI,IAIzDtB,IAASC,SAAS,6BACjB+iB,IAAAC,cAACk7D,IAAoB,CAAC9tD,cAAeA,KAMzC2hC,EAEAhvC,IAAAC,cAACiqD,IAAiB,CAChB3wD,MAAOyH,IACP/F,SAAU6H,IACV1G,WAAY,IACZ,cAAY,wCAEZ4D,IAAAC,cAACwrG,IAAmB,CAACttG,QAAS8jH,KAMlCjiH,IAAAC,cAACm+G,IAAsB,CAAC,cAAY,oCACjC6D,EACsB,EC1FvBtkC,EAA6BlgG,IAIkB,IAJjB,cAClC4vB,EAAa,KACbhuB,EAAI,eACJ2vD,GACgCvxD,EAChC,MAAM0iC,EAAStgC,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGugB,MAAM,IAC5C2gD,EAAc9jF,IAASytC,IAAI,eAE3Bu8B,IAAuB8Z,EACvBuP,EAAenK,cACfi8C,EACJnlI,IAASC,SAAS,8BAClBD,IAASC,SAAS,mCACdgxC,EAAiBC,cACjBk0F,EACK,UAAT/iI,GAAoB4uC,GAA6B,SAAX9N,EAGlCkiG,EAAwCrlI,IAASytC,IACrD,mCAGF,OACEzqB,IAAAC,cAACqiH,IAAoB,CAAC,cAAY,mCAChCtiH,IAAAC,cAAC2hH,EAAsB,CACrBv0G,cAAeA,EACf2hC,eAAgBA,EAChB3vD,KAAMA,IAEP+iI,GAAmBpiH,IAAAC,cAAC86D,IAAe,CAAC1tD,cAAeA,IAC1C,WAAThuB,GACC2gB,IAAAC,cAAAD,IAAAyO,SAAA,KACGwf,GAA6B,SAAX9N,GACjBngB,IAAAC,cAAC86D,IAAe,CAAC1tD,cAAeA,IAGjCg1G,GACCriH,IAAAC,cAACg7D,IAAqB,CAAC5tD,cAAeA,IAGvCrwB,IAASC,SAAS,qCACjB+iB,IAAAC,cAACo7D,IAAyB,CAAChuD,cAAeA,IAG3CrwB,IAASC,SAAS,2CACjB+iB,IAAAC,cAACs7D,IAA+B,CAACluD,cAAeA,IAGjD80G,GACCniH,IAAAC,cAACsiH,IAAc,CAACl1G,cAAeA,IAGhC25C,GAAsBhnD,IAAAC,cAACkhH,IAAY,CAACrgD,YAAaA,KAG5C,UAATzhF,GAAoBgxF,GACnBrwE,IAAAC,cAACkhH,IAAY,CAACrgD,YAAaA,IAER,C,+HCzE3B,MAaMyhD,EAAiB9kI,IAEkB,IAFjB,cACtB4vB,GACoB5vB,EACpB,MAAMqkD,EAAmBjiD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChElX,EAAiB/qC,aAAcwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKN,IAAiB,IAEnEhhB,EC7B4B1gB,KAIrB,IAJsB,sBACnC+kI,GAGD/kI,EACC,OAAI+kI,EACK,2DAGsBxlI,IAASgnC,WACtC,iCACA,gCAGE,gDACA,sBAAsB,EDcVy+F,CAA4B,CAAED,sBADhBj9C,gBAG9B,OACEvlE,IAAAC,cAACkN,IAAQ,CACPE,cAAeA,EACf1R,QAASivB,EAAerb,MACxB/U,SAAUsnC,EACV72B,OAAQkU,IACR1gC,GAAI0gC,IACJpjB,MAAO6pB,YAAWznB,EA5BF,CACpBkrE,oBACErpE,IAAAC,cAACsQ,IAAI,CACHC,KAAM4oB,YAAY,CAAEC,QAAS,yBAC7Br+B,KAAM4qB,YAAW,kCAyBjBpY,iBAAe,EACf1wB,KAAMqiC,KACN,C,guBEzBC,MAAMilB,EAAiCzjD,IAC5C,MACEomC,OAASxX,MAAOwX,GAChBhE,WAAaxT,MAAOwT,GACpBC,UAAYzT,MAAOyT,GACnB2F,OAASpZ,MAAOqZ,GAChBC,WAAatZ,MAAOsZ,IAClBloC,EACE8nC,EAAcC,YAAe/nC,GAEnC,OAAAC,MAAA,GACKogC,YAAergC,IACfs/B,YAAet/B,IAAK,IACvBgF,QAASC,cAAYD,QACrBohC,MAAOA,EAAMG,OACbnE,UAAWA,EAAUmE,OACrBlE,SAAUA,EAASkE,OACnByB,MAAO,CACLrM,YAAY,GAADz+B,OAAK4qC,GAChBG,SACAvpC,KAAMwpC,GAER2B,4BAA6B,CAACxtC,IAASytC,IAAI,wBAC3CtlC,MAAOC,eACJ6hC,YAAuBtmC,GAAK,EAStBqiD,EAAsB/mB,UACjC,IAAK,IAADq2F,EAAAx3F,EAAAC,EAAAuc,EACF,MACE13B,IAAI,uBAAEg3G,EAAsB,OAAEz2F,IAC5BzgB,IAASC,YACL+jB,IAAKsa,GAAet+B,IAASyb,aAC/B2lB,EAAU9jD,IAASC,SAAS,iBAC5BgpB,EAAiBjpB,IAASC,SAAS,kBACnCsqE,EACQ,QADO+qD,EACnBzzH,qBAAY,IAAAyzH,GAAgB,QAAhBx3F,EAAZw3F,EAAcnvH,sBAAc,IAAA23B,GAAiB,QAAjBC,EAA5BD,EAA8BG,uBAAe,IAAAF,GAAO,QAAPuc,EAA7Cvc,EAA+CqmD,aAAK,IAAA9pC,OAAxC,EAAZA,EAAsDiwB,gBAClDn4B,EAASpyC,IAASytC,IAAI,mBAAgC,SAAXtK,EACjD,IACG2gB,GAAWymB,GAAmBthD,IAC/B2wG,IACCxnF,EACD,CAAC,IAADszF,EAAAC,EACA,MAAMxtF,EAAYiP,EAA+BzjD,GAE3CiiI,QAAyBluF,IAAaO,MAAM,CAChDA,MAAO8mD,IACP5mD,cAGI0tF,EAAa3lI,QACD,OAAhB0lI,QAAgB,IAAhBA,GAAsB,QAANF,EAAhBE,EAAkBjiI,YAAI,IAAA+hI,GAA+B,QAA/BC,EAAtBD,EAAwBI,qCAA6B,IAAAH,OAArC,EAAhBA,EAAuDE,YAIzD,OAFA7kF,EAAWsG,+BAA+Bu+E,GAEnCA,CACT,CAEA,OAAO,CACT,CAAE,MAAO3rG,GACP,OAAO,CACT,E,wJCjFK,MAAM0xE,EAAsBr9F,YAAGC,MAAAC,IAAA,iCAIZF,YAAGM,MAAAJ,IAAA,oD,4BCiBtB,MAAMs2H,EAA2BtkI,IAKW,IALV,cACvC4vB,EAAa,KACbhuB,EAAI,MACJ0c,EAAK,gBACLimH,EAAkB,kCACYvkI,EAC9Bg+B,YAAgB,GAAD59B,OAAIwB,EAAI,yBACvB,MAAM0jI,EACJ1jI,IAASg7E,IAASC,MAAQ,oBAAsBl7C,IAC5CisF,EAAexrH,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAC5DkhF,EAAenjI,aAAcwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKsjG,EAAa,IAC7DzzG,EAAWpyB,QAAoB,OAAZ8lI,QAAY,IAAZA,OAAY,EAAZA,EAAcl0G,cAEvC,OACE9O,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAACkN,IAAQ,CACP,mBAAkBmC,EAAQ,GAAAzxB,OAAMklI,EAAY,UAAW,KACvD,eAAczzG,EACdlC,YAAa0xB,IACbzxB,cAAeA,EACf1R,QAAqB,OAAZqnH,QAAY,IAAZA,OAAY,EAAZA,EAAczzG,MACvB/U,SAAU6wG,EACV/9F,aAAcwxB,IACdrgD,GAAIskI,EACJhnH,MAAOA,EACPjf,KAAMimI,EACNx1G,UAAU,EACVC,iBAAe,EACfvC,OAAQ83G,EACRpgI,MAAmB,OAAZqgI,QAAY,IAAZA,OAAY,EAAZA,EAAcrgI,QAGtB2sB,GACCtP,IAAAC,cAACs1C,IAAU,CACT92D,GAAG,qBACHgqB,eAAgBmgF,GAEfhjE,YAAWo8F,IAGf,C,+BChEP,8CACIiB,EAAU,uCAEVzlB,EAAejuF,IACjB,IAAI2zG,EAAYhmI,QAAQqyB,EAAMlxB,SAAW,IAAetB,KAAKwyB,GACzD6J,EAAS,CACXy8B,gBAAiBotE,EAAQlmI,KAAKwyB,GAC9B84E,QAAS66B,GAAa3zG,EAAMlxB,OAAS,IACrC2uB,cAAek2G,GAIjB,OAFA9pG,EAAOnM,OAAS1kB,OAAO47B,KAAK/K,GAAQ56B,QAAOqH,GAAOuzB,EAAOvzB,KACzDuzB,EAAOlM,SAAWkM,EAAOnM,OAAO5uB,OACzB+6B,CAAM,C,+BCZf,qJACI+pG,EAAsB,CACxBC,EAAG,MACHC,EAAG,QACHC,EAAG,QAGD50C,EAAsB,CAACH,EAAaxzB,KACtC,IAAIwoE,EAAmBh1C,EAAY/jF,cAAcib,MAAMs1C,GAAWrsC,KAAI0G,GAAOA,EAAI8R,SAC7Es8F,EAASD,EAAiBE,QAAQ,MAClCC,EAAWH,EAAiBE,QAAQ,MAExC,OAAe,IAAXD,GAA6B,IAAbE,EACX,MACa,IAAXF,GAA6B,IAAbE,EAClB,MAGF,KAAK,EAGVl1C,EAA0BD,IAC5B,IAAIo1C,EAAWp1C,EAAY5uF,MAAM,SACjC,OAAqB,OAAbgkI,QAAkC,IAAbA,OAAsB,EAASA,EAAS,KAAO,EAAE,EAG5E70C,EAA8B,CAACL,EAAWm1C,EAAU7oE,KACtD,IAAI8oE,EAAkBD,EAASn+G,MAAMs1C,GACjC3xB,EAAc,CAAC,EACf06F,EAAQD,EAAgB,GACxBE,EAAMF,EAAgB,IAAM,GAC5BG,EAAQH,EAAgB,IAAM,GAiBlC,OAhBAz6F,EAAYrZ,WAAa6zG,EAEP,QAAdn1C,GACFrlD,EAAYulD,IAAMm1C,EAClB16F,EAAYwlD,MAAQm1C,EACpB36F,EAAYylD,KAAOm1C,GACI,QAAdv1C,GACTrlD,EAAYylD,KAAOi1C,EACnB16F,EAAYwlD,MAAQm1C,EACpB36F,EAAYulD,IAAMq1C,IAElB56F,EAAYwlD,MAAQk1C,EACpB16F,EAAYulD,IAAMo1C,EAClB36F,EAAYylD,KAAOm1C,GAGd56F,CAAW,EA6EhB66F,EAA8B,CAAC9oH,EAAOozE,KACxC,IAAIxzB,EAAYyzB,EAAwBD,GACpCE,EAAYC,EAAoBH,EAAaxzB,GAC7CmpE,EA7E4B,EAAC30G,EAAOwrC,KACxC,IAAIopE,EAAoB,EAExB,OADsB,YAAc50G,GACbiG,QAAQ,QAAQ,CAAC71B,EAAOykI,IACX,IAAfA,KAAsBD,EAAoB,EACvC,GAAKppE,GAC3B,EAuEmBspE,CAA4BlpH,EAAO4/C,GAEpDupE,EAtEsB,EAACC,EAAW91C,KAStC,IARA,IAMI+1C,EANAC,EAAiB,CACnB91C,IAAK9e,IAAM,GAAKA,GAAGxxE,QAAU,GAAKwxE,GAAK,GACvC+e,MAAO81C,IAAM,GAAKA,GAAGrmI,QAAU,GAAKqmI,GAAK,GACzC71C,KAAMxe,IAAM,GAAKA,GAAGhyE,QAAU,GAE5BimI,EAAgB,CAAC,EAGZ11G,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,IAAI+1G,EAAiBl2C,EAAU7/D,GAC3Bg2G,EAAWzB,EAAoBwB,GAC/BE,EAAgB,EAChBC,EAAWP,EAAUK,GAAU3kC,OAAO,GAG1C,IAFAqkC,EAAcM,GAAYL,EAAUK,GAAU,GAAKL,EAAUK,GAAU,GAAK,GAEjD,IAApBE,EAASzmI,QAAgBomI,EAAeG,GAAUN,EAAcM,GAAYE,EAAS,KAC1FR,EAAcM,IAAaL,EAAUK,GAAUC,GAC/CC,EAAWA,EAAS7kC,OAAO,GAC3B4kC,IAGF,IAAIE,EAAiBt2C,EAAU7/D,EAAI,GAEnC21G,EADAC,EAAWrB,EAAoB4B,IACTD,EAAWP,EAAUC,EAC7C,CAIA,IAFA,IAAIQ,EAAW,GAENC,EAAI,EAAGA,EAAIV,EAAUC,GAAUnmI,OAAQ4mI,IAAK,CACnD,IAAIC,EAAQX,EAAUC,GAAUS,GAE5BR,EAAeD,GAAUQ,EAAWE,KACtCF,GAAYE,EAEhB,CAIA,OAFAZ,EAAcE,GAAYQ,EAC1BV,EAAcv0G,WAAaw0G,EAAUx0G,WAC9Bu0G,CAAa,EA+BAa,CADFr2C,EAA4BL,EAAWy1C,EAAgBnpE,GAClB0zB,GACnD22C,EA7BoB,EAACl9H,EAAMumF,EAAW1zB,KAC1C,IAAIsqE,EAAYn9H,EAAKi7H,EAAoB10C,EAAU,KAC/C62C,EAAUp9H,EAAKi7H,EAAoB10C,EAAU,KAC7C82C,EAAYr9H,EAAKi7H,EAAoB10C,EAAU,KAC/Cr1D,EAASisG,EAgBb,OAduB,IAAnBC,EAAQjnI,SACV+6B,GAAU2hC,EAAYuqE,GAGC,IAArBC,EAAUlnI,SACZ+6B,GAAU2hC,EAAYwqE,GAGOnsG,EAAO3T,MAAMs1C,GAAW18D,OAAS,GAEhC6J,EAAK6nB,WAAWkwE,QAAQ,KAAOllC,IAC7D3hC,GAAU2hC,GAGL3hC,CAAM,EASEosG,CAAoBlB,EAAe71C,EAAW1zB,GAC7D,MAAO,CACLupE,gBACAc,WACD,C,+BCvIH,yXAUA,IAAIK,EAAoB,YAAQ,MAAO,CACrC53G,OAAQ,YACR9R,MAAO,qBAFe,CAGmB,CACzCjf,KAAM,SACN+jG,OAAQ,+BAQN6kC,EAAYjoI,IACd,IAAI,MACFyE,GACEzE,EACJ,OAAO,IAAMwiB,cAAcwlH,EAAmB,KAAM,IAAMxlH,cAAc,MAAO,CAC7E,kBAAmB,aACnBve,OAAQ,KACRovE,KAAM,MACNpB,QAAS,YACT7tE,MAAO,KACP+tE,MAAO,8BACN,IAAM3vD,cAAc,QAAS,CAC9BxhB,GAAI,cACHyD,GAAQ,IAAM+d,cAAc,IAAK,CAClC0vD,KAAM,OACNa,SAAU,WACT,IAAMvwD,cAAc,OAAQ,CAC7B4vD,EAAG,kBACHF,KAAM,SACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,0qBACHF,KAAM,cACH,EAGHg2D,EAAsB,CACxBxrH,QAAS,CACPR,WAAY,IACZE,OAAQ,IACRmB,KAAM,QAER4qH,QAAS,CACPjsH,WAAY,IACZE,OAAQ,IACRmB,KAAM,QAER6qH,cAAe,CACblsH,WAAY,OACZE,OAAQ,IACRmB,KAAM,KAERpU,KAAM,CACJ+S,WAAY,OACZE,OAAQ,IACRmB,KAAM,MAIN8qH,EAAW/gH,IACb,IAAI,OACFghH,EAAM,eACNC,EAAc,MACd9jI,EAAK,KACL7C,GACE0lB,EACAtmB,EAAK,iBAAO,eACZohB,EAAQ,YAAW8lH,EAAqBtmI,GAAQA,EAAO,WACvD,WACFsa,EAAU,OACVE,EAAM,KACNmB,GACE+qH,GAAUJ,EAAoB9lH,GAClC,OAAO,IAAMI,cAAc,MAAO,IAAS,CACzCve,OAAQ,KACRguE,QAAS,YACT7tE,MAAO,KACP+tE,MAAO,8BACNo2D,GAAiB,IAAM/lH,cAAc,QAAS,CAC/CxhB,GAAI,aAAaZ,OAAOY,EAAGq3C,UAC1B5zC,GAAQ,IAAM+d,cAAc,IAAK,CAClC0vD,KAAM,OACNa,SAAU,WACT,IAAMvwD,cAAc,IAAK,CAC1BqwD,UAAW,kBACV,IAAMrwD,cAAc,SAAU,CAC/B8vD,GAAI,KACJC,GAAI,KACJL,KAAMh2D,EACNs2D,EAAG,KACHS,OAAQ72D,IACN,IAAMoG,cAAc,OAAQ,CAC9B4vD,EAAG,qaACHF,KAAM30D,MACH,EAGH+wG,EAAe1mG,IACjB,IAAI,OACF0gH,EAAM,eACNC,EAAc,MACd9jI,EAAQ,qBAAoB,KAC5B7C,GACEgmB,EACA5mB,EAAK,iBAAO,eACZohB,EAAQ,YAAW8lH,EAAqBtmI,GAAQA,EAAO,WACvD,WACFsa,GACEosH,GAAUJ,EAAoB9lH,GAClC,OAAO,IAAMI,cAAc,MAAO,IAAS,CACzCve,OAAQ,KACRguE,QAAS,YACT7tE,MAAO,KACP+tE,MAAO,8BACNo2D,GAAiB,IAAM/lH,cAAc,QAAS,CAC/CxhB,GAAI,iBAAiBZ,OAAOY,EAAGq3C,UAC9B5zC,GAAQ,IAAM+d,cAAc,IAAK,CAClC0vD,KAAM,OACNa,SAAU,UACV/xE,GAAI,KACJiyE,OAAQ,OACRG,YAAa,KACZ,IAAM5wD,cAAc,IAAK,CAC1BxhB,GAAI,2CACJ6xE,UAAW,wCACV,IAAMrwD,cAAc,IAAK,CAC1BxhB,GAAI,qBACJ6xE,UAAW,sCACV,IAAMrwD,cAAc,OAAQ,CAC7B4vD,EAAG,mxBACHF,KAAMh2D,EACN62D,SAAU,UACV/xE,GAAI,YACF,IAAMwhB,cAAc,OAAQ,CAC9Bve,OAAQ,KACRjD,GAAI,UACJoD,MAAO,KACPuuE,EAAG,IACHC,EAAG,SACC,EAGJ41D,EAAa1gH,IACf,IAAI,MACFrjB,GACEqjB,EACAw7E,EAAS,iBAAO,eAChBmlC,EAAS,iBAAO,eACpB,OAAO,IAAMjmH,cAAc,MAAO,CAChC,kBAAmB,cACnB,cAAe,cACfve,OAAQ,KACRovE,KAAM,MACNpB,QAAS,YACT7tE,MAAO,KACP+tE,MAAO,6BACPooC,WAAY,gCACX,IAAM/3F,cAAc,QAAS,CAC9BxhB,GAAI,eACHyD,GAAQ,IAAM+d,cAAc,OAAQ,KAAM,IAAMA,cAAc,OAAQ,CACvE4vD,EAAG,mCACHpxE,GAAIsiG,EAAOjrD,WACR,IAAM71B,cAAc,IAAK,CAC5B0vD,KAAM,OACNa,SAAU,WACT,IAAMvwD,cAAc,OAAQ,CAC7B4vD,EAAG,6gCACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,4mCACHF,KAAM,YACJ,IAAM1vD,cAAc,IAAK,CAC3BqwD,UAAW,wBACV,IAAMrwD,cAAc,OAAQ,CAC7B0vD,KAAM,OACNlxE,GAAIynI,EAAOpwF,SACV,IAAM71B,cAAc,MAAO,CAC5BkmH,UAAW,IAAItoI,OAAOkjG,EAAOjrD,YAC1B,IAAM71B,cAAc,OAAQ,CAC/B4vD,EAAG,0WACHF,KAAM,UACNjZ,KAAM,QAAQ74D,OAAOqoI,EAAOpwF,QAAS,OACnC,IAAM71B,cAAc,OAAQ,CAC9B4vD,EAAG,kQACHF,KAAM,UACNjZ,KAAM,QAAQ74D,OAAOqoI,EAAOpwF,QAAS,OACnC,IAAM71B,cAAc,OAAQ,CAC9B4vD,EAAG,6QACHF,KAAM,UACNjZ,KAAM,QAAQ74D,OAAOqoI,EAAOpwF,QAAS,SAClC,EAGPmwF,EAAW3kC,aAAe,CACxBp/F,MAAO,UAGT,IAAIkkI,EAAgB,IACX,IAAMnmH,cAAc,MAAO,CAChC,kBAAmB,kBACnB,cAAe,kBACfve,OAAQ,KACRovE,KAAM,MACNpB,QAAS,YACT7tE,MAAO,KACP+tE,MAAO,6BACPooC,WAAY,8BACX,IAAM/3F,cAAc,IAAK,CAC1B6vD,SAAU,2BACT,IAAM7vD,cAAc,OAAQ,CAC7B4vD,EAAG,00BACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,qtCACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,60BACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,otCACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,68BACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,0nBACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,ueACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,g1BACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,2iBACHF,KAAM,aACH,IAAM1vD,cAAc,OAAQ,KAAM,IAAMA,cAAc,WAAY,CACrExhB,GAAI,qBACH,IAAMwhB,cAAc,OAAQ,CAC7B0vD,KAAM,QACNjuE,OAAQ,SACR4uE,UAAW,iBACXzuE,MAAO,UAIPwkI,EAAqB1gH,IACvB,IAAI,MACFzjB,GACEyjB,EACJ,OAAO,IAAM1F,cAAc,MAAO,CAChC,kBAAmB,uBACnB,cAAe,uBACfyvD,QAAS,eACTE,MAAO,8BACN,IAAM3vD,cAAc,QAAS,CAC9BxhB,GAAI,wBACHyD,GAAQ,IAAM+d,cAAc,IAAK,CAClC0vD,KAAM,QACL,IAAM1vD,cAAc,OAAQ,CAC7B4vD,EAAG,6/CACD,IAAM5vD,cAAc,OAAQ,CAC9B4vD,EAAG,0QACH0B,QAAS,QACP,IAAMtxD,cAAc,OAAQ,CAC9B4vD,EAAG,mLACH0B,QAAS,OACP,IAAMtxD,cAAc,OAAQ,CAC9B4vD,EAAG,wNACD,EAGNw2D,EAAmB/kC,aAAe,CAChC/nF,MAAO,OACPrX,MAAO,UAGT,IAAIokI,EAAiB38G,IACnB,IAAI,MACFznB,GACEynB,EACJ,OAAO,IAAM1J,cAAc,MAAO,CAChC,kBAAmB,kBACnB,cAAe,kBACfve,OAAQ,KACRovE,KAAM,MACNpB,QAAS,YACT7tE,MAAO,KACP+tE,MAAO,8BACN,IAAM3vD,cAAc,QAAS,CAC9BxhB,GAAI,mBACHyD,GAAQ,IAAM+d,cAAc,IAAK,CAClC0vD,KAAM,OACNa,SAAU,WACT,IAAMvwD,cAAc,OAAQ,CAC7B4vD,EAAG,2WACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,4QACHF,KAAM,YACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,kRACHF,KAAM,aACJ,EAGN22D,EAAehlC,aAAe,CAC5Bp/F,MAAO,UAGT,IAwBIinB,EAAYa,IACd,IAAI,MACF9nB,GACE8nB,EACJ,OAAO,IAAM/J,cAAc,MAAO,CAChCve,OAAQ,KACRq2G,QAAS,MACTroC,QAAS,YACT7tE,MAAO,KACP+tE,MAAO,8BACN,IAAM3vD,cAAc,QAAS,KAAM/d,GAAQ,IAAM+d,cAAc,IAAK,CACrE0vD,KAAM,OACNa,SAAU,UACVE,OAAQ,OACRG,YAAa,KACZ,IAAM5wD,cAAc,IAAK,CAC1B0vD,KAAM,UACNa,SAAU,UACVF,UAAW,mCACV,IAAMrwD,cAAc,OAAQ,CAC7B4vD,EAAG,quBACA,EAGP1mD,EAAUm4E,aAAe,CACvBp/F,MAAO,SAGT,IAAIqkI,EAAc/9G,GAAS,IAAMvI,cAAc,MAAO,CACpDve,OAAQ,GAAG7D,OAAO2qB,EAAM9mB,QACxBguE,QAAS,OAAO7xE,OAAO2qB,EAAM3mB,MAAO,KAAKhE,OAAO2qB,EAAM9mB,QACtDG,MAAO,GAAGhE,OAAO2qB,EAAM3mB,OACvB+tE,MAAO,8BACN,IAAM3vD,cAAc,IAAK,CAC1B0vD,KAAM,OACNa,SAAU,WACT,IAAMvwD,cAAc,OAAQ,CAC7B4vD,EAAG,kBACHF,KAAM,SACJ,IAAM1vD,cAAc,OAAQ,CAC9B4vD,EAAG,qeACHF,KAAM,GAAG9xE,OAAO2qB,EAAMjP,WAGxBgtH,EAAYjlC,aAAe,CACzB/nF,MAAO,UACP7X,OAAQ,GACRG,MAAO,G,gzBC9WT,MAAM+sG,EAAyCA,KAAsB,IAAD43B,EAAAC,EAAAC,EAClE,MAAQ9mH,GAAImgB,GAAcrgB,IAASyb,cAC7B,mBAAE4gG,EAAkB,oBAAEv6D,GAAwBzhC,GAC5C2D,IAAK2I,GAAa3sB,IAASC,WACnC,IAAK3iB,IAASC,SAAS,kBAErB,OADAS,KAAOC,KAAK,qBACLyiE,QAAQC,UAGjB,GACE3X,YACEG,aAAwBL,cAAsBD,kBAC1Clc,EAASs6F,iCAGf,OAAOvmE,QAAQC,UAGjBo0C,cAEAjzC,GAAoB,GAEpB,MAAQ99B,IAAKkjG,GAAmBlnH,IAASC,WACnCknH,EACU,OAAdD,QAAc,IAAdA,GAA2B,QAAbJ,EAAdI,EAAgBjzC,mBAAW,IAAA6yC,GAAS,QAATC,EAA3BD,EAA6Bp5D,eAAO,IAAAq5D,GAAO,QAAPC,EAApCD,EAAsCp5D,aAAK,IAAAq5D,OAA7B,EAAdA,EAA6C98F,cAE/C,OACEgsC,cACGzuE,MAAK,IAAMq6D,GAAoB,KAK/Br6D,MAAK,IAAM2/H,gBACX3/H,MAAK,KAAO,IAAD4/H,EAAAC,EAAAC,EAGV,MAAQvjG,IAAKwjG,GAAkBxnH,IAASC,YAEzB,OAAbunH,QAAa,IAAbA,GAA0B,QAAbH,EAAbG,EAAevzC,mBAAW,IAAAozC,GAAS,QAATC,EAA1BD,EAA4B35D,eAAO,IAAA45D,GAAO,QAAPC,EAAnCD,EAAqC35D,aAAK,IAAA45D,OAA7B,EAAbA,EAA4Cr9F,iBACZi9F,GAChCrlC,YAAiC,MAAM,GAEpCxkG,IAASC,SAAS,iBACrB8+H,GAAmB,EACrB,IAED30H,OAAMzE,IAELjF,KAAOkJ,KAAK,qCAAsC,CAAEjE,SAAQ,GAC5D,EAyCFwkI,EAAgC1oI,IACpC,MAAM,gBAAEuqD,GAAoBtpC,IAASC,WAAW+jB,KAC1C,YAAEyuE,GAAgBzyF,IAASyb,aAAauI,IAO9CyuE,EAAY,CACVnpD,gBAP6BA,EAAgBt6B,KAAIu6B,IAC7CA,IACFA,EAAOC,SAAWD,EAAOxqD,KAAOA,GAE3BwqD,MAIP,EAWEm+E,EAAoBC,IACxB,MAAM,SAAEC,EAAQ,OAAEC,GAAWF,EAC7B,OAAIC,GAAYC,EACP3hG,YAAW,iCAGhB0hG,EACK1hG,YAAW,6BAGbA,YAAW,8BAA8B,EAG5C4hG,EACJx+E,IAEA,MAAMgrD,EAAgCh3G,IAASC,SAC7C,iCAEF,OAAO+rD,EAAgB5kB,QACrB,CACEqjG,EACAx+E,KAEA,IAAKA,IAAWA,EAAO5pD,KACrB,OAAOooI,EAGT,MAAMC,EA/EqBjqI,KAOe,IAPd,OAChCksC,EAAM,GACNlrC,EAAE,MACFsd,EAAK,SACLmtC,EAAQ,KACR7pD,EAAI,aACJsoI,GACelqI,EACXmqI,EAA4ChiG,YAC9C,gCACA,CACE+D,OAAQA,GAAUA,EAAO2jC,gCACzBvxD,UAQJ,OAJI/e,IAASC,SAAS,UAAY0qI,IAChCC,EAAmB,GAAA/pI,OAAM+pI,EAAmB,MAAA/pI,OAAK8pI,EAAY,MAGxD,CACLh+F,SACA5tB,MAAO6rH,EACP1+E,WACA7pD,OACAkwB,MAAO9wB,EACR,EAqD2BopI,CAAyB5+E,GACjD,GAAKw+E,EAAIx+E,EAAO5pD,MA8BdooI,EAAIx+E,EAAO5pD,MAAM2pD,gBAAgBxhB,KAAKkgG,OA9BjB,CACrB,IAAII,EAAW,CACb/rH,MAAO,GACP7Z,MAAO,IAGT,GAAoB,WAAhB+mD,EAAO5pD,KAAmB,CAM5B,GAAI20G,EACF,OAAOyzB,EAETK,EAAW,CACT/rH,MAAO6pB,YAAW,+BAClB1jC,MAAO0jC,YAAW,2BAEtB,KAA2B,aAAhBqjB,EAAO5pD,OAChByoI,EAAW,CACT/rH,MAAO6pB,YAAW,iCAClB1jC,MAAO0jC,YAAW,2BAGtB6hG,EAAIx+E,EAAO5pD,MAAKuB,IAAA,GACXknI,GAAQ,IACX9+E,gBAAiB,CAAC0+E,IAEtB,CAGA,OAAOD,CAAG,GAEZ,CAAC,EACF,C,+BC5MH,sMAkBA,MAgCM3B,EAAWzgH,IAAA,IAAC,UAChB0iH,EAAY,OAAM,YAClBC,EAAc,UAAS,MACvBnmI,EAAQ,GAAE,OACVH,EAAS,IACmC2jB,EAAA,OAC5CrF,IAAAC,cAAA,OACEve,OAAQA,EACRguE,QAAO,OAAA7xE,OAASgE,EAAK,KAAAhE,OAAI6D,GACzBG,MAAOA,EACP+tE,MAAM,8BAEN5vD,IAAAC,cAAA,KAAG0vD,KAAK,OAAOa,SAAS,WACtBxwD,IAAAC,cAAA,QAAM4vD,EAAE,yBAAyBF,KAAMo4D,IACvC/nH,IAAAC,cAAA,KAAGqwD,UAAU,sBACXtwD,IAAAC,cAAA,QACE0vD,KAAMo4D,EACNrmI,OAAO,KACPwvE,GAAG,IACHR,OAAQs3D,EACRnmI,MAAM,MACNuuE,EAAE,KACFC,EAAE,OAEJrwD,IAAAC,cAAA,QACE4vD,EAAE,uKACFF,KAAMq4D,MAIR,EAGFtC,EAAYngH,IAAA,IAAC,UACjBwiH,EAAYtnH,KAAa,MACzB5e,EAAQ,GAAE,OACVH,EAAS,IACQ6jB,EAAA,OACjBvF,IAAAC,cAAA,OACE0vD,KAAK,OACLjuE,OAAQA,EACRguE,QAAO,OAAA7xE,OAASgE,EAAK,KAAAhE,OAAI6D,GACzBG,MAAOA,EACP+tE,MAAM,8BAEN5vD,IAAAC,cAAA,QACE4vD,EAAE,ghBACFF,KAAMo4D,IAER/nH,IAAAC,cAAA,QACE4vD,EAAE,6cACFF,KAAMo4D,IAER/nH,IAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,maACFF,KAAMo4D,EACNv3D,SAAS,YAEP,EAGFy3D,EAAWtiH,IAAA,IAAC,UAChBoiH,EAAYlpH,IAAgB,MAC5Bhd,EAAQ,GAAE,OACVH,EAAS,IACQikB,EAAA,OACjB3F,IAAAC,cAAA,OACEpe,MAAOA,EACPH,OAAQA,EACRguE,QAAQ,YACRC,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,2hBACFF,KAAMo4D,IAEJ,EAGFxB,EAAc58G,IAAA,IAAC,UACnBo+G,EAAYxlH,IAAgB,MAC5B1gB,EAAQ,GAAE,OACVH,EAAS,IACQioB,EAAA,OACjB3J,IAAAC,cAAA,OACEpe,MAAOA,EACPH,OAAQA,EACRguE,QAAO,OAAA7xE,OAASgE,EAAK,KAAAhE,OAAI6D,GACzBiuE,KAAK,OACLC,MAAM,8BAEN5vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,igBACFF,KAAMo4D,IAEJ,EAGFG,EAAwCn+G,IAAA,IAAC,UAC7Cg+G,EAAYrpH,IAAkB,MAC9B7c,EAAQ,GAAE,OACVH,EAAS,IACVqoB,EAAA,OACC/J,IAAAC,cAAA,OAAKpe,MAAOA,EAAOH,OAAQA,EAAQguE,QAAQ,aACzC1vD,IAAAC,cAAA,QACE0vD,KAAMo4D,EACNl4D,EAAE,sDAEA,C,iTC1JR,MAAMs4D,EAA8B,IAAIl9H,IAAI,CAC1C,UACA,aACA,aACA,cACA,kBAEIm9H,EAAiB,CACrBnnG,kBAAmB,gBACnBE,SAAU,OACVC,aAAc,WACdhB,QAAS,MACTC,WAAY,SACZsI,MAAO,eAGH0/F,EAAkB94G,IACrBA,EAAMlxB,SAAW67E,IAAen9E,KAAKwyB,GA4ClCmV,EAAiB/jC,IAOrB,MAAM,MAAEgC,EAAK,UAAE6hC,EAAS,MAAEH,EAAK,QAAEnX,EAAO,MAAEqC,GAAU5uB,EAEpD,GAAIusB,EACF,MAAO,GAGT,MAAM,kBAAE86D,EAAiB,OAAEC,GAAWJ,IACtC,GAAIrjD,IAAcwjD,GAAqBC,EAAOvpF,SAAS2lC,GACrD,MAAO,GAKT,IAAKgkG,EAAe94G,IAAoB,aAAV8U,EAC5B,MAAO,GAGT,GAAc,eAAVA,GAAwC,gBAAdG,EAA6B,CACzD,MACEd,KAAK,iBAAEC,IACLjkB,IAASC,WACP2oH,EAAqB3kG,EACxBjV,KAAI6R,GAAYqF,YAAW,aAAD/nC,OAAc0iC,MACxC8hB,KAAK,MAER,OAAOzc,YAAW,mCAAoC,CACpD0iG,sBAEJ,CAEA,GAAc,gBAAVjkG,EAAyB,CAC3B,MAAMx+B,EAAoB,aAAd2+B,EAA2B,cAAgB,iBACvD,OAAOoB,YAAW,eAAD/nC,OAAgBgI,GACnC,CAIA,IACGwiI,EAAe94G,IACF,gCAAdiV,GACA7hC,EAEA,OAAOA,EAGT,IAAK0lI,EAAe94G,KAAqB,UAAV8U,GAA+B,UAAVA,GAAoB,CACtE,MACEX,KAAK,gBAAEsZ,EAAkB,CAAC,IACxBt9B,IAASC,YACP,QAAE+7B,GAAYH,YAGlByB,EAAgBC,QAChB5P,eAEIk7F,EAAe7sF,EAAQ,GAAD79C,OAAIwmC,EAAK,UACrC,OAAOuB,YAAW,eAAD/nC,OAAgBwmC,EAAK,WAAW,CAC/CkkG,gBAEJ,CAEA,MAAMjiG,EAxFiB7oC,KAQV,IARW,MACxB4mC,EAAK,QACLnX,EAAO,MACPqC,GAKD9xB,EACC,MAAM+qI,EAAuBL,EAA4Bj0F,IAAI7P,GAEvDQ,EAAYujG,EAAe/jG,IAAUA,EAE3C,OAAIgkG,EAAe94G,GACX,eAAN1xB,OAAsB2qI,EAAuB3jG,EAAY,QAAO,WAG5D,eAANhnC,OAAsBgnC,EAAS,YAuEZ4jG,CAAiB9nI,GACpC,OAAOilC,YAAWU,EAAW,EC9GzBoiG,EAGF,CAIFC,gBAAiB9xE,IACjB+xE,qBAAsB/xE,IAEtBgyE,2BAA4BhyE,IAG5BiyE,sBAAuBjyE,IAavBkyE,mBAAoBlyE,IACpBmyE,uBAAwBnyE,IACxBoyE,iBAAkBpyE,IAClBqyE,uBAAwBryE,IACxBsyE,oBAAqBtyE,IACrBuyE,cAAevyE,IACfwyE,qCAAsCxyE,IACtCyyE,qBAAsBA,CAAC3mI,EAAY4mI,KACjC,MAAM,KAAExvF,EAAO,IAAOp3C,GAAS,CAAC,EAIhC,MAAsB,yCAHAo3C,EAAK,GAIlB8c,YAAuB,CAAEt9B,QAAS,mBAEpCgwG,EAAmB5mI,EAAM,EAElC6mI,+BAAgC3yE,IAChC4yE,yBAA0B5yE,IAC1B6yE,0BAA2B7yE,IAC3B8yE,iBAAkB9yE,IAClB+yE,0BAA2B/yE,IAE3BgzE,0BAA2BhzE,IAC3BizE,gCAAiCjzE,IACjCkzE,qBAAsBlzE,IACtBmzE,4BAA6BnzE,IAC7BozE,eAAgBpzE,IAEhBqzE,kBAAmBrzE,IAEnBszE,QAASjzG,IAAG,IAAAo7F,EAAAx3F,EAAAC,EAAA,OACV4tC,YACc,QADuB2pD,EACnCzzH,qBAAY,IAAAyzH,GAAgB,QAAhBx3F,EAAZw3F,EAAcnvH,sBAAc,IAAA23B,GAAiB,QAAjBC,EAA5BD,EAA8BG,uBAAe,IAAAF,OAAjC,EAAZA,EAA+CytC,qBAE7ClJ,YAA8BpoC,GAC9B2/B,YAAuB3/B,EAAI,EACjCkzG,MAAOvzE,IACPwzE,YAAaxzE,IACbyzE,uBAAwBzzE,IACxB0zE,wBAAyB1zE,IAEzB2zE,qCAAsCA,KACpC3zE,YAAuB,CAAEt9B,QAAS,oBAAqB,EAEzDkxG,oBAAqB5zE,IAIrB6zE,qBAAsB7zE,KASlB8zE,EAA+B,CAEnCC,qBAAuBjoI,IACrBjF,IAAOkJ,KAAK,qCAAsC,CAAEjE,UAC7C,mCAETkoI,gCAAiCA,IAC/B,gCACFC,mBAAoBA,IAAc,kCAClCC,sBAAuBA,IAAc,6BACrCC,oBAAqBA,IAAc,6BACnCC,wBAAyBA,IAAc,uCACvCC,mBAAoBA,IAAc,+BAClCC,sBAAuBA,IAAc,qCACrCC,eAAgBA,IAAc,mCAC9BC,oBAAqBA,IAAc,mCACnCC,iBAAkBA,IAAc,6BAChCC,iCAAkCA,KAChC,MAAQ3rH,GAAIsgB,GAAYxgB,IAASC,YAC3B,OAAEwgB,GAAWD,EAEnB,MAAe,SAAXC,EACK,+BAEF,4BAA4B,EAErCqrG,iBAAmB7oI,GACjB,mCAQE8oI,EAAiE,CACrEC,0BAA2B,4BAC3B7C,2BAA4B,mCAC5B8C,8BAA+B,gCAC/B3C,uBAAwB,yBACxBC,iBAAkB,mBAClBC,uBAAwB,yBACxBE,cAAe,gBACfwC,8BAA+B,gCAC/BC,mCAAoC,qCACpCC,oCAAqC,sCACrCC,4BAA6B,8BAC7BvC,+BAAgC,iCAChCC,yBAA0B,2BAC1BC,0BAA2B,4BAC3BG,0BAA2B,4BAC3BG,4BAA6B,oCAC7BC,eAAgB,uBAChBC,kBAAmB,oBACnBG,YAAa,cACb2B,yBAA0B,2BAC1BC,iCAAkC,mCAClCC,2BAA4B,6BAC5BC,+BAAgC,iCAChCzB,qBAAsB,wBAQlB0B,EAAmB,CACvBC,kBAAmBA,IAAc,2BACjCC,gBAAiBA,IAAc,mCAC/BC,WAAYA,IAAc,8BAC1B7tG,QAASA,IAAc,8BACvB8tG,aAAcA,IAAc,2BAC5BC,iBAAkBA,IAAc,2BAChCC,mBAAoBA,IAAc,mCAClCC,gBAAiBA,IAAc,2BAC/BC,2BAA4BA,IAAc,2BAC1CC,eAAgBA,IAAc,2BAC9BC,+BAAgCA,IAAc,4B,oBCnLhD,MAAMvmG,EAAqB,CACzBwmG,YAAa,CACXzmG,WAAY,0BACZjC,MAAO,OAET2oG,8BAA+B,CAC7B7uH,QAAS,uCACTkmB,MAAO,aAET4oG,aAAc,CACZ3mG,WAAY,0BACZjC,MAAO,QAET6oG,iBAAkB,CAChB5mG,WAAY,2BACZjC,MAAO,SAET8oG,mBAAoB,CAClB7mG,WAAY,+BACZjC,MAAO,aAET+oG,gCAAiC,CAAC,EAClCC,kBAAmB,CACjB/mG,WAAY,8BACZjC,MAAO,YAETipG,cAAe,CACbhnG,WAAY,2BACZjC,MAAO,SAETkpG,oBAAqB,CACnBjnG,WAAY,qDACZ9B,UAAW,8BACXH,MAAO,SAETmpG,oBAAqB,CACnBlnG,WAAY,qDACZ9B,UAAW,8BACXH,MAAO,SAETopG,oBAAqB,CACnBnnG,WAAY,4CACZjC,MAAO,0BAETqpG,yBAA0B,CACxBpnG,WAAY,0CACZjC,MAAO,wBAETspG,qBAAsB,CACpBrnG,WAAY,iCACZjC,MAAO,SAETupG,mBAAoB,CAClBtnG,WAAY,GACZjC,MAAO,aAETwpG,qBAAsB,CACpBvnG,WAAY,qDACZjC,MAAO,mCAETypG,0BAA2B,CACzBxnG,WAAY,mDACZjC,MAAO,iCAET0pG,cAAe,CACbznG,WAAY,2BACZjC,MAAO,SAET2pG,gBAAiB,CACf1nG,WAAY,gCACZjC,MAAO,cAET4pG,6BAA8B,CAC5B9vH,QAAS,sCACTkmB,MAAO,YAET6pG,kBAAmB,CACjB5nG,WAAY,6BACZjC,MAAO,aAKLqmF,EAAkD,CACtDyjB,uBAAwBA,IACsBlpH,YAC1C,mCAIAjoB,IAASC,SAAS,4BAEX,qCAEFD,IAASC,SAAS,4BACrB,0CACA,qCAEN4qF,yBAA0BA,IAAc,gCACxCumD,eAAgBA,IAAc,+BAC9BC,mBAAoBA,IAAc,kCAClCC,4BAA6BA,IAAc,4BAC3CzD,gCAAiCA,IAC/B,gCACFC,mBAAoBA,IAAc,kCAClCyD,eAAgBA,IAAc,qCAC9BC,UAAWA,IAAc,0BACzBC,0BAA2BA,IAAc,0BACzCC,sBAAuBA,IAAc,qCACrCC,sBAAuBA,IAAc,gCACrCC,+CAA8CA,IACrC,kCAETpC,aAAcA,IAAc,6BAC5BqC,oBAAqBA,IAAc,6BACnCC,4BAA6BA,IAAc,kCAC3CC,oBAAqBA,IAAc,6BACnCC,mCAAoCA,IAClC,6BAEFC,mBAAoBA,IAAc,6BAClCC,oCAAqCA,IACnC,6BACFC,eAAgBA,IAAc,mCAC9BC,oBAAqBA,IAAc,sCACnCC,qBAAsBA,IAAc,sCACpCC,kBAAmBA,IAAc,sCAEjCC,wBAAyBA,IAAc,+BACvCC,eAAgBA,IAAc,+BAC9BC,sBAAuBA,IAAc,qCACrCtE,sBAAuBA,IAAc,qCACrCuE,gBAAiBA,IAAc,kCAC/BC,kBAAmBA,IAAc,kCACjCC,oBAAqBA,IAAc,mCACnCtE,iBAAkBA,IAAc,6BAChCC,iCAAkCA,KAChC,MAAQ3rH,GAAIsgB,GAAYxgB,IAASC,YAC3B,OAAEwgB,GAAWD,EAEnB,MAAe,SAAXC,EACK,+BAEF,4BAA4B,EAErC0vG,eAAgBA,IAAc,kCAC9BC,eAAgBA,IAAc,kCAC9BC,gBAAiBA,IAAc,gCAC/BC,kBAAmBA,IAAc,6BACjCC,4BAA6BA,IAC3B,2CACFC,4BAA6BA,IAAc,iCAKvCC,EAAsE,CAQ1EC,wBAAyBv5E,IAOzBw5E,mBAAoBx5E,K,YCvKtB,MAAMy5E,EAAyB7yI,IAMlB,IANmB,QAC9B87B,EAAO,MACP52B,GAIDlF,EACC,MAAMmgE,EAA0C,WAA1B1qB,cAAiB7zC,KACvC,IAAI25B,EAASO,EAGRqkC,IACH5kC,EAAM,GAAAn7B,OAAM07B,EAAO,KAAA17B,OAAI8E,IAGzBo2B,YAAS,CACPyhC,IAAKoD,EAAgB,SAAW,OAChC5kC,UACA,EAmBEuwG,EAAqB,WAG8B,IAADgH,EAAA,IAH5B,UAC1Bj3G,EAAS,QACTC,EAAU,IAC4Bn7B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC1C,MAAMuE,EAAQ42B,EAAQmC,cAAclG,QAAQ,MAAO,KAC7Cg7G,EAAyB,OAATl3G,QAAS,IAATA,GAAc,QAALi3G,EAATj3G,EAAY,UAAE,IAAAi3G,OAAL,EAATA,EAAgBvqG,KAEtCtoC,IAAOiF,MAAM,yBAAD9E,OAA0B8E,GAAS,CAC7CA,QACA6tI,kBAKFF,EAAuB,CAAE3tI,QAAO42B,QAAS,wBAC3C,EAGMk3G,EAAiCprH,IAQ1B,IAADitG,EAAAx3F,EAAAC,EAAA,IAR4B,WACtCuL,EAAU,MACV3jC,EAAK,QACL42B,GAKDlU,EACC,MACEoa,MACEE,eAAiBpQ,MAAOoQ,KAExBjgB,IAASC,WAEPmhC,EAA4B,UAAlBnhB,EACV+wG,EAAoB/nE,YACZ,QADiD2pD,EAC7DzzH,qBAAY,IAAAyzH,GAAgB,QAAhBx3F,EAAZw3F,EAAcnvH,sBAAc,IAAA23B,GAAiB,QAAjBC,EAA5BD,EAA8BG,uBAAe,IAAAF,OAAjC,EAAZA,EAA+CytC,qBAGjD,GAAI1nB,EAEF,OAAO6vF,EAAqB,CAAErqG,aAAY3jC,UACjC+tI,GAGTpxE,YAA8B,CAAE/lC,YAGlC+2G,EAAuB,CACrB3tI,MAAO,yCACP42B,WACA,EA4DEo3G,EAAuBhrH,IAMhB,IANiB,WAC5B2gB,EAAU,MACV3jC,GAIDgjB,EACC,MAAM,YAAEirH,EAAW,QAAEr3G,GAAY52B,GACzBid,GAAIsgB,GAAYxgB,IAASC,WAEjC,GAAIugB,EAAQ6hB,iBAAmBzb,EAC7B,OAAO5oC,IAAOC,KAAK,4BAA6B,CAC9CgF,MAAO42B,IAcTA,IAAYsuD,IAAyBE,gBAC1B,OAAX6oD,QAAW,IAAXA,KAAalyI,SAASmpF,IAAyBC,iBApFdviE,KAA+B,IAA9B,KAAE5kB,EAAO,IAAe4kB,EAC5D,MAAQka,KAAMC,GAAchgB,IAASC,YAC7B8f,KAAM0gB,EAAavgC,GAAImgB,GAAcrgB,IAASyb,aAsBtD,IAAI01G,EAAsB,GAQxBA,GALCnxG,EAAU8O,cAAcjf,OACzBvyB,IAASC,SAAS,gCAII0D,EAAK+tB,KAAIisB,IAAG,IAAAm2F,EAAA,OAAO,OAAHn2F,QAAG,IAAHA,GAAkB,QAAfm2F,EAAHn2F,EAAKo2F,qBAAa,IAAAD,OAAf,EAAHA,EAAoBrrH,MAAM,KAAK,EAAE,IAEjD,CAAC,kBAGzB,MAAMurH,EAAe,IAAI/lI,IAAI4lI,IACvB,kBAAE7oD,EAAiB,OAAEC,GAAWJ,IAGtCmpD,EAAa9mI,SAAQ67B,IACnBoa,EAAYk5E,6BAA6B,CACvCphF,OAAQ,WACRlS,cACAvB,UAAWwjD,EACX5oF,OAAQ6oF,GACR,IAKsB,IAAtB+oD,EAAalmI,MAAckmI,EAAa98F,IAAI,uBAC9CnU,EAAU0F,gCAA+B,EAC3C,EAgCEwrG,CAA6BtuI,GAG/B,MAAQid,GAAImgB,GAAcrgB,IAASyb,aAC/B5B,EAAQ76B,SAASwpF,IAAwBH,iBAC3CrqF,IAAOC,KAAK,+BAAgC,CAAEgF,MAAO42B,IACrDwG,EAAU+iB,sBAAsBxc,KAEhC5oC,IAAOC,KAAK,2BAA4B,CAAEgF,MAAO42B,IACjDwG,EAAU8iB,kBAAkBvc,IAG9BvG,EAAUyhC,qBAAoB,GAE9BhiE,OAAOwiD,SAAS,EAAG,EAAE,ECnLjBkC,EAAkBvhD,IAA4B,IAADs2E,EAAAi4D,EAAAC,EACjD,MAAQ53G,QAASiL,GAAc7hC,EACzByuI,EAAqBp0I,IAASC,SAAS,sBACvCo0I,EAA4Br0I,IAASC,SACzC,6BAOF,GAAIorF,IAAgBrlF,eAAewhC,IAAc4sG,EAU/C,OATA1xH,IAASyb,aAAavb,GAAG87G,sCAAqC,GAC9DjtH,IAAGunC,QACDvnC,IAAG+zC,MAAMgpC,8BACT/8E,IAAGi0C,OAAO1oB,MACVvrB,IAAGwuB,YAAY0lB,WAEqB,SAAlCjjC,IAASC,WAAWC,GAAGugB,QACzB1xB,IAAGynC,MAAMznC,IAAG+zC,MAAMopC,kDAKtB,GACEylD,GACA9oI,OAAO47B,KAAKsnG,GAAwC/sI,SAAS8lC,GAI7D,OAFA9kB,IAASyb,aAAavb,GAAG4hD,qBAAoB,GAEtC3K,YAAuB,CAC5Bt9B,QAASkyG,EAAuCjnG,GAChD5H,OAAQ,CAAE00G,iBAAiB,KAM/B,GAAI5I,EAAe1lI,eAAewhC,KAAeje,IAK/C,OAJA9X,IAAG2+E,OACH1tE,IAASyb,aAAavb,GAAG4hD,qBAAoB,GAGtCknE,EAAelkG,GAAW7hC,EAAO4mI,GAK1C,GAAI4G,EAA4BntI,eAAewhC,GAI7C,OAHA/1B,IAAG2+E,OACH1tE,IAASyb,aAAavb,GAAG4hD,qBAAoB,GAEtC2uE,EAA4B3rG,GAAW7hC,GAQhD,GAFoBuwC,cAAiB3jB,QAAc,OAAL5sB,QAAK,IAALA,GAAgB,QAAXs2E,EAALt2E,EAAO22B,iBAAS,IAAA2/C,OAAX,EAALA,EAAkB5nC,aAiBzD,CAEL,MAAM,cAAE1R,GAAkBjgB,IAASC,WAAW8f,KAS9C,GARA/hC,IAAOkJ,KAAK,sCAAuC,CACjDjE,MAAO6hC,EACP7E,cAAeA,EAAcpQ,QAMb,sBAAdiV,IAAsCje,IAExC,OADA7G,IAASyb,aAAavb,GAAG4hD,qBAAoB,GD7E5Bz8C,KAA6C,IAA5C,QAAEwU,GAA8BxU,EACtD,MAAMwsH,EAAoB9iI,IAAG8+E,UAC3B9+E,IAAG+zC,MAAMqpC,oCAEXp9E,IAAGunC,QAAQu7F,EAAmB9iI,IAAGi0C,OAAO2zB,KAGxCt9C,YAAS,CACP2gB,iBAAkB,CAChB83F,6BAA8B,WAEhCh3E,IAAK,SACLxhC,OAAQO,GACR,ECiESk4G,CAAe9uI,GAMxB,MACMqjC,EJ7FR1M,KAEgC,IAADi3G,EAA/B,IAAK9pI,MAAMyd,QAAQoV,GAIjB,OAAgB,OAATA,QAAS,IAATA,GAAgB,QAAPi3G,EAATj3G,EAAY,UAAI,IAAAi3G,OAAP,EAATA,EAAkBvqG,QAAiB,OAAT1M,QAAS,IAATA,OAAS,EAATA,EAAW0M,OAAQ,KAGtD,MAAMrjC,EAAQ22B,EAAU97B,MAAK05B,GAAU,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK8O,OACzC,OAAY,OAALrjC,QAAK,IAALA,OAAK,EAALA,EAAOqjC,IAAI,EImFH0rG,CADK/uI,EAAM22B,WAAa32B,EAAMhC,OACU6jC,EAErD,GAAImmG,EAA6B3nI,eAAegjC,GAAO,CAGrD,MAAMM,EAAaqkG,EAA6B3kG,GAAMrjC,GACtD,OAAO8tI,EAA+B,CACpCnqG,aACA3jC,QACA42B,QAASyM,GAEb,CAKA,GAAIxB,EAAU9lC,SAASwpF,IAAwBH,gBAAiB,CAAC,IAAD4pD,EAAAC,EAC9D,MACEC,sBAGIC,UAAWvxG,EAAQ,GAEnB9hC,EAEAszI,8BAA+BC,GAC7B,CAAC,GACH,KACG,OAALrvI,QAAK,IAALA,GAAoB,QAAfgvI,EAALhvI,EAAOivC,qBAAa,IAAA+/F,GAAK,QAALC,EAApBD,EAAuB,UAAE,IAAAC,OAApB,EAALA,EAA2BjxI,OAAQ,CAAC,EAOlC2lC,GAFJ8lG,EAAiB4F,IACjB5F,EAAiB1tG,WAWnB,OARAhhC,IAAOE,KAAK,sBAAuB,CACjCq0I,WAAY1xG,EACZ2xG,gBAAiBF,EACjBG,MAAO1zI,EACP2zI,YAAa9rG,EACbtoC,WAAY,cACZC,gBAAiB,wBAEZwyI,EAA+B,CACpCnqG,aACA3jC,QACA42B,QAASyM,GAEb,CACF,KAtFkB,CAMhB,GAJAtoC,IAAOkJ,KAAK,qCAAsC,CAAEjE,MAAO6hC,IDgJhC7hC,KAA2C,IAAD0vI,EACvE,GAAS,OAAL1vI,QAAK,IAALA,GAAgB,QAAX0vI,EAAL1vI,EAAO22B,iBAAS,IAAA+4G,GAAhBA,EAAkBh0I,OAAQ,CAC5B,MAAMi0I,EAAc,iCACdloB,EAAiBznH,EAAM22B,UAAU96B,QAAQ6+B,GAAWA,KACnDk1G,EAAa,CAAC,GAAKnoB,EAC1B,OAAOkoB,EAAYv1I,KAAKw1I,EAAWnzI,OACrC,GClJMozI,CAAsB7vI,GACxB,MDmH8BA,KAA4B,IAADs2E,EAC7D,GAAS,OAALt2E,QAAK,IAALA,GAAgB,QAAXs2E,EAALt2E,EAAO22B,iBAAS,IAAA2/C,GAAhBA,EAAkB56E,OAAQ,CAC5B,MAAM2mC,EAAUtlB,IAASyb,aAkBzB,OAjBuBx4B,EAAM22B,UAAU96B,QAAQ6+B,GAAWA,IAC3CnzB,SAAQyf,IAA8B,IAA7B,KAAEqc,GAAqBrc,EAG7C,MAAM,WAAE2c,EAAU,MAAEjC,GAAUkC,EAAmBP,GAC3CvgC,EAAU,CACdqpB,cAAc,EACdnsB,MAAOijC,YAAWU,GAClB9B,UAAWwB,EACX9Y,SAAS,GAGX8X,EAAQvF,KAAK+3B,sBAAsB,CACjCnzB,QACA5+B,WACA,IAEGs1C,YAAkBr7B,IAASC,WAAW8f,KAC/C,GCxIWgzG,CAA2B9vI,GAGpC,GAAI+nH,EAAkB1nH,eAAewhC,GAAY,CAE/C,MAAM8B,EAAaokF,EAAkBlmF,KACrC,OAAOmsG,EAAqB,CAAErqG,aAAY3jC,SAC5C,CACF,CAyEA,GAA2C,yBAAlC,OAALA,QAAK,IAALA,GAAoB,QAAfuuI,EAALvuI,EAAOivC,qBAAa,IAAAs/F,GAAK,QAALC,EAApBD,EAAuB,UAAE,IAAAC,OAApB,EAALA,EAA2B53G,SAAmC,CAAC,IAADm5G,EAAAC,EAAAC,EAAAC,EAChE,MAAMC,EAAoB,OAALnwI,QAAK,IAALA,GAAoB,QAAf+vI,EAAL/vI,EAAOivC,qBAAa,IAAA8gG,GAAK,QAALC,EAApBD,EAAuB,UAAE,IAAAC,GAAM,QAANC,EAAzBD,EAA2BhyI,YAAI,IAAAiyI,GAAW,QAAXC,EAA/BD,EAAiCt5G,iBAAS,IAAAu5G,OAArC,EAALA,EAA4CE,WAGjE,OAFArzH,IAASyb,aAAavb,GAAGwb,8BAA6B,QACtD1b,IAASyb,aAAavb,GAAGw8G,uBAAuB0W,EAElD,CAKAvJ,EAAmB5mI,EAAM,C,8JCtLpB,MAAMqwI,EAAkBn4F,cAAK,CAACo4F,EAAuB5lE,KAC1D3vE,KAAOE,KAAK,6BAA8B,CACxCu/E,IAAU,OAAL9P,QAAK,IAALA,OAAK,EAALA,EAAO0kD,eACZ/rE,cAAoB,OAALqnB,QAAK,IAALA,OAAK,EAALA,EAAOtjC,aACtBmpG,YAAkC,OAArBD,QAAqB,IAArBA,IAAyB,IACtCj1I,WAAY,UACZC,gBAAiB,qBACjB,I,+DCGJ,MAAMk1I,EAAmBvsH,IAAOC,IAAGrb,MAAAC,IAAA,4QAcxB+c,GACLA,EAAM4qH,mBAAqB5qH,EAAM4qH,mBAAqB,IAItDC,EAAkBzsH,IAAOC,IAAGhb,MAAAJ,IAAA,sPAElB6V,KAUVgyH,EAAe1sH,IAAOsmC,OAAMjmC,MAAAxb,IAAA,8HAe5B8nI,EAAgB3sH,IAAOC,IAAGM,MAAA1b,IAAA,8EA4B1B+nI,GArBc5sH,IAAOxN,OAAMkO,MAAA7b,IAAA,uWAEX0U,IAEXA,IAWaA,KAMLyG,IAAOxN,OAAM0Q,MAAAre,IAAA,2bAMrBU,KACCqc,GAAUA,EAAMirH,uBAAyB,UAAY,YAS3Dh2I,IAAA,IAAC,MAAEoiB,GAAOpiB,EAAA,OAAK8N,YAAG+e,MAAA7e,IAAA,4DAChBoU,EAAMtD,KAAK3C,MAAK,GAMHqJ,IACNC,IACFrC,IAIAA,MAIP6yH,EAAa9sH,IAAOS,KAAIoD,MAAAhf,IAAA,QAExBkoI,EAAmB/sH,IAAOC,IAAG8D,MAAAlf,IAAA,4FAGdsZ,IAAA,IAAC,aAAE6uH,GAAc7uH,EAAA,OAAK6uH,CAAY,ICpGjDC,EAAqBA,KACzB//D,IAAeggE,SAAS,EAGpBC,EAASt2I,IAAgC,IAADu2I,EAAAC,EAAAn5G,EAAA,IAA9B,eAAEo5G,GAAiB,GAAMz2I,EACvCg+B,YAAgB,UAChB,MAAQ91B,QAASo/F,EAAc,OAAEr/F,GAAWE,eACrCggG,EAAeuuC,GAAoBlrH,oBAAU,IAC7CwqH,EAAwBW,GAA6BnrH,oBAAS,IAC9DorH,EAAgBC,GAAqBrrH,oBAAS,GAC/CsrH,EAAeC,cAEfvvC,EACJplG,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIsZ,gBAAgB0kB,YAAYh8D,EAAO,KAAK,GACnE8yH,EAAgC34H,aACpCwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAG44G,6BAA6B,IAExC12E,EAAmBjiD,aAAc0lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGkiC,gBAAgB,IAChE6xC,EAAc9zF,aAAc8lB,IAAA,IAAC,IAAE+d,GAAK/d,EAAA,OAAK+d,EAAIiwD,WAAW,IACxD3S,EAAsByzD,cACtBpkD,EAAenK,cACf7Y,GACHgjB,EACsB,OAAnBrP,QAAmB,IAAnBA,GAAuC,QAApBgzD,EAAnBhzD,EAAqBixC,0BAAkB,IAAA+hB,OAApB,EAAnBA,EAAyCU,YAC9B,OAAX/gD,QAAW,IAAXA,GAAoB,QAATsgD,EAAXtgD,EAAavmB,eAAO,IAAA6mE,OAAT,EAAXA,EAAsB5mE,QAAU,CAAC,EACjChC,EAAkB,OAALgC,QAAK,IAALA,OAAK,EAALA,EAAO0kD,eAQ1Bx2F,qBAAU,KAAO,IAADo5G,EACdP,EACEl3I,SACa,OAAXy2F,QAAW,IAAXA,OAAW,EAAXA,EAAavmB,YACC,OAAXumB,QAAW,IAAXA,OAAW,EAAXA,EAAa+nB,eACD,OAAX/nB,QAAW,IAAXA,GAAkB,QAAPghD,EAAXhhD,EAAa/oF,aAAK,IAAA+pI,OAAP,EAAXA,EAAoBt2I,UACT,OAAXs1F,QAAW,IAAXA,OAAW,EAAXA,EAAa6nB,gBACdnrB,EACN,GACA,CAACsD,EAAatD,IAEjB,MAMMukD,EAAWC,YAAY5vC,EAAeF,GAC5CxpE,qBAAU,MACe,IAAnBqqE,IAAqC,OAAbX,QAAa,IAAbA,OAAa,EAAbA,EAAe5mG,QAAS,GAClD81I,EAAiBS,EACnB,GACC,CAAC3vC,IAEJ,MAAM,WAAEl6B,IAA0C,QAA3BjwC,EAAAj8B,cAAasE,sBAAc,IAAA23B,OAAA,EAA3BA,EAA6BG,kBAAmB,CAAC,EACxEM,qBAAU,KACR79B,KAAOE,KAAK,wBAAyB,CACnCI,WAAY,SACZC,gBAAiB,eACjBitE,YAAaH,GACb,GACD,IAEH,MAAMqoE,EAAqB/4G,cAK3B,OACEi7B,YAAC+9E,EAAe,CAAC,cAAY,UAC3B/9E,YAAC69E,EAAgB,CAACC,mBAAoBA,GACnCmB,EACDj/E,YAACg+E,EAAY,KACXh+E,YAACi+E,EAAa,KAPbj+E,YAAC8wE,IAAa,QAQT,OAAL/4D,QAAK,IAALA,OAAK,EAALA,EAAOC,kCAAmC4mE,GACzC5+E,YAACq+E,EAAgB,CAACC,aAAa,SAC5Bpb,EACCljE,YAACye,IAAc,CACbx6C,QAASqM,YAAW4yF,KAGtBljE,YAACk+E,EAAU,CACT,cAAY,cACZ/rH,QA1CIgtD,KAAO,IAADqgE,GACvBT,GAAkBrB,EAA2B,OAAXr/C,QAAW,IAAXA,GAAkB,QAAPmhD,EAAXnhD,EAAa/oF,aAAK,IAAAkqI,OAAP,EAAXA,EAAoBz2I,OAAQgvE,GAC/D3vE,KAAOC,KAAK,yBAADE,OAA0Bw2I,EAAiB,OAAS,SAC/DC,GAAmBD,EAAe,EAwCpBZ,wBAAwB,EACxBsB,YAAalB,EACbr5H,SAAUsnC,EACV,aAAYlc,YAAW,eAAgB,CACrC+D,OAAQ0hC,IAEV,gBAAegpE,GAEf/+E,YAACo+E,EAAU,KAAEroE,OAOxBgpE,GACC/+E,YAACwe,IAAc,CACb6f,YAAaA,EACbzN,sBAAuBmK,EACvB2kD,QAASA,IAAMV,GAAkB,GACjCb,uBAAwBA,IAGZ,E,sBC5Gf,MAAMwB,EAASx3I,IAOW,IAPV,SACrBsiB,EAAQ,mBACRgqF,GAAqB,EAAK,SAC1BF,EAAW,UAAS,WACpBqrC,GAAa,EAAI,WACjBC,GAAa,EAAI,eACjBxrC,GAAiB,GACLlsG,EACZg+B,aAAgB,UAEhB,MAAM4xE,EAAgBxtG,aAAckkC,GAASA,EAAMnkB,GAAGytF,gBAGhDrb,EAAmCnyF,aACvCkkC,GAASA,EAAMnkB,GAAGoyE,mCAGpB,OAAIqb,EAEA/3C,YAAC67C,IAAc,KACb77C,YAACk8C,IAAkB,CAAC/gF,OAAO,0BAM/B6kC,YAAC67C,IAAc,CAACtH,SAAUA,GACxBv0C,YAACs0C,IAAU,CACT,gCAAA/rG,OAA+BgsG,GAC/B,cAAa7X,EACb6X,SAAUA,EAEVF,eAAgBA,GAEfurC,GAAc5/E,YAACy+E,EAAM,CAACG,eAA6B,YAAbrqC,IACvCv0C,YAACo0C,IAAW,CAACC,eAAgBA,GAC3Br0C,YAACw0C,IAAc,CAACC,mBAAoBA,GACjChqF,EACAo1H,GAAc7/E,YAAC8/E,IAAM,OAEvBzrC,GAAkBr0C,YAACq8C,IAAgB,QAGzB,C,sHCvErB,MAAM0jC,EAA0B53I,IAAA,IAAC,aAAEssC,EAAY,cAAEH,GAAensC,EAAA,MAAM,CACpEssC,eACAH,gBACD,E,ikBCED,MAAM0rG,EAAkCroB,IACtC,MAAQxtF,KAAMC,GAAchgB,IAASC,YAC/B,0BAAE+1G,GAA8Bh2F,EAChC61G,EAAgCv4I,IAASC,SAAS,sBAQxD,OANIs4I,GACF73I,KAAOC,KAAK,uDAKPsvH,EAAQv+F,KAAIu6B,IACjB,MAAM,OACJtf,EACAorE,aAAcygC,EACdC,SAAUh3I,EAAE,gBACZi3I,EAAe,MACf35H,EAAK,UACL45H,EAAS,SACTzsF,GACED,EACE2sF,GACFJ,GAAsBE,GAAoBhgB,EAG9C,OAAI6f,EACK,CACLp7H,QAAS8uC,EAAO9uC,QAChB1b,KACAsd,QACAmtC,YAIJtoD,IAAA,CACEuZ,QAAS8uC,EAAO9uC,QAChB4B,QACAmtC,WACA2sF,eAAgBR,EAAwB1rG,IACpCisG,GAA4B,CAC9BF,gBAAiBL,EAAwBK,KAEvCC,GAAa,CACfA,UAAWN,EAAwBM,IACnC,GAEJ,E,ikBC9CJ,MAAMG,EAAiC7oB,IACrC,MAAQxtF,KAAMC,GAAchgB,IAASC,YAC/B,0BAAE+1G,GAA8Bh2F,EAChC61G,EAAgCv4I,IAASC,SAAS,sBAQxD,OANIs4I,GACF73I,KAAOC,KAAK,sDAKPsvH,EAAQv+F,KAAIu6B,IACjB,MAAM,OACJtf,EACA8rG,SAAUh3I,EACVs2G,aAAcygC,EAAkB,gBAChCE,EAAe,MACf35H,EAAK,UACL45H,EAAS,SACTzsF,EAAQ,mBACR6sF,GACE9sF,EACE2sF,GACFJ,GAAsBE,GAAoBhgB,EAG9C,OAAI6f,EACK,CACLp7H,QAAS8uC,EAAO9uC,QAChB1b,KACAsd,QACAmtC,WACA6sF,sBAIJn1I,IAAA,CACEuZ,QAAS8uC,EAAO9uC,QAChB4B,QACAmtC,WACA2sF,eAAgBR,EAAwB1rG,GACxCosG,sBACIH,GAA4B,CAC9BF,gBAAiBL,EAAwBK,KAEvCC,GAAa,CACfA,UAAWN,EAAwBM,IACnC,GAEJ,E,ulBCpCJ,MAAM7O,EAAwBA,KAC5B,MAAQrnG,KAAMC,EAAWgE,IAAK2I,GAAa3sB,IAASC,YAC9C,0BAAE+1G,GAA8Bh2F,GAChC,uBAAEi0F,EAAsB,gBAAE3qE,EAAe,sBAAE+rB,GAC/C1oC,EACI0iF,EAAe/xH,IAASC,SAAS,gBAEvC,IAAK+rD,EAAgB3qD,OACnB,OAGF,IAAIm9F,EACArmD,EACJ,MAAM6gG,EAAqD,YAA1BjhE,EAE7BihE,GACFx6C,EAAWwT,IACX75D,EAAY,CACV8gG,wBAAyBX,EAAgCtsF,GACzD+rB,wBACA5vE,MAAOC,iBAGTo2F,EAAWyT,IAMX95D,EAAY,CACV45E,eACA4E,yBACAuiB,uBAAwBJ,EAA+B9sF,GACvD7jD,MAAOC,gBAIX,MAAM+wI,EAAiBntF,EAAgBxrD,MAAKyrD,GAAUA,EAAOC,WAO7D,OANA0rD,YACE7/B,EACAohE,EAAep6H,MACf25G,GAGKngF,YAAe,CACpBimD,SAAUA,EAEV2wB,OAAQA,CAACz8E,EAAKjyC,KAAgB,IAAd,KAAEkD,GAAMlD,EACtB,MAAM24I,GACA,OAAJz1I,QAAI,IAAJA,OAAI,EAAJA,EAAM01I,+BAAgC,CAAC,EACrCD,GACF1mG,EAAMsF,WAAW,CACfr0C,KAAM,CAAEs6B,gBAAiBm7G,GACzBnhG,MAAO8/C,KAEX,EAEF5/C,cAEChuC,MAAK4d,IAAe,IAAd,KAAEpkB,GAAMokB,EACb,MAAQ2e,IAAK2I,GAAa3sB,IAASC,YAC7B,YAAEg0E,GAAgBtnD,GAChB3I,IAAKsa,GAAet+B,IAASyb,cAC/B,YAAEg3E,GAAgBn0D,GAClB,QAAEovB,GAAY4oE,EAChBr1I,EAAK21I,sBAAsBp7G,KAC3Bv6B,EAAK01I,6BAA6Bn7G,KAWtC,OATAi3E,EAAY,CACV9mC,WAAY+B,EAAQC,MACpBsmB,YAAW/yF,IAAA,GAGN+yF,GAAW,IACdvmB,cAGGzsE,CAAI,IAEZyG,OAAMzE,IACLjF,KAAOiF,MAAM,uBAAwB,CAAEA,UACvCk0D,cAAwB,GACxB,C,qFCjGC,MAAM0/E,EAAe,WAAH,IAAI,cAC3BlnE,EAAgB,OAAM,WACtBC,EAAa,KAAI,YACjBC,EAAc,YAAW,UACzBC,EAAY,MACbpxE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OACJ4hB,IAAAC,cAAA,OAAK,cAAa,gBAAiBq0C,UAAW,kBAC5Ct0C,IAAAC,cAAA,OACEpe,MAAO2tE,EACP9tE,OAAQ4tE,EACRI,QAASH,EACTI,KAAMN,EACNO,MAAM,8BAEN5vD,IAAAC,cAAA,QACE4vD,EAAE,0PACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,mbACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,yMACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACE4vD,EAAE,yMACFF,KAAK,YAEP3vD,IAAAC,cAAA,QACEuwD,SAAS,UACTC,SAAS,UACTZ,EAAE,06CACFF,KAAK,aAGL,E,4CCxCR,MAAM6mE,EAAU5vH,IAAOC,IAAGrb,MAAAC,IAAA,oEAMpBgrI,EAAgB7vH,IAAOC,IAAGhb,MAAAJ,IAAA,gfAyB1BirI,EAAiB9vH,IAAOC,IAAGI,MAAAxb,IAAA,4fAuB3BkrI,EAAuB/vH,IAAOC,IAAGM,MAAA1b,IAAA,wIASjCmrI,EAAmBhwH,IAAOC,IAAGS,MAAA7b,IAAA,iJAS7BorI,EAAkBjwH,IAAOS,KAAIyC,MAAAre,IAAA,mDAK7BqrI,EAAqBlwH,IAAOS,KAAIiD,MAAA7e,IAAA,oHAItB+c,GAAUA,EAAMxN,KAAO,WAAa,SAI9C+7H,EAAmBnwH,IAAOC,IAAG4D,MAAAhf,IAAA,2LClEpB+qI,MAXC/4I,IAAgD,IAA7CwuB,KAAMshC,GAAoB9vD,EAC3C,OACEuiB,IAAAC,cAAC+2H,EAAU,KACTh3H,IAAAC,cAAC82H,EAAgB,CAAC,cAAY,gBAC3BxpF,GAAQvtC,IAAAC,cAACs2H,EAAY,OAExBv2H,IAAAC,cAACw2H,EAAa,MACH,E,wCCcV,MAAMQ,EAA6Bx5I,IAKW,IALV,aACzCy5I,EAAY,gBACZC,EAAe,KACflrH,EAAI,sBACJwlF,GACgCh0G,EAChC,MAAMuvE,EAAWntE,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIiwD,YAAY3mB,QAAQ,IAC9D0rD,EAAc74H,aAAcwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAG84G,WAAW,IAkB5D,OAhBAn9F,qBAAU,KAAO,IAADyiD,EACd,MAAMo5D,EAA8B,QAArBp5D,EAAGx+E,OAAOuJ,mBAAW,IAAAi1E,OAAA,EAAlBA,EAAoBq5D,iBACpC,2BAEyB,IAADla,EAAtBia,EAAU/4I,OAAS,IACrBX,IAAOC,KAAK,oCAAqC,CAAEgD,KAAMy2I,IACvC,QAAlBja,EAAA39H,OAAOuJ,mBAAW,IAAAo0H,GAAlBA,EAAoBma,cAKtB,OAFAC,YAAuB,CAAE7e,gBACzBuF,YAAoB,CAAEvF,gBACf,KAAO,IAAD8e,EACO,QAAlBA,EAAAh4I,OAAOuJ,mBAAW,IAAAyuI,GAAlBA,EAAoBF,YAAY,CACjC,GACA,CAAC5e,IAGF14G,IAAAC,cAACy2H,EAAc,CACb,cAAY,sBACZz6E,MAAOw1C,GAEPzxF,IAAAC,cAAC02H,EAAoB,KACnB32H,IAAAC,cAACu2H,EAAO,CAACvqH,KAAe,aAATA,GAAuBjM,IAAAC,cAACs2H,EAAY,QAEnDv2H,IAAAC,cAAC22H,EAAgB,CAACa,SAAS,IAAI3mE,KAAK,SACjComE,GACCl3H,IAAAC,cAAC42H,EAAe,CAAC,cAAY,wBAC1BjxG,YAAWsxG,IAIfC,GACCn3H,IAAAC,cAAC62H,EAAkB,CAAC,cAAY,2BAC7BlxG,YAAWuxG,EAAiB,CAC3BnoB,aAAsB,OAARhiD,QAAQ,IAARA,OAAQ,EAARA,EAAUlwE,UAMnB,C,qrBC3Ed,MAAME,EAAW,CACtB06I,YAA6C,IAAD,IAAAnxI,EAAAnI,UAAAC,OAA/Bs5I,EAAK,IAAAlxI,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAALixI,EAAKjxI,GAAAtI,UAAAsI,GAChB,OAAOxJ,QAAQy6I,EAAMt5I,SAAWs5I,EAAM15G,OAAMZ,GAAK36B,KAAKkhB,OAAOyZ,IAC/D,EACA07B,eAAgD,IAAD,IAAA3vD,EAAAhL,UAAAC,OAA/Bs5I,EAAK,IAAAlxI,MAAA2C,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAALsuI,EAAKtuI,GAAAjL,UAAAiL,GACnB,OAAQsuI,EAAMt5I,QAAUs5I,EAAM15G,OAAMZ,IAAM36B,KAAKkhB,OAAOyZ,IACxD,EAEAzZ,OAAQg0H,cAGRntG,IAA2B3tC,GACzB,OAAO4F,KAAKkhB,OAAO9mB,EACrB,EAEA8xC,WAAW3qB,EAAyBsL,GAClC,MAAMsoH,EAAOn1I,KAAKkhB,OAAOK,GAGnBE,GAAmB,OAAJ0zH,QAAI,IAAJA,OAAI,EAAJA,EAAMh9H,UAAWg9H,EAEtC,GAAItoH,EAAO,CAGT,OAFoB9oB,MAAMyd,QAAQqL,GAASA,EAAQ,CAACA,IAEjC7wB,SAASylB,EAC9B,CACA,OAAOjnB,QAAQ26I,EACjB,EAEA56I,SAAS46I,GACP,OAA6B,IAAtBn1I,KAAKkhB,OAAOi0H,EACrB,EAEAtiB,YAAYsiB,GACV,OAAQn1I,KAAKzF,SAAS46I,EACxB,EAEA7zG,aACE,OAAQthC,KAAKq2D,gBAAa36D,UAC5B,EACA05I,gBAAiD,IAAD,IAAAC,EAAA35I,UAAAC,OAA/Bs5I,EAAK,IAAAlxI,MAAAsxI,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAALL,EAAKK,GAAA55I,UAAA45I,GACpB,OAAQL,EAAMt5I,QAAUs5I,EAAMzlG,MAAK2lG,IAASn1I,KAAKkhB,OAAOi0H,IAC1D,GAKEpuF,MAEFzsD,EAASqnG,IAAMszC,IACb36I,EAAS4mB,OAAMhjB,IAAA,GACV5D,EAAS4mB,QACT+zH,EACJ,GAKDpxH,MAEFC,EAAOyxH,WAAaj7I,E,mDCjEtB,8CASO,MAAM2rE,EACXH,GAEAA,IAAwB/zC,IAAuBE,wB,+BCZjD,+DAWO,MAAMjV,EAA0Bw4H,YAAYtf,KACnDl7H,IAAOC,KAAK,oB,wqBCmBZ,MAAMoiD,EAAqBtiD,IAK4C,IAL3C,YAC1BsoC,EAAW,MACX1B,EAAK,cACLgc,GAAgB,EAAK,QACrB56C,GACyDhI,EACzD,MAAQgiC,KAAM0gB,GAAgBzgC,IAASyb,aACjCmJ,EAAiBo2C,IAAoB39E,KAAKgpC,GAAe,IAE/D,GAAIzB,GAAkByB,EAAa,CACjC,MAAMplC,EAAyCC,IAAA,GACzC0jC,GAAkB,CAAEyB,cAAasa,kBAAiB,CAAF,GACpDhc,QACA5+B,YAEF,OAAO06C,EAAYw8D,mBAAmBh8G,EACxC,CAEA,MAAMA,EAAO,CACX0jC,MAAOA,EACP5+B,QAASA,GAEX,OAAO06C,EAAYqX,sBAAsB72D,EAAK,C,+BCrDhD,8EAoBA,MAAMw3I,EAAY5oH,QAC6BjxB,KAAhC,OAALixB,QAAK,IAALA,OAAK,EAALA,EAA2B6xD,OAoC/BtjB,EACJs6E,IAEA,MAAQphG,KAAMqhG,GAAgB34H,IAASyb,cAErCvb,GAAIsgB,EACJ8W,MAAM,eAAE+mB,IACNr+C,IAASC,YACP,QAAEha,GAAYC,cACd0yI,EAAqC,WAA1BplG,cAAiB7zC,KAElC,GAAI84I,EAASC,GAAgB,CAC3B,MAAMh3D,EAAQg3D,EAAch3D,MAC5B,IAAW,OAALA,QAAK,IAALA,MAAOiX,sBAAuBigD,GAAav6E,EAC/C,OAAOqC,QAAQC,QAAQ+3E,EAE3B,CAGA,MAAMtyH,EAAiB9oB,IAASC,SAAS,kBACnCmrC,EAA6BprC,IAASC,SAC1C,4BAEIorC,EACJrrC,IAASC,SAAS,iCAClBmrC,EAEIE,EAA+BtrC,IAASC,SAC5C,8BAEIsrC,EACJvrC,IAASC,SAAS,mCAClBqrC,EAEI0C,EAAwBhuC,IAASC,SAAS,yBAE1CmuH,EAAkBpuH,IAASC,SAAS,YAEpCirC,EAAgC,SAAnBhI,EAAQC,OACrBqI,GACH1iB,GACCsiB,GACA4C,GACA3C,GACAE,KACDL,EACGqwG,EAAkBC,IAAuB95I,SAASiH,GAKxD,GAFE6iC,GAAc+vG,IAAoBntB,EAEN,CAC5B1tH,IAAOC,KAAK,iCAEZ,MAAMwH,EAAQC,cAGd,OACE,yCACG+B,MAAK1J,IAAA,IAAC,mBAAE+3G,GAAoB/3G,EAAA,OAAK+3G,EAAmBrwG,EAAM,IAC1DgC,MAAK,IAAMkxI,EAAY5b,oBACvBr1H,OAAMzE,IACLjF,IAAOiF,MAAM,8BAA+B,CAC1C42B,SAAc,OAAL52B,QAAK,IAALA,OAAK,EAALA,EAAO42B,UAAW52B,GAC3B,IAGHwE,MAAK,IAAMixI,GAElB,CAGA,MAzGuBz3I,KACvB,MAAQtB,KAAMo5I,EAAWlpH,MAAOmpH,GAAexlG,cACzCkuC,EAAQ+2D,EAASx3I,GAAQA,EAAKygF,MAAQ,CAAC,EAE7C,OAAKs3D,IAA6B,WAAdD,GAAgC,OAALr3D,QAAK,IAALA,KAAOiX,oBAgB/C99C,MAAM,oBARgB,CAC3BhH,YAAa,cACbH,QAAS,CACP,yBAA0BslG,GAE5BzvF,OAAQ,QAIP9hD,MAAK,KACJzJ,IAAOC,KAAK,qCACL,KAERyJ,OAAM8vB,IACLx5B,IAAOiF,MAAM,0BAA2B,CACtCA,MAAOu0B,EAAIqC,WAEN,MAxBT77B,IAAOkJ,KAAK,yBAA0B,CACpC+xI,aAAcz7I,QAAQw7I,GACtBD,cAEKr4E,QAAQC,SAAQ,GAqBrB,EA2EGu4E,CAAgBR,GAAejxI,MAAK42D,IACzCA,GAAkBs6E,EAAY5b,kBACvB2b,IACP,C,gCCpIJ,8CAsBO,MAAMjsH,EAAQ,CACnB2+B,MAAOC,IACPC,WAAYC,IACZC,KAAMC,IACNC,WAAYC,IACZC,cAAeC,IACfC,UAAWC,IACXC,aAAcC,IACdC,KAAMC,IACNC,YAAaC,IACbC,MAAOC,IACPC,OAAQC,IACRC,YAAaC,IACbC,cAAeC,IACfssF,cAAepnE,IACfqnE,cAAetnE,IACfhlB,MAAOC,IACPC,UAAWC,IACXC,OAAQC,IACRC,WAAYC,I,+BCzCd,qEAQA,MAAMjO,EAA0Cr8C,IAC9C,MACEorB,QAAQ,GAAEpvB,GAAI,KACdY,GACEoD,GAEE,YAAEsjC,GAAgBy8B,YAAqB/jE,IACvC,aAAE0gD,GAAiBC,YAAa38C,EAAEorB,OAAQ,CAC9CkY,YAAaA,IAKf,IAAKoZ,EAEH,YADAzhD,KAAOkJ,KAAK,GAAD/I,OAAIY,EAAE,WAAAZ,OAAUwB,EAAI,2BAIjC,MAAM,UAAEmlC,EAAS,QAAEtX,GAAYiyB,EACzB15C,EAAUklE,YAAkC,CAChDnmC,YACAomC,UAAWvrE,EACXwlC,UAAWpmC,EACXyuB,YAGFxvB,KAAOE,KAAK,GAADC,OAAIY,EAAE,WAAAZ,OAAUwB,EAAI,UAAUoG,EAAQ,C,sGC/B5C,MAAMsvF,EAAiCt4C,YAAGjxC,MAAAC,IAAA,oWAkB7CkrE,I,gCCrBJ,4DASO,MAAMoiE,EAAuBA,KAClC,MAAMr5G,EAAY7/B,aAAcqkE,GAASA,EAAMzkC,OAE/C,OAAOu5G,mBAAQ,IACNpsG,YAAgBlN,IACtB,CAACA,GAAW,C,mLCSV,MAAMrD,EAAmB5+B,IAKc,IALb,YAC/B6+B,EAAW,aACXC,EAAY,aACZ08G,GAAe,EAAI,uBACnBz8G,EAAyB,WACF/+B,EACvB,MAAM,cAAEs3C,GAAkBv1C,OAAOiF,QAAU,CAAC,GACtC,OAAEvB,EAAM,OAAEmC,GAAWxG,cAErBs2C,EAAY,CAChBC,QAASlyC,EAAOkyC,QAChB9Y,cACA+Y,oBAAqB/Y,EACrByY,gBACA1vC,SACAiwC,eAAe,GAADz3C,OAAKwH,GACnBk3B,eACAp3B,MAAOC,eAGT,OAAOsvC,IACJO,MAAM,CACLsmB,QAAS,CACPvoB,gBAAgB,GAElBwoB,YAAa,eACbvmB,MAAOC,IACPC,cAEDhuC,MAAK4d,IAAe,IAAd,KAAEpkB,GAAMokB,EAMblmB,cAAasE,eAAiBxC,EAE9BomF,cAEA/pF,IAAS4mB,OAASg0H,cAClBzzC,cACA3E,cAEIy5C,GACFv5H,IACGyb,aACAwhG,WAAWvvB,IAA6B5wE,GAC7C,GACA,E,aCxDN,MAAQ72B,QAASuzI,EAAiBt9G,SAAUu9G,GAAqBvzI,cAGpDooG,EAA8BA,KAAO,IAADorC,EAG/C,MAAMC,EAAc3kG,IAAaogD,UAG/B,CACA7/C,MAAOqkG,IACPnkG,UAAW,CACT7Y,YAAa48G,EAEb38G,aAAc48G,KAclB,OAAkB,OAAXE,QAAW,IAAXA,GAA2B,QAAhBD,EAAXC,EAAahxI,sBAAc,IAAA+wI,OAAhB,EAAXA,EAA6B13E,WAAW,C,4GC3CjD,MAAM63E,EAAmCzkE,IACvC,MAAM9rB,EAAkB8rB,EAAQpmD,KAAIjxB,IAAsC,IAAnCgB,GAAIg3I,EAAQ,SAAE/vF,EAAQ,IAAEI,GAAKroD,EAClE,MAAM,GACJgB,EAAE,KACFY,EAAI,aACJ01G,EAAY,gBACZ2gC,EAAe,wBACf8D,EAAuB,MACvBz9H,EAAK,eACL85H,EAAc,aACdlO,EAAY,mBACZoO,GACErwF,GAAY,CAAC,GAITuvD,KAAMwkC,EAAepsE,MAAOsoE,GAAc7vF,GAAO,CAAC,EAE1D,MAAO,CACLnc,OAAQksG,EACRJ,WACAt7H,QAASq/H,EACT7R,eACA5yB,eACAt2G,KACAi3I,kBACA35H,QACAmtC,SAAUswF,EACVzD,qBACAJ,YACA8D,gBACAp6I,OACD,IAGH,GAAI2pD,EAAgBxrD,MAAKyrD,GAAUA,EAAO9uC,UACxC,OAAO6uC,EAQT,OAFE0wF,EAA4B1wF,EAEG,EAG7B0wF,EAA8B1wF,IAClCA,EAAgB2wF,MACd,CAACrpH,EAAG8M,IAAM9M,EAAEqZ,OAAOC,cAAgBxM,EAAEuM,OAAOC,gBAE9Cof,EAAgB,GAAGE,UAAW,EACvBF,G,wmBC1CT,MCSM4sB,EACJA,KACE,MAAQh2D,GAAImgB,GAAcrgB,IAASyb,cAC7B,mBAAE4gG,EAAkB,0BAAED,GAA8B/7F,GAElDnE,SAAUo5D,GAASpvF,cAGrBuvC,EAAY,CAChBzvC,OAAQ,CACNC,QAJY4iD,cAKZysC,QAEFxoD,gBAAiBqc,YACfL,cACAD,eAEFpjD,MAAOC,eAGT,OAAOqwC,YAAY,CACjBR,MAAOggD,IACP9/C,cACChuC,MAAK1J,IAAe,IAAd,KAAEkD,GAAMlD,EACf,MAAQimC,IAAK2I,EAAUzsB,GAAIsgB,GAAYxgB,IAASC,YAC1C,eAAEoiC,GAAmB7hB,GACnBwD,IAAKsa,EAAYp+B,GAAImgB,GAAcrgB,IAASyb,cAC9C,YACJg3E,EAAW,yBACX+mB,EAAwB,0BACxBD,GACEj7E,GACE,kBAAE6E,GAAsB9iB,GACxB,QACJ+0C,EAAO,uBACP6+C,EAAsB,sBACtB5+C,EAAqB,0BACrB6kE,GACEj5I,EAAKi1E,0BACHikE,EAA4B/kE,EAAQz2E,OAAS,EAenD,GAbAy9H,GAA0B,GAErB8d,EAGHA,GACmB,6CAAnB73F,GAIAc,EAAkB,IAPlBA,EAAkB,6CAUfg3F,EAA2B,CAAC,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAI9B,MAAMC,EACmD,UAA/C,OAAR/tG,QAAQ,IAARA,GAAqB,QAAbytG,EAARztG,EAAUsnD,mBAAW,IAAAmmD,GAAS,QAATC,EAArBD,EAAuB1sE,eAAO,IAAA2sE,GAAK,QAALC,EAA9BD,EAAgCj0F,WAAG,IAAAk0F,OAA3B,EAARA,EAAqCpwG,eACjCywG,EACwD,UAApD,OAARhuG,QAAQ,IAARA,GAAqB,QAAb4tG,EAAR5tG,EAAUsnD,mBAAW,IAAAsmD,GAAS,QAATC,EAArBD,EAAuB7sE,eAAO,IAAA8sE,GAAU,QAAVC,EAA9BD,EAAgCx0F,gBAAQ,IAAAy0F,OAAhC,EAARA,EAA0CvwG,eAM5C,OALIwwG,GAAWC,IDvEOC,MAC5B,MAAMvrB,EAAe/xH,IAASC,SAAS,iBAC/BymC,IAAK2I,GAAa3sB,IAASC,YAC7B,uBAAEg0G,GAA2BtnF,EAE7BmvD,EAAWyT,IACX95D,EAAY,CAChB45E,eACA4E,yBACAuiB,uBAAwB,CACtB,CACE/7H,SAAS,EACT4B,MAAO,UACPmtC,UAAU,EACV2sF,eAAgB,CAAE9rG,aAAc,MAAOH,cAAe,QACtDmsG,mBAAoB,UACpBJ,UAAW,CAAE5rG,aAAc,MAAOH,cAAe,UAGrDzkC,MAAOC,eAGFmwC,YAAe,CACpBimD,SAAUA,EACVrmD,cAEChuC,MAAK1J,IAAe,IAAd,KAAEkD,GAAMlD,EACb,MAAQimC,IAAK2I,GAAa3sB,IAASC,YAC7B,YAAEg0E,GAAgBtnD,GAChB3I,IAAKsa,GAAet+B,IAASyb,cAC/B,YAAEg3E,GAAgBn0D,GAClB,QAAEovB,GAAYzsE,EAAK01I,6BAA6Bn7G,KAWtD,OATAi3E,EAAY,CACV9mC,WAAY+B,EAAQC,MACpBsmB,YAAW/yF,IAAA,GAGN+yF,GAAW,IACdvmB,cAGGzsE,CAAI,IAEZyG,OAAMzE,IACLjF,KAAOiF,MAAM,6BAA8B,CAAEA,UAC7Ck0D,cAAwB,GACxB,ECyBIyjF,GAEF9lC,mBACAunB,GAAmB,EAErB,CAcA,OAZA5pB,EAAY,CACVw0B,iCAAkCj+E,YAChCvT,EAAU3I,iBAEZwc,gBAAiBuwF,EAAiCzkE,KAEpDokD,EAAyBnkD,GACzBkkD,EAA0BtF,GAEtB32H,IAASC,SAAS,iBACpB8+H,GAAmB,GAEdp7H,CAAI,GACX,C,sGC3FC,MAAMijB,EAAS,CACpB22H,iBAAkB,CAChB77G,QAAS,GAETzqB,GAAI,CACF,UACA,cACA,OACA,UACA,OACA,UACA,cAMJumI,YAAa,CACX97G,QAAS,CAAC,WAAY,WACtBsgF,KAAM,CAAC,WAAY,gBAAiB,WACpCjyG,GAAI,CAAC,UAAW,WAAY,WAC5BC,GAAI,CAAC,WAAY,WACjBK,GAAI,CAAC,WAAY,WACjBe,GAAI,CAAC,WAAY,WACjBI,GAAI,CAAC,UAAW,WAAY,WAC5BU,GAAI,CAAC,UAAW,WAAY,UAAW,sBACvCE,GAAI,CAAC,gBAAiB,WACtB6vG,KAAM,CAAC,WAAY,gBAAiB,WACpCrvG,GAAI,CAAC,WAAY,WACjBsB,GAAI,CAAC,WAAY,WACjBS,GAAI,CAAC,WAAY,WACjB8oI,MAAO,CAAC,OAAQ,WAAY,WAC5B/lI,GAAI,CAAC,WAAY,WACjBC,GAAI,CAAC,gBAAiB,WACtBW,GAAI,CAAC,gBAAiB,WACtBU,GAAI,CAAC,WAAY,WACjBK,GAAI,CAAC,gBAAiB,WACtBC,GAAI,CAAC,WAAY,WACjBqB,GAAI,CAAC,gBAAiB,WACtBO,GAAI,CAAC,WAAY,WAAY,YAK/BwiI,sBAAuB,CACrBh8G,QAAS,CAACS,IAAkBC,KAC5B/sB,GAAI,CACF8sB,IACAC,IACAC,IACAC,IACAC,MAIJo7G,uBAAwB,CACtB7sI,IAAI,EACJmG,IAAI,GASNi3B,UAAW,CACTxM,QAASrK,IACT/nB,GAAIgoB,IACJ/nB,GAAI+nB,IACJxnB,GAAIwnB,IACJtnB,GAAI,CAAC,eACLQ,GAAI8mB,IACJ3mB,GAAI2mB,IACJxmB,GAAI,CAAC,cAAe,uBAAwB,0BAC5CC,GAAIumB,IACJrmB,GAAIqmB,IACJlmB,GAAI,CAAC,cAAe,uBAAwB,0BAC5CC,GAAI,CAAC,cAAe,cACpBG,GAAI,CAAC,cAAe,uBAAwB,0BAC5CG,GAAI2lB,IACJzlB,GAAIylB,IACJxlB,GAAIwlB,IACJhlB,GAAIglB,IACJ9kB,GAAI8kB,IACJpkB,GAAIokB,IACJ/jB,GAAI+jB,IACJ5jB,GAAI4jB,IACJvjB,GAAIujB,IACJpjB,GAAI,CACF,cACA,SACA,eACA,cACA,uBACA,0BAEFC,GAAImjB,IACJljB,GAAIkjB,IACJhjB,GAAIgjB,IACJ9iB,GAAI,CAAC,cAAe,uBAAwB,0BAC5CC,GAAI,CAAC,eACLC,GAAI4iB,IACJ1iB,GAAI0iB,IACJziB,GAAIyiB,IACJviB,GAAIuiB,IACJjiB,GAAIiiB,IACJhiB,GAAIgiB,IACJ/hB,GAAI+hB,IACJ9hB,GAAI8hB,IACJzhB,GAAIyhB,IACJrhB,GAAIqhB,IACJphB,GAAIohB,IACJnhB,GAAImhB,IACJxgB,GAAIwgB,IACJrgB,GAAI,CAAC,eACLC,GAAIogB,IACJngB,GAAImgB,IACJ7f,GAAI6f,IACJvf,GAAIuf,IACJtf,GAAIsf,IACJrf,GAAIqf,IACJpf,GAAIof,IACJjf,GAAIif,IACJ1e,GAAI0e,IACJve,GAAIue,IACJte,GAAI,CACF,qBACA,uBACA,yBACA,cACA,gCACA,mCAEFE,GAAIoe,IACJhe,GAAIge,IACJzd,GAAIyd,IACJrd,GAAIqd,IACJhd,GAAI,CACF,cACA,cACA,uBACA,0BAEFQ,GAAIwc,IACJpc,GAAI,GACJC,GAAImc,IACJhc,GAAIgc,IACJ9b,GAAI8b,IACJxb,GAAIwb,KAGNk7D,2BAA4B,CAC1B9wD,SAAS,EACTpnB,IAAI,GAGNk/B,WAAY,CACV9X,QAAS,CAAC,cAAe,kBAAmB,mBAC5C5wB,GAAI,CAAC,OACLoD,GAAI,CAAC,cAAe,kBAAmB,yBACvCmB,GAAI,CAAC,kBAAmB,mBACxB2D,GAAI,CAAC,mBACLsB,GAAKgP,GAEI,OADCA,EAEG,CAAC,eAED,CAAC,oBAIhBowB,oBAAqB,CACnBhY,QAAS,GACT1oB,GAAI,CAAC,4BAA6B,oBAGpC4kI,kCAAmC,CACjCl8G,QAAS,qCACTpnB,GAAKgP,GACa,OAAhBA,EACI,0BACA,gC,upBC7IH,MAAMwuB,EAAY,CACvB+lG,qBAAsBA,IACpB51H,YAAa,mCAEfs1H,iBAAkBA,KAChB,MAAM,gBAAEt/G,GAAoBp8B,cAAasE,gBACnC,mBAAE23I,GAAuB7/G,GAAmB,CAAC,EAG7C8/G,GAAgC,OAAlBD,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBp8I,SAAS,YAAY,EAI7D,OAAKo8I,GAAsBC,EAClB,GAGF32H,YAAsB,mBAAoBR,EAAO,EAG1DisF,oBAAqBA,IACnB5qF,YAAa,iCAGf67D,YAAaA,KAAA,IAAAhmD,EAAAC,EAAA,OACgC,QADhCD,EACXj8B,cAAasE,eAAe83B,uBAAe,IAAAH,GAAM,QAANC,EAA3CD,EAA6CI,YAAI,IAAAH,OAAN,EAA3CA,EAAmD+lD,WAAW,EAEhEk6D,oBAAqBA,KAAgB,IAAD1jG,EAAA8kE,EAAAC,EAClC,MAAM3oB,EACuB,QADRp8C,EACnBz4C,cAAasE,sBAAc,IAAAm0C,GAAiB,QAAjB8kE,EAA3B9kE,EAA6Brc,uBAAe,IAAAmhF,GAAU,QAAVC,EAA5CD,EAA8CpvC,gBAAQ,IAAAqvC,OAA3B,EAA3BA,EAAwD12G,SAClDA,QAASiuF,GAAiBhuF,cAElC,OACEmuB,IAAer1B,SAASk1F,IAAiBA,IAAiBF,CAAe,EAG7EunD,sBAAuBA,IACrB/9I,QAAQ4F,cAA0Bm4I,uBAEpCC,sBAAuBA,IACrBh+I,QAAQ4F,cAA0Bo4I,uBAEpCC,yBAA0BA,IACxBj+I,QAAQ4F,cAA0Bq4I,0BAEpCC,eAAgBA,KAA4B,IAADC,EACzC,MAAM,mBAAEr0E,EAAkB,WAAEs0E,EAAU,MAAEz4I,GAAUC,cAC5Cy4I,EAAmBv0E,GAAsBs0E,GAAcz4I,GAEvD,gBAAEo4B,EAAkB,CAAC,GACzBp8B,cAAasE,gBACT,0BAAEg+E,IAA6C,OAAflmD,QAAe,IAAfA,OAAe,EAAfA,EAAiBimD,aAAc,CAAC,EAGhEs6D,IADW,OAAfvgH,QAAe,IAAfA,GAAsC,QAAvBogH,EAAfpgH,EAAiBomD,6BAAqB,IAAAg6D,OAAvB,EAAfA,EAAwC/5D,YAAa,IAChBl9C,QACrC,CAAC+G,EAAOswG,KAGNtwG,EAAMswG,EAAMC,yBAA2BD,EAAM5Y,WACtC13F,IAET,CAAC,GAGGwwG,GACHJ,IAAqBp6D,GAA6Bq6D,EAAkBI,KAWvE,GATAl+I,IAAOE,KAAK,wBAAyB,CACnCi+I,cAAeF,EAAiB,IAAM,IACtCxqF,WAAY,+BACZ2qF,aAAcN,EAAkBO,IAAM,IAAM,IAC5C/9I,WAAY,yBACZC,gBAAiB,yBACjB+9I,qBAAsB76D,EAA4B,IAAM,OAGrDw6D,EACH,MAAO,GAGT,GAAIx6D,GACF,GAAIv8D,YAAa,yCAA0C,CAKzD,OAJ4BK,YAC1B,yCAG2B,MAAQ,MACvC,OACK,GAAIu2H,EAAkBI,IAAK,CAChC,MAAMK,EAAuBn3H,YAAkB,CAC7CJ,QAAS,0BACTM,UAAW,2BAEPk3H,EAAsBp3H,YAAkB,CAC5CJ,QAAS,0BACTM,UAAW,0BAGb,GAAIi3H,EACF,MAAO,OAGT,GAAIC,EACF,MAAO,KAEX,CAEA,MAAO,EAAE,EAGXpnF,qBAAsBA,IACpB7vC,YAAa,qCAEfiqF,oBAAqBA,KAAe,IAADitC,EAAAC,EACjC,MAAMC,EAAa,mCAMnB,OAJ0C,QAAxBF,EAAAv3H,YAAay3H,UAAW,IAAAF,GAAxBA,EAA0Bh3H,WAAW,QACnD,cAAuC,QAA3Bi3H,EAAGx3H,YAAay3H,UAAW,IAAAD,OAAA,EAAxBA,EAA0B32H,MAAM,KAAK,IACpD,SAEY,EAGlB62H,8BAA+BA,IAC7Br3H,YAAa,2CAEfmiF,iBAAkBA,KAChB,MAAM,eAAE/+F,GAAmBxJ,cAAasE,gBAClC,mBAAEo5I,GAAuBl0I,GAAkB,CAAC,EAElD,OAAOk0I,GAAsBpoH,GAAyB,EAGxDqmH,YAAaA,IAAiC52H,EAAO42H,YAErDgC,WAAYA,IAAev3H,YAAa,wBAExCw3H,uBAAwBA,IAGM,OAAxB72I,cAAYD,UAQdsf,YAAa,iCACbA,YAAa,4CAIjBy3H,iCAAkCA,IACzB53H,YAAkB,CACvBJ,QAAS,+BACTM,UAAW,sDAIf23H,gCAAiCA,IAC/Bv3H,YAAkB,CAChBV,QAAS,0CACTM,UAAW,gDAGf43H,kCAAmCA,IAC1B93H,YAAkB,CACvBJ,QAAS,mCACTM,UAAW,0CAIf63H,iCAAkCA,IAChCz3H,YAAkB,CAChBV,QAAS,0CACTM,UAAW,iDAGf83H,4CAA6CA,IACpCh4H,YAAkB,CACvBJ,QAAS,+BACTM,UAAW,gEAIf83B,4BAA6BA,IAC3B13B,YAAkB,CAChBV,QAAS,oCACTM,UAAW,6CAGf63B,gCAAiCA,IAC/Bz3B,YAAkB,CAChBV,QAAS,oCACTM,UAAW,6CAGf26B,oBAAqBA,IACnB16B,YAAa,kCAEf83H,mBAAoBA,IAClB93H,YAAa,iCAEf+3H,0BAA2BA,IACzB/3H,YAAa,wCAEfg4H,oBAAqBA,IACnBh4H,YAAa,kCAEfi4H,8BAA+BA,IAC7Bj4H,YAAa,6CAEfk4H,uBAAwBA,IACtBl4H,YAAa,qCAEfm4H,mCAAoCA,IAClCn4H,YAAa,+CAEfo4H,mCAAoCA,KAClC,MAAMx0E,EAAiCV,cAEvC,OACEljD,YAAa,sCACZ4jD,CAA8B,EAInCssD,qBAAsBA,KAAgB,IAADh1H,EAAAqE,EAOnC,MAJ8C,WADtC,QAANrE,EAAAX,cAAM,IAAAW,GAAQ,QAARqE,EAANrE,EAAQsE,cAAM,IAAAD,OAAR,EAANA,EAAgBuwC,gBAAiB53C,cAAY43C,gBAGtBvxB,IAAakO,KAAO9rB,cAAYD,OAE9B,EAG7Bw8H,0BAA2BA,IACzBl9G,YAAa,yCAEfq4H,gCAAiCA,IAC/Br4H,YAAa,6CAEfs4H,gBAAiBA,IAAet4H,YAAa,yBAE7Cu4H,4BAA6BA,KAAgB,IAADlrB,EAAAC,EAAAkrB,EAG1C,MACM,gBAAEjxG,EAAkB,CAAC,IACb,QAAZ8lF,EAAAzzH,qBAAY,IAAAyzH,GAAgB,QAAhBC,EAAZD,EAAcnvH,sBAAc,IAAAovH,GAAiB,QAAjBkrB,EAA5BlrB,EAA8Bt3F,uBAAe,IAAAwiH,OAAjC,EAAZA,EAA+CviH,OAAQ,CAAC,EAO1D,MATsB,CAAC,QAAS,OAAQ,QAAS,cAGVgX,MAAK6V,GAG1C7qD,QAAQsvC,EAAgBub,KAGH,EAGzB21F,4BAA6BA,KAAgB,IAADC,EAAAC,EAAAC,EAC1C,MAAM,gBAAE70F,IACM,QAAZ20F,EAAA9+I,qBAAY,IAAA8+I,GAAgB,QAAhBC,EAAZD,EAAcx6I,sBAAc,IAAAy6I,GAAiB,QAAjBC,EAA5BD,EAA8B3iH,uBAAe,IAAA4iH,OAAjC,EAAZA,EAA+C3iH,OAAQ,CAAC,EAE1D,OAAOh+B,QAAuB,OAAf8rD,QAAe,IAAfA,OAAe,EAAfA,EAAiB3qD,OAAO,EAGzCy/I,6BAA8BA,IAC5B74H,YAAa,oCAEf84H,yBAA0BA,IACxB94H,YAAa,8BAEf+4H,oCAAqCA,IACnC54H,YAAkB,CAChBV,QAAS,0CACTM,UAAW,kDAEbI,YAAkB,CAChBV,QAAS,0CACTM,UAAW,gDAGfi5H,oCAAqCA,KAAgB,IAADv0D,EAClD,MAAM7gB,EACJI,eAAoCd,cAMhC+1E,EAAgChhJ,QACpC23B,IAAyCn2B,SAAoB,QAAZgrF,EAAC9jF,qBAAW,IAAA8jF,OAAA,EAAXA,EAAa/jF,UAC7DkjE,GAGJ,OACG5jD,YAAa,uCACX4jD,GACHq1E,CAA6B,EAKjCC,iCAAkCA,IAChCl5H,YAAa,oCAOfm5H,uCAAwCA,IACtCn5H,YAAa,oCAEf8pG,aAAcA,IAAe7xH,QAAQ4F,cAA0BisH,cAE/DsvB,yBAA0BA,IACxBp5H,YAAa,wCAEfs0C,cAAeA,KAAgB,IAAD+kF,EAAAC,EAAAC,EAC5B,MAAM9qD,EACuB,QADR4qD,EACnBz/I,cAAasE,sBAAc,IAAAm7I,GAAiB,QAAjBC,EAA3BD,EAA6BrjH,uBAAe,IAAAsjH,GAAU,QAAVC,EAA5CD,EAA8CvxE,gBAAQ,IAAAwxE,OAA3B,EAA3BA,EAAwD74I,SACpD,aACJopH,EAAY,+BACZE,EAA8B,gBAC9B1nD,EAAe,0BACfk3E,GACE37I,eACI6C,QAAS+4I,GAAgB94I,cAC3B+4I,GACHF,GAA6Bx5H,YAAa,0BACvC25H,EAAgBlrD,IAAoBgrD,EAa1C,OAVAhhJ,IAAOE,KAAK,2BAA4B,CACtC+H,QAAS+4I,EACTG,cAAe9vB,EAAe,EAAI,EAClC+vB,kBAAmBv3E,EAAkB,EAAI,EACzCw3E,yBAA0B9vB,EAAiC,EAAI,EAC/D1jD,MAAOqzE,EAAgB,EAAI,EAC3BI,WAAYP,EAA4B,EAAI,EAC5CzgJ,WAAY,UACZC,gBAAiB,qCAEZ0gJ,IAA0BC,CAAa,EAGhDp7F,sBAAuBA,IACrBtmD,QAAQ4F,cAA0BmsH,gCAEpCgwB,aAAcA,IAAe7tH,IAAc1yB,SAASkH,cAAYD,SAEhEqhE,mBAAoBA,KAAA,IAAAq8B,EAAA67C,EAAA,OAC2B,QAD3B77C,EACO,QADP67C,EAClBp8I,qBAAyB,IAAAo8I,OAAA,EAAzBA,EAA2Bl4E,0BAAkB,IAAAq8B,IAAS,EAExD87C,sBAAuBA,IACrBl6H,YAAa,oCAEfm6H,uCAAwCA,IACtCn6H,YAAa,8CAEf88E,cAAeA,KACZ7tE,IAAyBx1B,SAASkH,cAAYD,SAGjD05I,2BAA4BA,KAC1B,MAAM,gBAAEC,GAAoBx8I,cAEtBy8I,EAA2Bz6H,YAAkB,CACjDJ,QAAS,kCACTM,UAAW,2CAGb,OAAO9nB,QAAQoiJ,GAAmBC,EAAyB,EAG7DjE,WAAYA,IAAep+I,QAAQ4F,cAA0Bw4I,YAE7DkE,iCAAkCA,IAChCtiJ,QAAQ4F,cAA0B28I,2BAClCx6H,YAAa,6CAEfy6H,6BAA8BA,IAC5B56H,YAAkB,CAChBJ,QAAS,6BACTM,UAAW,wDAIf26H,kBAAmBA,IACjB76H,YAAkB,CAChBJ,QAAS,6BACTM,UAAW,uDAGf46H,yBAA0BA,KACxB,MAAM,wCAAEC,GACN/8I,cACIg9I,EAAmBh7H,YAAkB,CACzCJ,QAAS,6BACTM,UAAW,oDAEb,OAAO9nB,QAAQ2iJ,GAA2CC,EAAiB,EAG7EC,6CAA8CA,KAC5C,MAAM,wCAAEF,GACN/8I,cACIg9I,EAAmBh7H,YAAkB,CACzCJ,QAAS,6BACTM,UAAW,oDAGb,OAAO9nB,SACJ2iJ,GAA2CC,EAC7C,EAGHE,qBAAsBA,IACpB/6H,YAAa,8BAEfg7H,uBAAwBA,IACtBh7H,YAAa,sCAEfiB,cAAeA,IAEXwgD,eAC8B,QAA7BvpE,cAAY+iJ,cACXhjJ,QAAQ4F,cAA0BykE,iBAIxCthD,eAAgBA,KACd,MAAMk6H,EAAoB/6H,YAAkB,CAC1CV,QAAS,mCACTM,UAAW,kBAEPmkD,EAA6BrC,cAEnC,OACEq5E,GACAh3E,IACCrmE,cAA0BykE,eAAe,EAI9CozE,uBAAwBA,KAAgB,IAADyF,EAAAC,EAKrC,MACa,WAJgC,QAA3CD,EAAAvhJ,cAAasE,eAAe83B,uBAAe,IAAAmlH,GAAM,QAANC,EAA3CD,EAA6CllH,YAAI,IAAAmlH,OAAN,EAA3CA,EAAmD5kC,SAAU,KAK7Dv+G,QAAQknB,YAAsB,yBAA0BR,GAAQ,EAIpE2kD,cAAeA,KAAA,IAAA+3E,EAAAC,EAAAC,EAAAC,EAAA,OACbvjJ,QACc,QADPojJ,EACLzhJ,qBAAY,IAAAyhJ,GAAgB,QAAhBC,EAAZD,EAAcn9I,sBAAc,IAAAo9I,GAAiB,QAAjBC,EAA5BD,EAA8BtlH,uBAAe,IAAAulH,GAAO,QAAPC,EAA7CD,EAA+Cp/D,aAAK,IAAAq/D,OAAxC,EAAZA,EAAsDl4E,cACvD,EAEHm4E,iCAAkCA,IAChCz7H,YAAa,4CAEf07H,qCAAsCA,IACpC17H,YAAa,kCAEf27H,qBAAsBA,IAAev3E,cAErCw3E,sCAAuCA,KACrC,MAAMC,EAAyB17H,YAAkB,CAC/CV,QAAS,iCACTM,UAAW,gEAGP+7H,EAA0B37H,YAAkB,CAChDV,QAAS,qCACTM,UACE,oEAGJ,OAAO87H,GAA0BC,CAAuB,EAI1D/6H,iBAAkBA,KAChB,MAAMuhD,EAAkBrqE,QAAQ4F,cAA0BykE,iBAEpD2B,EAAiB9jD,YAAkB,CACvCV,QAAS,mCACTM,UAAW,kBAEPmkD,EAA6BrC,cAEnC,OAAOS,IAAoB2B,IAAmBC,CAA0B,EAG1En+B,sBAAuBA,IAAeo+B,cAEtC43E,2BAA4BA,IACK,OAAxBp7I,cAAYD,QAGrBmgB,eAAgBA,IAAewiD,cAE/BqB,wBAAyBA,IAAeD,cAExCu3E,eAAgBA,KAAgB,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC7B,MAAQ97I,QAAS+4I,GAAgB94I,cAC3B2iE,EAAgBrrE,QACR,QADegkJ,EAC3BriJ,qBAAY,IAAAqiJ,GAAgB,QAAhBC,EAAZD,EAAc/9I,sBAAc,IAAAg+I,GAAiB,QAAjBC,EAA5BD,EAA8BlmH,uBAAe,IAAAmmH,GAAO,QAAPC,EAA7CD,EAA+ChgE,aAAK,IAAAigE,OAAxC,EAAZA,EAAsD94E,eAElDmrB,EACQ,QADO4tD,EACnBziJ,qBAAY,IAAAyiJ,GAAgB,QAAhBC,EAAZD,EAAcn+I,sBAAc,IAAAo+I,GAAiB,QAAjBC,EAA5BD,EAA8BtmH,uBAAe,IAAAumH,GAAU,QAAVC,EAA7CD,EAA+Cx0E,gBAAQ,IAAAy0E,OAA3C,EAAZA,EAAyD97I,QAC3D,OACEivB,IAAuBl2B,SAASggJ,IAChChrD,IAAoBgrD,GACpBn2E,CAAa,EAIjB6oE,mBAAoBA,KAClB,MAAM,gBAAE7pE,EAAe,MAAE1kE,GAAUC,cAC7B+F,EAAkBhG,EAAQ,MAAQ,KAElCqmE,EAAiB9jD,YAAkB,CACvCV,QAAS,mCACTM,UAAW,kBAEPmkD,EAA6BrC,cAgBnC,OAdAppE,IAAOE,KAAK,yCAA0C,CACpDk6B,UAAW,4BACX2kD,WAAYr3E,cACZs3E,aAAa,GAAD7+E,OAAKgL,EAAe,UAChCg0E,WAAY1T,EACR,iBACA,mBACJ2T,UAAW,oBACXgiE,oBAAqBv3E,EACrB62B,QAAS,UACTpgG,WAAY,UACZC,gBAAiB,4BAIjBf,QAAQqqE,KAAqB2B,IAAmBC,CAA0B,EAI9Eu4E,mBAAoBA,IAClBz8H,YAAa,qCAoBf+uF,8BAA+BA,KAAgB,IAADrvG,EAAAC,EAAA+C,EAAAugD,EAC5C,MAAMy5F,EAA0BzkJ,QAC9B4F,cAA0BmsH,gCAK5B,OAFAvxH,IAAOC,KAAK,6BAA8B,CAAEgkJ,4BAG1C16I,YAAiB,QAAPtC,EAACnF,cAAM,IAAAmF,GAAQ,QAARC,EAAND,EAAQF,cAAM,IAAAG,OAAR,EAANA,EAAgBwjD,0BAC3BnhD,YAAiB,QAAPU,EAACnI,cAAM,IAAAmI,GAAQ,QAARugD,EAANvgD,EAAQlD,cAAM,IAAAyjD,OAAR,EAANA,EAAgBG,0BAC3Bs5F,CAAuB,EAI3BrvC,6BAA8BA,KAAgB,IAADxqG,EAAA85I,EAC3C,MAAMD,EAA0BzkJ,QAC9B4F,cAA0BmsH,gCAG5B,OACEhoH,YAAiB,QAAPa,EAACtI,cAAM,IAAAsI,GAAQ,QAAR85I,EAAN95I,EAAQrD,cAAM,IAAAm9I,OAAR,EAANA,EAAgBt5F,mBAC3BrjC,YAAa,6BACb08H,CAAuB,EAI3BE,+BAAgCA,KAAA,IAAA9oC,EAAA+oC,EAAA,OAC9B76I,YAAiB,QAAP8xG,EAACv5G,cAAM,IAAAu5G,GAAQ,QAAR+oC,EAAN/oC,EAAQt0G,cAAM,IAAAq9I,OAAR,EAANA,EAAgBx5F,oBAC1BrjC,YAAa,2BAA2B,EAE3C88H,0BAA2BA,KAAA,IAAAC,EAAAC,EAAAC,EAAA,OACzBhlJ,QAC6B,QADtB8kJ,EACLnjJ,cAAasE,sBAAc,IAAA6+I,GAAiB,QAAjBC,EAA3BD,EAA6B/mH,uBAAe,IAAAgnH,GAAO,QAAPC,EAA5CD,EAA8C7gE,aAAK,IAAA8gE,OAAxB,EAA3BA,EACIH,0BACL,EAEH55F,eAAgBA,IACdjrD,QAAQ4F,cAA0BqlD,gBAEpC0oC,6BAA8BA,IAAe5nB,cAE7Cv6B,+BAAgCA,IAC9By5B,cAEFg6E,mBAAoBA,IAClBl9H,YAAa,0CAEfm9H,SAAUA,IAAen9H,YAAa,6BAEtCc,MAAOA,KAAA,IAAAs8H,EAAA,OACLnlJ,QACE4F,cAA0BD,QAAoC,QAA/Bw/I,EAAIxjJ,cAAas+D,sBAAc,IAAAklF,OAAA,EAA3BA,EAA6Bx/I,OACjE,EAEHgjB,0BAA2BA,IAAemiD,cAI1C98B,UAAWA,IAAW9mB,YAAsB,YAAaR,GAIzDg3H,kCAAmCA,IACjCx2H,YAAsB,oCAAqCR,GAI7D4yB,WAAYA,IAAWpyB,YAAsB,aAAcR,GAI3D4rE,2BAA4BA,IAC1BprE,YAAsB,6BAA8BR,GAEtDuC,yBAA0BA,IACxB4gD,cAEFu7E,2BAA4BA,IAC1Bl7E,cAEFm7E,kBAAmBA,IACjBt9H,YAAa,uCAEfu9H,2BAA4BA,IAC1Bv9H,YAAa,0CAIfyxB,oBAAqBA,IACnBtyB,YAAsB,sBAAuBR,GAI/C6+H,0BAA2BA,IACzBr+H,YAAsB,wBAAyBR,GAEjD8+H,gCAAiCA,IAC/Bz9H,YAAa,6CAEf09H,mCAAoCA,IAClC19H,YAAa,gCAEf29H,8BAA+BA,KAE7B,MAAM,QAAEj9I,GAAYC,cACpB,OAAOD,IAAY6d,IAAasR,EAAE,EAGpC+tH,wBAAyBA,IACvB59H,YAAa,sCAEf69H,qCAAsCA,IACpC19H,YAAkB,CAChBV,QAAS,iCACTM,UAAW,4BASf+9H,oBAAqBA,IACnBj+H,YAAkB,CAChBJ,QAAS,gCACTM,UAAW,yCAcfg+H,gCAAiCA,IAC/Bl+H,YAAkB,CAChBJ,QAAS,gCACTM,UAAW,+DAGfi+H,gCAAiCA,IAC/Bh+H,YAAa,qCAEfi+H,sCAAuCA,IACrCp+H,YAAkB,CAChBJ,QAAS,sCACTM,UAAW,+CAGfm+H,iCAAkCA,IAChCl+H,YAAa,kCAEfm+H,+BAAgCA,IAC9Bn+H,YAAa,+CAEf2a,0BAA2BA,IACzB3a,YAAa2Z,IAAWC,6BAE1BwkH,0CAA2CA,KAAgB,IAADC,EAAAC,EAAAC,EAAAC,EACxD,MAAQ99I,QAASiuF,GAAiBhuF,cAKlC,OAF8BguF,KADhB,QADO0vD,EACnBzkJ,qBAAY,IAAAykJ,GAAgB,QAAhBC,EAAZD,EAAcngJ,sBAAc,IAAAogJ,GAAiB,QAAjBC,EAA5BD,EAA8BtoH,uBAAe,IAAAuoH,GAAU,QAAVC,EAA7CD,EAA+Cx2E,gBAAQ,IAAAy2E,OAA3C,EAAZA,EAAyD99I,UAKzDsf,YAAa,sCAAsC,EAIvDy+H,wCAAyCA,IACvCz+H,YAAa,uCAEf0+H,gCAAiCA,IAC/B1+H,YAAa,iCAEf2+H,+BAAgCA,IAC9B3+H,YAAa,4BAEf4+H,6BAA8BA,IAC5B5+H,YAAa,gCAEf6+H,+BAAgCA,KAC9B,MAAMC,EAAwBj/H,YAAkB,CAC9CJ,QAAS,iCACTM,UACE,qFAEEg/H,EAAwBl/H,YAAkB,CAC9CJ,QAAS,+BACTM,UAAW,2DAEPi/H,EAAuBn/H,YAAkB,CAC7CJ,QAAS,mCACTM,UAAW,0CAGb,OAAO9nB,QACL+mJ,IAAyBF,GAAyBC,GACnD,EAIHE,yCAA0CA,IACxCj/H,YAAa,yCAEf0pB,kCAAmCA,KAAgB,IAADw1G,EAAAC,EAAAC,EAAAC,EAChD,MAAM,QAAE3+I,GAAYC,eACd,OAAE1C,GAAWrE,cAEb0lJ,EAAuB,YADP,OAANrhJ,QAAM,IAANA,OAAM,EAANA,EAAQkyC,SAElBmyB,EACQ,QADO48E,EACnBtlJ,qBAAY,IAAAslJ,GAAgB,QAAhBC,EAAZD,EAAchhJ,sBAAc,IAAAihJ,GAAiB,QAAjBC,EAA5BD,EAA8BnpH,uBAAe,IAAAopH,GAAO,QAAPC,EAA7CD,EAA+CjjE,aAAK,IAAAkjE,OAAxC,EAAZA,EAAsD/8E,gBACxD,OAAOg9E,KAAch9E,GAA+B,OAAZ5hE,CAAgB,EAG1D6+I,wCAAyCA,IACvCv/H,YAAa,uCAEfw/H,0BAA2BA,IACzBx/H,YAAa,yCAEf2yC,+BAAgCA,IAC9B3yC,YAAa2Z,IAAWI,6CAE1B0lH,wCAAyCA,KACtCz/H,YAAa,qCAEhB0/H,yCAA0CA,IACxCv/H,YAAkB,CAChBV,QAAS,oCACTM,UAAW,wCAGf4/H,yCAA0CA,IACxCx/H,YAAkB,CAChBV,QAAS,oCACTM,UAAW,wCAGf6/H,yCAA0CA,IACxCz/H,YAAkB,CAChBV,QAAS,oCACTM,UAAW,wCAGf8/H,uBAAwBA,IAGS,OAAxBl/I,cAAYD,QAGrBo/I,gCAAiCA,IAC/Bh8C,IAAoDrqG,SAClDkH,cAAYD,SAEhBq/I,uCAAwCA,IACtC5/H,YAAkB,CAChBV,QAAS,mCACTM,UAAW,4CAIfigI,oBAAqBA,KAAA,IAAAt8B,EAAA,OACoB,QADpBA,EACnBlkG,YAAW,oCAA4B,IAAAkkG,OAAA,EAAvCA,EAAyC9rC,UAAU,EAErDqoE,aAAcA,KACZ,IAAKjgI,YAAa,iCAChB,OAAO0qE,IAAuBC,QAGhC,MAAM5qE,EAAYJ,YAAa,kCAAoC,GAEnE,OAAKrc,OAAOq5C,OAAO+tC,KAAwBjxF,SAASsmB,GAI7CA,EAHE2qE,IAAuBC,OAGhB,GAYPgoD,EAAkBA,KAC7B,IAAK,IAADuN,EAAAC,EAAAC,EACF,MAAMz/H,EAAiBrd,OAAOq8B,QAAQkQ,GAAW1Q,QAC/C,CAAC+G,EAAK1tC,KAAA,IAAGomB,EAAayhI,GAAS7nJ,EAAA,OAAAmD,IAAA,GAC1BuqC,GAAK,IACR,CAACtnB,GAAcyhI,KAAU,GAE3B,CAAC,IAEG,MAAEv+G,EAAK,mBAAE4/B,GAAuBnvB,cAChC+tG,GACQ,QAAZJ,EAAAtmJ,qBAAY,IAAAsmJ,OAAA,EAAZA,EAAc3jE,qBAAiC,QAAhB4jE,EAAIvmJ,qBAAY,IAAAumJ,GAAW,QAAXC,EAAZD,EAAcj8F,iBAAS,IAAAk8F,OAAX,EAAZA,EAAyB77F,SAW9D,OATA9rD,IAAOC,KAAK,+BAAgCioB,GAC5CloB,IAAOE,KAAK,YAAa,CACvB4nJ,WAAY7+E,EAAqB,WAAa,MAC9CmpC,UAAWpqF,YAAgB,CAAEE,mBAC7B6/H,iBAAkB1+G,EAAQ,IAAM,IAChC/oC,WAAY,8BACZC,gBAAiB,gCAGnB2C,IAAA,GACKglB,GACC2/H,GAAqB9gG,YAAkB,CAAEC,UAAW,gBAE5D,CAAE,MAAOxtB,GASP,OANAx5B,IAAOiF,MAAM,yBAA0B,CACrCA,MAAOu0B,EAAIqC,QACXuD,MAAO5F,EAAI4F,QAGbp/B,IAAOmJ,QACA,CAAC,CACV,GAIE4iD,MACFmuF,EAAgB9iG,UAAYA,E,+FC/7BvB,MAAMwkG,EAAoC78F,YAAGjxC,MAAAC,IAAA,mT,mICA7C,MAAMwpF,EAAqCx4C,YAAGjxC,MAAAC,IAAA,ysC,yJCiB9C,MAAMi6I,EAAejoJ,IAGW,IAHV,cAC3B4vB,EAAa,KACbhuB,GACkB5B,EAClB,MACMomB,EADUxkB,IAASg7E,IAASC,MAE9B,qCACA,sCAEJ7+C,YAAgB,GAAD59B,OAAIwB,EAAI,iBACvB,MAAMwiI,EAAkBt8C,cAClB8lC,EAAexrH,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAC5D6jG,EAAgB/2F,YAAmBvvD,GACnCisH,EAAaC,YAAco6B,EAAet6B,GAC1Cu6B,EAAchgH,YAAW+/G,EAAer6B,GACxCu6B,EAAmB7oJ,IAASC,SAAS4mB,GACrCiiI,EAAwBjkB,GAAmBxiI,IAASg7E,IAASE,OAQnE,OAAKsrE,GAAqBC,EASxBxwF,YAACysE,IAAwB,CACvB10G,cAAeA,EACftR,MAAO6pI,EACP5jB,gBACEH,EAAkB,uCAAoCvjI,EAExDe,KAAMA,IAbNi2D,YAAC8oE,IAAsB,CAAC,cAAY,iBACjCwnB,EAaH,C,gCC5DN,gFAEO,MAAMhhG,EAA6B,CACxCn+B,KAAM,iBACNs/H,YAAa,SAGFvN,EAAyB,CACpCh1H,IAAagR,GACbhR,IAAawiI,GACbxiI,IAAa42G,G,gCCTf,gFAGA,MAAMmd,EAAyB95I,IAEY,IAFX,YAC9Bi7H,GAC6Bj7H,EAC7BC,IAAOE,KAAK,+BAAgC,CAC1CuzD,WAAY,qCACZ80F,UAAWvtB,EACXt6B,QAAS,WACTpgG,WAAY,sBACZC,gBAAiB,+BACjB,EAGEy+D,EACJ92C,IACU,IAADo4D,EAAAm/C,EAET,KADqCv3G,EAAeG,MAElD,OAGF,MAAMmgI,EAAiC,QAArBloE,EAAGx+E,OAAOuJ,mBAAW,IAAAi1E,OAAA,EAAlBA,EAAoBq5D,iBACvC,2BAEF,IAAK6O,GAAwC,IAAxBA,EAAa7nJ,OAChC,OAGF,MAEM8nJ,GAFwB,QAArBhpB,EAAG39H,OAAOuJ,mBAAW,IAAAo0H,OAAA,EAAlBA,EAAoBh3H,OACV+/I,EAAa,GAAGl6E,UAGtCtuE,IAAOE,KAAK,+BAAgC,CAC1CuzD,WAAY,yCACZitC,QAAS,WACTpgG,WAAY,sBACZooJ,eAAgBD,EAChBloJ,gBAAiB,+BACjB,C,gBCxCA,IAAIooJ,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,iCAAiC,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,4BAA4B,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,+BAA+B,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,2BAA2B,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,MAAQ,CAAC,KAAO,eAAe,OAAQ,IAAO,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,0BAA0B,MAAQ,CAAC,KAAO,eAAe,OAAQ,KAAQ,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,MAAQ,CAAC,KAAO,eAAe,OAAQ,IAAO,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,MAAQ,CAAC,KAAO,eAAe,OAAQ,KAAQ,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iCAAiC,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,uBAAuB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mCAAmC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,aAAa,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,uBAAuB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,6BAA6B,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,4BAA4B,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kCAAkC,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,4BAA4B,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,6BAA6B,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,6BAA6B,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,2CAA2C,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,wBAAwB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,6BAA6B,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,2BAA2B,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qCAAqC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,oBAAoB,OAAQ,IAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,MAAQ,CAAC,KAAO,YAAY,OAAS,CAAC,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,UAAU,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,2BAA2B,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,UAAU,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,SAAS,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,YAAY,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,cAAc,MAAQ,UAAU,OAAQ,SAAa,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,MAAQ,CAAC,KAAO,YAAY,OAAS,CAAC,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,kBAAkB,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,YAAY,MAAQ,wBAAwB,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,QAAQ,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,YAAY,MAAQ,aAAa,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,sBAAsB,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,YAAY,MAAQ,4BAA4B,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,cAAc,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,YAAY,MAAQ,mBAAmB,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,6BAA6B,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,YAAY,MAAQ,mCAAmC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,YAAY,MAAQ,0CAA0C,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,wBAAwB,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,YAAY,MAAQ,mCAAmC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,YAAY,MAAQ,+BAA+B,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,iCAAiC,OAAQ,IAAQ,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,YAAY,MAAQ,mCAAmC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,cAAc,OAAS,CAAC,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,YAAY,MAAQ,qDAAqD,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,cAAc,MAAQ,4HAA4H,OAAQ,IAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,4BAA4B,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,uBAAuB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,aAAa,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,YAAY,MAAQ,gBAAgB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,WAAW,IAAM,CAAC,MAAQ,EAAE,IAAM,OACz+lCA,EAAIC,IAAIxoB,OAAS,CAAC,KAAO,+mRAA2oR,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBjuR,SAASyoB,EAA0B9jC,EAAM+jC,GACvC,GAAkB,mBAAd/jC,EAAKgkC,KACPD,EAAKr7I,IAAIs3G,EAAK3lH,KAAKyyB,YACd,GAAkB,uBAAdkzF,EAAKgkC,KAA+B,CAC7C,IAAIpnJ,EAAOojH,EAAKpjH,KACE,cAAdA,EAAKonJ,MACPD,EAAKr7I,IAAI9L,EAAKvC,KAAKyyB,MAEvB,CAEIkzF,EAAKikC,cACPjkC,EAAKikC,aAAaC,WAAWz8I,SAAQ,SAASwmF,GAC5C61D,EAA0B71D,EAAW81D,EACvC,IAGE/jC,EAAKmkC,qBACPnkC,EAAKmkC,oBAAoB18I,SAAQ,SAAS28I,GACxCN,EAA0BM,EAAKL,EACjC,IAGE/jC,EAAKqkC,aACPrkC,EAAKqkC,YAAY58I,SAAQ,SAAS28I,GAChCN,EAA0BM,EAAKL,EACjC,GAEJ,CAEA,IAAIO,EAAiB,CAAC,EAWtB,SAASC,EAAcX,EAAKvpJ,GAC1B,IAAK,IAAI8xB,EAAI,EAAGA,EAAIy3H,EAAIS,YAAYzoJ,OAAQuwB,IAAK,CAC/C,IAAIq4H,EAAUZ,EAAIS,YAAYl4H,GAC9B,GAAIq4H,EAAQnqJ,MAAQmqJ,EAAQnqJ,KAAKyyB,OAASzyB,EACxC,OAAOmqJ,CAEX,CACF,CAhBEZ,EAAIS,YAAY58I,SAAQ,SAAS28I,GAC/B,GAAIA,EAAI/pJ,KAAM,CACZ,IAAI0pJ,EAAO,IAAIv7I,IACfs7I,EAA0BM,EAAKL,GAC/BO,EAAeF,EAAI/pJ,KAAKyyB,OAASi3H,CACnC,CACF,IA0DFU,EAAOC,QAAUd,EAEba,EAAOC,QAA0B,iBAhDrC,SAAkBd,EAAKn2G,GAErB,IAAIk3G,EAAS,CACXX,KAAMJ,EAAII,KACVK,YAAa,CAACE,EAAcX,EAAKn2G,KAE/Bm2G,EAAIrjJ,eAAe,SACrBokJ,EAAOd,IAAMD,EAAIC,KAKnB,IAAIe,EAASN,EAAe72G,IAAkB,IAAIjlC,IAC9Cq8I,EAAU,IAAIr8I,IACds8I,EAAU,IAAIt8I,IAOlB,IAJAo8I,EAAOn9I,SAAQ,SAASs9I,GACtBD,EAAQp8I,IAAIq8I,EACd,IAEOD,EAAQz8I,KAAO,GAAG,CACvB,IAAI28I,EAAWF,EACfA,EAAU,IAAIt8I,IAEdw8I,EAASv9I,SAAQ,SAASs9I,GACnBF,EAAQpzG,IAAIszG,KACfF,EAAQn8I,IAAIq8I,IACIT,EAAeS,IAAY,IAAIv8I,KACrCf,SAAQ,SAASw9I,GACzBH,EAAQp8I,IAAIu8I,EACd,IAEJ,GACF,CASA,OAPAJ,EAAQp9I,SAAQ,SAASs9I,GACvB,IAAIG,EAAKX,EAAcX,EAAKmB,GACxBG,GACFP,EAAON,YAAYt/G,KAAKmgH,EAE5B,IAEOP,CACT,CAIyCQ,CAASvB,EAAK,mB,yGC7GpD,MAAMj4B,EAA+C3xE,YAAGjxC,MAAAC,IAAA,0iCA0C3DwjE,IACAC,IACAE,IACAD,I,+BCtDJ,kCASO,MAAMw2B,EAA0BA,CACrCkiD,EACAC,EACA3hD,IAEkB,OAAXA,QAAW,IAAXA,OAAW,EAAXA,EAAaj0D,MAClB61G,GAAcA,EAAWF,KAAcC,G,+BCjB3C,sCAAIE,EAAqBx/H,GAClBA,EAAMsG,cAAiBtG,EAAM8G,SAIZ,GAAGzxB,OAAO2qB,EAAM/pB,GAAI,WAAWZ,OAAO2qB,EAAMkwC,iBAAmB,IAC9DxxB,OAJd1e,EAAMkwC,e,4ZCeV,MAAM6yD,EAAgBA,CAC3BoT,EACAtT,KAEA,MAAMC,EAAazzB,YAAqB8mC,GACxC,IAAKl4H,MAAMyd,QAAQonG,GACjB,MAAO,CAAC,EAGV,MAAM,QAAE3lH,EAAO,SAAEi2B,EAAQ,OAAEl2B,GAAWE,cACtC,OAAO0lH,EAAWlnF,QAChB,CAACk7F,EAAU/iH,KACT,OAAQA,GACN,IAAK,QAEH,OADA+iH,EAAS/iH,GAAQyD,IAAAC,cAAA,WACVq/G,EACT,IAAK,OAEH,OADAA,EAAS/iH,GAAQqf,EACV0jG,EACT,IAAK,UAEH,OADAA,EAAS/iH,GAAQ5W,EACV25H,EACT,IAAK,SAEH,OADAA,EAAS/iH,GAAQ7W,EACV45H,EAKX,IAAKx2C,IAAUvsE,GACb,OAAO+iH,EAGT,MAAM2oB,E,iWAAarnJ,CAAA,CACjByqH,eACA97D,SAAUhzC,GACPusE,IAAUvsE,IAKf,OAFA+iH,EAAS/iH,GAAQyD,IAAAC,cAACs/G,EAAa0oB,GAExB3oB,CAAQ,GAEjB,CAAC,EACF,EAWUC,EAAW9hI,IAIW,IAJV,WACvB6oC,EAAU,aACV+kF,GAEc5tH,EADXytB,EAAIrqB,IAAApD,EAAAqD,GAEP,OACEkf,IAAAC,cAACsQ,IAAI,CACH9I,QAASA,IAAM6nC,YAAahpB,GAE5B9V,KAAM66F,EAAe,KAAOlxE,YAAcjvB,GAC1ClQ,KAAM4qB,YAAW,cAAD/nC,OAAeyoC,KAC/B,C,+BCnFN,8EASA,MAAM03D,EAAgBhmE,aAAW,CAC/BC,OAAQA,IAAM,yCACdC,QAASA,IAAMlY,IAAAC,cAACiO,IAAc,MAC9BpxB,KAAM,aAENq7B,OAAMA,CAACR,EAAQnP,IAGNxI,IAAAC,cAACioI,YAAc1/H,I,+BCjB1B,8EAmBO,MAAM2/H,EAAwBA,KAMnC,MAAM,OAAEziJ,GAAWE,cACbugG,EACJtmG,aAAcpC,IAAA,IAAC,IAAEimC,GAAKjmC,EAAA,OAAKimC,EAAIsZ,gBAAgB0kB,YAAYh8D,EAAO,KAAK,GACnE4gB,EACJzmB,aAAcklB,IAAA,IAAAqjI,EAAA,IAAC,KAAE3oH,GAAM1a,EAAA,OAAS,OAAJ0a,QAAI,IAAJA,GAAiB,QAAb2oH,EAAJ3oH,EAAMnZ,mBAAW,IAAA8hI,OAAb,EAAJA,EAAmB74H,KAAK,KAAK,IAIpD84H,EAAgBC,GAAoBtoI,IAAMg5H,SAAQ,IAahD,CAZW7yC,EAAYz3E,KAAIrJ,IAAA,IAAC,IAAExf,EAAG,MAAE0pB,EAAK,KAAEvU,GAAMqK,EAAA,MAAM,CAC3DiX,YAAa/M,GAAS,GACtBg5H,YAAavtI,GAAQ,GACrBnV,IAAKA,GAAO,GACb,IAEiBsgG,EAAYz3E,KAAInJ,IAAA,IAAC,IAAE1f,EAAG,MAAE0pB,EAAK,KAAEvU,GAAMuK,EAAA,MAAM,CAC3DijI,WAAYxoI,IAAAC,cAAC0iC,IAAI,CAACrmB,YAAa/M,EAAOzkB,KAAK,OAC3CjF,IAAKA,GAAO,GACZ4iJ,YAAaztI,GAAQ,GACtB,MAGA,CAACtV,EAAQygG,IAEZ,MAAO,CAACkiD,EAAgBC,EAAkBhiI,EAAY,C,+BCjDxD,6EAUItpB,IAASu4H,YAAY,qBACvB73H,IAAO6L,kBAAkB2B,aAAa,iBAGxC,MAAM6yF,EAAoB/lE,aAAW,CACnCC,OAAQA,IAAM,+BACdC,QAASA,IAAMlY,IAAAC,cAACiO,IAAc,MAC9BpxB,KAAM,iBACNq7B,OAAQb,YAA4B,CAAEI,cAAe,mB,uFCfvD,MAAM4qG,E,MAAuB17G,EAAOC,IAAGrb,MAAAC,IAAA,uG,+BCHvC,+EAWA,MAAMy2H,EAAqBlqG,aAAW,CACpCC,OAAQA,IAAM,yCACdC,QAASA,IAAMlY,IAAAC,cAAC8zD,IAAc,MAC9Bj3E,KAAM,mBACNq7B,OAAMA,CAACxJ,EAAYnG,IACVxI,IAAAC,cAACyoI,iBAAmBlgI,I,mKCdxB,MAAMmgI,E,MAAgB/hI,EAAOC,IAAGrb,MAAAC,IAAA,+E,oBCiBhC,MAAMm9I,EAA4BA,KACvC,MAAM,yBAAEzvD,GAA6Bz5E,IAASC,WAAW+jB,IAEzD,OACE1mC,IAASC,SAAS,wBACjBk8F,GACDn8F,IAASC,SAAS,gCACjB2vE,cAGC5sD,IAAAC,cAAC0oI,EAAa,CAAC,cAAY,kBACxB/iH,YAAW,2CAKX,IAAI,E,aCZb,MAAMg4D,EAAoBp1E,IACxB,MAAM2X,EAAStgC,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGugB,MAAM,IAC5C2gD,EAAc9jF,IAASytC,IAAI,eAE3Bu8B,IAAuB8Z,EACvBqhD,EACJnlI,IAASC,SAAS,8BAClBD,IAASC,SAAS,mCACd4kI,EAAkBt8C,cAClBt3C,EAAiBC,eAIjBm0F,EAAwCrlI,IAASC,SACrD,mCAGF,OACE+iB,IAAAC,cAACqiH,IAAoB,KAClBT,GAAmB7hH,IAAAC,cAACiiH,IAAkB,MAEtCC,IAA8BN,GAC7B7hH,IAAAC,cAACsiH,IAAc,CAACl1G,cAAe7E,EAAM6E,gBAGvCrN,IAAAC,cAACylI,IAAY,CAACr4H,cAAe7E,EAAM6E,cAAehuB,KAAK,WAEtD4uC,GAA6B,SAAX9N,GACjBngB,IAAAC,cAAC86D,IAAe,CAAC1tD,cAAe7E,EAAM6E,gBAGvCg1G,GACCriH,IAAAC,cAACg7D,IAAqB,CAAC5tD,cAAe7E,EAAM6E,gBAG7CrwB,IAASC,SAAS,6BACjB+iB,IAAAC,cAACk7D,IAAoB,CAAC9tD,cAAe7E,EAAM6E,gBAG5CrwB,IAASC,SAAS,qCACjB+iB,IAAAC,cAACo7D,IAAyB,CAAChuD,cAAe7E,EAAM6E,gBAGjDrwB,IAASC,SAAS,2CACjB+iB,IAAAC,cAACs7D,IAA+B,CAACluD,cAAe7E,EAAM6E,gBAIvD80G,GAA6BN,GAC5B7hH,IAAAC,cAACsiH,IAAc,CAACl1G,cAAe7E,EAAM6E,gBAGtC25C,GAAsBhnD,IAAAC,cAACkhH,IAAY,CAACrgD,YAAaA,IAElD9gE,IAAAC,cAAC2oI,EAAyB,MACL,C,qHC3E3B,MCSMC,EDHqCC,MACzC,MAAM,QAAE1zG,EAAO,GAAE2zG,GAAOlqJ,cAAaqE,QAAU,CAAC,EAKhD,OAAKkyC,IAAY2zG,GAZP,QAgBH3zG,GAfM,WAea2zG,CAAa,ECPnBD,GAClB/xF,IAASwuC,IAFU,MAGnBA,IAEEC,EAA0B,SAC9BF,GAEI,IADJyI,EAAkD3vG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGg+C,KAErD,MAAO,CACLqpD,EACAhjG,KAKA,GAHIA,GACFA,EAAEm+C,iBAEA0kD,EACF,OAGF,MAAMqI,EAAc/nG,cAAYD,QAChCkjJ,EAAc,CAAEl7C,cAAalI,aAAasI,EAAmB,CAEjE,C,iCClCA,mJAGA,SAASi7C,EAAQn5G,EAAQo5G,GAAkB,IAAI9kH,EAAO57B,OAAO47B,KAAK0L,GAAS,GAAItnC,OAAO2gJ,sBAAuB,CAAE,IAAIC,EAAU5gJ,OAAO2gJ,sBAAsBr5G,GAASo5G,IAAmBE,EAAUA,EAAQ3qJ,QAAO,SAAU4qJ,GAAO,OAAO7gJ,OAAO8gJ,yBAAyBx5G,EAAQu5G,GAAKE,UAAY,KAAKnlH,EAAKqD,KAAK7gC,MAAMw9B,EAAMglH,EAAU,CAAE,OAAOhlH,CAAM,CAEpV,SAASvjC,EAAcitB,GAAU,IAAK,IAAIe,EAAI,EAAGA,EAAIxwB,UAAUC,OAAQuwB,IAAK,CAAE,IAAIkvG,EAAS,MAAQ1/H,UAAUwwB,GAAKxwB,UAAUwwB,GAAK,CAAC,EAAGA,EAAI,EAAIo6H,EAAQzgJ,OAAOu1H,IAAS,GAAI5zH,SAAQ,SAAUrE,GAAO,IAAgBgoB,EAAQhoB,EAAKi4H,EAAOj4H,GAAO,IAAK0C,OAAOghJ,0BAA4BhhJ,OAAOihJ,iBAAiB37H,EAAQtlB,OAAOghJ,0BAA0BzrB,IAAWkrB,EAAQzgJ,OAAOu1H,IAAS5zH,SAAQ,SAAUrE,GAAO0C,OAAOkhJ,eAAe57H,EAAQhoB,EAAK0C,OAAO8gJ,yBAAyBvrB,EAAQj4H,GAAO,GAAI,CAAE,OAAOgoB,CAAQ,CAOzf,IAAI67H,EAAuB,YAAQ,QAAS,CAC1C77H,OAAQ,WACR9R,MAAO,wBAFkB,EAGxBte,IACD,IAAI,WACFsyB,EAAU,WACV45H,GACElsJ,EACJ,OAAOmD,EAAcA,EAAc,CACjC2Y,MAAO,IACP0B,SAAU,OACVmB,WAAY,IACZwtI,KAAM,OACNvtI,WAAY,OACZwtI,cAAe,OACf1wF,SAAU,WACVl9C,IAAK,SACH0tI,IAA8B,OAAf55H,QAAsC,IAAfA,OAAwB,EAASA,EAAW1xB,UAAY,CAChG4c,SAAU,OACVq1D,UAAW,6BACT,CAAC,EAAG,CACNw5E,gBAAiB,aACjBxlF,WAAYqlF,EAAa,OAAS,yBAClC,GACuC,IAE3CD,EAAqBnoD,UAAY,CAC/BooD,WAAY,OACZ55H,WAAY,SACZmnC,UAAW,QAGb,IAAI6yF,EAAyB,YAAQ,MAAO,CAC1Cl8H,OAAQ,WACR9R,MAAO,0BAFoB,CAGc,CACzCjf,KAAM,SACN+jG,OAAQ,uBAQNmpD,EAA4B,YAAQ,QAAS,CAC/Cn8H,OAAQ,WACR9R,MAAO,6BAFuB,CAGW,CACzCjf,KAAM,SACN+jG,OAAQ,mF,scCrDV,MAAMopD,EACJxkJ,G,iWAIA7E,CAAA,CACE5C,WAAY,oBACTyH,GAIMykJ,EAA4BC,IACvCzsJ,IAAOE,KACL,iBACAqsJ,EAAW,CACTj1C,OAAQm1C,EACRlsJ,gBAAiB,iCAEpB,EAeUmsJ,EAAqBjgJ,IAChC,IAAKA,EACH,OAGF,MACE0jB,QAAQ,GAAEpvB,EAAE,MAAE8wB,GAAO,KACrBlwB,GACE8K,EAEE1E,EAAsB,CAC1BxH,gBAAgB,WAADJ,OAAaY,EAAE,KAAAZ,OAAIwB,IAGvB,WAATA,IACFoG,EAAQuvG,OAASzlF,GAGnB7xB,IAAOE,KAAK,OAADC,OAAQY,GAAMwrJ,EAAWxkJ,GAAS,EAOlC4kJ,EAAe5sJ,IAGK,IAHJ,MAC3BkF,EAAQ,GAAE,MACV0hC,GACmB5mC,EACnBC,IAAOE,KAAK,OAADC,OACFwmC,EAAK,UACZ4lH,EAAW,CACTprG,eAAgB,IAChBisB,eAAgBnoE,EAChB1E,gBAAgB,WAADJ,OAAawmC,EAAK,iBAEpC,EAGUimH,EAAyBA,KACpC5sJ,IAAOE,KAAK,kCAAmC,CAC7CI,WAAY,mBACZC,gBAAiB,6BACjB,EAGSssJ,EAA2BA,KACtC7sJ,IAAOE,KAAK,qCAAsC,CAChDI,WAAY,mBACZC,gBAAiB,gCACjB,C,oCC5FJ,oF,2uBCUA,MAmCamhD,EAAeA,CAAAr6B,EAAAM,EAG1BmlI,KAC6E,IAH7E,GAAE/rJ,EAAE,KAAE3B,EAAI,KAAEuC,GAAkD0lB,GAC9D,YAAEghB,GAAsC1gB,EAGxC,MACMgf,EADmB,UAAThlC,EACQvC,EAzCE2B,IAEnBA,EAAG+2B,QADW,sBACW,CAAC7G,EAAG8gE,EAAIC,IAAMA,EAAEh0D,gBAuCjBu2C,CAAmBxzE,GAC5C0gD,EA9BqB+yB,EAAAz0E,EAQ3BiiC,KACuB,IARvB,MACE2E,EAAK,YACL0B,GAIDtoC,EAGD,OAAIsoC,EACKrG,EAAU,GAAD7hC,OAAIkoC,EAAW,YAAW1B,GAGrC3E,EAAU2E,EAAM,EAgBF6tC,CACnB,CAAEnsC,cAAa1B,SACfmmH,GAGF,MAAO,CACLzkH,YAAaA,GAAW,GAAAloC,OAAOkoC,EAAW,WAC1CoZ,eACA9a,QACD,EAGU2lF,EACXjkF,IAEA,OAAQA,GACN,IAAK,IACH,OAAOH,YAAW,sDACpB,IAAK,IACH,OAAOA,YAAW,sDACpB,IAAK,iBACL,IAAK,kBACH,OAAOA,YACL,yDAEJ,QACE,OAAO,KACX,EAGW24E,EAAwBA,CACnCksC,EACAC,KAEA,MAAMC,EAAwBv9G,YAC5Bq9G,EACAp9G,gBAEI,WAAE5I,GAAeX,YAAa,CAClCgJ,mBACE69G,IAEEx7G,EAAmB5mC,OAAOq8B,QAAQH,EAAWqI,oBAAsB,CAAC,GAE1E,QAAIqC,EAAiB9wC,OAAS,KAC5B6hD,EAAkBuqG,EAAcC,EAAiBv7G,IAC1C,EAGE,EAGP+Q,EAAoBA,CACxBuqG,EACAC,EACAv7G,KAEA,MAAMliB,EAASkiB,EAAiB/K,QAAO,CAACwmH,EAAYrlI,KAAwB,IAArB8e,EAAO5+B,GAAQ8f,EACpE,OAAA3kB,IAAA,GACKgqJ,GAAY,IACf,CAACvmH,GAAKzjC,IAAA,GAED6pJ,EAAapmH,IAEb5+B,IACJ,GAEF,CAAC,GAEJilJ,EAAe9pJ,IAAC,CAAC,EACZ6pJ,GACAx9H,GACH,C,yKC5HG,MAAM49H,EAAkB,CAAC,OAAQ,U,8CCGxC,MAsBMC,EAAqB,CAEzBC,OAJcx7H,GAA0B6wE,YAAiB7wE,GAKzDy7H,IAzBez7H,IACf,IAAKA,EACH,MAAO,GAGT,MAAM07H,EAAW/qD,YAAe3wE,GAE1B27H,EAAY,CAChB,CAAC,GAAID,EAAS1mG,MAAM,EAAG,IACvB,CAAC,IAAK0mG,EAAS1mG,MAAM,EAAG,IACxB,CAAC,IAAK0mG,EAAS1mG,MAAM,EAAG,IACxB,CAAC,IAAK0mG,EAAS1mG,MAAM,EAAG,MAEvB71B,KAAIjxB,IAAyB,IAAvB0tJ,EAAW57H,GAAM9xB,EACtB,OAAO8xB,EAAQ47H,EAAY57H,EAAQ,EAAE,IAEtC8yB,KAAK,IACR,OAAO6oG,CAAS,GCRZ79H,EAAgB,SAAC5qB,EAAG8sB,GACxB,MAAQkQ,KAAMC,GAAchgB,IAASC,YAC7B4P,MAAOic,GAAyB9L,EAAU8L,qBAE9CvkC,YAAW6jJ,EAAmBt/G,MAChCjc,EAAQu7H,EAAmBt/G,GAAsBjc,IAClD,QAAAhpB,EAAAnI,UAAAC,OANiC6sB,EAAI,IAAAzkB,MAAAF,EAAA,EAAAA,EAAA,KAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJwkB,EAAIxkB,EAAA,GAAAtI,UAAAsI,GAQtC0kJ,YAAqB3oJ,EAAG8sB,KAAUrE,EACpC,ECjBMmgI,EAAwB,CAC5Bp+H,OAAQ,CAAC,iCACTC,SAAS,GAsDLo+H,EAAwB,CAC5B5sH,QAV6BnP,IAC7B,MAAMrC,EAAUhwB,QAAQqyB,GAExB,MAAO,CACLtC,OAAQC,EAAU,GAAK,CAAC,gBACxBA,UACD,EAKD89H,IAnDmBO,IACnB,MAAMh8H,EAAQg8H,EAAI/1H,QAAQ,WAAY,IAChCg2H,EAAgBj8H,EAAMlxB,OAAS,GAC/BotJ,EAAwBl8H,EAAM5vB,MAAM,eAG1C,GAAI6rJ,GAAiBC,EACnB,OAAOJ,EAIT,IAAIK,EAAO,EAGX,IAAK,IAAI98H,EAAI,EAAG+8H,EAAW,GAAWA,EAAW,EAAG/8H,IAAK+8H,IACvDD,GAAQC,GAAYp8H,EAAMX,GAE5B,MAAMg9H,EAAaF,EAAO,GACpBG,EAAU,GAAKD,EAAa,GAAK,GAAKA,EAAa,EACzD,GAAIC,IAAY5lH,SAAS1W,EAAM,GAAI,IACjC,OAAO87H,EAIT,IAAIS,EAAO,EAGX,IAAK,IAAIl9H,EAAI,EAAG+8H,EAAW,GAAWA,EAAW,EAAG/8H,IAAK+8H,IACvDG,GAAQH,GAAYp8H,EAAMX,GAE5Bk9H,GAAkB,EAAVD,EACR,MAAME,EAAaD,EAAO,GAE1B,OADgB,GAAKC,EAAa,GAAK,GAAKA,EAAa,KACzC9lH,SAAS1W,EAAM,IAAK,IAC3B87H,EAGF,CAAEp+H,OAAQ,GAAIC,SAAS,EAAM,GAiBhC8+H,EAAuC,CAC3C10I,GAAI,CACF20I,YAAa,CAAExzF,UAAW,GAAIjC,QAAS,cACvC01F,gBAAiB,CACfzzF,UAAW,GACXjC,QAAS,wB,mPC/Df,MA0BM21F,EAAkBA,CAAC58H,EAAOzB,KAC9B,MAAM,OAAEb,EAAS,GAAE,QAAEC,GAAYY,EAC3B0W,EAAYvX,EAAO,IAAM,GAQ/B,O,iWAAArsB,CAAA,CACE+B,MARY+hC,YAAc,CAC1BF,YACAH,MAAO,yBACPnX,UACAqC,UAKAiV,YACAtX,UACAqC,SACIrC,GAAW,CAAE4B,cAAe5B,GAAU,ECxCxCG,EAAgB,SAAC5qB,EAAG8sB,GAAoB,IAAD,IAAAhpB,EAAAnI,UAAAC,OAAT6sB,EAAI,IAAAzkB,MAAAF,EAAA,EAAAA,EAAA,KAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJwkB,EAAIxkB,EAAA,GAAAtI,UAAAsI,GACtC0kJ,YAAqB3oJ,EAAG8sB,KAAUrE,GDFC7rB,KACnC,MAAQogC,KAAMC,GAAchgB,IAASC,YAC7B8f,KAAM2sH,GAAe1sI,IAASyb,cAChC,uBAAEkI,GAA2B3D,GAC7B,sBAAE83B,GAA0B40F,EAI5B78H,EADqBtoB,YAAW6jJ,EAAmBzrJ,IAErDyrJ,EAAmBzrJ,GAAMgkC,EAAuB9T,OAChDu7H,EAAmBC,OAAO1nH,EAAuB9T,OAI/CzB,EADwB7mB,YAAWqkJ,EAAsBjsJ,IAE3DisJ,EAAsBjsJ,GAAMkwB,GAC5B+7H,EAAsB5sH,QAAQnP,GAIlCioC,EAAsB,CACpBnzB,MAAO,yBACP5+B,QAJc0mJ,EAAgB58H,EAAOzB,IAKrC,ECjBFu+H,CAA6B98H,EAC/B,E,qBCZO,MAAM+8H,EAA2B7uJ,IAI3B,IAJ4B,QACvCkI,GAGDlI,EACCC,IAAOE,KAAK,qCAAsC,CAChD2uJ,oBAAqB5mJ,EACrB3H,WAAY,SACZC,gBAAiB,8BACjB,E,wDCcG,MAAMuuJ,EAAoBA,KAAoB,IAADC,EAClD,MAAM,QAAE9mJ,EAAO,OAAED,GAAWE,cAGtB8mJ,EAAgB72G,iBAA0B,MAE1C82G,EAAW,yBAGjBpxH,qBAAU,KDpBkCxW,KAIjC,IAJkC,QAC7Cpf,GAGDof,EACCrnB,IAAOE,KAAK,6BAA8B,CACxC2uJ,oBAAqB5mJ,EACrB3H,WAAY,SACZC,gBAAiB,gCACjB,ECYA2uJ,CAA+B,CAAEjnJ,WAAU,GAC1C,IAGH,MAAO0iJ,EAAgBC,EAAkBhiI,GACvC6hI,eASK0E,EAAYC,GAAiB7jI,oBAAS,IACtC0c,EAAOonH,GAAY9jI,mBACxBo/H,EAAez6D,WAAUnwF,IAAA,IAAC,YAAE6+B,GAAa7+B,EAAA,OAAK6+B,IAAgB32B,CAAO,KAIvE41B,qBAAU,KACR,MAAMyxH,EAAW3E,EAAez6D,WAC9B7oE,IAAA,IAAC,IAAElf,GAAKkf,EAAA,OAAKlf,KAASygB,GAAe3gB,EAAQ,IAE/ConJ,EAASC,EAAS,GACjB,CAAC1mI,EAAa+hI,IAMjB,MAAM4E,EAAqBjU,mBAAQ,IACzBpzC,IAA2B,IAADsnD,EAAAC,EAAAC,EAChC,MAAMC,EAA0C,QAAhCH,EAAG7E,EAAeziD,UAAc,IAAAsnD,OAAA,EAA7BA,EAA+BrnJ,IAE9CwnJ,KADoC,QAAxBF,EAAG9E,EAAe1iH,UAAM,IAAAwnH,OAAA,EAArBA,EAAuBtnJ,MAO1CymJ,EAAyB,CAAE3mJ,QAAS0nJ,IAEpCztG,YAAuB,CAAEt5B,YAAa+mI,IAEtCttG,YAAmB,CACjB1b,MAAO,cACP5+B,QAAS,CACPqpB,cAAc,EACdsoB,SAAS,EACTlqB,SAAS,EACTqC,MAAO89H,KAGXP,GAAc,GACD,OAAbJ,QAAa,IAAbA,GAAsB,QAATU,EAAbV,EAAe52G,eAAO,IAAAs3G,GAAtBA,EAAwBxzI,SAlBtBkzI,GAAc,EAkBe,GAEhC,CAACzE,EAAgB1iJ,EAASD,EAAQigC,IAGrC,OAAK0iH,GAA4C,IAA1BA,EAAehqJ,OAKpC2hB,IAAAC,cAACH,IAAoB,KACnBE,IAAAC,cAACk8E,IAAI,KACHn8E,IAAAC,cAACsL,IAAS,KACPq0E,YACCh6D,YAAW,4BAA6B,CACtCtf,YACEtG,IAAAC,cAACi8E,IAAe,KACQ,QADRuwD,EACbpE,EAAe1iH,UAAM,IAAA8mH,OAAA,EAArBA,EAAuBlE,iBAMlCvoI,IAAAC,cAACo8E,IAAsB,KACrBr8E,IAAAC,cAACm8E,IAAU,CACT,gBAAeywD,EACf,gBAAc,UACdpuJ,GAAIkuJ,EACJ,cAAaA,EACbllI,QAASA,IAAMqlI,GAAeD,GAC9Bh9H,IAAK68H,EACL57E,KAAK,wBACLzxE,KAAK,UAEL2gB,IAAAC,cAACgoH,IAAQ,OAEXjoH,IAAAC,cAACqtI,IAAa,CACZC,mBAAmB,gBACnB,cAAY,cACZC,kBAAkB,EAClBC,OAAQZ,EACRa,cAAc,aACdC,YAAa/nH,YAAW,mCACxBovG,QAASA,IAAM8X,GAAc,GAC7Bc,YAAaX,EACb11H,QAAS+wH,EACTuF,eAAa,EACbjoD,cAAejgE,EACf9lB,MAAM,KACNiuI,iBAAkBnB,OA3CnB3sI,IAAAC,cAACiO,IAAc,KA+CC,ECvHrB6/H,EACJvlI,IACiB,IAADwlI,EAChB,MAAM1nI,EAAczmB,aAAcpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKnZ,WAAW,IAC1D2nI,EAAYp4G,iBAA0B,MAS5C,OARAxa,aAAW,KACL7S,EAAM0lI,qBAAgC,OAATD,QAAS,IAATA,KAAWn4G,SAC1Cm4G,EAAUn4G,QAAQl8B,OACpB,IAKsB,QAApBo0I,EAACxlI,EAAM+rC,qBAAa,IAAAy5F,GAAnBA,EAAqB3vJ,OAKxB2hB,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClBiC,YAAa5E,EAAM4E,YAEnBC,cAAeA,CAAC5qB,EAAG2iI,EAAUrmF,EAAUtb,KAAU,IAAD0qH,EAC9C7B,EAAyB,CAAE3mJ,QAASy/H,IACjB,QAAnB+oB,EAAA3lI,EAAM6E,qBAAa,IAAA8gI,GAAnBA,EAAAnjJ,KAAAwd,EAAsB/lB,EAAG2iI,EAAUrmF,EAAUtb,EAAK,EAEpDnW,aAAc9E,EAAM8E,aACpB7uB,GAAG,cACHsd,MAAO6pB,YAAW,2BAClB9oC,KAAK,cACLywB,UAAU,EACVgnC,cAAe/rC,EAAM+rC,cACrB05F,UAAWA,GACP3nI,IAlBCtG,IAAAC,cAACiO,IAAc,KAmBpB,ECrDAwhB,EAA2B,CAAC,EAoB5B0+G,EAA8BA,KAKlC,MAAMvoJ,EAAMD,cAAYF,OACxB,GAAIgqC,EAAM7pC,GACR,OAAO6pC,EAAM7pC,GAEf,MAAMwoJ,EA1BmBrxJ,IAASC,SAChC,oCAIO4B,cAAasf,QAAQkwI,YAGvBxvJ,cAAasf,QAAQmwI,eAmBtBC,EAAuBhmJ,OAAOq8B,QAAQypH,GAAa3/H,KACvDjxB,IAAA,IAAE+wJ,EAAUxzI,GAAKvd,EAAA,MAAM,CACrBoI,IAAK2oJ,EACLxzI,OACAuU,MAAOi/H,EACR,IAGH,OADA9+G,EAAM7pC,GAAO0oJ,EACNA,CAAoB,ECrCvBE,EAAiC,CACrCxhI,OAAQ,CAAC,0CACTC,SAAS,GAGLwhI,EAAsBA,CAC1Bn/H,EACAo/H,EACAC,EACAjvJ,KAEA,IAAI29B,EACAuxH,EAAO,EAEX,IAAK,IAAIjgI,EAAI,EAAGA,EAAIggI,EAAahgI,IAC/BigI,GAAc7pF,OAAOz1C,EAAMX,IAAMo2C,OAAO2pF,EAAO//H,IAKjD,OAHA0O,EAAIuxH,EAAO,GACXvxH,EAAU,KAANA,EAAW,EAAIA,EAEfA,IAAM0nC,OAAOrlE,EAIN,EAyBPmvJ,EAAwBA,CAACC,EAAaC,KAC1C,GAAID,EAAM,KAAOA,IAAQC,EACvB,OAAO,EACF,IAAa,MAARD,GAAuB,MAARA,IAA6B,IAAbC,EACzC,OAAO,EACF,GAAID,EAAM,IAAK,CAGpB,OAAOD,EAFWC,EAAM,IAEgBC,EAC1C,CAEA,OAAO,CAAK,EAwCR1D,EAAwB,CAC5B5sH,QAV6BnP,IAC7B,MAAMrC,EAAUhwB,QAAQqyB,GAExB,MAAO,CACLtC,OAAQC,EAAU,GAAK,CAAC,gBACxBA,UACD,EAKD+hI,gBAvCqBC,IACrB,MAAM3/H,EAAQ2wE,YAAegvD,GAE7B,GAAqB,KAAjB3/H,EAAMlxB,OACR,OAAOowJ,EAKT,GAAIzpF,OAAOz1C,GAAS,QAAS,CAC3B,MAAM4/H,EAAc5/H,EAAM8b,UAAU,EAAG,GACjC2jH,EAAWhqF,OAAOz1C,EAAM8b,UAAU,IACxC,IAAI0jH,EAAM,EACNK,EAAa,EAEjB,IAAK,IAAIxgI,EAAIugI,EAAY9wJ,OAAS,EAAGuwB,GAAK,EAAGA,IAC3CmgI,GAAY/pF,OAAOmqF,EAAYx5B,OAAO/mG,IAAMwgI,EAC5CA,IAGF,IAAKN,EAAsBC,EAAKC,GAC9B,OAAOP,CAEX,CAEA,MAAO,CAAExhI,OAAQ,GAAIC,SAAS,EAAM,EAepCmiI,0BA5EmBC,IACnB,MAAM//H,EAAQ2wE,YAAeovD,GAE7B,GAAqB,KAAjB//H,EAAMlxB,OACR,OAAOowJ,EAET,MAAME,EAAS,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5C,OAAKD,EAAoBn/H,EAAOo/H,EAAQp/H,EAAMlxB,OAAS,EAAGkxB,EAAM,MAKhEo/H,EAAOY,QAAQ,GAEVb,EAAoBn/H,EAAOo/H,EAAQp/H,EAAMlxB,OAAS,EAAGkxB,EAAM,KAIzD,CAAEtC,OAAQ,GAAIC,SAAS,GAHrBuhI,GAPAA,CAU2B,GCpBhCe,EAAkB,CACtBC,mBCZ0BjnI,IAC1BiT,YAAgB,sBAChB,MAAMkQ,EAAqB9rC,aACzBpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKkM,kBAAkB,IAEjC4oB,EAAgB10D,aAAcklB,IAAc,IAAb,IAAE2e,GAAK3e,EAC1C,MAAM,OAAErf,GAAWE,cACnB,OAAO89B,EAAIsZ,gBAAgB0kB,YAAYh8D,EAAO,IAKhD,OAAkB,OAAb6uD,QAAa,IAAbA,KAAel2D,OAKlB2hB,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClBiC,YAAa5E,EAAM4E,YACnBC,cAAe7E,EAAM6E,cACrB,cAAY,qBACZC,aAAc9E,EAAM8E,aACpB7uB,GAAG,qBACHsd,MAAO6pB,YAAW,kCAClB9oC,KAAK,qBACLywB,UAAU,EACVgnC,cAAeA,GACX5oB,IAdC3rB,IAAAC,cAACiO,IAAc,KAepB,EDfJwhI,YEjBmBlnI,IACnBiT,YAAgB,eAChB,MAAM2N,EAAcvpC,aAAcpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAK2J,WAAW,KAC1D,cAAEgpF,EAAa,YAAE7jC,GAAgB1uF,aAAcklB,IAAc,IAAb,IAAE2e,GAAK3e,EAC3D,OAAO2e,EAAIsZ,gBAAgBsxC,QAAQ,IAGrC,OACEtuE,IAAAC,cAAC0vI,IAAgBxkI,IAAA,CACfiC,YAAa5E,EAAM4E,YACnBC,cAAe7E,EAAM6E,cACrB6B,wBAAyB,CAAEjB,aAAc,QACzC2hI,WAAYx9B,EACZ7jC,YAAaA,EACbjhE,aAAc9E,EAAM8E,aACpB7uB,GAAG,cACHsd,MAAO6pB,YAAW,mBAClBrY,UAAU,EACVluB,KAAK,OACD+pC,GACJ,EFFJymH,OGjBcrnI,IACdiT,YAAgB,UAChB,MAAMq0H,EAASjwJ,aAAcpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKqwH,MAAM,IAChDC,EAAgBlF,EAAgBn8H,KAAIohI,IAAM,CAC9C90I,KAAM4qB,YAAW,eAAD/nC,OAAgBiyJ,IAChCvgI,MAAOugI,MAGT,OACE9vI,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClB6kI,YAAa,CAAEC,SAAS,GACxBxxJ,GAAG,SACHsd,MAAO6pB,YAAW,sBAClB9oC,KAAK,SACLywB,UAAU,EACVgnC,cAAew7F,GACXD,EACAtnI,GACJ,EHAJ0nI,uBIXA1nI,IAEAiT,YAAgB,0BAChB,MAAM4H,EAAyBxjC,aAC7BpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAK4D,sBAAsB,IAErCmI,EAAuB3rC,aAC3BklB,IAAA,IAAAorI,EAAA,IAAC,KAAE1wH,GAAM1a,EAAA,OAA8B,QAA9BorI,EAAK1wH,EAAK+L,4BAAoB,IAAA2kH,OAAA,EAAzBA,EAA2B5gI,KAAK,IAE1CjJ,EAAczmB,aAAcwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKnZ,WAAW,KAAK,CAAC,EAChE8pI,EAAkBhqI,YACtBppB,IAAS4mB,OAAOg3H,kCAEL,OAAXt0H,QAAW,IAAXA,OAAW,EAAXA,EAAaiJ,OAGTxT,EAAQ6pB,YAAWwqH,IAEnB,UAAE33F,EAAS,QAAEjC,GZyCnBhrB,KAEA,MAAM,QAAE7lC,GAAYC,cAEdyqJ,EAAgBrE,EAAqCrmJ,GAC3D,OAAK0qJ,GAGEA,EAAc7kH,IAFZ,CAAC,CAEsC,EYjDjB8kH,CAAmB9kH,GAElD,OACExrB,IAAAC,cAAC4yC,IAAkB1nC,IAAA,CACjBiC,YAAaA,IACbC,cAAeA,EACfC,aAAcA,IACd7uB,GAAG,yBACHsd,MAAOA,EAEP08C,UAAWA,EACXjC,QAASA,EACTjpC,UAAU,EAGVwoC,aAAcu1F,EAAsB9/G,IAChCnI,GACJ,EJvBJktH,qBKdA/nI,IAEAiT,YAAgB,wBAChB,MAAM+P,EAAuB3rC,aAC3BpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAK+L,oBAAoB,IAGnCllB,EAAczmB,aAAcklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKnZ,WAAW,KAAK,CAAC,EAQhEkqI,EANoBpqI,YACxBppB,IAAS4mB,OAAO4yB,WAEL,OAAXlwB,QAAW,IAAXA,OAAW,EAAXA,EAAaiJ,OAGuCb,KAAKrvB,IAClD,CACL2b,KAAM4qB,YAAW,eAAD/nC,OAAgBwB,IAChCkwB,MAAOlwB,MAIX,OACE2gB,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClBiC,YAAaA,IACbC,cAAeA,EACfC,aAAcA,IACd7uB,GAAG,uBACHsd,MAAO6pB,YAAW,oCAClBrY,UAAU,EACVgnC,cAAei8F,GACXhlH,GACJ,ELjBJilH,YMrBmBjoI,IACnBiT,YAAgB,eAChB,MAAMi1H,EAAa1zJ,IAASu4H,YAAY,iBAClCotB,EAAqC3lJ,IAASC,SAClD,sCAEI0zJ,EACJD,IAAe/N,EAEX7gG,EAAmBjiD,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGkiC,gBAAgB,IAChEyS,EAAgB10D,aAAcklB,IAAc,IAAD6rI,EAAA,IAAZ,IAAEltH,GAAK3e,EAC1C,MAAM,OAAErf,GAAWE,cACnB,OAA0B,QAA1BgrJ,EAAOltH,EAAIsZ,uBAAe,IAAA4zG,OAAA,EAAnBA,EAAqBlvF,YAAYh8D,EAAO,IAGjD,OAAIirJ,EAEA3wI,IAAAC,cAAC+7E,IAAoB,CAACC,cAAey0D,GACnC1wI,IAAAC,cAAC8tI,EACC5iI,IAAA,CACA3Q,SAAUsnC,EACVyS,cAAeA,EACf25F,qBAAsBwC,GAClBloI,KAOVxI,IAAAC,cAAC+7E,IAAoB,CAACC,cAAey0D,GACnC1wI,IAAAC,cAACusI,EAAiB,MACG,ENVzBqE,WOrBkBroI,IAClBiT,YAAgB,cAChB,MAAMq1H,EAAajxJ,aAAcpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKqxH,UAAU,IACxDvC,EAAuBH,IAE7B,OACEpuI,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClBiC,YAAa5E,EAAM4E,YACnBC,cAAe7E,EAAM6E,cACrB6B,wBAAyB,CAAEjB,aAAc,QACzC,cAAY,aACZ+hI,YAAa,CAAEC,SAAS,GACxB3iI,aAAc9E,EAAM8E,aACpB7uB,GAAG,aACHsd,MAAO6pB,YAAW,0BAClBrY,UAAU,EACVgnC,cAAeg6F,GACXuC,GACJ,EPIJC,aQpBoBvoI,IACpBiT,YAAgB,gBAChB,MAAMgb,EAAe52C,aAAcpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKgX,YAAY,IAC5D8d,EAAgB10D,aAAcklB,IAAc,IAAb,IAAE2e,GAAK3e,EAC1C,MAAM,OAAErf,GAAWE,cACnB,OAAO89B,EAAIsZ,gBAAgB0kB,YAAYh8D,EAAO,IAKhD,OAAkB,OAAb6uD,QAAa,IAAbA,KAAel2D,OAKlB2hB,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClB1sB,GAAG,eACHsd,MAAO6pB,YAAW,4BAClB9oC,KAAK,eACLywB,UAAU,EACVgnC,cAAeA,GACX9d,EACAjuB,IAXCxI,IAAAC,cAACiO,IAAc,KAYpB,ERFJ8iI,gCStBAxoI,IAEAiT,YAAgB,mCAChB,MAAM6H,EAAkCzjC,aACtCpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAK6D,+BAA+B,IAE9CsI,EAAgC/rC,aACpCklB,IAAA,IAAAksI,EAAA,IAAC,KAAExxH,GAAM1a,EAAA,OAAuC,QAAvCksI,EAAKxxH,EAAKmM,qCAA6B,IAAAqlH,OAAA,EAAlCA,EAAoC1hI,KAAK,IAGzD,OACEvP,IAAAC,cAAC4yC,IAAkB1nC,IAAA,CACjBiC,YAAa5E,EAAM4E,YACnBC,cAAe7E,EAAM6E,cACrB,cAAY,kCACZC,aAAc9E,EAAM8E,aACpB7uB,GAAG,kCACHsd,MAAO6pB,YAAW,+CAClBrY,UAAU,EAEVwoC,aAAcu1F,EAAsB1/G,IAChCtI,GACJ,ETCJ4tH,8BUvBA1oI,IAEAiT,YAAgB,iCAChB,MAAMmQ,EAAgC/rC,aACpCpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKmM,6BAA6B,IAG5CulH,EACJn0J,IAAS4mB,OAAO8yB,oBAAoBhoB,KAAKrvB,IAChC,CACL2b,KAAM4qB,YAAW,eAAD/nC,OAAgBwB,IAChCkwB,MAAOlwB,MAIb,OACE2gB,IAAAC,cAACk0C,IAAmBhpC,IAAA,CAClBiC,YAAa5E,EAAM4E,YACnBC,cAAe7E,EAAM6E,cACrB,cAAY,gCACZC,aAAc9E,EAAM8E,aACpB7uB,GAAG,gCACHsd,MAAO6pB,YAAW,6CAClBrY,UAAU,EACVgnC,cAAe48F,GACXvlH,GACJ,GVYAs8G,EAAa1/H,IAA0C,IAAD4oI,EAC1D,MAAMjxH,EAAStgC,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGugB,MAAM,KAC1C5Q,MAAOoc,GACb9rC,aAAcklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKkM,kBAAkB,KAAK,CAAC,EACrDxC,EAAsBtpC,aAAcwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAGupB,mBAAmB,IACtEkoH,EAAwBpsI,YAAa,gCACrCqB,EAAczmB,aAAc0lB,IAAA,IAAC,KAAEka,GAAMla,EAAA,OAAKka,EAAKnZ,WAAW,KAAK,CAAC,EAEhEkwB,EAAapwB,YACjBppB,IAAS4mB,OAAO4yB,WAEhBlwB,EAAYiJ,OAKR2b,EAAYluC,IAAS4mB,OAAOsnB,UAAU1sC,QAAQ6lC,IAClD,OAAQA,GACN,IAAK,cACH,MACa,SAAXlE,GAAiC,SAAXA,IAAsBgJ,EAAoBvC,IAEpE,IAAK,uBACH,OAAO4P,EAAWn4C,OAAS,EAC7B,IAAK,kCAEL,IAAK,gCACH,MAA8B,OAAvBstC,EACT,QACE,OAAO,EACX,IAGI2lH,EAAe,IAAIrmJ,IAAIigC,GAW7B,OALImmH,GAAyBC,EAAap9G,IAAI,iBAC5Co9G,EAAazmJ,OAAO,eACpBymJ,EAAanmJ,IAAI,gBAGY,QAA/BimJ,EAAO3qJ,MAAMmuC,KAAK08G,UAAa,IAAAF,OAAA,EAAxBA,EAA0B1iI,KAAImW,IAEnC,MAAM80B,EAAQ61F,EAAgB3qH,GAC9B,OAAO7kB,IAAAC,cAAC05C,EAAKxuC,IAAA,GAAK3C,EAAK,CAAE3iB,IAAKg/B,IAAa,GAC3C,C,gKWvGJ,MAAM5K,EAA8B,WAA+B,IAA9B2hB,EAAYx9C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAClD,MAAM87B,EAAej4B,SAAS8zB,cAAc,kCAE5C,OAAmB,OAAZmE,QAAY,IAAZA,OAAY,EAAZA,EAAcE,eAAgBwhB,CACvC,E,oCCC6BrwC,YAAGC,MAAAC,IAAA,sYAEV2O,KACJ+F,IAGPA,IAca/F,MApBxB,MAyBMm3I,EAA4BhmJ,YAAGM,MAAAJ,IAAA,2KAa/B+lJ,EAAwB,WAAH,IAAIC,EAAkBrzJ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAC,OAAKmN,YAAG0b,MAAAxb,IAAA,+7BAgDhCgmJ,EAAkB,EAKjBlmJ,YAAG4b,MAAA1b,IAAA,sZAQTqV,IAWA1G,M,qBC3GxB,MAAMs3I,EAAcA,IAEhBp8F,YAACxsC,IAAK,CAACzpB,KAAM2oB,IAAWE,MACrB0d,YAAW,wCAAyC,IACpDA,YAAW,sD,kBCVlB,MAAM+rH,EAAwB/qI,IAAOC,IAAGrb,MAAAC,IAAA,gCAIlCmmJ,EAAwBhrI,IAAOC,IAAGhb,MAAAJ,IAAA,sDAKlComJ,EAA8BjrI,IAAOC,IAAGI,MAAAxb,IAAA,wD,YCW9C,MAAMqmJ,EAAgBtpI,GAElB8sC,YAACq8F,EAAqB,KACpBr8F,YAAA,UACG1vB,YAAW,wCAAyC,IACpDA,YAAW,4CAGd0vB,YAACjpC,IAAM,CACL,aAAYuZ,YAAW,+BACvBne,QAASe,EAAMupI,YAEdnsH,YAAW,uBAGbpd,EAAM2nG,UACL76D,YAACs8F,EAAqB,KACpBt8F,YAAC/kC,IAAI,CACHC,KAAK,IACL/I,QAASe,EAAM2nG,SACfn1G,KAAM4qB,YAAW,2BAItBpd,EAAMwpI,UACL18F,YAACu8F,EAA2B,KAC1Bv8F,YAACoe,IAAkB,Q,qBC9CtB,MCgCDu+E,EAAgBzpI,IACpB,MAAMs5B,EAAmBjiD,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGkiC,gBAAgB,IAChEyb,EAAY19D,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAI65B,SAAS,IAEpDk+C,EAAS57G,aAAcwlB,IAAA,IAAC,IAAEqe,GAAKre,EAAA,OAAKqe,EAAI+3E,MAAM,IAC9C0gB,EAAsBv8H,aAC1B2lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGu8G,mBAAmB,KAE7Bs1B,EAAoBS,GAAyBjpI,mBAClDgR,KDzC2Bk4H,MC4C7B52H,qBAAU,KACR,MAAMd,EAAqBC,KAAS,KAClCw3H,EAAsBj4H,IAA8B,GACnD,KAGH,OAFAz6B,OAAOm7B,iBAAiB,SAAUF,GAE3B,KACLj7B,OAAOo7B,oBAAoB,SAAUH,EAAmB,CACzD,GACA,IDrD0B03H,ECuDd3pI,EAAM2pI,gBDtDrBz0J,IAAOE,KAAK,8BAA0B,CACpCw0J,kBAAmBD,EACnBr6H,UAAW,oBACX4kD,aAAc,iBACd1+E,WAAY,uCACZC,gBAAiB,gCCmDnB,MAAMo0J,EAAa5vJ,IAGjB,GAFAA,EAAEm+C,iBAEEkB,EACF,OAKF,GD9C2BwwG,MAC7B,MAAM,aAAEt2E,GAAiBD,IAEzBr+E,IAAOE,KAAK,WAADC,OAAYm+E,GAAgB,CACrCh+E,WAAYkuE,IAAWuP,eACvBx9E,gBAAiB+9E,GACjB,ECsCAs2E,GAEI9yJ,OAAOiF,OAAQ,CACjB,MAAMU,EAAQC,cACRzE,EAAO,CACX48D,YACAk+C,OAAc,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQ//E,cAChB03E,QAASjuG,EACTkuG,aAAcluG,GAIhB,YADA3F,OAAOiF,OAAO0rH,SAASxvH,EAEzB,CAIEk1F,aAA8Bt4B,IAKhC/9D,OAAOC,SAAS+I,OAAO+0D,EAAU,EAG7Bg1F,EAAiBA,KD/EeJ,KACtCz0J,IAAOE,KAAK,gCAA4B,CACtCw0J,kBAAmBD,EACnBr6H,UAAW,oBACX4kD,aAAc,iBACd1+E,WAAY,uCACZC,gBAAiB,iCACjB,ECyEAu0J,CAAwBhqI,EAAM2pI,iBAC9Bh2B,GAAoB,EAAM,EAiC5B,OAAIn/H,IAAS4xC,WAAW,eAAgB+gD,IAAuBE,QACtDv6B,YAACo8F,EAAW,MAInBp8F,YAACm9F,IAAY,CACXC,qBAAqB,EACrBC,2BAA4BnB,EAAsBC,GAClDzc,QAASA,IAAM7Y,GAAoB,GACnC1qB,sBAAuB8/C,EACvBqB,oBAAoB,EACpBC,mBAAmB,GAzCYh4I,KACjC,OAAQA,GACN,KAAK80E,IAAuBI,sBAC1B,OACEz6B,YAACw8F,EAAY,CAAC3hC,SAAUkiC,EAAWN,WAAYQ,IAEnD,KAAK5iE,IAAuBG,wBAC1B,OAAOx6B,YAACw8F,EAAY,CAACE,UAAU,EAAMD,WAAYQ,IACnD,KAAK5iE,IAAuBC,QAC5B,QACE,OACEt6B,YAAC7mC,WAAQ,KACP6mC,YAAA,UACG1vB,YAAW,wCACZ0vB,YAAA,WACC1vB,YAAW,sDAGd0vB,YAACjpC,IAAM,CACL,aAAYuZ,YAAW,+BACvBne,QAAS8qI,GAETj9F,YAAA,YAAO1vB,YAAW,0BAClB0vB,YAAC+wE,IAAkB,QAI7B,EAgBGysB,CAA0B91J,IAAS4mB,OAAOshI,cAC9B,C,yNCtIZ,MAAM6N,EAAyCt2G,YAAGjxC,MAAAC,IAAA,w0B,ikBCCzD,MAAM46F,EAAeA,KACnB,MAAM,QAAE1gG,GAAYC,eACZga,GAAImgB,GAAcrgB,IAASyb,cAC3BsE,KAAMC,GAAchgB,IAASC,WAC/BotB,EAAoBH,YAAgBlN,IAExCuB,mBAAqB1R,MAAO+R,GAC5BH,UAAY5R,MAAOiS,GACnBJ,cAAgB7R,MAAOgS,GACvBL,iBAAmB3R,MAAO2R,GAC1B8F,gBACEof,MAAQ72B,MAAO62B,GACfuC,OAASp5B,MAAOo5B,GAChBC,OAASr5B,MAAOq5B,GAChBvC,YAAc92B,MAAO82B,IAEvBtjB,WAAaxT,MAAOwT,GACpBC,UAAYzT,MAAOyT,IACjBtD,GACE,gBAAEiF,EAAe,WAAEF,GAAeX,YAAaiJ,GAC/CoC,EAAmB5mC,OAAOq8B,QAAQH,GAGxC,GAAI0K,EAAiB9wC,OAEnB,OADA6hD,YAAkB/Q,EAAkB1K,GAC7B/mC,KAAOC,KAAK,+BAAgCgnC,GAGrDjnC,KAAOC,KAAK,8BACZoiC,EAAUuF,wBAAuB,GCrBjC6P,KAEA,MAAQzR,IAAKsa,EAAYp+B,GAAImgB,GAAcrgB,IAASyb,aAC7CuZ,IACJikC,OAGC,CACA6iB,SAAUu3D,EACV59G,cAEDhuC,MAAK1J,IAAe,IAAd,KAAEkD,GAAMlD,EAEb,MAAM,iBAAEu1J,GAAqBryJ,EAC7Bq9C,EAAW86E,qBAAqBk6B,GAChCjzH,EAAUuF,wBAAuB,GACjCvF,EAAUw8F,8BAA6B,EAAK,IAE7Cn1H,OAAMzE,IACLo9B,EAAUuF,wBAAuB,EAAM,GACvC,EDsBJ2tH,CAnBgB,CACdxxH,KAAI7gC,IAAA,GACsB,SAApBsgC,GAA8B,CAAEI,gBAAeC,kBAC3B,SAApBL,GAA8B,CAAEM,SAEtC0xH,YAAa,CACXnwH,YACAC,YAEFgE,eAAcpmC,IAAA,CACZwlD,OACAzgD,UACAgjD,SACIC,GAAS,CAAEA,UAAS,CAAF,GACtBvC,eAEF/pB,YAAa32B,GAGoB,E,uCEnDrC,MAAMijG,EAAsBr9F,YAAGC,MAAAC,IAAA,iCAIzB0nJ,EAAavsI,IAAOxN,OAAMvN,MAAAJ,IAAA,4OAGrBhO,IAAA,IAAC,MAAEoiB,GAAOpiB,EAAA,OAAKoiB,EAAMtD,KAAKpC,QAAQZ,KAAK,IAO9CwL,IAAA,IAAC,MAAElF,GAAOkF,EAAA,OAAKqL,YAAmBvQ,EAAM,ICNtCuzI,EAAwBA,KAAA,CAC5BC,gBACErzI,IAAAC,cAACkzI,EAAU,CACT,cAAY,gCACZ1rI,QAAS4+E,GAERzgE,YAAW,uBASZo1C,EAAcv9E,IAAuD,IAAtD,cAAE4vB,GAAiC5vB,EACtD,MAAMqkD,EAAmBjiD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChE7d,EAAcpkC,aAAcwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKwE,WAAW,IAC1Dke,EAActiD,aAAc0lB,IAAA,IAAC,KAAEka,GAAMla,EAAA,OAAKka,EAAKE,cAAcpQ,KAAK,IAClED,EAAWpyB,QAAmB,OAAX+mC,QAAW,IAAXA,OAAW,EAAXA,EAAanV,cAChCwkI,EAAwBt2J,IAASgnC,WACrC,iCACA,gCAEIuvH,EAA8B,WAAhBpxG,EACdgzE,EAAuBn4H,IAASC,SAAS,wBACzCu2J,EACJD,GAAep+B,EACXvvF,YAAW,+BAAgCwtH,KAC3CxtH,YAAW,sBAAuBwtH,KAGxC,OAAIE,EAEAtzI,IAAAC,cAACiqD,IAAiB,CAACjvD,SAAS,OAAO,cAAY,yBAC5Cu4I,GAMLxzI,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAACkN,IAAQhC,IAAA,CACP,mBAAkBmE,EAAW,oBAAsB,KACnD,eAAcA,EACdjC,cAAeA,EACf1R,QAASsoB,EAAY1U,MACrB/U,SAAUsnC,EACVrjD,GAAG,cACHsd,MAAOy3I,EACP12J,KAAK,cACL0wB,iBAAe,EACfD,UAAU,GACN0W,IAEL3U,GACCtP,IAAAC,cAACs1C,IAAU,CACT92D,GAAG,qBACHgqB,eAAgBmgF,GAEfhjE,YAAW,mCAGf,C,gLC3EA,MAAM6tH,EAAyBh3G,YAAGjxC,MAAAC,IAAA,2I,6BCYzC,MAAMioJ,EAAQtuJ,cACRutC,EAAW9zC,cAAaD,IAAIm7D,KAC5B45F,EAAkB,kBAsBXC,EAA6BA,KACxC,MAAOC,GAAc,KAAElzJ,EAAI,MAAEgC,IArBKmxJ,MAClC,MAAOC,EAAWxpJ,GAAUypJ,YAAaP,GAgBzC,MAAO,CAfwBQ,KAC7Bv2J,IAAOE,KAAK,yBAA0B,CACpCI,WAAY,SACZC,gBAAiB,uBAGnB81J,EAAU,CACR5+G,UAAW,CACTslB,YAAa9gB,YAAS,GAAD97C,OAAI80C,EAAQ,mBAAmB,CAClDxtC,MAAOuuJ,MAGX,EAG4BnpJ,EAAO,EAICupJ,IACjCI,EAAeC,GAAoBlrI,oBAAkB,GAM5D,GAAItoB,GAAQgC,EAAO,CACjBjF,IAAOE,KAAK,oBAAqB,CAC/BI,WAAY,SACZC,gBAAiB,2BAKnB,MAAM,OAAEugE,EAASm1F,IAAwB,OAAJhzJ,QAAI,IAAJA,OAAI,EAAJA,EAAMyzJ,iBAAkB,CAAC,EAE9D3lJ,IAAGunC,QAAQvnC,IAAG+zC,MAAMipC,8BAA+Bh9E,IAAGi0C,OAAOY,IAC7Dib,YAAmBC,EAAQ,CAAE61F,MAAO,qBACtC,CAEA,MAAO,CAnBiBC,KACtBH,GAAiB,GACjBN,GAAc,EAiBS,CAAEK,iBAAgB,E,uCC3DtC,MAAMK,E,MAA+B3tI,EAAOC,IAAGrb,MAAAC,IAAA,iCCczCuoE,EAAsBA,KACjCvlE,IAAGunC,QAAQvnC,IAAG+zC,MAAM4oC,gBAAiB38E,IAAGi0C,OAAOY,IAC/CrN,aAAWxnC,IAAG+zC,MAAMipC,+BACpBhwD,aAAgB,uBAChB,MAAO+4H,EAA2BjqJ,GAAUqpJ,IAC5C,OACEt+F,YAACi/F,EAA4B,KAC3Bj/F,YAAC3c,IAAO,CAACF,GAAI,MACX6c,YAACiV,IAAa,CACZrd,OAAQtnB,YAAW,qCACnB4kC,UAAW5kC,YAAW,mCAExB0vB,YAACgxC,IAAe,MAChBhxC,YAACjpC,IAAM,CACLpB,OAAO,kBACP5rB,KAAK,SACLmb,SAAUjQ,EAAO2pJ,cACjBzsI,QAAS+sI,GAER5uH,YAAW,wBAIfr7B,EAAO2pJ,eACN5+F,YAACye,IAAc,CACb0gF,iBAAiB,EACjBhjD,sBAAuB,CACrBC,gBAAiBt3F,KACjBm3D,QAAS,IAEX9gD,OAAO,uBAGkB,C,uLC/C5B,MAAMm4E,EAAsBr9F,YAAGC,MAAAC,IAAA,iC,YCmBtC,MAAMyvE,EAAoBz9E,IAEyB,IAFxB,cACzB4vB,GACuB5vB,EACvB,MAAMqkD,EAAmBjiD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChE9T,EAAoBnuC,aAAcwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKuO,iBAAiB,IACtE1e,EAAWpyB,QAAyB,OAAjB8wC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBlf,cACtC4lI,EAAkB9uH,YAAW,mCAAoC,CACrE2kD,sBACEvqE,IAAAC,cAACsQ,IAAI,CACHC,KAAM2pB,YAAc,CAAEC,YAAa,sBACnC3yB,QAASA,IACPioC,YAAa,sBAAuB,yBAEtCj/B,OAAO,sBACPzV,KAAM4qB,YAAW,oCAQvB,OACE5lB,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAACkN,IAAQhC,IAAA,CACP,mBAAkBmE,EAAW,0BAA4B,KACzD,eAAcA,EACdjC,cAAeA,EACf1R,QAA0B,OAAjBqyB,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBze,MAC5B/U,SAAUsnC,EACVrjD,GAAG,oBACHwsB,OAAO,4BACPlP,MAAO24I,EACP53J,KAAK,oBACLywB,UAAU,EACVC,iBAAe,GACXwgB,IAEL1e,GACCtP,IAAAC,cAACs1C,IAAU,CACT92D,GAAG,4BACHgqB,eAAgBmgF,EAChB,cAAY,0BAEXhjE,YAAW,+CAGf,C,iLC9CP,MAAMw1C,EAAmB39E,IAEkB,IAFjB,cACxB4vB,GACsB5vB,EACtB,MAAMqkD,EAAmBjiD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChE6yG,EAA+B90J,aACnCwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKk1H,4BAA4B,IAE3CrlI,EAAWpyB,QAAoC,OAA5By3J,QAA4B,IAA5BA,OAA4B,EAA5BA,EAA8B7lI,cACjD/S,EAAQ6pB,YAAW,gCAAiC,CACxDgvH,qBAAsBnsE,YAA6B,CACjDC,iBAAkB,0CAClBC,SAAU,aAIRksE,EChCC,CACL,CACE5N,QAASx+D,YAA6B,CACpCC,iBAAkB,sCAClBC,SAAU,SACVC,oBAAqB,iBAEvB/iF,IAAK,mCAEP,CACEohJ,QAASx+D,YAA6B,CACpCC,iBAAkB,iCAClBC,SAAU,SACVC,oBAAqB,iBAEvB/iF,IAAK,8BAEP,CACEohJ,QAASx+D,YAA6B,CACpCC,iBAAkB,yCAClBC,SAAU,SACVC,oBAAqB,gBAEvB/iF,IAAK,uCDUT,OACEma,IAAAC,cAAC6oF,IAAqB,KACpB9oF,IAAAC,cAACkN,IAAQhC,IAAA,CACPF,OAAO,+BACP,mBAAkBqE,EAAW,2BAA6B,KAC1D,eAAcA,EACdjC,cAAeA,EACf1R,QAAqC,OAA5Bg5I,QAA4B,IAA5BA,OAA4B,EAA5BA,EAA8BplI,MACvC/U,SAAUsnC,EACVrjD,GAAG,+BACHsd,MAAOA,EACPyR,iBAAe,EACf1wB,KAAK,+BACLywB,UAAU,GACNonI,IAEN30I,IAAAC,cAAC4oF,IAAgB,KACdgsD,EAAenmI,KAAIomI,GACX90I,IAAAC,cAAA,MAAIpa,IAAKivJ,EAASjvJ,KAAMivJ,EAAS7N,YAG3C33H,GACCtP,IAAAC,cAACs1C,IAAU,CACT92D,GAAG,0BACHgqB,eAAgBmgF,KAEfhjE,YAAW,oCAGM,C,mKE5D5B,MAAMmvH,EAAkBnuI,IAAOC,IAAGrb,MAAAC,IAAA,4MACvBiW,MAeLszI,EAAapuI,IAAOS,KAAIxb,MAAAJ,IAAA,oKACnBhO,IAAA,IAAC,MAAEoiB,GAAOpiB,EAAA,OAAKoiB,EAAMtD,KAAKpC,QAAQZ,KAAK,IACjCwL,IAAA,IAAC,MAAElF,GAAOkF,EAAA,OAAKlF,EAAMtD,KAAKpC,QAAQkC,UAAU,IAOzDgJ,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAK+K,YAAmBvQ,EAAM,ICxBtC6oI,EAAiBA,KACrB,MAAM5mG,EAAmBjiD,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGkiC,gBAAgB,IAChEmzG,EAAiBj4J,IAAS4mB,OAAO6+H,0BASjCyS,EAPqBr1J,aAAcklB,IAAe,IAAd,KAAE0a,GAAM1a,EAChD,OAAqB,OAAdkwI,QAAc,IAAdA,OAAc,EAAdA,EAAgBvmI,KAEpBymI,IAAwB,IAAAC,EAAA,OAA2B,QAA3BA,EAAK31H,EAAK01H,UAAiB,IAAAC,OAAA,EAAtBA,EAAwB7lI,KAAK,GAC5D,IAGoC0O,OAAOmpD,GAAiBA,IACzDrrE,EAAQ6pB,YACZsvH,EAAc,oBAAsB,mBAWhCG,EAAaC,IACbxzG,GC7BuByzG,EAC7BD,EACAlwB,EACA6vB,KAEAK,EAAGr2G,UAEH,MAAMu2G,EAAa,CACjB1mI,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,GACX4S,SAAS,EACTlqB,QAASk4G,EACT71G,MAAO61G,GAIT6vB,EAAe/qJ,SAAQurJ,IACrB11G,YAAmB,CACjB1b,MAAOoxH,EACPhwJ,QAAS+vJ,GACT,GACF,EDUAD,CAAuBD,GAAKJ,EAAaD,EAAe,EAG1D,OACEj1I,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAAC80I,EAAe,KAAEnvH,YAAW,4BAC7B5lB,IAAAC,cAAC+0I,EAAU,CACTvd,SAAU,EACV,cAAayd,EAAc,eAAiB,aAC5CppC,UArBkBwpC,IAElB,CAAC,QAAS,IAAK,GAAI,IAAI52J,SAAS42J,EAAGzvJ,OACrCyvJ,EAAG10G,iBACHy0G,EAAUC,GACZ,EAiBI7tI,QAAS4tI,GAERt5I,GAEF,C,sNE/CexQ,YAAGC,MAAAC,IAAA,iHAOMF,YAAGM,MAAAJ,IAAA,sCAPlC,MAWMiqJ,EAAiBnqJ,YAAG0b,MAAAxb,IAAA,yDAKpBkqJ,EAAmBpqJ,YAAG4b,MAAA1b,IAAA,gD,8BCLrB,MAAMopI,EAAcA,CAAC5vC,EAAeF,IAC5B,OAAbE,QAAa,IAAbA,OAAa,EAAbA,EAAerX,WAAUjoF,GAAWA,EAAQE,MAAQk/F,IAEzCyvC,EAAWA,KACtB,MAAM2d,EAAkBh1J,cAAYg1J,gBAKpC,OAJyBtyJ,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAG0tF,gBAAgB,KAGpEtwG,IAAS4xC,WAAW,eAAgB+gD,IAAuBE,SAGzDv6B,YAAA,OAAK/pD,IAAK,CAACmqJ,EAAgBC,IACzBrgG,YAAC28F,eAAY,CAACE,gBAAiBA,IAElC,EAIQyD,EAAkBA,KAC7B,MAAOC,EAAYC,GAAiB7sI,mBAAS,CAC3CvnB,OAAQlC,OAAOw6G,YACfn4G,MAAOrC,OAAO06G,aAehB,OAZA3+E,qBAAU,KACR,MAAMw6H,EAAWr7H,KAAS,KACxBo7H,EAAc,CAAEp0J,OAAQlC,OAAOw6G,YAAan4G,MAAOrC,OAAO06G,YAAa,GACtE,KAIH,OAFA16G,OAAOm7B,iBAAiB,SAAUo7H,GAE3B,KACLv2J,OAAOo7B,oBAAoB,SAAUm7H,EAAS,CAC/C,GACA,IAEIF,CAAU,C,iMCzBZ,MAAMr6E,EAAsC/9E,IAEW,IAFV,cAClD4vB,GACyC5vB,EACzC,MAAMqkD,EAAmBjiD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChEk0G,EAA8Bn2J,aAClCwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKH,IAA8B,IAE7ChQ,EAAWpyB,QAAmC,OAA3B84J,QAA2B,IAA3BA,OAA2B,EAA3BA,EAA6BlnI,cACtD,OACE9O,IAAAC,cAAA,WACED,IAAAC,cAACkN,IAAQhC,IAAA,CACP,eAAcmE,EACdjC,cAAeA,EACf1R,QAAoC,OAA3Bq6I,QAA2B,IAA3BA,OAA2B,EAA3BA,EAA6BzmI,MACtC/U,SAAUsnC,EACVrjD,GAAI6gC,IACJxiC,KAAMwiC,IACN9R,iBAAe,EACfzR,MAAO6pB,YAAW,qCAClBrY,UAAU,GACNyoI,IAEL1mI,GACCtP,IAAAC,cAACs1C,IAAU,CACT92D,GAAE,GAAAZ,OAAKyhC,IAA6B,UACpC7W,eAAgBmgF,KAEfhjE,YAAW,oCAGZ,C,gCCvDV,gFAEIqwH,EAAqBz/F,GAClB,YAASA,GAIPA,EAAQhhC,QAAQ,QAAS,MAHvB,GAMPynF,EAAuB,CAAC1tF,EAAO2mI,KACjC,GAAI,CAAC3mI,EAAO2mI,GAAShkH,MAAKikH,IAAM,YAASA,KACvC,MAAO,GAOT,IAJA,IAAIC,EAAa,EACbC,EAAY,EACZC,EAAc,GAEXD,EAAYH,EAAQ73J,QAAU+3J,EAAa7mI,EAAMlxB,QAAQ,CAC9D,IAAIk4J,EAAiBL,EAAQG,GAE7BA,IACAC,GAFkC,MAAnBC,EAAyBhnI,EAAM6mI,KAAgBG,CAGhE,CAEA,OAAOD,CAAW,C,8+BCPpB,MAYME,EAAiC/4J,IAA6B,IAA5B,YAAEsoC,EAAW,MAAE1B,GAAO5mC,EAG5D,MAAQgiC,KAAMC,GAAchgB,IAASC,YAC/B,mBAAEw4B,GAAuBzY,EAAUqG,GAAatC,MAChD,OAAEwkD,GAAWJ,IACnB,IAAK1vC,IAAuB8vC,EAAOvpF,SAAS2lC,GAC1C,OAGF,MAAQ5E,KAAM0gB,EAAavgC,GAAImgB,GAAcrgB,IAASyb,aAGtDglB,EAAYk5E,6BAA6B,CACvCphF,OAAQ,aACRlS,cACA3mC,OAAQ6oF,IA5B+BwuE,KACzC,MAAMzlB,EAAe,CAAC,iBAAkB,mBAQxC,OALIh0I,IAASC,SAAS,iCACpB+zI,EAAaxpG,KAAK,sBAIbwpG,EAAaxyI,QAAO8xB,GAAKA,IAAMmmI,GAAmB,EAuBnBC,CACpC3wH,GACA3B,QAAO,CAACuyH,EAAyBt3J,KAAU,IAADu3J,EAAAC,EAC1C,OACEF,KAA2C,QAAhBC,EAACl3H,EAAUrgC,UAAK,IAAAu3J,GAAM,QAANC,EAAfD,EAAiBnzH,YAAI,IAAAozH,GAArBA,EAAuB1+G,mBAAkB,IAEtE,IAKDpY,EAAU8iB,kBAAkB,GAC9B,EAMIi0G,EAA4BtuI,GACb,YAAfA,EAAMnpB,KACD,CAAEkwB,MAAO3pB,cAAYD,SAG9B/E,EAAA,CACEwsB,YAAa5E,EAAM4E,YACnBE,aAAc9E,EAAM8E,aACpBypI,4BACAt4J,GAAI,kBACJ3B,KAAM,mBACH0rB,EAAM7iB,SA8BPoxJ,EAA4Bt0J,IAAC,OACjCsjC,aArB8B4sB,EAqBOlwD,EAAEorB,OAAOpvB,GApB1C,WAAW1B,KAAK41D,GACX,UAGL,eAAe51D,KAAK41D,GACf,cAGF,YAaPruB,gBAAgB,GAtBcquB,KAuB9B,EASIqkG,EAAwBA,KAC5B,MAAQtzH,IAAK2I,GAAa3sB,IAASC,YAC7B,QAAEha,GAAYC,eACZD,QAAS+tF,GAAoBrnD,EAASsnD,YAAY3mB,SACpDiqF,EAAwBvjE,GAAmB/tF,IAAY+tF,EACvDwjE,EAAuBl6J,IAASC,SAAS,4BAE/C,QAASg6J,GAAyBC,EAAqB,EAwCnD34C,EAAwBx5F,IAIvB,IAJwB,QAC7Bk4B,EAAU,CAAC,EAAC,YACZilB,EAAc,CAAC,EAAC,kBAChBs8C,GAAoB,GACrBz5F,EACC,MAAM,OAAE02B,EAAS,GAAE,QAAEC,EAAU,CAAC,GAAMwmB,GAChC,UAAEozC,GAAc55D,EACtB,OAAOD,EAAOrX,QAAO,CAAC+G,EAAOgsH,KAG3B,MAAMC,EAAan6G,EAAQk6G,EAAWr6J,OAAS,GAiBzCu6J,EAA0BrzI,YAASozI,GACzC,IACIE,EADA/nI,EAAQ8nI,EAA0BD,EAAW7nI,MAAQ6nI,EAKzD,GAAwB,UAApBD,EAAWr6J,MAAoByyB,GAAS9oB,MAAMyd,QAAQoxF,GAAY,CAEpE,MAAMiiD,EAAchoI,EAAM/kB,cACpBgtJ,EAAwBt6J,QAC5Bo4G,EAAU93G,MAAKumC,GAASA,EAAMxU,QAAUgoI,KAK1C,IAAKC,IAA0BH,EAC7B,OAAOlsH,EAMT5b,EAAQioI,EAAwBD,EAAc,GAC9CD,GAAmB,CACrB,CAEA,MAAM,QAAEpqI,EAAO,OAAED,GAjFCwqI,EAACloI,EAAO4nI,KAC5B,MAAM,WAAEpqI,EAAU,UAAE0rC,EAAS,UAAEskD,EAAS,MAAE/8B,GAAUm3E,EAC9C3gG,EAAUwpB,GAAS,IAAIwqC,OAAO,IAAD3sH,OAAKmiF,EAAK,MACvCkjD,EAAYhmI,QAAQqyB,EAAMlxB,QAC1B+6B,EAAS,CACby8B,gBAAiBqtE,GAAahmI,QAAQs5D,KAAaA,EAAQz5D,KAAKwyB,GAChE84E,QAAS66B,GAAahmI,QAAQu7D,IAAclpC,EAAMlxB,OAASo6D,EAC3D6vC,SAAU46B,GAAahmI,QAAQ6/G,IAAcxtF,EAAMlxB,OAAS0+G,EAC5D/vF,aAAcD,IAAem2G,GAM/B,OAHA9pG,EAAOnM,OAAS1kB,OAAO47B,KAAK/K,GAAQ56B,QAAOqH,GAAOuzB,EAAOvzB,KACzDuzB,EAAOlM,SAAWkM,EAAOnM,OAAO5uB,OAEzB+6B,CAAM,EAmEiBq+H,CAAcloI,EAAO4nI,GAEjD,OAAAv2J,IAAA,GACKuqC,GAAK,IACR,CAACgsH,EAAWr6J,MAAI8D,IAAA,CACd4jC,UAAWvX,EAAO,IAAM,GACxBC,WACIA,GAAW,CAAE4B,cAAc,KAC1B0vF,GAAqB84C,IAAqB,CAAE/nI,WAClD,GAEF,CAAC,EAAE,EAGFmoI,EAAuCA,KAC3C,MAAQj4H,KAAMC,GAAchgB,IAASC,YAC/B,eAAEqnB,EAAc,cAAEwH,EAAa,gBAAEhC,GAAoB9M,EACrDud,EAAUzO,EAAcjf,MAAQyX,EAAiBwF,GACjD,MAAEzI,EAAK,WAAEsiB,GAAepJ,EAG9B,MAAI,CAAC,KAAM,MAAMv+C,SAAS6pD,eACjBxkB,EAAM7W,SAAWm5B,EAAWn5B,QAE9Bm5B,EAAWn5B,OAAO,EAYrByqI,EAAyC,WAAmB,IAAlB16G,EAAO7+C,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACzD,MAAQslC,KAAK,gBAAEsZ,EAAkB,CAAC,GAAM,CAAC,GAAMt9B,IAASC,WAClDqiD,EAAkBzZ,cAClB/M,EAAiBnO,YAAkB20B,GAEnC41F,GAAiC,OAAf56G,QAAe,IAAfA,OAAe,EAAfA,EAAiBC,QAAQzB,KAAmB,CAAC,GAC/D,OAAEC,EAAS,IAAOm8G,EAYxB,OAVuBn8G,EACpBj9C,QACCq5J,IAAY,IAAAC,EAAA,OACVhtD,IAAqC52D,IACvB,OAAZ2jH,QAAY,IAAZA,GAAkB,QAANC,EAAZD,EAAc/6J,YAAI,IAAAg7J,OAAN,EAAZA,EAAoBp8H,gBACjBm8H,EAAa9qI,UAAU,IAG/BkR,OAAM5Y,IAAA,IAAA0yI,EAAA,IAAC,KAAEj7J,GAAMuoB,EAAA,OAAkB,QAAlB0yI,EAAK96G,EAAQngD,UAAK,IAAAi7J,OAAA,EAAbA,EAAe7qI,OAAO,GAG/C,EAUM8qI,EAAqCA,CACzC31F,EACA41F,KAEA,IACE,MAAMC,EAAa3yF,KAAKgiB,MAAMhiB,KAAKC,UAAUnD,IAI7C,OAHI61F,EAAWx8G,SAAWw8G,EAAWx8G,QAAQy8G,aAC3CD,EAAWx8G,QAAQy8G,WAAaF,GAE3BC,CACT,CAAE,MAAOE,GACP,OAAO/1F,CACT,GAYIg2F,EAAkCp7G,IAAY,IAADq7G,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjD,MAAM7pI,GACG,OAAPmuB,QAAO,IAAPA,GAAa,QAANq7G,EAAPr7G,EAASmJ,YAAI,IAAAkyG,OAAN,EAAPA,EAAexpI,gBACR,OAAPmuB,QAAO,IAAPA,GAAmB,QAAZs7G,EAAPt7G,EAASoJ,kBAAU,IAAAkyG,OAAZ,EAAPA,EAAqBzpI,gBACd,OAAPmuB,QAAO,IAAPA,GAAc,QAAPu7G,EAAPv7G,EAASlZ,aAAK,IAAAy0H,OAAP,EAAPA,EAAgB1pI,cACZ8pI,GACG,OAAP37G,QAAO,IAAPA,GAAa,QAANw7G,EAAPx7G,EAASmJ,YAAI,IAAAqyG,OAAN,EAAPA,EAAelpI,MAAMlxB,QAAS,IACvB,OAAP4+C,QAAO,IAAPA,GAAmB,QAAZy7G,EAAPz7G,EAASoJ,kBAAU,IAAAqyG,OAAZ,EAAPA,EAAqBnpI,MAAMlxB,QAAS,IAC7B,OAAP4+C,QAAO,IAAPA,GAAc,QAAP07G,EAAP17G,EAASlZ,aAAK,IAAA40H,OAAP,EAAPA,EAAgBppI,MAAMlxB,QAAS,EACjC,OAAQywB,IAAiB8pI,CAAiB,C,m4BC3S5C,MAAMC,EACJv8H,IAEA,MAAM/E,EAA+B,CACnC,CACEvc,KAAM4qB,YAAW,kCACjBrW,MAAOoT,IAAuBC,iBAgBlC,OAZItG,IAAgB9Y,IAAagR,GAC/B+C,EAAQg4H,QAAQ,CACdv0I,KAAM4qB,YAAW,yBACjBrW,MAAOoT,IAAuB48C,MAGhChoD,EAAQg4H,QAAQ,CACdv0I,KAAM4qB,YAAW,yBACjBrW,MAAOoT,IAAuB68C,MAI3BjoD,CAAO,EAwBVuhI,EAAmBr7J,IAK2B,IAL1B,cACxBskC,EAAa,cACbkjE,EAAa,2BACb8zD,EAA0B,QAC1BpzJ,GACuBlI,EACvB,MAAMu7J,EAAgBj3H,EACnBvjC,QAAOy6J,GAC+B,KAA9BA,EAAQ38H,YAAY/M,QAE5Bb,KAAIuqI,GACIA,EAAQ38H,YAAY/M,QAG/B,OADAypI,EAAcxxH,KAAK7hC,GACZs/F,EAAczmG,QAAO06J,IAExBF,EAAct6J,SAASw6J,EAAYrzJ,MACnCqzJ,EAAYrzJ,MAAQkzJ,GAKtB,EAcEI,EAAqBp0I,IAKoC,IALnC,YAC1Bq0I,EAAW,oBACXC,EAAmB,QACnBl7I,EAAO,kBACPm7I,GACyBv0I,EACzB,MAAiC,KAA7Bq0I,EAAY7pI,MAAM2X,QACpBkyH,EAAWx4J,IAAA,GACNw4J,GAAW,IACdtqI,cAAc,EACdnsB,MAAOijC,YAAWznB,KAEpBm7I,GAAoB,EACpBjP,YAAa,CACX1nJ,MAAOs9E,IACP57C,MAAOg1H,IAEF,CAACD,EAAaE,IAEhB,CAACF,EAAaE,EAAkB,EAanCC,EAAyBl0I,IAG0B,IAADm0I,EAAAC,EAAA,IAHxB,YAC9Bn9H,EAAW,eACX8F,GAC6B/c,EAC7B,MAAQkK,MAAOmqI,GAAqBp9H,GAAe,CAAC,GAC5C/M,MAAOoqI,GAAkBv3H,GAAkB,CAAC,EACpD,GAAKs3H,GAAqBC,EAG1B,OAA0B,OAAnB55E,UAAmB,IAAnBA,KAAuC,QAApBy5E,EAAnBz5E,IAAsB25E,UAAiB,IAAAF,GAAiB,QAAjBC,EAAvCD,EAA0CG,UAAc,IAAAF,OAArC,EAAnBA,EAA0DhhG,SAAS,EAStEj2B,EAA4BA,KAAA,CAChCo3H,UAAWh0H,YAAW,yBACtBi0H,eAAgBj0H,YAAW,8BAE3Bk0H,eAAgBl0H,YAAW,0BAE3Bm0H,eAAgBn0H,YAAW,+BAOvBo0H,EACJA,KACE,MAAMjpC,EAAUvuF,IAShB,OARuCj6B,OAAO47B,KAC5C4sF,GAEkBriG,KAAI7oB,IAAG,CACzBmV,KAAM+1G,EAAQlrH,GACd0pB,MAAO1pB,KAGI,EAgBXo0J,EAAiC10I,IAM6B,IAN5B,YACtC+W,EAAW,kBACXg9H,EAAiB,oBACjBD,EAAmB,gBACnBh3H,EAAe,eACfD,GACqC7c,EACrC,GAAqC,KAAjC8c,EAAgB9S,MAAM2X,OAAe,CAAC,IAADgzH,EACvC,MAAMC,EACkC,QADhBD,EACtBn6E,IAAoBzjD,EAAY/M,cAAM,IAAA2qI,OAAA,EAAtCA,EAAyC93H,EAAe7S,OAEtC,OAAlB4qI,QAAkB,IAAlBA,KAAoBn6E,QACnBm6E,EAAmBn6E,MAAMjjF,KAAKslC,EAAgB9S,SAE/C8S,EAAezhC,IAAA,GACVyhC,GAAe,IAClBvT,cAAc,EACdnsB,MAAOijC,YAAWu0H,EAAmBrqI,gBAGvCu6H,YAAa,CACX1nJ,MAAOu9E,IACP77C,MAAOg1H,IAGTC,GAAoB,EAExB,CACA,MAAO,CAACj3H,EAAiBi3H,EAAkB,C,+BC7N7C,uCAGA,IAAIc,EAA8D,CAChEt9J,KAAM,6BACN+jG,OAAQ,0E,4MCFV,IAAIw5D,EAA2D,CAC7Dv9J,KAAM,2BACN+jG,OAAQ,6D,iBCLCy5D,EAA0B,UAC1BC,EAAgC,CACzC5gJ,WAAY,OACZE,OAAQygJ,EACRt/I,KAAMs/I,GAEGE,EACE,OADFA,EAEG,M,QCDd,IAqBIC,EAA6B,YAAQ,MAAO,CAC9C5sI,OAAQ,WACR9R,MAAO,8BAFwB,CAGU,CACzCjf,KAAM,SACN+jG,OAAQ,0FAQN65D,EAAgB,YAAQ,IAAK,CAC/B7sI,OAAQ,WACR9R,MAAO,iBAFW,CAGjB,SAAU,IAAuB,qDAEhC4+I,EAAuB,YAAQ,KAAM,CACvC9sI,OAAQ,WACR9R,MAAO,wBAFkB,CAGxB,UA1CsBte,IACvB,IAAI,aACFm9J,GACEn9J,EACJ,OAAOm9J,EAAe,IAAmB,GAAqB,GAsC/B,eA5BLv1I,IAC1B,IAAI,aACFu1I,GACEv1I,EACJ,OAAOu1I,EAAeJ,EAA6B,MAAM,GAwBY,iBAnCzCz1I,IAC5B,IAAI,aACF61I,GACE71I,EACJ,OAAO61I,EAAeJ,EAA8B,QAAQ,GA+BmD,iCAAiChyI,GAASA,EAAMqyI,YAAc,OAAS,OAAO,mBAAoBL,EAA4B,gBAAiBA,EAA6B,MAEzRM,EAAuB,YAAQ,KAAM,CACvCjtI,OAAQ,WACR9R,MAAO,wBAFkB,CAGgB,CACzCjf,KAAM,UACN+jG,OAAQ,wCAQNk6D,EAAU,YAAQ,KAAM,CAC1BltI,OAAQ,WACR9R,MAAO,WAFK,CAGX,SAAU,IAAkB,cAAey+I,EAA4B,gBAAiBA,EAA6B,+BAEpHQ,EAAU,YAAQ,KAAM,CAC1BntI,OAAQ,WACR9R,MAAO,WAFK,CAG6B,CACzCjf,KAAM,SACN+jG,OAAQ,2EAQNo6D,EAAU,YAAQ,KAAM,CAC1BptI,OAAQ,WACR9R,MAAO,WAFK,CAGX,SAAU,IAAuB,mDAEhCm/I,EAA4B,YAAQ,MAAO,CAC7CrtI,OAAQ,WACR9R,MAAO,6BAFuB,CAGW,CACzCjf,KAAM,SACN+jG,OAAQ,kBAQNs6D,EAAuB,YAAQ,IAAK,CACtCttI,OAAQ,WACR9R,MAAO,wBAFkB,CAGxB,SAAUu+I,EAAyB,8D,kCCrGlCx5J,EAAY,CAAC,aAAc,kBAO3Bs6J,EAAoB39J,IACtB,IAAI,OACFy1F,EAAM,eACNzqE,GACEhrB,EACJ,OAAO,YAAIq9J,EAAsB,CAC/BvvJ,IAAKkd,EACL,eAAgB,sBACfyqE,EAAOxkE,KAAI,CAACumF,EAAMrmF,KACnB,IAAI7J,EAAQ,YAASkwF,GAAQ,CAC3BomD,WAAYpmD,GACVA,GACA,WACFomD,EAAU,eACV5yI,GACE1D,EACAmG,EAAO,IAAyBnG,EAAOjkB,GAE3C,OAAO,YAAI65J,EAAsB,IAAS,CACxCrmG,UAAW7rC,EACX5iB,IAAK+oB,GACJ1D,GAAOmwI,EAAW,IACpB,EAGDC,EAAc9yI,IAChB,IAAI,OACFmhB,EAAM,gBACN4xH,EAAe,iBACfC,GACEhzI,EACJ,OAAO,YAAIwyI,EAAS,CAClBzvJ,IAAKid,EAAMC,gBACV,YAAIwyI,EAAS,KAAMzyI,EAAMzM,OAAQ,YAAIg/I,EAAS,KAAMS,EAAmBD,EAAkB5xH,GAAQ,EAGlG8xH,EAAmBp2I,IACrB,IAAI,eACFoD,EAAc,OACdizI,GACEr2I,EACJ,OAAO,YAAI61I,EAA2B,CACpC3vJ,IAAKkd,EACL,eAAgB,qBACf,YAAI,IAAU,CACfs9G,OAAQw0B,IACN,YAAIY,EAAsB,KAAMO,GAAQ,EC/C1CC,EAA4BnzI,IAC9B,IAAI,yBACFozI,EAAwB,eACxBnzI,GACED,EACAgzI,EAAgD,WAA7BI,EACnBC,EAAcL,EAAmBJ,EAAoBK,EACrDK,EAA2BN,EAAsC,OAAnB/yI,QAA8C,IAAnBA,OAA4B,EAASA,EAAeszI,iBAAsC,OAAnBtzI,QAA8C,IAAnBA,OAA4B,EAASA,EAAeuzI,iBACnO,OAAO,YAAI,WAAU,KAAM,YAAIvB,EAA4B,CACzDlvJ,IAAwB,OAAnBkd,QAA8C,IAAnBA,OAA4B,EAASA,EAAewzI,kBACnFzzI,EAAM0zI,kBAAkBxtI,KAAIjxB,IAC7B,IAAI0+J,EAAuBC,GAEvB,GACF39J,EAAE,MACFsd,EAAK,MACLwT,GACE9xB,EACJ,OAAO,YAAI4xB,EAAA,EAAa,IAAS,CAAC,EAAsB,OAAnB5G,QAA8C,IAAnBA,OAA4B,EAASA,EAAe4zI,YAAa,CAC/HjvI,YAAa5E,EAAM4E,YACnBC,cAAe7E,EAAM6E,cACrB1R,QAAS4T,IAAUqsI,EACnBtuI,aAAc9E,EAAM8E,aACpB7uB,GAAIA,GAAM,oCAAoCZ,OAAO0xB,GACrD1pB,IAAK0pB,EACLxT,MAAOA,EACPqT,oBAAqB,CAACirI,EAAqE,QAAlD8B,EAAwB3zI,EAAMC,sBAAsD,IAA1B0zI,GAA6G,QAAhEC,EAAyBD,EAAsBE,mBAAoD,IAA3BD,OAAlF,EAA+HA,EAAuBhtI,qBAC5RtyB,KAAM0rB,EAAM8zI,WAAa,qBACzB/sI,MAAOA,IACN,KACA,YAAI+rI,EAAa,IAAS,CAC7BE,iBAAkBA,EAClB/yI,eAAmC,OAAnBA,QAA8C,IAAnBA,OAA4B,EAASA,EAAeisH,aAC9FlsH,EAAM6kD,QAAS,YAAIwuF,EAAa,IAAS,CAC1CpzI,eAAgBqzI,GACftzI,EAAM+zI,cAAe/zI,EAAMg0I,eAAiB,YAAI9B,EAAe,CAChEnvJ,IAAwB,OAAnBkd,QAA8C,IAAnBA,OAA4B,EAASA,EAAe+zI,eACnFh0I,EAAMg0I,eAAe,EAG1Bb,EAA0Br6D,aAAe,CACvC74E,eAAgB,CAAC,G,uqBC1BnB,MAYMg0I,GAAgB71I,YAAO0pC,IAAP1pC,CAAkBpb,MAAAC,IAAA,+VAKpC4Z,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAK+K,YAAmBvQ,EAAM,IAdlBkF,IAAiB,IAAhB,OAAE0oI,GAAQ1oI,EACnC,MAAM23I,EAAUjP,EAAS,EAAI,EAK7B,MAAM,eAAN5vJ,OAAsB8sG,KAAKgyD,KAAK,IAAMD,EAAO,UATnBj/J,IAAA,IAAC,OAAEgwJ,GAAQhwJ,EAAA,gBAAAI,OAAe4vJ,GAAU,GAAK,IAAG,WAiCxEgP,GAAcl7D,UAAY,CACxBksD,OAAQmP,OAAK7vI,YAGf,MAAM8vI,GAAiBj2I,IAAO0B,EAACzc,MAAAJ,IAAA,8BAIzBqxJ,GAAoBA,KACxB,MAAM1Z,EAAiCpmJ,IAASC,SAC9C,kCAGF,MAAO,CACL8+J,iBAAkBxwJ,YAAG0b,MAAAxb,IAAA,wXAQRuV,IAKQoiI,EAAiC,MAAQ,MAKjDj3I,KAKbkwJ,YAAWz7J,GAAA,GAENmuB,YAAmC,CAAED,cAAc,KAExD4lH,YAAanpI,YAAG4b,MAAA1b,IAAA,uHAGHQ,KAKb+vJ,iBAAkBzwJ,YAAG+b,MAAA7b,IAAA,wWAER4U,IAcDjG,KAIAiG,KAGb,EC5GG08I,GAAgBt/J,IAAkB,IAAjB,QAAEu/J,GAASv/J,EAChC,MAAOgwJ,EAAQwP,GAAgBh0I,oBAAS,GAGlCi0I,EAAqBlgK,IAAS4xC,WAClC,oCAEI,kBAAEuuH,EAAiB,kBAAEC,GAlBMF,KAC1B,CACLC,kBAAkB,8CAADt/J,OACfq/J,EAAqB,YAAc,IAErCE,kBAAkB,sDAADv/J,OACfq/J,EAAqB,YAAc,MAarCG,CAA2BH,GAE7B,OACEl9I,IAAAC,cAAAD,IAAAyO,SAAA,KACEzO,IAAAC,cAAA,SACG2lB,YAAWu3H,EAAmB,CAAEH,QAASh9I,IAAAC,cAAA,YAAO+8I,MAGnDh9I,IAAAC,cAACw8I,GAAa,CAAChP,OAAQA,EAAQhmI,QAdfgtD,IAAMwoF,GAAcxP,IAejC7nH,YAAW,uDAGb6nH,GACCztI,IAAAC,cAAC48I,GAAc,KAAEj3H,YAAWw3H,IAE7B,EAQDE,GAAiBv4I,IAAwB,IAAvB,QAAE5G,EAAO,KAAEo/I,GAAMx4I,EACvC,OACE/E,IAAAC,cAAA,MAAIg8C,MAAO,CAAE1iD,MAAOtN,MAClB+T,IAAAC,cAAA,UAAK9B,GACL6B,IAAAC,cAAA,UAAKs9I,GACF,EC3CHC,GAAmCA,KACvC,MAAQ59I,GAAIsgB,GAAYxgB,IAASC,WAQjC,GAAIugB,EAAQkrC,0BAA2B,CACrC1tE,KAAOC,KAAK,kCACZ,MACE+lC,IAAKsa,EACLve,KAAM0gB,EACNvgC,GAAImgB,GACFrgB,IAASyb,aAEb4E,EAAU+iE,8BAA6B,GACvC3iD,EAAYmiD,kCAAkC,IAC9CtkD,EAAWwkD,0BAA0B,CAAC,EACxC,GAeIi7D,GAAkBhtE,IACtB,MAAM,GAAEjlB,EAAK,CAAC,EAAC,KAAE52B,EAAO,CAAC,GAAM67C,EACzBwwD,EAAiBjkJ,IAASC,SAAS,mBACjCymC,IAAK2I,GAAa3sB,IAASC,YAC3B7iB,KAAMkyH,GAAiB3iF,EAASsnD,YAAY3mB,UAAY,CAAC,EAC3DrjC,EAASq7B,OAAOwG,EAAG5hC,eAEzB,OAD6Bq3G,GAAkBt3G,ECtDxB,IDwDrBjsC,KAAOC,KAAK,+BACL,CACL09J,WAAYz1H,YAAW,wCAAyC,CAC9D83H,oBAAqBlyF,EAAG8B,gCACxBqwF,sBAAuB/oH,EAAK04B,gCAC5B0hD,aAAcA,MAIb,IAAI,EAsBP4uC,GACJntE,IAEA,MAAQotE,iBAAkBb,EAASc,OAAQC,GAAmBttE,EACxDutE,EAAiBp4J,cAAYD,UAAY6d,IAAagR,GACtDypI,EAAoB,sCAAApgK,OACxBmgK,EAAiB,YAAc,IAGjC,MAAO,CACL9qE,OAAQ,CACN,CACEmoE,WACEr7I,IAAAC,cAACq9I,GAAc,CACbn/I,QAASynB,YAAW,4CACpB23H,KAAMQ,IAGVnD,cAAc,GAEhB6C,GAAehtE,GACf,CAAE4qE,WAAYr7I,IAAAC,cAAC88I,GAAa,CAACC,QAASA,KAvEnChgK,IAASC,SAAS,gBACrB2oC,YAAW,2CACX,MAuEApnC,OAAOtB,SACTw+J,OAAQ91H,YAAWq4H,GACpB,EAeGC,GAAWA,CACfh1G,EACAunC,KAEA,MAAM,KAAE77C,EAAI,GAAE42B,GAAOilB,EAErB,MAAO,CACL9mD,OAAQ6hC,EAAG8B,gCACXiuF,gBAAiB3mH,EAAK04B,gCACtBvxD,MAAO6pB,YAAW,iCAAD/nC,OAAkCqrD,IACpD,EAGGspB,GAAyBA,KAC7B,MAAM,uBAAE/G,GAA2B/rD,IAASC,WAAW+jB,IAGvD,OAAOxmC,QAA8B,OAAtBuuE,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB82B,wBAAwB,E,aE7IjE,MAAMxmB,GAEiB,wC,klBCgBvB,MAAMoiF,GAAqB31I,IACzBiT,aAAgB,sBAChBsa,aAAatnC,IAAG+zC,MAAMsoC,2BAA4Br8E,IAAGi0C,OAAOY,IAC5D,MAAMmtC,EAAiB5wF,aAAcpC,IAAA,IAAC,IAAEimC,GAAKjmC,EAAA,OAAKimC,EAAI+nC,sBAAsB,IACtE2yF,EAAiBv+J,aACrBklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKe,2BAA2B,IAE1C69H,EAAez+J,aACnBylB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAK6iE,iCAAiC,KAE9C1tD,KAAM0pH,EAAc9yF,GAAI+yF,GAAe9tE,EAS/C,OACEzwE,IAAAC,cAAA,OAAK,cAAY,uBACfD,IAAAC,cAACy5C,IAAc,CACbz+C,SAAU2H,KACVxG,WAAY2G,KACZ0F,eAAgBld,YAAI,CAClB8d,OAAQ,YAGTuc,YAAW,8BAGd5lB,IAAAC,cAAC07I,EAAyBxwI,IAAA,CACxB1C,eAAc7nB,SAAA,GACTk8J,ML8EYl3J,cAAYD,UAAY6d,IAAagR,GAExD,CACEwnI,iBAAkBzwJ,YAAGue,MAAAre,IAAA,oMAERkW,KAIDA,KAIEA,OAIhB,CAAC,GAI0C3kB,IAASC,SACtD,0CAGE,CACE++J,iBAAkBzwJ,YAAG+e,MAAA7e,IAAA,gYAERQ,IACW0U,OAe1B,CAAC,GKtHC0M,cA1BgBA,CAACljB,EAAOumF,KAC5BhzF,KAAOE,KACL,8BD1B+C8yF,KAAS,CAC5DkS,qBAAsBlS,EACtB1yF,WAAYkuE,KAAWpS,QACvB77D,gBAAiB89E,KCwBbyiF,CAAsC9tE,IAExC2tE,EAAa3tE,EAAU,EAsBnBwrE,kBAAmB,CACjB,CAAEngJ,MAAOuiJ,EAAav0H,aAAcxa,MAAO,UAC3C,CAAExT,MAAOwiJ,EAAWx0H,aAAcxa,MAAO,WAE3CgtI,YAAaqB,GAAentE,GAC5BmrE,yBAA0BwC,EAC1B/wF,MAAO6wF,GAASE,EAAgB3tE,IHoD/BzzF,IAASC,SAAS,uBACrB,CAAEu/J,cAAe52H,YAAW,qCAC5B,OGnDI,C,+BCpEV,8CAOO,MAAM64H,EAAehhK,IAIK,IAJJ,YAC3B4zC,EAAW,YACXopB,EAAW,gBACXikG,GACmBjhK,EACnB,MACEq+D,UAAU,KAAEC,EAAI,MAAEC,IAChBn9D,cAEJ,IAAKm9D,EACH,MAAM,IAAIhiC,MAAM,gCAElB,IAAK+hC,EACH,MAAM,IAAI/hC,MAAM,gCAGlB,MAAMyF,EAAOx9B,SAASge,cAAc,QAEpCwf,EAAKwpB,OAAS,OACdxpB,EAAKwY,OAAM,6BAAAp6C,OAAgCuH,eAC3Cq6B,EAAKw8B,MAAMrwC,QAAU,QAErB,MAAM+yI,EAAwC,CAC5C3iG,MAAOA,EACP3qB,YAAaA,EACbqtH,gBAAiBA,EACjB3iG,KAAMA,EACNtB,YAAaA,GAGflyD,OAAO47B,KAAKw6H,GAAQz0J,SAAQrE,IAC1B,MAAMsV,EAAQlZ,SAASge,cAAc,SACrC9E,EAAMre,KAAO+I,EACbsV,EAAMoU,MAAQovI,EAAO94J,GACrBsV,EAAM9b,KAAO,SACbogC,EAAKhJ,YAAYtb,EAAM,IAGzBkhD,WAAWp6D,SAASqb,KAAKmZ,YAAYgJ,GACrCA,EAAK68B,QAAQ,C,+BC9Cf,8KAAIsiG,EAAuB,SACvBC,EAAwB,OACxBC,EAA6B,0BAC7BC,EAAsB,kBACtBx2D,EAAkB,CAAC,eAAgB,gBAAiB,sBAAuB,YAAa,UAAW,O,8KCWvG,MAAMy2D,EAAsBzzJ,YAAGC,MAAAC,IAAA,6LACpBQ,IACI2W,IACEG,IAEEC,IAIFJ,KAIXq8I,EAAiC1zJ,YAAGM,MAAAJ,IAAA,+FACpBC,IACJC,IAGLiW,KAIPs9I,EAAoBzhK,IAAA,IAAC,yBACzB0hK,EAAwB,UACxBC,GAID3hK,EAAA,OAAuB8N,YAAG0b,MAAAxb,IAAA,6TAIN0zJ,GAA4BC,EAAY,GAAK,GAAE,C,+BC/CpE,4EAQA,MAAMC,EAA6BA,KACjC,MAAM,iBAAE9kB,GAAqBv9I,IAAS4mB,OAChCliB,EAAS64I,EAAiBl8I,OAAS,KAAO,KAEhD,OACE2hB,IAAAC,cAACiO,IAAc,CACbxsB,OAAM,GAAA7D,OAAK6D,EAAM,MACjB+mB,eAAgBld,YAAI,CAAE0iB,aAAc,SACpCrR,cAAelb,GACf,C,sJCQC,MAAM45E,EAAgC79E,IAEW,IAFV,cAC5C4vB,GACmC5vB,EACnC,MAAMqkD,EAAmBjiD,aAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChEw9G,EAAwBz/J,aAC5BwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKF,IAAyB,IAExCjQ,EAAWpyB,QAA6B,OAArBoiK,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBxwI,cAEhD,OACE9O,IAAAC,cAAA,WACED,IAAAC,cAACkN,IAAQhC,IAAA,CACP,eAAcmE,EACdjC,cAAeA,EACf1R,QAA8B,OAArB2jJ,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB/vI,MAChC/U,SAAUsnC,EACVrjD,GAAI8gC,IACJziC,KAAMyiC,IACN/R,iBAAe,EACfzR,MAAO6pB,YACL,8BAGA,CAAEovD,KAAMpvF,cAAYg2B,UAGpB,CAAE4vF,SAAS,IAEbj+F,UAAU,GACN+xI,IAELhwI,GACCtP,IAAAC,cAACs1C,IAAU,CACT92D,GAAE,GAAAZ,OAAK0hC,IAAwB,UAC/B9W,eAAgBmgF,KAEfhjE,YAAW,oCAGZ,C,+BChEV,oDAiCO,MAAM25H,EAAwB9hK,IAIC,IAJA,iBACpC+hK,GAGD/hK,EACC,MAAMgiK,EAAW7yF,eACX8yF,EAAgB1mB,mBAAuB,KAC3C,MACM1nE,EADsD,IAA7BtM,OAAOw6F,GACG,mBAAgBlhK,EAEnDqhK,EAA4B,CAChC,CACEruF,UACAnzD,QAASynB,YAAW,iCACpBunB,SAAU,eAEZ,CACEmkB,UACAnzD,QAASynB,YAAW,0BACpBunB,SAAU,aAEZ,CACEmkB,UACAnzD,QAASynB,YAAW,iCACpBunB,SAAU,eAId,OAAQ6X,OAAOw6F,IACb,KAAK,EACH,MAAO,CACLI,cAAeh6H,YAAW,sBAC1Bi6H,gBAAiBj6H,YAAW,8BAC5Bk6H,aAAcl6H,YACZ,uDAEFqnB,MAAO0yG,EACPz9J,MAAO0jC,YACL,sDAEF5gB,UAAW,GAEf,KAAK,EACH,MAAO,CACL46I,cAAeh6H,YAAW,gCAC1Bi6H,gBAAiBj6H,YAAW,4BAC5Bk6H,aAAcl6H,YACZ,sDAEFqnB,MAAO0yG,EACPI,SAAUn6H,YACR,qDAEF1jC,MAAO0jC,YACL,qDAEF5gB,UAAW,GAEf,KAAK,EACH,MAAO,CACL46I,cAAeh6H,YAAW,sBAC1Bi6H,gBAAiBj6H,YAAW,8BAC5Bk6H,aAAcl6H,YACZ,uDAEFqnB,MAAO,CACL,CACE9uC,QAASynB,YAAW,iCACpBunB,SAAU,cAEZ,CACEhvC,QAASynB,YAAW,0BACpBunB,SAAU,cAEZ,CACEhvC,QAASynB,YAAW,iCACpBunB,SAAU,eAGdjrD,MAAO0jC,YACL,sDAEF5gB,UAAW,GAEf,QACE,MAAO,CACL46I,cAAeH,EACX75H,YAAW,gCACXA,YAAW,6BACfi6H,gBAAiBJ,EACb75H,YAAW,8BACXA,YAAW,2BACfqnB,MAAO,CACL,CACE9uC,QAASynB,YAAW,iCACpBunB,SAAU,UAEZ,CACEhvC,QAASynB,YAAW,gCACpBunB,SAAU,UAEZ,CACEhvC,QAASynB,YAAW,0BACpBunB,SAAU,UAGdjrD,MAAO0jC,YAAW,gDAClB5gB,UAAW,WAEjB,GACC,CAACw6I,IACEQ,EAA2C,IAA5BN,EAAc16I,UAC7Bi7I,EAAgD,aAAhB,OAAbP,QAAa,IAAbA,OAAa,EAAbA,EAAe16I,WAClCk7I,EAA4C,KAAhB,OAAbR,QAAa,IAAbA,OAAa,EAAbA,EAAe16I,WAGpC,MAAO,CACLm7I,YAF6B,KAAhB,OAAbT,QAAa,IAAbA,OAAa,EAAbA,EAAe16I,YAAgD,KAAhB,OAAb06I,QAAa,IAAbA,OAAa,EAAbA,EAAe16I,WAGjDg7I,eACAN,gBACAO,mBACAC,eACD,C,+BC3JH,sFAmBO,SAASE,EACdC,EACAC,GACS,IAADC,EACR,MAAMC,EAAQ,GAAA3iK,OAA8B,QAA9B0iK,EAAMF,EAAW3kI,qBAAa,IAAA6kI,IAAI,IAAE1iK,OAChDyiK,EAAiB,IAAM,IAEzB,MAAM,kCAANziK,OAAyC2iK,EAC3C,CA8GO,SAASC,EACdC,GACW,IAADC,EACV,MAAMC,EAAyB,GAS/B,OARiD,QAA9BD,EAAe,OAAZD,QAAY,IAAZA,OAAY,EAAZA,EAAcG,qBAAa,IAAAF,IAAI,IAEvCz2J,SAAQ,CAAC42J,EAAcn7H,KAC/Bm7H,GACFF,EAAap5H,KA5CZ,SAAkC/pC,EAEvCkoC,GACS,IAADo7H,EAAAC,EAAA,IAFR,WAAEC,EAAU,UAAEC,EAAS,YAAEC,GAAwC1jK,EAGjE,MAAM2jK,EAA2C,QAA3BL,EAAY,OAATG,QAAS,IAATA,OAAS,EAATA,EAAWG,qBAAa,IAAAN,IAAI,EAC/CV,EAAoC,QAA1BW,EAAY,OAATE,QAAS,IAATA,OAAS,EAATA,EAAWI,oBAAY,IAAAN,IAAI,GACxCV,EAAiBc,EAAmB,EACpCG,EAAe57H,EAAQ,EACvBgE,EAAmB,OAAVs3H,QAAU,IAAVA,KAAY3zF,gCACb,OAAV2zF,QAAU,IAAVA,OAAU,EAAVA,EAAY3zF,gCACZ1nC,YAAW,uCAET47H,EA5ED,SACLL,EACAI,EACAjB,GAEA,GACkB,OAAhBa,QACgB7iK,IAAhB6iK,GACuB,kBAAhBA,EAEP,MAAO,GAGT,IAAIt7J,EAAM,4BA0BV,OAnBEA,GAFE07J,EAEK,kBAIA,gBASP17J,GAFEy6J,EAEK,UAGA,aAGAa,GACP,KAAK,EAGHt7J,GAAO,qBACP,MACF,KAAK,EAGHA,GAAO,gBACP,MACF,QAGEA,GAAO,aAEX,OAAOA,CACT,CAoB6B47J,CACzBN,EACAI,EACAjB,GAEIh6H,EAAU,oCAAAzoC,OAAuC2jK,GAEjDE,EAA0B,CAC9B/3H,SACAg4H,iBAAkBR,EAClBS,WAAYR,EACZZ,SAAU56H,YAAWw6H,EAAmBC,EAAYC,KAKtD,OAAO16H,YAAWU,EAAYo7H,EAChC,CAewBG,CAA0Bf,EAAcn7H,GAC5D,IAGKi7H,CACT,CAMO,SAASnsB,IACd,OAAO50I,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIs9C,mBAAmB,GAC3D,C,kxBC5JO,MAAMipC,EAAiDxsH,IAMjD,IANkD,YAC7DsoC,EAAW,0BACXmkF,GAA4B,GAI7BzsH,EACCC,KAAOE,KAAK,2CAA0CgD,IAAA,CACpDkhK,4BAA6B53C,GACzBnkF,GAAe,CACjBg8H,aAAch8H,IACb,CAAF,GACD/nC,WAAY,sBACZC,gBAAiB,6CACjB,EAGS+jK,EAAgDA,KAC3D,MAAMC,EAAkB,0CAExBvkK,KAAOE,KAAKqkK,EAAiB,CAC3BjkK,WAAY,sBACZC,gBAAiBgkK,GACjB,EAGSC,EAA8CA,KACzD,MAAMD,EAAkB,wCAExBvkK,KAAOE,KAAKqkK,EAAiB,CAC3BjkK,WAAY,sBACZC,gBAAiBgkK,GACjB,EAGSE,EACXA,KACE,MAAMF,EACJ,qDACFvkK,KAAOE,KAAKqkK,EAAiB,CAC3BjkK,WAAY,sBACZC,gBAAiBgkK,GACjB,C,qGC1CC,MAAMG,GAAe,IAAIl8J,MAAOm8J,cAE1BC,EAAY,CACvBC,KAAM,CACJj8H,WAAY,OACZ8T,YAAa,oBAEfooH,QAAS,CACPl8H,WAAY,UACZyT,KAAM,WAER0oH,SAAU,CACRn8H,WAAY,QACZyT,KAAM,oBAER2oH,SAAU,CACRp8H,WAAY,WACZyT,KAAM,+BAER4oH,QAAS,CACPr8H,WAAY,UACZyT,KAAM,mBAER6oH,mBAAoB,CAClBt8H,WAAY,qBACZyT,KAAM,8BAERk1C,cAAe,CACb3oD,WAAY,gBACZ0T,eAAgBy4C,M,4GC5Bb,MAAMowE,EAA0Bj8I,IAAOC,IAAGrb,MAAAC,IAAA,wHASpCq3J,EAAal8I,YAAOw1E,IAAPx1E,CAAkB/a,MAAAJ,IAAA,6B,uCCOrC,MAAMs3J,EAAuBA,KAAoB,IAADtW,EAErD,MAAME,EAAW,0BACX,QAAEhnJ,EAAO,OAAED,GAAWE,cAEtBu/F,EAA4BC,cAC5BtjD,EAAmBjiD,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGkiC,gBAAgB,IAChEyjD,EAAsBC,YAC1B1jD,EACAqjD,IAIKkjD,EAAgBC,GAAoBH,eAOpC0E,EAAYC,GAAiB7jI,oBAAS,IACtC0c,EAAOonH,GAAY9jI,mBACxBo/H,EAAez6D,WAAU7oE,IAAA,IAAC,YAAEuX,GAAavX,EAAA,OAAKuX,IAAgB32B,CAAO,KAGvE41B,qBAAU,KACR,MAAMyxH,EAAW3E,EAAez6D,WAAUvoE,IAAA,IAAC,IAAExf,GAAKwf,EAAA,OAAKxf,IAAQF,CAAO,IACtEonJ,EAASC,EAAS,GACjB,CAAC3E,EAAehqJ,SAEnB,MAAM4uJ,EAAqBjU,mBAAQ,IACzBpzC,IAA2B,IAADsnD,EAAAC,EAChC,MAAME,EAA0C,QAAhCH,EAAG7E,EAAeziD,UAAc,IAAAsnD,OAAA,EAA7BA,EAA+BrnJ,IAE9CwnJ,KADoC,QAAxBF,EAAG9E,EAAe1iH,UAAM,IAAAwnH,OAAA,EAArBA,EAAuBtnJ,MAO1CinJ,GAAc,GAEdvnD,EAAoB8nD,IANlBP,GAAc,EAMe,GAEhC,CAACzE,EAAehqJ,OAAQsH,EAASD,EAAQigC,IAEtC4iH,EAAmC,QAAxBkE,EAAGpE,EAAe1iH,UAAM,IAAA8mH,OAAA,EAArBA,EAAuBlE,YACrCya,EAAgBp9H,YAAW,oCAAqC,CACpEjgC,QAAS4iJ,IAGX,OACEjzF,YAACx1C,IAAoB,KACnBw1C,YAACutG,EAAuB,CAAC,cAAY,2BACnCvtG,YAACwtG,EAAU,CACTrkK,GAAIkuJ,EACJllI,QAASA,IAAMqlI,GAAeD,GAC9B/7E,KAAK,yBAELxb,YAAC3S,IAAI,CAACrmB,YAAa32B,EAASmF,KAAK,KAAKm4J,gBAAc,IACpD3tG,YAACqD,IAAiB,KAAEqqG,IAGtB1tG,YAACg4F,IAAa,CACZC,mBAAmB,gBACnB,cAAY,uBACZC,kBAAkB,EAClBC,OAAQZ,EACRa,cAAc,aACdC,YAAa/nH,YAAW,uBAExBs9H,qBAAqB,IACrBluB,QAASA,IAAM8X,GAAc,GAC7Bc,YAAaX,EACb11H,QAAS+wH,EACTuF,eAAa,EACbjoD,cAAejgE,EACf9lB,MAAM,KACNiuI,iBAAkBnB,KAGD,E,mDCzF3B,MAAMwW,EAAgBv8I,IAAOxN,OAAM5N,MAAAC,IAAA,qSAKTL,KAEpBod,GAASnc,IAAyBmc,EAAM7iB,SAAW,IAUnDy9J,EAA2Bx8I,IAAOC,IAAGhb,MAAAJ,IAAA,kHAQrC43J,EAAcz8I,IAAOC,IAAGI,MAAAxb,IAAA,wMAYxB63J,EAAiB18I,IAAO0J,EAACnJ,MAAA1b,IAAA,4JACpBhO,IAAA,IAAC,MAAEoiB,GAAOpiB,EAAA,OAAKoiB,EAAMtD,KAAKE,UAAUlD,KAAK,IACnCwL,IAAA,IAAC,MAAElF,GAAOkF,EAAA,OAAKlF,EAAMtD,KAAKE,UAAUL,UAAU,IAChDiJ,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAMtD,KAAKE,UAAUxB,QAAQ,IASrDsoJ,EAAiB38I,IAAOC,IAAGS,MAAA7b,IAAA,iNAMpBiW,MAUP8hJ,EAAe58I,IAAO68I,OAAM35I,MAAAre,IAAA,+L,UCtElC,MAAMi4J,EAAsBn4J,YAAGC,MAAAC,IAAA,uEAazBk4J,GAPyBp4J,YAAGM,MAAAJ,IAAA,yEAODF,YAAG0b,MAAAxb,IAAA,kGAKRqV,M,oCCCtB8iJ,EAAmBA,KACvB,MAAM,QAAEj+J,GAAYC,cACdwC,EAASkc,cAIf,OAHc+sG,YAAoB1rH,EAASyC,GAG9BsmB,KAAKnS,IAChB,MAAMqH,EAAS0+I,EAAU/lJ,GACzB,IAAKqH,EAEH,OADAlmB,KAAOkJ,KAAK,kCAAmC,CAAE2V,SAC1C,KAGT,MAAM,WAAE+pB,GAAwB1iB,EAATsH,EAAIrqB,IAAK+iB,EAAM9iB,GAEtC,OACEw0D,YAACguG,EAAc,CACb9yI,KAAM2pB,YAAcjvB,GACpBrlB,IAAKygC,EACL7e,QAASA,IAAM/pB,KAAOC,KAAK,kBAADE,OAAmByoC,EAAU,gBACvD5V,IAAI,sBACJ7C,OAAO,UAEN+X,YAAW,UAAD/nC,OAAWyoC,IACP,GAEnB,EAGEu9H,GAAgC7rI,aAAW,CAC/CC,OAAQA,IAAM,yCACdC,QAASA,IAAMo9B,YAACye,IAAc,MAC9Bj3E,KAAM,8BACNq7B,OAAOR,EAA2BnP,GAChC,MAAMiF,EAAYkK,EAAOmsI,0BACzB,OAAOxuG,YAAC7nC,EAAcjF,EACxB,IAGIu7I,GAA4BA,IAChCzuG,YAACnkC,IAAU,CAAC5lB,IAAKo4J,EAA0B,cAAY,sBACpD/9H,YAAW,iCAAkC,CAC5CgkD,YACEt0B,YAAC/kC,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM,oBAC5BtyB,QAASA,IACP/pB,KAAOC,KACL,8DAGJqd,KAAM4qB,YAAW,wBAGrBgvH,qBACEt/F,YAAC/kC,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM,oBAC5BtyB,QAASA,IACP/pB,KAAOC,KACL,8DAGJqd,KAAM4qB,YAAW,8BAGrBsjD,kBACE5zB,YAAC/kC,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM,qBAC5BtyB,QAASA,IACP/pB,KAAOC,KACL,4DAGJqd,KAAM4qB,YAAW,iCAOrBo+H,GAAgBA,KACpB,MAAMrkI,EAAgB9/B,aAAckkC,GAASA,EAAMtE,KAAKE,gBAClDskI,EAAmB1yC,cAEzB,OACEj8D,YAACnkC,IAAU,CAAC5lB,IAAKm4J,EAAqB,cAAY,gBAC/C99H,YAAWq+H,EAAkB,CAC5BC,YAAa9B,EACbp5E,uBACE1zB,YAAC/kC,IAAI,CACHC,KAAM2pB,YAAc,CAAEJ,KAAM,qBAC5BtyB,QAASA,IACP/pB,KAAOC,KAAK,mDAEdqd,KAAM4qB,YAAW,mCAGrB4kD,gCAAiCzB,YAAkC,CACjEL,iBAAkB,yCAClBC,SAAuB,OAAbhpD,QAAa,IAAbA,OAAa,EAAbA,EAAepQ,UAGlB,EC7FX40I,GAAgCA,KACpCN,GAA8B/vB,SAAS,EAG5BsB,GAASA,KAAoB,IAADgvB,EACvC3oI,YAAgB,UAEhB,MAAO4oI,EAAiCC,GACtCr7I,oBAAS,GACL64B,EAAmBjiD,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGkiC,gBAAgB,IAChEyb,EAAY19D,aAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAI65B,SAAS,IAEpDk+C,EAAS57G,aAAcwlB,IAAA,IAAC,IAAEqe,GAAKre,EAAA,OAAKqe,EAAIiwD,YAAY8nB,MAAM,IAE1Dj6C,EAAsB5hE,aAC1B2lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAG4hD,mBAAmB,KAG9B,QAAE77D,EAAO,SAAEi2B,EAAQ,OAAEl2B,GAAWE,cAChC+7D,EAAsB9hE,aAC1B8lB,IAAA,IAAC,IAAE+d,GAAK/d,EAAA,OAAK+d,EAAIsZ,gBAAgB2kB,oBAAoBj8D,EAAO,IAExDu/F,EAAgBplG,aAAc8pB,IAAA,IAAC,IAAE+Z,GAAK/Z,EAAA,OAC1CjkB,EAASg+B,EAAIsZ,gBAAgB0kB,YAAYh8D,GAAU,EAAE,IAGjD6+J,EAA2B,OAAbt/D,QAAa,IAAbA,GAA2C,QAA9Bm/D,EAAbn/D,EAAeznG,MAAKgnK,GAAKA,EAAE3+J,MAAQF,WAAQ,IAAAy+J,OAA9B,EAAbA,EAA6CppJ,KAC3DgoJ,EAAgBp9H,YAAW,oCAAqC,CACpEjgC,QAAS4+J,IAGLrnB,EAAgClgJ,IAASC,SAC7C,iCAEIwnK,EAA2BznK,IAASC,SAAS,0BAC7C,iBAAEmqG,GAAqBpqG,IAAS4mB,OAahC8gJ,EAAkCA,KAItC,IACG/iG,EAAoBo9C,SAAS1gH,QAC9ByjD,GACA2iH,EAEA,OAGF,MAAMxsH,EAASosH,EAAkC,QAAU,OACrD5+J,EAAUg4E,YAAqB,CAAExlC,SAAQn7C,KAAM,mBAErDY,IAAOE,KAAK,WAADC,OAAY4H,EAAQxH,iBAAmBwH,GAClD6+J,GAAoCD,EAAgC,EAGtE,OACE/uG,YAAA,OAAK,cAAY,UACfA,YAACkuG,EAAY,KACVtmK,QAAQqgE,IACPjI,YAAC/kC,IAAI,CACHtV,SAAU6H,IACV0N,KAAK,IACL/I,QArCqBhlB,IAC7BA,EAAEm+C,iBACF4wE,YACE/uH,EACA++D,EACA1f,EACA25D,EACAl+C,EACD,EA8BOviD,KAAM4qB,YAAW,0BAIrB0vB,YAAC8tG,EAAwB,KACtBh8D,EAAiB/oG,QAAUi3D,YAAC4xC,IAAY,CAACC,aAAcvrE,IAEtDshH,EAcA5nF,YAACytG,EAAoB,MAbrBztG,YAAC6tG,EAAa,CACZx9J,QAASA,EACT,cAAY,wBACZ6U,SAAUiqJ,EACVh9I,QAASi9I,EACT32I,QAASo2I,GACTpvB,YAAaovB,IAEZI,GACCjvG,YAACqD,IAAiB,KAAEqqG,KAQ5B1tG,YAAC+tG,EAAW,KACV/tG,YAACiuG,EAAc,KACbjuG,YAACsuG,EAAgB,OAGnBtuG,YAACnkC,IAAU,CACTlW,SAAU6H,IACV1G,WAAY2G,KAEX6iB,YAAW,mBAAoB,CAAEipD,KAAMuzE,MAI3CplK,IAASC,SAAS,uCACjBq4D,YAACyuG,GAAyB,MAG3B/mK,IAASC,SAAS,2BAA6Bq4D,YAAC0uG,GAAa,OAG/DK,GACC/uG,YAACuuG,GAA6B,CAC5B36I,YAAaw7I,EACb/iG,oBAAqBA,IAGrB,C,8MCxJV,MAAMgjG,EAAY/9I,IAAOC,IAAGrb,MAAAC,IAAA,mDAKtBm5J,EAAwBh+I,IAAOC,IAAGhb,MAAAJ,IAAA,iEAMlCo5J,EAAqBj+I,IAAO8C,GAAEzC,MAAAxb,IAAA,iOAEzBmW,KAWLkjJ,EAAcl+I,IAAO0J,EAACnJ,MAAA1b,IAAA,qKACjBiW,MAaLqjJ,EAAcn+I,IAAOkK,GAAExJ,MAAA7b,IAAA,gFAMvBu5J,EAAkBp+I,IAAOgK,GAAE9G,MAAAre,IAAA,oRAiB3Bw5J,EAAWr+I,IAAOC,IAAGyD,MAAA7e,IAAA,4LAEDL,KACCod,GAASA,EAAM08I,aAOpCC,EAAqBv+I,IAAOC,IAAG4D,MAAAhf,IAAA,uH,eC3ErC,MAAM25J,EAAmC75J,YAAGC,MAAAC,IAAA,uGAOtCknJ,EAA6BpnJ,YAAGM,MAAAJ,IAAA,yF,8BC2BtC,MAAMq4J,EACJt7I,IAEAiT,YAAgB,6BAChB,MAAM0pE,EAA4BC,eAC5B,YAAEl8E,EAAW,oBAAEy4C,GAAwBn5C,GACvC,QAAE7iB,GAAYC,cAEpB,OACEoa,IAAAC,cAACwyI,IAAY,CACX4S,qBAAsBD,EACtBzS,2BAA4BA,EAC5B3d,QAAS9rH,EACT2pI,mBAAmB,EACnByS,mBAAoBtlJ,IAAAC,cAACuM,IAAW,OAEhCxM,IAAAC,cAAC0kJ,EAAS,KACPp8J,OAAOq8B,QAAQ+8B,GAAqBjzC,KAAIjxB,IAAA,IAAE2K,EAAQm9J,GAAU9nK,EAAA,OAC3DuiB,IAAAC,cAAC2kJ,EAAqB,CAAC/+J,IAAKuC,GAC1B4X,IAAAC,cAAC4kJ,EAAkB,KAChBj/H,YAAW,WAAD/nC,OAAYuK,KAEzB4X,IAAAC,cAAC8kJ,EAAW,KACTQ,EAAU72I,KAAI3J,IAAqB,IAApB,KAAEihB,EAAI,KAAElpC,GAAMioB,EAC5B,GAAIihB,IAASrgC,EACX,OAAO,KA+BT,OACEqa,IAAAC,cAAC+kJ,EAAe,CAACn/J,IAAKmgC,GACpBhmB,IAAAC,cAAC6kJ,EAAW,CAACt0I,KAAK,IAAI/I,QA9BJhlB,IACpBA,EAAEm+C,iBAaG+kD,YAAwB,OAAQ3/D,EAAMu/H,GAQ3ChgE,YACE,CAAEoI,YAAahoG,EAAS8/F,UAAWz/D,GACnCm/D,GATAznG,KAAOC,KAAK,6CAA8C,CACxDgwG,YAAahoG,EACb8/F,UAAWz/D,GAQd,GAMGhmB,IAAAC,cAACglJ,EAAQ,CAACC,WAAY74J,IAAyB25B,KAC/ChmB,IAAAC,cAAA,YAAOnjB,IAEO,KAIF,KAG5BkjB,IAAAC,cAACklJ,EAAkB,KACjBnlJ,IAAAC,cAACqmH,IAAc,OAEJ,C,uJCzGZ,MAAMk/B,EACXC,IAEA,MAAM,oCAAEriH,EAAmC,0BAAE83E,GAC3Ct7H,aAAgBskE,GAASA,EAAMtkD,KAEjC,OAAOoc,uBAAY,KACjBonB,GAAoC,GACpC83E,GAA0B,GAG1BuqC,EAAQ3vH,QAAQ4vH,cACd,IAAIljH,MAAM,SAAU,CAAEmjH,SAAS,EAAMC,YAAY,IAClD,GACA,CAACH,GAAS,E,wDCIf,MAkCaI,EAAsBA,KAAoC,IAADj0B,EAGpE,MAAOk0B,EAAmBC,GAAwB98I,oBAAS,IACpD+8I,EAAUC,GAAeh9I,oBAAyB,GACnDiyG,EAA4Bt7H,aAChCskE,GAASA,EAAMtkD,GAAGs7G,4BAEdnuF,EAAoBgsG,cAEpBmtB,EAAgBhvI,IACpB,MAAM08E,GACD,OAAH18E,QAAG,IAAHA,OAAG,EAAHA,EAAKqC,WAAc,OAAHrC,QAAG,IAAHA,OAAG,EAAHA,EAAKp6B,OAAQ,2CAE/B2R,IAAGunC,QACDvnC,IAAG+zC,MAAM2B,wBACT11C,IAAGi0C,OAAO1oB,MACVvrB,IAAGwuB,YAAYqV,QAEjB2zH,EAAYryD,GACZsnB,GAA0B,EAAM,GAG3BirC,EAAYC,GAAoBC,YAGrCj4C,IAA8C,CAG9Cz8E,QAASu0H,KAGL,KAAEvlK,EAAI,MAAEgC,EAAK,QAAEu1B,GAAYkuI,EAE3BE,EAAUppK,QAAQyF,GAASqjK,GAC3Bp0E,EAAY15D,GAAW4tI,EAE7BvqI,qBAAU,MACJ56B,GAASixF,GAAc00E,IACzBP,GAAqB,GAzEJ9pI,WAEjB,IAADsqI,EAAAC,EAOH,SANMtsE,YAAuCv5F,GAKvC,OAAJA,QAAI,IAAJA,GAAqC,QAAjC4lK,EAAJ5lK,EAAM8lK,uCAA+B,IAAAF,GAAO,QAAPC,EAArCD,EAAuCnlF,aAAK,IAAAolF,OAAxC,EAAJA,EAA8CnuE,mBAE9C,MAAM,IAAIr+D,MAAM,gCAE8C,YAAxCh9B,IAAS4mB,OAAOsrF,0BAG9BC,oBAEAC,aAEV,EAuDIs3D,CAAeN,GAAkBh/J,MAAM8+J,GACzC,GACC,CAAChpK,QAAQyD,GAAOixF,EAAW00E,IAO9B,MAAO,CALQtqI,uBAAY,KACzB,MAAMmZ,EAAYiP,YAA+BrX,GACjDo5H,EAAW,CAAEhxH,aAAY,GACxB,CAACpI,IAIF,CACEpqC,MAAO2jK,EACPx2I,aACEk2I,IAAiB,OAALrjK,QAAK,IAALA,OAAK,EAALA,EAAO42B,WAAgB,OAAL52B,QAAK,IAALA,GAAuB,QAAlBivI,EAALjvI,EAAOivC,cAAc,UAAE,IAAAggG,OAAlB,EAALA,EAAyBr4G,SACzDrB,QAAS05D,GAEZ,E,YCzGI,MAAM+0E,EAAyBA,KACpC,MAAMzrC,EAA4Bt7H,aAChC+9B,GAAKA,EAAE/d,GAAGs7G,4BAENylB,EAAuC3jJ,IAASC,SACpD,wCAGI2pK,EAA8B9+F,cAMpCvsC,qBAAU,MACJolH,GAAwCimB,IAC1C1rC,GAA0B,EAC5B,GACC,CAACylB,EAAsCimB,GAA6B,E,2GCrBlE,MAAMC,EAAqB7uI,aAAW,CAC3CC,OAAQA,IAAM,mEACdC,QAASA,IAAMlY,IAAAC,cAAC63F,IAA2B,MAC3Ch7G,KAAM,cACNq7B,OAAQb,YAA4B,CAClCI,cAAe,iB,8WCHZ,MAAMovI,EAAkCrpK,IAkBlC,IAlBmC,mBAC9CyzH,EAAkB,YAClBrtG,EAAW,oBACXkjJ,EAAmB,WACnBlkC,EAAU,KACVv4H,GAaD7M,EACC,MAAMupK,EAAoBnoK,cAAa2lB,YAAYX,GAEnDnmB,KAAOE,KAAK,oD,iWAAmDgD,CAAA,CAC7DuwD,WAAY,oDACZ81G,2BAA6C,OAAjBD,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBE,aAC/CC,0BAA4C,OAAjBH,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBI,YAC9C98J,OACA8zF,QAAS,WACTplE,OAAQusC,KAAKC,UAAU,CACrB,CACE04B,YAAa2kC,EAAa,EAAI,EAC9BwkC,aAAcxjJ,EACdmV,OAAS6pG,EAAmC,GAAtBkkC,EACtBO,GAAqB,OAAjBN,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBE,aACvBK,GAAqB,OAAjBP,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBI,eAG3BppK,WAAY,aACZC,gBAAiB,sBACbizH,GAAsB,CAAEs2C,UAAW,iBACvC,EA8BShhG,EAAiBnhD,IAMiB,IANhB,mBAC7B6rG,EAAkB,uBAClBu2C,EAAsB,2BACtBC,EAA0B,0BAC1BC,EAAyB,KACzBr9J,GACiC+a,EACjC,MAAQ64E,YAAa0pE,GACnBD,EAEIE,EACJhpK,cAAa2lB,YAAYw+E,KAGrB8kE,EAAwB5qK,QAAgC,OAAxB2qK,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BT,aAC1DW,EACJH,GAAoCE,EAEtChB,EAAgC,CAC9B51C,mBAAoBA,EACpBrtG,YAAam/E,IACb+jE,oBAAsBgB,EAMlB,GALAl3C,YAA+B,CAC7BI,kBAAmB02C,EACnBx2C,oBAAqBs2C,EACrBr2C,qBAAsB02C,IAG5BjlC,WAAYklC,EACZz9J,SAxDiCya,KAUxB,IAVyB,oBACpCgiJ,EAAmB,WACnBlkC,GAQD99G,EACC,IAAK89G,EAAY,CACf,MAAMmlC,EAAyBjB,EAAoBrpI,WAEnDqpI,EAAoB78J,SAAQ8uB,IAC1Bt7B,KAAO4J,OAAOytB,IAA8BC,WAAY,CACtDrsB,WAAY,CACVqwB,WAEF,IAEJt7B,KAAOkJ,KAAKmuB,IAA8BC,WAAY,CACpDgE,OAAQgvI,GAEZ,GAmCAC,CAAsB,CACpBlB,oBAAsBa,EAMlB,GALA/2C,YAA+B,CAC7BK,mBAAoBA,IAAuBw2C,EAC3Cz2C,kBAAmB02C,EACnBx2C,oBAAqBs2C,IAG3B5kC,WAAY+kC,GACZ,E,WChGG,MAAMM,EAAc,WAMM,IAADvzF,EAAAU,EAAA,IANJ,2BAC1BqyF,GAA6B,EAAK,KAClCp9J,GAIDlM,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACH,MAAMqpK,EAAyBzqK,IAASC,SAAS,uBAC3CkrD,EAAiBnrD,IAASC,SAAS,kBAEnCg7H,EAAyBp4H,aAAcpC,IAAa,IAAZ,GAAEmiB,GAAIniB,EAClD,OAAOmiB,EAAGq4G,sBAAsB,IAS5BkwC,GAAmBhgH,GAAiB8vE,GAEpC,eACJ90H,EACAg6D,gBAAgB,gBAAEu2B,IAChB70F,eAAgB,CAAC,GAEf,QAAE8G,GAAYC,eACd,mBAAEsrH,GAAqB,GAAU15E,eAEhC4wH,EAAoBC,GAAyBroJ,IAAMiJ,UAAS,GAG7Dq/I,EACW,OAAf50E,QAAe,IAAfA,IAAiC,OAAdvwF,QAAc,IAAdA,GAA+B,QAAjBwxE,EAAdxxE,EAAgB83B,uBAAe,IAAA05C,GAAU,QAAVU,EAA/BV,EAAiC3H,gBAAQ,IAAAqI,OAA3B,EAAdA,EAA2C1vE,QA6FhE,OA9CA41B,qBAAU,KACR79B,KAAO4J,OAAOytB,IAA8BE,OAE5C,MAAM0yI,EAA4BY,YAAsB,CACtD30E,aAAcjuF,EACd+tF,gBAAiB40E,KAEXpqE,YAAasqE,GACnBb,EAEIc,IACFv3C,GAAsBw2C,IACxBD,GACAe,GACAL,EAEqBlsI,WACrB,IACE,GAAIwsI,EAA0B,CAC5B/qK,KAAOC,KAAK,sBACZ,MAAM+qK,OAjEsBzsI,WAClC,MACEr9B,KAAK,2BAAEmjF,EAA6B,OAClCljF,cACJ,IAAI8oK,EACAC,GAAmC,EAqCvC,OAjCI7lF,GAEF4lF,QAAkCgB,YAAoC,CACpE/0E,aAAcjuF,EACd+tF,gBAAiB40E,EACjBM,mBAAoB7mF,MAGnBmc,YAAa0pE,GACdD,GAEFjqK,KAAOC,KAAK,iCAAkC,CAC5CkrK,2BAA4BjB,MAG9BD,EAA4B,CAC1BzpE,aAAa,EACbllE,OAAQ,8CAGVt7B,KAAOC,KAAK,6CAA8C,CACxDokF,gCAIJvb,EAAe,CACbihG,yBACAv2C,qBACAw2C,6BACAC,4BACAr9J,SAGKs9J,CAAgC,EAuBNkB,GAE3BT,EAAsBK,EACxB,MAGEL,GAAsB,GACtB7hG,EAAe,CACbihG,yBACAv2C,qBACAw2C,6BACAC,4BACAr9J,QAGN,CAAE,MAAO3H,GACPjF,KAAO4J,OAAOytB,IAA8B9M,OAC5CvqB,KAAOiF,MAAMoyB,IAA8B9M,MAAO,CAChDmuD,cAAezzE,aAAiBq3B,MAAQr3B,EAAM42B,QAAU6tB,OAAOzkD,IAEnE,GAGGomK,EAAgB,GACpB,CAACpjK,EAASwiK,IAEN,CACLC,qBAEJ,C,yCCvJA,sCAAIlrD,EAAgB,CAAC3tF,EAAO9xB,KAC1B,IAAIurK,GAEA,MACFxgJ,GACE/qB,EACAylI,EAAYhmI,QAAQqyB,EAAMlxB,QAC1B4qK,EAAe,IAAIz+C,OAAOhiG,EAAMguC,SAChC0yG,EAAgD,QAA9BF,EAAcxgJ,EAAMkuC,YAAkC,IAAhBsyG,OAAyB,EAASA,EAAYxzI,QAAQ,QAAS,IAAIn3B,OAC3H+6B,EAAS,CACXy8B,iBAAiB,EACjBwyC,QAAS66B,GAAa16G,EAAMiwC,WAAaywG,EAAiB35I,EAAMlxB,OAChEiqG,SAAU46B,GAAa16G,EAAMu0F,WAAamsD,EAAiB35I,EAAMlxB,OACjE2uB,cAAek2G,GAAa,EAAC,EAAM,QAAQxkI,SAAS8pB,EAAM+E,WAS5D,OANIhlB,OAAOq5C,OAAOxoB,GAAQ6E,OAAMmpD,IAAQA,KAAQ6hF,IAC9C7vI,EAAOy8B,iBAAmBozG,EAAalsK,KAAKwyB,IAG9C6J,EAAOnM,OAAS1kB,OAAO47B,KAAK/K,GAAQ56B,QAAOqH,GAAOuzB,EAAOvzB,KACzDuzB,EAAOlM,QAAUhwB,SAASk8B,EAAOnM,OAAO5uB,QACjC+6B,CAAM,C,wbCKf,MAAM+vI,GAAuB5vJ,GAAoChO,aAAGC,MAAAC,KAAA,sZAEjCiX,MAIbnJ,EAWsBA,GAItC6vJ,GAAmB7vJ,GAAoChO,aAAGM,MAAAJ,KAAA,8KAE1C8N,GAQhB8vJ,GAAkB9vJ,GAAoChO,aAAG0b,MAAAxb,KAAA,+KACpD8N,EACMrN,MASXo9J,GAAwB/vJ,GAAoChO,aAAG4b,MAAA1b,KAAA,uLAIvC8N,GAMxBgwJ,GAA0BhwJ,GAAoChO,aAAG+b,MAAA7b,KAAA,uJAC5D8N,EACMrN,MAQXs9J,GAAuBjwJ,GAAoChO,aAAGue,MAAAre,KAAA,wLACnDS,KAINqN,EAIEA,GAIAkwJ,GAAkB7iJ,KAAOC,IAAGyD,MAAA7e,KAAA,iBACrC09J,GAAoBlnJ,OAGXynJ,GAAkB9iJ,KAAOC,IAAG4D,MAAAhf,KAAA,iBACrC09J,GAAoBnnJ,OAGX2nJ,GAAc/iJ,KAAOC,IAAG8D,MAAAlf,KAAA,iBACjC29J,GAAgBpnJ,OAGP4nJ,GAAchjJ,KAAOC,IAAG+D,MAAAnf,KAAA,iBACjC29J,GAAgBlnJ,OAGP2nJ,GAAcjjJ,KAAOC,IAAGijJ,MAAAr+J,KAAA,wCACjC29J,GAAgBlnJ,OAIP6nJ,GAAanjJ,aAAOojJ,KAAPpjJ,CAAYqjJ,MAAAx+J,KAAA,yCAClC49J,GAAep9J,OAINi+J,GAAatjJ,aAAOojJ,KAAPpjJ,CAAYujJ,MAAA1+J,KAAA,yCAClC49J,GAAejvJ,QAINgwJ,GAAaxjJ,aAAOojJ,KAAPpjJ,CAAYyjJ,MAAA5+J,KAAA,oFAClC49J,GAAejvJ,QAMNkwJ,GAAmB1jJ,KAAOC,IAAG0jJ,MAAA9+J,KAAA,iBACtC69J,GAAqBrnJ,OAGZuoJ,GAAmB5jJ,KAAOC,IAAG4jJ,MAAAh/J,KAAA,iBACtC69J,GAAqBtnJ,OAGZ0oJ,GAAmB9jJ,KAAOC,IAAG8jJ,MAAAl/J,KAAA,wCACtC69J,GAAqBtnJ,OAIZ4oJ,GAAqBhkJ,aAAOojJ,KAAPpjJ,CAAYikJ,MAAAp/J,KAAA,wCAC1C89J,GAAuBnvJ,QAId0wJ,GAAqBlkJ,aAAOojJ,KAAPpjJ,CAAYmkJ,MAAAt/J,KAAA,wCAC1C89J,GAAuBt9J,OAId++J,GAAqBpkJ,aAAOojJ,KAAPpjJ,CAAYqkJ,MAAAx/J,KAAA,iBAC1C89J,GAAuBt9J,OAGdi/J,GAAkBtkJ,aAAO2J,KAAP3J,CAAYukJ,MAAA1/J,KAAA,iBACvC+9J,GAAoBpvJ,QAGXgxJ,GAAkBxkJ,aAAO2J,KAAP3J,CAAYykJ,MAAA5/J,KAAA,kEACvC+9J,GAAoBv9J,OAOXq/J,GAAe1kJ,KAAOC,IAAG0kJ,MAAA9/J,KAAA,2FAOzB+/J,GAAe5kJ,KAAOC,IAAG4kJ,MAAAhgK,KAAA,oIA0BzBigK,IAlBmB9kJ,aAAO0kJ,GAAP1kJ,CAAoB+kJ,MAAAlgK,KAAA,+EACpC6V,MAKcsF,aAAOyF,KAAPzF,CAAcglJ,MAAAngK,KAAA,qMAC1BoV,KACPA,KACWA,KACL3U,MAQS0a,KAAOS,KAAIwkJ,MAAApgK,KAAA,mEAC1BqW,KAEM5V,OAGJ4/J,GAAcllJ,aAAOojJ,KAAPpjJ,CAAYmlJ,MAAAtgK,KAAA,0FAC5BqW,KAGM5V,MAOJ8/J,IAJoBplJ,KAAOC,IAAGolJ,MAAAxgK,KAAA,6BAC3B6V,MAGyBsF,KAAOC,IAAGqlJ,MAAAzgK,KAAA,qLAI7B8V,KACAY,OAKTgqJ,GAAoCvlJ,aAAOwlJ,KAAPxlJ,CAA0BylJ,MAAA5gK,KAAA,iFAChE2W,MAMEkqJ,GAAwB1lJ,aAAOojJ,KAAPpjJ,CAAY2lJ,MAAA9gK,KAAA,yJACtCQ,KACMC,MAQJsgK,GAAuB5lJ,aAAOklJ,GAAPllJ,CAAmB6lJ,MAAAhhK,KAAA,+FAO1CihK,GAAuB9lJ,KAAO0J,EAACq8I,MAAAlhK,KAAA,yHAKxChO,IAAA,IAAC,MAAEoiB,GAAOpiB,EAAA,OAAK0yB,aAAwBtQ,EAAM,IAC7CkF,IAAA,IAAC,MAAElF,GAAOkF,EAAA,OAAKqL,aAAmBvQ,EAAM,IAG/B+sJ,GAAyBhmJ,aAAO2J,KAAP3J,CAAYimJ,MAAAphK,KAAA,wJACjCS,MAoBJ4gK,IAZalmJ,KAAOC,IAAGkmJ,MAAAthK,KAAA,4BAIEmb,KAAOC,IAAGmmJ,MAAAvhK,KAAA,6BAILmb,KAAOC,IAAGomJ,MAAAxhK,KAAA,kCAIVmb,KAAOC,IAAGqmJ,MAAAzhK,KAAA,kFAC/BiX,QAKTyqJ,GAAwBvmJ,KAAOC,IAAGumJ,MAAA3hK,KAAA,wGAOlC4hK,GAA0BzmJ,KAAOC,IAAGymJ,MAAA7hK,KAAA,qHAMpC8hK,GAA0B3mJ,KAAOC,IAAG2mJ,MAAA/hK,KAAA,oEAMpCgiK,GAAkC7mJ,KAAOC,IAAG6mJ,MAAAjiK,KAAA,yFAO5CkiK,GAAyB/mJ,aAAOojJ,KAAPpjJ,CAAYgnJ,MAAAniK,KAAA,gGAOrCoiK,GAAuCjnJ,KAAOC,IAAGinJ,MAAAriK,KAAA,+BAIjDsiK,GAAoCnnJ,KAAOC,IAAGmnJ,MAAAviK,KAAA,8BAI9CwiK,GAAiCrnJ,KAAOC,IAAGqnJ,MAAAziK,KAAA,+BAI3C0iK,GAAuBvnJ,KAAOC,IAAGunJ,MAAA3iK,KAAA,4EAMjC4iK,GAAkCznJ,KAAOC,IAAGynJ,MAAA7iK,KAAA,oEAM5C8iK,GAAqB3nJ,aAAOojJ,KAAPpjJ,CAAY4nJ,MAAA/iK,KAAA,gGAOjCgjK,GAAc7nJ,aAAOojJ,KAAPpjJ,CAAY8nJ,MAAAjjK,KAAA,gGAO1BkjK,GAAgC/nJ,aAAOojJ,KAAPpjJ,CAAYgoJ,QAAAnjK,KAAA,8I,uBCxVzD,MAAMojK,GAAkBpxK,IAEkB,IAFjB,gBACvBqxK,GACqBrxK,EACrBg+B,cAAgB,mBAChB,MAAM,QAAE91B,GAAYC,eACdogB,EAAmBhpB,KAASC,SAAS,oBACrCisE,EAAiBlsE,KAASC,SAAS,kBACnC8xK,EAAelvK,cAAcklB,IAAA,IAAAiqJ,EAAA,IAAC,KAAEvvI,GAAM1a,EAAA,OAAuB,QAAvBiqJ,EAAKvvI,EAAKE,qBAAa,IAAAqvI,OAAA,EAAlBA,EAAoBz/I,KAAK,IAEpE0/I,EAA4BjpJ,EAC9B,4DACA,iEAIEkpJ,EAFiBhyK,QAAyB,WAAjB6xK,IAEQ7lG,EAEvC,OACElpD,KAAAC,cAAC6sJ,GAA2B,CAAC,cAAY,oBACvC9sJ,KAAAC,cAACkuJ,GAAoB,KACnBnuJ,KAAAC,cAACguJ,GAA8B,KAC7BjuJ,KAAAC,cAACwuJ,GAAW,CAAC,cAAY,sBACtB7oI,aAAWqpI,KAGfjpJ,GAAoB8oJ,GAEvB9uJ,KAAAC,cAACotJ,GAAuB,KACtBrtJ,KAAAC,cAACouJ,GAA+B,CAAC,cAAY,iBAC3CruJ,KAAAC,cAACstJ,GAAuB,KACtBvtJ,KAAAC,cAACwtJ,GAA+B,KAC7ByB,EACClvJ,KAAAC,cAACorC,KAAS,CAAC9xC,MAAOpN,OAElB6T,KAAAC,cAACuM,KAAW,MAEdxM,KAAAC,cAAC0tJ,GAAsB,KACpB/nI,aACCspI,EACI,yDACA,gEAIVlvJ,KAAAC,cAACwtJ,GAA+B,KAC7ByB,EACClvJ,KAAAC,cAACorC,KAAS,CAAC9xC,MAAOpN,OAElB6T,KAAAC,cAACuM,KAAW,MAEdxM,KAAAC,cAAC0tJ,GAAsB,KACpB/nI,aACCspI,EACI,kEACA,yEAIVlvJ,KAAAC,cAAC0uJ,GAA6B,KAC3B/oI,aACC,uDACA,CAAEjgC,WACF,CAAE6lH,SAAS,QAMO,E,aCzElC,MAAM2jD,GAAuB1xK,IAEiB,IAFhB,gBAC5BqxK,GACyBrxK,EACzBg+B,cAAgB,wBAChB,MAAMzV,EAAmBhpB,KAASC,SAAS,oBACrCisE,EAAiBlsE,KAASC,SAAS,kBACnC8xK,EAAelvK,cAAcklB,IAAA,IAAAiqJ,EAAA,IAAC,KAAEvvI,GAAM1a,EAAA,OAAuB,QAAvBiqJ,EAAKvvI,EAAKE,qBAAa,IAAAqvI,OAAA,EAAlBA,EAAoBz/I,KAAK,IAG1E,IAAI6/I,EACF,kEAEF,MAAMC,EAAgBnyK,QAAyB,UAAjB6xK,GAS9B,OAPI/oJ,IAEFopJ,EAA4BC,EACxB,mEACA,qEAIJrvJ,KAAAC,cAAC6sJ,GAA2B,CAAC,cAAY,uBACvC9sJ,KAAAC,cAACktJ,GAAqB,KACpBntJ,KAAAC,cAAC8tJ,GAAiC,KAC/BsB,IAAkBnmG,EACjBlpD,KAAAC,cAACoxD,KAAe,MAEhBrxD,KAAAC,cAACmxD,KAAe,OAGpBpxD,KAAAC,cAAC4tJ,GAAoC,KACnC7tJ,KAAAC,cAAC0tJ,GAAsB,KACpB/nI,aACCwpI,EACA,CAAEzpK,QAAS6d,KAAagR,IACxB,CAAEg3F,SAAS,MAIhBxlG,GAAoB8oJ,GAEK,E,cCvClC,MAAMQ,GAAiB7xK,IAEmB,IAFlB,gBACtBqxK,GACqBrxK,EACrBg+B,cAAgB,kBAEhB,MAAMmkH,EAA2B5iJ,KAASC,SACxC,4BAGI+oB,EAAmBhpB,KAASC,SAAS,oBACrCisE,EAAiBlsE,KAASC,SAAS,kBACnC8xK,EAAelvK,cAAcklB,IAAA,IAAAiqJ,EAAA,IAAC,KAAEvvI,GAAM1a,EAAA,OAAuB,QAAvBiqJ,EAAKvvI,EAAKE,qBAAa,IAAAqvI,OAAA,EAAlBA,EAAoBz/I,KAAK,IAE1E,IAAIggJ,EACF,8DAEF,MAAMF,EAAgBnyK,QAAyB,UAAjB6xK,GACxBS,EAAiBtyK,QAAyB,WAAjB6xK,GAE3B/oJ,GAAoB45H,IAEtB2vB,EAA2BF,EACvB,+DACA,iEAGN,MAAMI,EACJzpJ,GAAoBwpJ,GAAkB5vB,EAExC,OACE5/H,KAAAC,cAAC6sJ,GAA2B,CAAC,cAAY,mBACvC9sJ,KAAAC,cAACkuJ,GAAoB,KACnBnuJ,KAAAC,cAACguJ,GAA8B,KAC7BjuJ,KAAAC,cAACsuJ,GAAkB,CAAC,cAAY,wBAC7B3oI,aACC2pI,EAEA,CAAEG,aAAc,SAAUC,YAAa,kBACvC,CAAEnkD,SAAS,MAIhBxlG,GAAoB8oJ,IAErB5lG,GAAkBumG,IAClBzvJ,KAAAC,cAACotJ,GAAuB,KACtBrtJ,KAAAC,cAAA,OACE,cAAY,sBACZq0C,UAAU,OACV2H,MAAO,CAAEp6D,MAAO,SAEhBme,KAAAC,cAAC2vJ,KAAO,CAAC3zG,MAAO,CAAEhuC,aAAc,GAAI+7C,UAAW,MAC/ChqD,KAAAC,cAACstJ,GAAuB,KACtBvtJ,KAAAC,cAAC0tJ,GAAsB,KACpB/nI,aACC,qDACA,CAAEiqI,iBAAkB,OAGxB7vJ,KAAAC,cAACwtJ,GAA+B,KAC9BztJ,KAAAC,cAACswD,KAAa,MACdvwD,KAAAC,cAAC8wD,KAAU,OAEb/wD,KAAAC,cAAC0uJ,GAA6B,KAC3B/oI,aACC,oDACA,CAAC,EACD,CAAE4lF,SAAS,QAOK,ECpF5BskD,GAAqBryK,IAEoB,IAFnB,gBAC1BqxK,GACyBrxK,EACzBg+B,cAAgB,sBAGhB,MAAMikH,EAA+B1iJ,KAASC,SAC5C,gCAEI8yK,EAAmB/yK,KAASC,SAAS,4BACrC+yK,EAAqBhzK,KAASC,SAAS,qBAE7C,OACE+iB,KAAAC,cAAA,OAAK,cAAY,wBACdy/H,GACC1/H,KAAAC,cAACkvJ,GAAoB,CAACL,gBAAiBA,IAExCiB,GAAoB/vJ,KAAAC,cAACqvJ,GAAc,CAACR,gBAAiBA,IACrDkB,GACChwJ,KAAAC,cAAC4uJ,GAAe,CAACC,gBAAiBA,IAEhC,ECON9xK,KAASu4H,YAAY,kBACvB73H,MAAO6L,kBAAkB2B,aAAa,WAGxC,MAAM+kK,GAAuBA,KAC3B,MAAMjqJ,EAAmBhpB,KAASC,SAAS,oBACrCoN,EAAO2b,EAAmB,QAAU,SAQ1C,OAAKA,GAAoBhpB,KAASC,SAAS,iBAEvCq4D,aAACoE,KAAc,KACZ9zB,aAAW,8BAAD/nC,OAA+BwM,EAAI,kBAMlDirD,aAAC7mC,YAAQ,KACP6mC,aAAC2U,KAAmB,CAAC,cAAY,wBAC9BrkC,aAAW,8BAAD/nC,OAA+BwM,EAAI,SAAS,CACrD6lK,MAAO56G,aAAA,cAIXA,aAACzc,KAAe,KACbjT,aAAW,0BAAD/nC,OACiBwM,EAAI,SAC9B8lK,OAIHnqJ,GACCsvC,aAACxc,KAAmB,KACjBlT,aAAW,8BAAD/nC,OAA+BwM,EAAI,gBAGzC,EAIT+lK,GAA0B3yK,IAGzB,IAADisF,EAAA,IAH2B,uBAC/B2mF,GAAyB,EAAK,WAC9Bn7B,GAAa,GACdz3I,EACC,MAAMqxC,EAAoBjvC,cAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIoL,iBAAiB,IACpEwhI,EAAoC,QAAd,QAAX5mF,EAAA9jF,sBAAW,IAAA8jF,OAAA,EAAXA,EAAa/jF,SAGxBi7I,EAAuB5jJ,KAASC,SAAS,wBAK/C,GAAIozK,IAF6BzvB,GAAwB9xG,GAIvD,OADApxC,MAAOC,KAAK,qCACL4yK,GAA4B,CACjC9/I,OAAQ,mCAGZ,MAAM+/I,EAAqBxzK,KAASC,SAAS,wBACvCwzK,EAAmBzzK,KAASC,SAAS,oBAErCyzK,EAAoB1zK,KAASC,SACjC,gDAMF,GAAIuzK,IAAuBC,IAAqBC,EAC9C,OAAOp7G,aAACw6G,GAAkB,MACrB,GAAIU,IAAuBE,EAGhC,OAAO,KAGT,MAAMzjH,EAAQ,CACZ,CACE9uC,QAASynB,aAAW,qDACpBunB,SAAU,eAEZ,CACEhvC,QAASynB,aACP,0DAEFunB,SAAU,eAEXmjH,GAAY,CACXnyJ,QAASynB,aACP,wDAEFunB,SAAU,kBAGd,OACEmI,aAAC7mC,YAAQ,KACNymH,GACC5/E,aAACnc,KAAsB,KACpBvT,aAAW,iDAGhB0vB,aAACtI,KAAK,CAACvC,uBAAuB,MAAMI,eAAe,MAAMoC,MAAOA,IACvD,EASTsjH,GAA8BlrJ,IAAiB,IAAhB,OAAEoL,GAAQpL,EAC7C,OACEiwC,aAACrC,KAAW,CACV15B,QAASqM,aACP,0DAEFqyE,WAAYrqC,KACZn9C,OAAQA,EACR4iC,aAAW,GACX,EAQAs9G,GAAUprJ,IAA2B,IAA1B,WAAE+gB,EAAU,KAAEyT,GAAMx0B,EACnC,OACE+vC,aAAC/kC,KAAI,CAACC,KAAM4oB,aAAY,CAAEC,QAASU,IAAS/+B,KAAM4qB,aAAWU,IAAe,EAqB1E6pI,GAAyBA,KAC7B,MAAM9lK,EAAOrN,KAASC,SAAS,oBAAsB,QAAU,SAC/D,MAAO,CACL2zK,gBACEt7G,aAAA,QAAM/pD,IAAK,CAAE6Q,WAAY,QACtBwpB,aAAW,8BAAD/nC,OAA+BwM,KAG9CkoF,oBACEj9B,aAACq7G,GAAO,CACNrqI,WAAU,kCAAAzoC,OAAoCwM,GAC9C0vC,KAAK,4BAGT82H,mBACEv7G,aAACq7G,GAAO,CACNrqI,WAAU,iCAAAzoC,OAAmCwM,GAC7C0vC,KAAK,oBAGT84C,sBACEv9B,aAACq7G,GAAO,CACNrqI,WAAU,oCAAAzoC,OAAsCwM,GAChD0vC,KAAK,+BAGV,EAGG+2H,GAAc94I,cAAW,CAC7BC,OAAQA,IAAM,2DACdC,QAASA,IAELo9B,aAACjd,KAAuB,KACtBid,aAAA,KAAG/pD,IAAKyzJ,MAAsBp5H,aAAW,2BACzC0vB,aAAChnC,KAAa,CAACC,WAAY,KAIjCzxB,KAAM,gBACNq7B,OAAQb,aAA4B,CAAEI,cAAe,cAmBjDq5I,GAAuBA,KAAO,IAAD98B,EACjC,MAAMtgD,EAAc9zF,cAAc8lB,IAAA,IAAC,IAAE+d,GAAK/d,EAAA,OAAK+d,EAAIiwD,WAAW,IACxDyqE,EAAiBv+J,cACrB8pB,IAAA,IAAC,KAAE8V,GAAM9V,EAAA,OAAK8V,EAAKe,2BAA2B,IAE1CiwD,EAAiB5wF,cAAckqB,IAAA,IAAC,IAAE2Z,GAAK3Z,EAAA,OAAK2Z,EAAI+nC,sBAAsB,IACtE4B,EACgB,WAAnB+wF,IAA6C,OAAd3tE,QAAc,IAAdA,OAAc,EAAdA,EAAgB77C,QACrC,OAAX++C,QAAW,IAAXA,GAAoB,QAATsgD,EAAXtgD,EAAavmB,eAAO,IAAA6mE,OAAT,EAAXA,EAAsB5mE,OAClB2jG,EAzB4BrnI,KAClC,MAAMmF,EAAoBpvB,KAASC,WAAW+jB,IAAIoL,kBAQlD,OAPApxC,MAAOE,KAAK,iCAAkC,CAC5Cu/E,IAAKxzC,EACLmF,kBAAkB,GAADjxC,OAAKixC,GACtBmiI,OAAQ,6DACRjzK,WAAY,UACZC,gBAAiB,yBAEZ2nC,aACL,6DACA,CAAE+D,OAAQA,GACX,EAaqBunI,CACf,OAAL7jG,QAAK,IAALA,OAAK,EAALA,EAAOC,iCAGT,OACEhY,aAACrc,KAAoB,CAAC,cAAY,iBAC/B+3H,EACoB,EAIrBG,GAAsBA,IAExB77G,aAACvc,KAA4B,CAAC,cAAY,uBACvCnT,aAAW,yBAKZwrI,GAAwBpnJ,IAAiB,IAAhB,OAAE2f,GAAQ3f,EACvC,MAGMqnJ,EAHmCr0K,KAASC,SAChD,2CAGE,iCACA,yBAEJ,OACEq4D,aAACtc,KAA4B,CAAC,cAAY,0BACvCpT,aAAWyrI,EAAuB,CAAE1nI,WACR,EAQ7B2nI,GAAiBA,KAAO,IAADj2D,EAAAv2B,EAAAC,EAC3B,MAAMwsF,EAAyBv0K,KAASC,SACtC,2CAGIu0K,EAAwD,gBAAxCx0K,KAAS4mB,OAAOsrF,qBAChC,gBAAEj0E,GAAoBp8B,eAAasE,eAEnCsuK,EAAc5xK,cAAcoqB,IAAA,IAAC,KAAEwV,GAAMxV,EAAA,OAAKwV,EAAKa,WAAWg1F,OAAO,IAEjEo8C,IADkC,OAAfz2I,QAAe,IAAfA,GAAyB,QAAVogF,EAAfpgF,EAAiB+xC,gBAAQ,IAAAquC,OAAV,EAAfA,EAA2Bs2D,WAAY,IACbjzK,SAAS+yK,GAEtDjlG,EACW,OAAfvxC,QAAe,IAAfA,GAAqB,QAAN6pD,EAAf7pD,EAAiBC,YAAI,IAAA4pD,GAA+B,QAA/BC,EAArBD,EAAuB7D,qCAA6B,IAAA8D,OAArC,EAAfA,EACIzX,gCAEAskG,EAA4BhlG,gBAC9BJ,GAAqB+kG,EACrB/kG,EAEEyvD,EAAwBr8H,cAC5BuqB,IAAA,IAAC,GAAEvK,GAAIuK,EAAA,OAAKvK,EAAGq8G,qBAAqB,IAQtC,OALA1gG,sBAAU,KACRsxC,aAA6BL,EAAmBolG,GAChD31C,EAAsB21C,EAA0B,GAC/C,IAGDt8G,aAAC7mC,YAAQ,KACNijJ,GAA6Bp8G,aAAC67G,GAAmB,MACjDS,GACCt8G,aAAC87G,GAAqB,CAACznI,OAAQ6iC,IAEhCglG,IAAkBI,GAA6Bt8G,aAACy7G,GAAoB,MAC5D,EAITc,GAA2Ch5I,KAAS,CACxDZ,OAAQA,IAAM,4DACdC,QAAS1P,IACP,MAAQ5I,GAAImgB,GAAcrgB,KAASyb,aAMnC,OALI3S,EAAM7lB,QACRjF,MAAOkJ,KAAK,6CACZm5B,EAAU6e,8BAA6B,GACvC+E,gBAEK,IAAI,EAEbxrB,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOm6I,iCACzB,OAAOx8G,aAAC7nC,EAAS,KACnB,IAGIskJ,GAA8Bl5I,KAAS,CAC3CZ,OAAQA,IAAM,4DACdC,QAASA,IAAMo9B,aAACye,KAAc,MAC9B57C,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOq6I,wBACzB,OAAO18G,aAAC7nC,EAAcjF,EACxB,IAeIypJ,IAZ0Bj6I,cAAW,CACzCC,OAAQA,IAAM,4DACdC,QAASA,IACPo9B,aAACye,KAAc,CAACx6C,QAASqM,aAAW,kCAEtC9oC,KAAM,wBACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOu6I,oBACzB,OAAO58G,aAAC7nC,EAAS,KACnB,IAG+BuK,cAAW,CAC1CC,OAAQA,IAAM,kEACdC,QAASA,IACPo9B,aAACye,KAAc,CAACx6C,QAASqM,aAAW,kCAEtC9oC,KAAM,0BACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOw6I,qBACzB,OAAO78G,aAAC7nC,EAAS,KACnB,KAGI2kJ,GAAuBp6I,cAAW,CACtCC,OAAQA,IAAM,qDACdC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,oBACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAO06I,iBACzB,OAAO/8G,aAAC7nC,EAAS,KACnB,IAGI6kJ,GAAoCt6I,cAAW,CACnDC,OAAQA,IACN,4DACFC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,kCACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAO46I,8BACzB,OAAOj9G,aAAC7nC,EAAS,KACnB,IAGI+kJ,GAA8Cx6I,cAAW,CAC7DC,OAAQA,IACN,4DAGFC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,8CACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAO86I,wCACzB,OAAOn9G,aAAC7nC,EAAS,KACnB,IAGIilJ,GAA0B16I,cAAW,CACzCC,OAAQA,IACN,qDAGFC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,uBACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOg7I,oBACzB,OAAOr9G,aAAC7nC,EAAcjF,EACxB,IAGIoqJ,GAAe56I,cAAW,CAC9BC,OAAQA,IAAM,+BACdC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,mBACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOk7I,SACzB,OAAOv9G,aAAC7nC,EAAS,KACnB,IAGIqlJ,GAAsB96I,cAAW,CACrCC,OAAQA,IAAM,4DACdC,QAASA,IAAM,KACfp7B,KAAM,mBACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOo7I,gBACzB,OAAOz9G,aAAC7nC,EAAS,KACnB,IAGIulJ,GAAiCh7I,cAAW,CAChDC,OAAQA,IAAM,4DACdC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,8BACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOs7I,2BACzB,OAAO39G,aAAC7nC,EAAcjF,EACxB,IAGI0qJ,GAA2Cl7I,cAAW,CAC1DC,OAAQA,IACN,qDACFC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,iCACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAOw7I,qCACzB,OAAO79G,aAAC7nC,EAAcjF,EACxB,IAGI4qJ,GAAsCp7I,cAAW,CACrDC,OAAQA,IACN,qDAGFC,QAASA,IAAMo9B,aAACye,KAAc,MAC9Bj3E,KAAM,+CACNq7B,OAAOR,EAAQnP,GACb,MAAMiF,EAAYkK,EAAO07I,gCACzB,OAAO/9G,aAAC7nC,EAAcjF,EACxB,I,gBC5eF,MAAM8qJ,GAAwB1sJ,KAAO2sJ,SAAQ/nK,QAAAC,KAAA,oDCUvC+nK,GAA4C/1K,IAG3C,IAH4C,WACjD6nG,GAAa,EAAK,SAClBvlF,GACDtiB,EAGC,OAFAg+B,aAAgB,gBAEX6pE,EAKHtlF,KAAAC,cAACqzJ,GAAqB,CAAC,cAAY,0BAA0B94J,UAAQ,GAClEuF,GALIC,KAAAC,cAAAD,KAAAyO,SAAA,KAAG1O,EAMc,E,uBCd5BriB,MAAO6L,kBAAkB2B,aAAa,cAOtC,MAAM21F,GAASt1F,aAAI,CAAE0iB,aAAc,SAStBwlJ,GAAsBz7I,cAAW,CAC5CC,OAAQA,IAAM,8BACdC,QAVwBw7I,IACxB1zJ,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAACo/I,KAA0B,MAC3Br/I,KAAAC,cAACiO,KAAc,CAACzF,eAAgBo4E,KAChC7gF,KAAAC,cAACiO,KAAc,OAOjBpxB,KAAM,cACNq7B,OAAQb,aAA4B,CAClCI,cAAe,kBACfF,cAAe,iBAiBNm8I,GAAiB37I,cAAW,CACvCC,OAAQA,IAAM,8BACdC,QAVwB07I,IACxB5zJ,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAACiO,KAAc,CAACxsB,OAAO,OAAO+mB,eAAgBo4E,GAAQjkF,cAAc,OACpEoD,KAAAC,cAACiO,KAAc,CAACzF,eAAgBo4E,KAChC7gF,KAAAC,cAACiO,KAAc,OAOjBpxB,KAAM,cACNq7B,OAAQb,aAA4B,CAClCI,cAAe,iB,6JCnDZ,MAAMm8I,GAAiCh5H,cAAK,KACjDn9C,KAAOE,KAAK,kCAAmC,CAC7CI,WAAY,cACZC,gBAAiB,qBACjB,IAUS61K,GAAkCj5H,cAAK,KAClDn9C,KAAOE,KACL,mCACA,CACEI,WAAY,aACZC,gBAAiB,sBAEnB,EACD,I,skBCHH,MAUMooG,GAAeA,KACfrpG,KAASC,SAAS,kBDtBtBS,KAAOE,KAAK,gCAAiC,CAC3CI,WAAY,cACZC,gBAAiB,sBAgBnBP,KAAOE,KACL,iCACA,CACEI,WAAY,aACZC,gBAAiB,sBAEnB,ECEF,EAGW81K,GAAmBA,KAC9B,MAAM,UAAEx2G,GAAc19D,cAAckkC,GAASA,EAAML,MAC7Czd,EAAiBjpB,KAASC,SAAS,mBACnC,QAAE0I,EAAO,OAAED,GAAWE,eACtBo1F,EAA0BzmE,KAAwB71B,SAASiH,GAEjE41B,sBAAU,KACJtV,EACF4tJ,KAEAC,IACF,GACC,IAEH,MAAME,EAA6B,KAAdz2G,EACf6iD,EAAYx/G,MAAA,GACbzD,gBAAW,IACd82K,oBAAoB,EACpBr4E,WAAY,OACZ7mD,cAAe,WACf8mD,sBAAuBb,IAGrB,cAAeolB,UACVA,EAAa,aAGlB,aAAcA,UACTA,EAAa,YAGtB,MAAM8zD,EAAU,CACd32G,UAAWy2G,EAAY,GAAAn2K,OAlDH,gCAmDE,WAAAA,OAAUuH,eAAU,iBAAAvH,OAAgBw1F,gBACtD,IACJ31B,UAAU,gBAAD7/D,OAAkB2nE,qBAAU46C,EAAc,CACjD+zD,YAAa,aAIXC,EAAiBC,KAAOC,OAC5B/uG,KAAKC,UAAU0uG,GACfG,KAAOE,aAAaC,UACpB,GAGIlxK,EAAMq2C,aAAS,oBAAqB,CACxCD,iBAAkB,CAChB,YAAa/zC,EACb0E,KAAM+pK,EACNK,KAAMrvK,eACN,WAAYM,EACZgvK,aAAc,aAEhB96H,mBAAmB,IAGrB,OACE55B,KAAAC,cAAC6pD,KAAQ,CAACY,GAAG,IAAIiqG,QAAM,GACrB30J,KAAAC,cAACsQ,KAAI,CACHE,OAAO,YACPD,KAAMltB,EACNmkB,QAAS4+E,GACThqF,WAAW,OACXgN,OAAQ,eACRrO,KAhFFhe,KAASC,SAAS,kBACb2oC,aAAW,uBAGbA,aAAW,0BA8EL,E,OClGf,MAAMgvI,GAAShuJ,KAAOiuJ,OAAMrpK,QAAAC,KAAA,gNACjBQ,KACI2W,KACEG,KAMAH,M,kCChBV,M,wBCqBDkyJ,GAAqBA,IACzBrmK,KAAGunC,QAAQvnC,KAAG+zC,MAAMooC,gCAAiCn8E,KAAGi0C,OAAOY,IAEpDyxH,GAAqBt3K,IAGD,IAHE,KACjC4B,GAEY5B,EADT+qB,EAAK3nB,KAAApD,EAAAqD,IAER,MAAMq/C,EAAcvgD,cAAgB+9B,GAAKA,EAAE8B,OACrCqP,EAAoBjvC,cAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIoL,iBAAiB,IAE1E,IAAIxI,EAAa/hB,aAAc,2BAA6B,GAgB5D,OAJIvnB,KAASC,SAAS,yBAA2B6xC,IAC/CxI,EAAa,sBAIbtmB,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAACoM,KAAMlB,KAAA,CACLumE,oBAAqBjjF,KAAG+zC,MAAMgpC,8BAC9BllD,WAAYA,EACZrb,OAAO,gBACPxD,QApBgChlB,IACpCqyK,KACA30H,EAAYi/C,oBAAoB,UAChC9+C,aAAoB79C,EAAE,EAkBlBpD,KAAK,UACDmpB,GAEHod,aAAWU,IAEJ,WAATjnC,GAAqB2gB,KAAAC,cAAC+0J,GAAkB,CAACvtJ,QApBnBwtJ,KACzB90H,EAAYi/C,oBAAoB,SAAS,IAoBtC,EAIM81E,GAAoB7vJ,IAGA,IAHC,KAChChmB,GAEYgmB,EADTmD,EAAK3nB,KAAAwkB,EAAAioC,IAER,MAAMnN,EAAcvgD,cAAgB+9B,GAAKA,EAAE8B,OACrCggI,EAAW7yF,gBAYX9mD,EAAiB9oB,KAASC,SAAS,kBACnC8oB,EAAQ/oB,KAASC,SAAS,SAI1BqpC,EAHYxgB,GAAkBC,GACJ05I,EAG5B,0BACA,+BAEJ,OACEz/I,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAACoM,KAAMlB,KAAA,CACLumE,oBAAqBjjF,KAAG+zC,MAAMC,iBAC9Bnc,WAAYA,EACZrb,OAAO,wBACPxD,QAzBgChlB,IACpCqyK,KACA30H,EAAYi/C,oBAAoB,SAChC9+C,aAAoB79C,EAAE,EAuBlBpD,KAAK,SACLotB,UAAU,GACNjE,GAEHod,aAAWU,IAEJ,WAATjnC,GAAqB2gB,KAAAC,cAAC+0J,GAAkB,CAACvtJ,QA1BnBwtJ,KACzB90H,EAAYi/C,oBAAoB,QAAQ,IA0BrC,EAUM41E,GAAqBzvJ,IAEW,IAFV,QACjCkC,EAAU20B,OACc72B,EACxB,MAAMu8B,EAAmBjiD,cAAc8lB,IAAA,IAAC,GAAE/F,GAAI+F,EAAA,OAAK/F,EAAGkiC,gBAAgB,IAUtE,OACE9hC,KAAAC,cAAA,SACE,cAAY,qBACZzF,SAAUsnC,EACVr6B,QAVgBgtD,KAClBhtD,IACAqtJ,KD3HwCK,MAC1C,MAAM,MAAE5lJ,GAAU7P,KAASC,WAAW8f,KAAKE,cAC3CjiC,MAAOE,KAAK,iCAAkC,CAC5CI,WAAY,UACZC,gBAAiB,yCACjBqkD,iBAA4B,WAAV/yB,EAAqB,IAAM,KAC7C,ECsHA4lJ,EAA8B,EAQ5Bl5G,MAAO,CAAErwC,QAAS,QAClBvsB,KAAK,UACL,E,cCzHC,MAAM+1K,GAAuCA,IAEhDp1J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAACirG,KAAU,MACXlrG,KAAAC,cAACqxJ,GAAc,MACftxJ,KAAAC,cAAC80J,GAAkB,MACnB/0J,KAAAC,cAACi1J,GAAiB,MAClBl1J,KAAAC,cAAC+0J,GAAkB,OASZK,GAAqC53K,IAEW,IAFV,WACjDy3I,GAAa,GAC2Bz3I,EACxC,OACEuiB,KAAAC,cAAAD,KAAAyO,SAAA,KACGymH,GAAcl1H,KAAAC,cAACirG,KAAU,MAC1BlrG,KAAAC,cAAC80J,GAAkB,CAAC11K,KAAK,WACxB,EAIMi2K,GAAoBA,KAC/B,MACMC,EACY,WAFE11K,cAAcklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKE,cAAcpQ,KAAK,IAGlE9gB,KAAG+zC,MAAMgpC,8BACT/8E,KAAG+zC,MAAMC,iBAET+yH,EAAkBx4K,KAAS+7D,aAC/B,4BACA,iBAEF,OACE/4C,KAAAC,cAAAD,KAAAyO,SAAA,KACG+mJ,GAAmBx1J,KAAAC,cAACqxJ,GAAc,MACnCtxJ,KAAAC,cAACoM,KAAM,CAACqlE,oBAAqB6jF,EAAiBtqJ,OAAO,kBACpD,E,gCCvDA,MAAMwqJ,GAA0B7uJ,KAAO2sJ,SAAQ/nK,QAAAC,KAAA,gGAKjChO,IAAA,IAAC,SAAE0qC,GAAU1qC,EAAA,OAAM0qC,EAAW,OAAS,GAAG,IAIlDutI,GAAwB9uJ,KAAOC,IAAGhb,QAAAJ,KAAA,uFAQlCkqK,GAAgB/uJ,KAAOC,IAAGI,QAAAxb,KAAA,+B,aCPhC,MAAMmqK,GAA+BA,KAC1Cn6I,aAAgB,kBAEhB,MACMo6I,EAA0B,SADjBh2K,cAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGugB,MAAM,IAE5C8N,EAAiBC,gBAEvB,OACEluB,KAAAC,cAAA,OAAK,cAAY,oCACfD,KAAAC,cAACylI,KAAY,CAACr4H,cAAeA,KAAehuB,KAAK,UAChD4uC,GAAkB4nI,GACjB71J,KAAAC,cAAC01J,GAAa,KACZ31J,KAAAC,cAAC86D,KAAe,CAAC1tD,cAAeA,QAGhC,EClBGyoJ,GAAcA,KACzBv6I,sBAAU,KACR79B,MAAOC,KAAK,8BAA8B,GACzC,IAGDqiB,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC04B,KAAO,KACN34B,KAAAC,cAAC+4C,KAAoB,MACrBh5C,KAAAC,cAAC21J,GAA4B,OAE/B51J,KAAAC,cAACq1J,GAAiB,QCrBXS,GACe,wBADfA,GAEgB,yBAFhBA,GAGkB,2B,2BCAxB,MAAMC,GAAgBpvJ,aAAOqvJ,KAAPrvJ,CAAcpb,QAAAC,KAAA,sECE9ByqK,GAAuBj8C,IAClCv8H,MAAOE,KAAK,yBAA0BigF,aAA+Bo8C,IAErEl6E,aAAmB,CACjB1b,MAAO,gBACP5+B,QAAS,CACPqpB,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,GACX4S,SAAS,EACTlqB,SAAS,EACTqC,MAAO0qG,IAET,E,sBCCJ,MAmBMk8C,GAAaA,IACjB7gH,aAACq0G,GAAW,KACVr0G,aAACy0G,GAAU,CAAC,cAAY,gBACrBnkI,aAAW,mCAEd0vB,aAACg1G,GAAgB,OAIf8L,GAAaA,IACjB9gH,aAACs0G,GAAW,KACVt0G,aAAC40G,GAAU,CAAC,cAAY,gBACrBtkI,aAAW,mCAEd0vB,aAACk1G,GAAgB,OAIf6L,GAAa54K,IAAA,IAAC,eAAEu0H,GAAoCv0H,EAAA,OACxD63D,aAACu0G,GAAW,KACVv0G,aAAC80G,GAAU,CAAC,cAAY,gBACrBxkI,aAAW,wCAAyC,CACnDosF,oBAGJ18D,aAACo1G,GAAgB,MACL,ECjCV4L,GAAsB74K,IAEY,IAFX,eAC3Bu0H,GACmBv0H,EACnB,OACEuiB,KAAAC,cAACwpJ,GAAe,KACdzpJ,KAAAC,cAACqrJ,GAAY,KACXtrJ,KAAAC,cAACk2J,GAAU,MACXn2J,KAAAC,cAAC2qJ,GAAkB,CAAC,cAAY,wBAC7BhlI,aAAW,kCAAmC,CAAEosF,mBAAmB,IACpEhyG,KAAAC,cAACs2J,GAAU,CACTjwI,WAAW,+BACXyT,KAAK,+BACLqpE,OAAO,oBAIG,EAIhBozD,GAAsBzxJ,IAEY,IAFX,eAC3BitG,GACmBjtG,EACnB,OACE/E,KAAAC,cAACypJ,GAAe,KACd1pJ,KAAAC,cAACqrJ,GAAY,KACXtrJ,KAAAC,cAACm2J,GAAU,MACXp2J,KAAAC,cAAC6qJ,GAAkB,CAAC,cAAY,wBAC7BllI,aAAW,kCAAmC,CAAEosF,mBAAmB,IACpEhyG,KAAAC,cAACw2J,GAAU,CACTnwI,WAAW,+BACXyT,KAAK,+BACLqpE,OAAO,oBAIG,EAIhBszD,GAAsBrxJ,IAEY,IAFX,eAC3B2sG,GACmB3sG,EACnB,OACErF,KAAAC,cAACypJ,GAAe,KACd1pJ,KAAAC,cAACqrJ,GAAY,KACXtrJ,KAAAC,cAACo2J,GAAU,CAACrkD,eAAgBA,KAE9BhyG,KAAAC,cAACqrJ,GAAY,KACXtrJ,KAAAC,cAAC+qJ,GAAkB,CAAC,cAAY,wBAC7BplI,aAAW,6CAA8C,CACxDosF,mBACE,IACJhyG,KAAAC,cAACw2J,GAAU,CACTnwI,WAAW,+BACXyT,KAAK,+BACLqpE,OAAO,oBAIG,EAIhBuzD,GAAYpxJ,IAA0D,IAAzD,eAAEysG,GAAoCzsG,EACvD,MAAMqxJ,EACJ52J,KAAAC,cAACyrJ,GAAU,KACR9lI,aAAW,0CAIhB,OACE5lB,KAAAC,cAACurJ,GAAY,CAAC,cAAY,qBACxBxrJ,KAAAC,cAAC42J,KAAK,CAACx3K,KAAK,UAAUy3K,SAAU1K,KAAoBvsJ,MAAM,MACvD+lB,aAAW,2CAEd5lB,KAAAC,cAAC6rJ,GAAW,CAAC,cAAY,wBACtBlmI,aAAW,wCAAyC,CACnDosF,oBAGJhyG,KAAAC,cAACqrJ,GAAY,KACXtrJ,KAAAC,cAAC6rJ,GAAW,CAAC,cAAY,wBACtBlmI,aAAW,wCAAyC,CACnDgxI,eACE,IACJ52J,KAAAC,cAAC82J,GAAgB,CACfzwI,WAAW,+BACXyT,KAAK,+BACLqpE,OAAO,iBAIA,EAIb4zD,GAAYrxJ,IAA0D,IAAzD,eAAEqsG,GAAoCrsG,EACvD,OACE3F,KAAAC,cAACurJ,GAAY,CAAC,cAAY,qBACxBxrJ,KAAAC,cAAC42J,KAAK,CACJx3K,KAAK,UACLy3K,SAAU1K,KACVvsJ,MAAM,KACN,cAAY,yBAEX+lB,aAAW,2CAEd5lB,KAAAC,cAAC6rJ,GAAW,CAAC,cAAY,wBACtBlmI,aAAW,gDAAiD,CAC3DosF,oBAGJhyG,KAAAC,cAACqrJ,GAAY,KACXtrJ,KAAAC,cAAC6rJ,GAAW,CAAC,cAAY,wBACtBlmI,aAAW,yCAA0C,IACtD5lB,KAAAC,cAAC82J,GAAgB,CACfzwI,WAAW,+BACXyT,KAAK,+BACLqpE,OAAO,iBAIA,EAIb6zD,GAAYttJ,IAA0D,IAAzD,eAAEqoG,GAAoCroG,EACvD,OACE3J,KAAAC,cAACurJ,GAAY,CAAC,cAAY,qBACxBxrJ,KAAAC,cAAC+rJ,GAAyB,KACxBhsJ,KAAAC,cAACksJ,GAAiC,MAClCnsJ,KAAAC,cAACqsJ,GAAqB,CAAC,cAAY,yBAChC1mI,aAAW,oDAAqD,CAC/DosF,oBAGJhyG,KAAAC,cAACusJ,GAAoB,CAAC,cAAY,wBAC/B5mI,aAAW,gDAAiD,CAC3DosF,mBACE,IACHpsF,aAAW,yCAA0C,KAExD5lB,KAAAC,cAACi3J,GAAkB,CACjB5wI,WAAW,+BACXyT,KAAK,+BACLqpE,OAAO,gBAGE,EAUbmzD,GAAaxsJ,IAIgB,IAJf,WAClBuc,EAAU,KACVyT,EAAI,OACJqpE,GACcr5F,EACd,OACE/J,KAAAC,cAACirJ,GAAe,CACd,cAAa9nD,EACb5yF,KAAM2pB,aAAc,CAAEJ,SACtBrpB,IAAI,sBACJ7C,OAAO,UAEN+X,aAAWU,GACI,EAIhBmwI,GAAazsJ,IAIgB,IAJf,WAClBsc,EAAU,KACVyT,EAAI,OACJqpE,GACcp5F,EACd,OACEhK,KAAAC,cAACmrJ,GAAe,CACd,cAAahoD,EACb5yF,KAAM2pB,aAAc,CAAEJ,SACtBrpB,IAAI,sBACJ7C,OAAO,UAEN+X,aAAWU,GACI,EAIhBywI,GAAmB9sJ,IAIU,IAJT,WACxBqc,EAAU,KACVyT,EAAI,OACJqpE,GACcn5F,EACd,OACEjK,KAAAC,cAACysJ,GAAoB,CACnB,cAAatpD,EACb5yF,KAAM2pB,aAAc,CAAEJ,SACtBrpB,IAAI,sBACJ7C,OAAO,UAEN+X,aAAWU,GACS,EAIrB4wI,GAAqB/sJ,IAIQ,IAJP,WAC1Bmc,EAAU,KACVyT,EAAI,OACJqpE,GACcj5F,EACd,OACEnK,KAAAC,cAAC2sJ,GAAsB,CACrB,cAAaxpD,EACb5yF,KAAM2pB,aAAc,CAAEJ,SACtBrpB,IAAI,sBACJ7C,OAAO,UAEN+X,aAAWU,GACW,E,4oCC1P7B,MAAM6wI,GAAc,CAClBr/I,UAAW,6BC4BPs/I,GAAqBA,KACzB37I,aAAgB,sBAGhB,MAAO47I,EAAeC,GAAoBruJ,qBAAkB,GAGtDsuJ,EAASv6K,KAASC,SAAS,4CAC3Bu6K,EAASx6K,KAASC,SAAS,4CAC3Bw6K,EAASz6K,KAASC,SAAS,6CAE3B,cAAE0iC,EAAa,qBAAE61F,GAAyB31H,cAC9CpC,IAA0B,IAADi6K,EAAA1I,EAAA,IAAxB,KAAEvvI,GAAMhiC,EACP,MAAO,CACL+3H,qBAA+C,QAA3BkiD,EAAEj4I,EAAK+1F,4BAAoB,IAAAkiD,OAAA,EAAzBA,EAA2BnoJ,MACjDoQ,cAAiC,QAApBqvI,EAAEvvI,EAAKE,qBAAa,IAAAqvI,OAAA,EAAlBA,EAAoBz/I,MACpC,KAIC,aAAEunG,EAAY,oBAAEK,GAAwBt3H,cAC5CklB,IAAsB,IAArB,GAAEnF,GAAImF,EACL,MAAO,CACL+xG,aAAcl3G,EAAGk3G,aACjBK,oBAAqBv3G,EAAGu3G,oBACzB,KAKC,eAAE9uH,GAAmBxJ,eAAasE,eAClC6uH,EAA+B,OAAd3pH,QAAc,IAAdA,OAAc,EAAdA,EAAgB2pH,eAQjC2lD,EAAyBh4I,IAE7B,MAAMi4I,GAAa56K,KAASC,SAAS,SAC/B8kJ,EAA4B/kJ,KAASC,SACzC,6BAEI46K,EAAY76K,KAASC,SACzB,2CAEI4lI,EACc,WAAlBljG,GACAoiH,GACA61B,IACCC,EACG9Q,EAAqC,GAgB3C,MAdsB,WAAlBpnI,GACFonI,EAAoBv/H,KAAK,mBAEtBowI,GACH7Q,EAAoBv/H,KAAK,eAEtBu6G,GACHglB,EAAoBv/H,KAAK,2BAEvBqwI,GACF9Q,EAAoBv/H,KAAK,4BD1FUswI,EACvCj1C,EACAk1C,KAEA,MACM/Q,EAAoBnoK,eAAa2lB,YAAiC,kCAClEkpD,EAAc,CAClB+O,WAAYr3E,eACZs3E,aAAc,WACdvrB,WAAY,oDACZ81G,2BAA6C,OAAjBD,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBE,aAC/CC,0BAA4C,OAAjBH,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBI,YAC9ChpE,QAAS,WACTplE,OAAQusC,KAAKC,UAAU,CACrB,CACE04B,YAAa2kC,EACb7pG,OAAQ6pG,EAAa,GAAKk1C,EAC1BzQ,GAAqB,OAAjBN,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBE,aACvBK,GAAqB,OAAjBP,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBI,eAG3BppK,WAAY,2BACZC,gBAAiB,mCAGnBP,KAAOE,KAAK,oDAAqD8vE,EAAY,ECoE3EoqG,CAA0Bj1C,EAAYkkC,GAC/BlkC,CAAU,EAiCnB,OA7BAtnG,sBAAU,KACR+7I,EAAiBK,EAAsBniD,GAAsB,GAC5D,IAGHj6F,sBAAU,KAEJ87I,GAAmC,UAAlB13I,GDnEvBjiC,KAAOE,KAAK,+CAA8CgD,GAAA,CACxDuwD,WAAY,+CACZnzD,WAAY,kCACZC,gBAAiB,2CACdk5K,KE1C2Ba,EAChC7gD,EACAkgD,EACA13I,EACAm3F,KAEA,MAAQl3G,GAAImgB,GAAcrgB,KAASyb,aACnC4E,EAAU07F,uBAAsB76H,MAAC,CAAC,EAC7Bu2H,GAAmB,IACtBC,mBAAoBigD,GAAmC,UAAlB13I,EACrC03F,2BACEggD,GAAiBvgD,EAAe,GAAuB,WAAlBn3F,IACvC,EDgGAq4I,CACE7gD,EACAkgD,EACA13I,EACAm3F,EACD,GACA,CAACn3F,EAAe03I,IAGnB97I,sBAAU,KACJ47F,EAAoBE,4BDvE1B35H,KAAOE,KAAK,4DAA2DgD,GAAA,CACrEuwD,WAAY,4DACZnzD,WAAY,+CACZC,gBAAiB,wDACdk5K,KExD0B/pF,KAC/B,MAAQ3tD,KAAM0gB,GAAgBzgC,KAASyb,aACvCglB,EAAY46E,6BAA6B3tC,EAAK,ED6H5C6qF,CACE9gD,EAAoBE,2BACrB,GACA,CAACF,EAAoBE,6BAGtBr3G,KAAAC,cAAAD,KAAAyO,SAAA,KAEG0oG,EAAoBC,oBAAsBmgD,GACzCv3J,KAAAC,cAACq2J,GAAmB,CAACtkD,eAAgBA,IAEtCmF,EAAoBE,4BAA8BkgD,GACjDv3J,KAAAC,cAAC02J,GAAS,CAAC3kD,eAAgBA,IAI5BmF,EAAoBC,oBAAsBogD,GACzCx3J,KAAAC,cAACu2J,GAAmB,CAACxkD,eAAgBA,IAEtCmF,EAAoBE,4BAA8BmgD,GACjDx3J,KAAAC,cAAC+2J,GAAS,CAAChlD,eAAgBA,IAI5BmF,EAAoBC,oBAAsBqgD,GACzCz3J,KAAAC,cAACy2J,GAAmB,CAAC1kD,eAAgBA,IAEtCmF,EAAoBE,4BAA8BogD,GACjDz3J,KAAAC,cAACg3J,GAAS,CAACjlD,eAAgBA,IAE5B,E,skBE7JP,MAAMmlD,GAAc,CAClBr/I,UAAW,4BACX95B,WAAY,W,cCkBd,MAAMk6K,GAAuB/vI,IAEzB+tI,GADE/tI,EACkB,QAEA,UDnBcA,KACpCzqC,KAAOE,KAAK,mDAAkDgD,GAAA,CAC5DuwD,WAAY,mDACZlzD,gBAAiB,0CACjBqkD,iBAAkBna,EAAW,IAAM,KAChCgvI,IACH,ECgBFgB,EAAuBhwI,EAAS,EAO5BiwI,GAA2B36K,IAEkB,IAFjB,eAChCuxD,GAC8BvxD,EAC9Bg+B,aAAgB,6BAChB,MAAM,aAAEq7F,EAAY,uBAAEvnC,EAAsB,MAAEhgE,GAAU1vB,cACtDklB,IAAmB,IAADiqJ,EAAA,IAAjB,KAAEvvI,EAAI,GAAE7f,GAAImF,EACX,MAAO,CACL+xG,aAAcl3G,EAAGk3G,aACjBvnC,uBAAwB9vD,EAAK8vD,uBAC7BhgE,MAAyB,QAApBy/I,EAAEvvI,EAAKE,qBAAa,IAAAqvI,OAAA,EAAlBA,EAAoBz/I,MAC5B,IAGCuf,EAAoBjvC,cAAcwlB,IAAA,IAAC,IAAEqe,GAAKre,EAAA,OAAKqe,EAAIoL,iBAAiB,IAEpEgS,EAAoB,UAAVvxB,EACV4Y,EAAqB,WAAV5Y,EAEXqxH,EAAuB5jJ,KAASC,SAAS,wBACzCkmD,EAAkCnmD,KAASC,SAC/C,yCAEIo7K,EACJr7K,KAASC,SAAS,wBACjBD,KAASC,SAAS,iBAGfuzK,EAAqBxzK,KAASC,SAAS,wBAEvCyzK,EAAoB1zK,KAASC,SACjC,gDAGIq7K,EAAqB13B,GAAwB9xG,EAMnD,GAJAvT,sBAAU,KDvD8B4M,KACxCzqC,KAAOE,KAAK,gDAA+CgD,GAAA,CACzDuwD,WAAY,iDACZlzD,gBAAiB,gCACjBqkD,iBAAkBna,EAAW,IAAM,KAChCgvI,IACH,ECkDAoB,CAA0BpwI,EAAS,GAClC,IAECmwI,EACF,OACEt4J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAACswJ,GAA2B,CAAC9/I,OAAO,4BACpCzQ,KAAAC,cAAC09E,KAA0B,CACzBtwE,cAAeA,KACfhuB,KAAK,WAMb,MAAMm5K,EAAwBrwI,IAC5B+vI,GAAoB/vI,GPpEa2uF,KACnC,MAAQl3G,GAAImgB,GAAcrgB,KAASyb,aACnC4E,EAAUq7F,gBAAgBtE,EAAe,EAAE,EOmEzC2hD,CAAqB3hD,EAAa,EAG9B4hD,GACHL,GAAoCl1H,IACrCrU,EAEIggI,GAAmB4J,GACvB14J,KAAAC,cAACH,KAAoB,KACnBE,KAAAC,cAAC+1J,GAAa,CACZr6J,QAASwsB,EACT,cAAY,yBACZwwI,QAAM,EACN58J,OACGy0J,GAAsBE,EACnB9qI,aAAW,0CACX,GAENhY,SAAUA,IAAM4qJ,EAAqBrwI,GACrC5Y,MAAOA,KAKPqpJ,EACJ9J,IAAoBv/E,GAA0BihF,EAEhD,OACExwJ,KAAAC,cAAAD,KAAAyO,SAAA,KAIGmqJ,IAA0BlI,EACzB1wJ,KAAAC,cAAC6vJ,GAAkB,CAAChB,gBAAiBA,IAErCA,GAIA4J,IAAuBlI,GAAsBxwJ,KAAAC,cAACm3J,GAAkB,MACjEjvI,GACCnoB,KAAAC,cAAAD,KAAAyO,SAAA,MACI8gE,GACAvvE,KAAAC,cAACmwJ,GAAuB,CAACl7B,YAAY,IAEvCl1H,KAAAC,cAACu9E,KAAY,CACXxuC,eAAgBA,EAChBoG,wBAAsB,KAI3BtU,GACC9gC,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC09E,KAA0B,CACzBtwE,cAAeA,KACfhuB,KAAK,WAIV,ECjIMw5K,GAAap7K,IAGkB,IAHjB,SACzBkrF,EAAQ,uBACR0nF,GAAyB,GACT5yK,EAChB,OAAIkrF,IAAaotF,GAEb/1J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC04B,KAAO,CAAC,cAAY,4BACnB34B,KAAAC,cAACmwJ,GAAuB,CACtBC,uBAAwBA,IAE1BrwJ,KAAAC,cAAC04B,KAAO,KACN34B,KAAAC,cAAC+4C,KAAoB,CACnB5D,wBAAsB,EACtB3c,GAAG,SACHwgB,aAAa,IAEfj5C,KAAAC,cAACu9E,KAAY,CAACxuC,gBAAc,EAACoG,wBAAsB,MAGvDp1C,KAAAC,cAACo1J,GAAkC,CAACngC,YAAY,KAKlDvsD,IAAaotF,GAEb/1J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC04B,KAAO,CAAC,cAAY,6BACnB34B,KAAAC,cAACmwJ,GAAuB,MAGxBpwJ,KAAAC,cAAC04B,KAAO,CAAC+xB,GAAG,OACV1qD,KAAAC,cAAC+4C,KAAoB,CACnB5D,wBAAsB,EACtB3c,GAAG,SACHwgB,aAAa,IAEfj5C,KAAAC,cAACu9E,KAAY,CAACpoC,wBAAsB,MAGxCp1C,KAAAC,cAACq1J,GAAiB,OAMtBt1J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC04B,KAAO,CAAC,cAAY,+BACnB34B,KAAAC,cAAC+4C,KAAoB,CAAC5D,wBAAsB,IAC5Cp1C,KAAAC,cAACm4J,GAAwB,OAE3Bp4J,KAAAC,cAACq1J,GAAiB,MACjB,EC3DMwD,GAAiBA,KAC5B,MAAM1jH,EAAyBp4D,KAASC,SACtC,gCAWF,OARAs+B,sBAAU,KACR79B,MAAOC,KACLy3D,EACI,oDACA,yCACL,GACA,IAECA,EACKp1C,KAAAC,cAAC44J,GAAU,CAAClwF,SAAUotF,KAI7B/1J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC04B,KAAO,KACN34B,KAAAC,cAACgwJ,GAAoB,MAGrBjwJ,KAAAC,cAAC04B,KAAO,CAAC+xB,GAAG,OACV1qD,KAAAC,cAAC+4C,KAAoB,CAACvgB,GAAG,SAASwgB,aAAa,IAC/Cj5C,KAAAC,cAACu9E,KAAY,QAGjBx9E,KAAAC,cAACq1J,GAAiB,MACjB,ECjCMyD,GAAqBA,KAChC,MAAM3jH,EAAyBp4D,KAASC,SACtC,gCAWF,OARAs+B,sBAAU,KACR79B,MAAOC,KACLy3D,EACI,wDACA,6CACL,GACA,IAECA,EAEAp1C,KAAAC,cAAC44J,GAAU,CACTxI,wBAAsB,EACtB1nF,SAAUotF,KAMd/1J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC+4C,KAAoB,CAACvgB,GAAG,WACzBz4B,KAAAC,cAACo1J,GAAkC,MAClC,EC5BM2D,GAAeA,KAC1B,MAAMhqH,EAAiBhyD,KAASC,SAAS,4BAUzC,OARAs+B,sBAAU,KACR79B,MAAOC,KACLqxD,EACI,6CACA,gCACL,GACA,IAECA,EACKhvC,KAAAC,cAAC84J,GAAkB,MAGrB/4J,KAAAC,cAAC64J,GAAc,KAAG,E,qCCbpB,MAAMG,GAA2B1tK,aAAGC,QAAAC,KAAA,oLACrBgW,MACAhB,MAMTmB,M,gCCTN,MCwBMs3J,GAAiBA,KAC5Bz9I,aAAgB,kBAChB,MAAM3M,EAAejvB,cACnBpC,IAAA,IAAC,KAAEgiC,GAAMhiC,EAAA,OAAKgiC,EAAKE,cAAc7Q,YAAY,IAEzCS,EAAQ1vB,cAAcklB,IAAA,IAAC,KAAE0a,GAAM1a,EAAA,OAAK0a,EAAKE,cAAcpQ,KAAK,IAC5DuxB,EAAU5jD,QAAQqyB,IAAU8qD,KAASC,OACrCnyC,EAAWjrC,QAAQqyB,IAAU8qD,KAASE,SACtC,QAAE50E,GAAYC,eACduzK,EACJn8K,KAASC,SAAS,wBACjBD,KAASC,SAAS,oCACjB0I,IAAY6d,KAAa0O,GAEvBknJ,EAAgDA,CACpD32K,EACA2iI,EACArmF,EACAtb,KD1CmCw2F,KACrC,MAAM,sBAAEziE,GAA0B93C,KAASyb,aAAasE,KAElD45I,EAAwB,UAAXp/C,EAAqB,SAAW,QAC7Cq/C,EAAsCx0I,aAAgBu0I,GAG5D7hH,EAAsB,CACpBnzB,MAH+C,GAAAxmC,OAAMw7K,EAAU,gBAI/D5zK,QAAS,CACPqpB,cAAc,EACdnsB,MAAO,GACP6hC,UAAW,eACXtX,QAASlwB,KAASu4H,YAAY,MAAD13H,OACrBy7K,EAAe,+BAEvB/pJ,OAAO,IAET,EC2BAgqJ,CAAuBn0C,GAEvB1nI,MAAOE,KACL,yBACAigF,aAA+BunD,IAGjC/3G,aAAc5qB,EAAG2iI,EAAUrmF,EAAUtb,EAAK,EAG5C,OACEzjB,KAAAC,cAAAD,KAAAyO,SAAA,KACGK,GACC9O,KAAAC,cAACs1C,KAAU,CACTtpC,KAAMjM,KAAAC,cAAC6lH,KAAQ,MACfrnI,GAAG,qBACHgqB,eAAgBwwJ,IAEfrzI,aAAW,2CAIhB5lB,KAAAC,cAACy1J,GAAqB,CAAC,cAAY,mBACjC11J,KAAAC,cAACoP,KAAW,CACVjC,YAAaE,KACb9S,SAAU2+J,EACV9rJ,cAAe+rJ,EACfz9J,QAASwsB,EACT7Y,SAAUR,EACVxB,aAAcA,KACd7uB,GAAG,sBACHsd,MAAO6pB,aAAW,oCAClB9oC,KAAK,gBACLyyB,MAAM,WAERvP,KAAAC,cAACw1J,GAAuB,CAACttI,SAAUA,GAChCA,EACCnoB,KAAAC,cAACu9E,KAAY,MAEbx9E,KAAAC,cAAC4yC,KAAkB,CACjBr4C,UAAU,EACV/b,GAAG,mBACH0wB,oBAAqB7jB,MACrByQ,MAAO6pB,aAAW,wBAClBrW,MAAM,OAMdvP,KAAAC,cAACy1J,GAAqB,KACpB11J,KAAAC,cAACoP,KAAW,CACVjC,YAAaE,KACbD,cAAe+rJ,EACfz9J,QAASmlC,EACTxzB,aAAcA,KACdgC,SAAUR,EACVrwB,GAAG,qBACHsd,MAAO6pB,aAAW,mCAClB9oC,KAAK,gBACLyyB,MAAM,UAERvP,KAAAC,cAACw1J,GAAuB,KACrB30H,GAAW9gC,KAAAC,cAAC21J,GAA4B,QAG5C,E,aCzGA,MAAM4D,GAAmBA,KAC9B,MAAMpkH,EAAyBp4D,KAASC,SACtC,kCAEIw8K,EAAkBx0J,aAAa,8BAUrC,OARAsW,sBAAU,KACR79B,MAAOC,KACLy3D,EACI,sDACA,2CACL,GACA,IAECA,GACF13D,MAAOC,KAAK,uDAEVqiB,KAAAC,cAAC44J,GAAU,CAAClwF,SAAUotF,OAI1Br4K,MAAOC,KAAK,4CAEVqiB,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC04B,KAAO,KACN34B,KAAAC,cAAC+4C,KAAoB,OACnBygH,GAAmBz5J,KAAAC,cAACgwJ,GAAoB,OACxCwJ,GAAmBz5J,KAAAC,cAACi5J,GAAc,OAEtCl5J,KAAAC,cAACq1J,GAAiB,OACjB,ECnCMoE,GAAuBA,IAEhC15J,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC04B,KAAO,KACN34B,KAAAC,cAAC+4C,KAAoB,CAAC5D,wBAAsB,IAC5Cp1C,KAAAC,cAACm4J,GAAwB,CAACppH,gBAAc,KAE1ChvC,KAAAC,cAACq1J,GAAiB,OCRXqE,GAAiBA,KAC5B,MAAM3qH,EAAiBhyD,KAASC,SAAS,8BAUzC,OARAs+B,sBAAU,KACR79B,KAAOC,KACLqxD,EACI,0DACA,kCACL,GACA,IAECA,EACKhvC,KAAAC,cAACy5J,GAAoB,MAGvB15J,KAAAC,cAACu5J,GAAgB,KAAG,ECfhBI,GAAOA,KAClBr+I,sBAAU,KACR79B,MAAOC,KAAK,6BAA6B,GACxC,IAGDqiB,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC+4C,KAAoB,MACrBh5C,KAAAC,cAACm1J,GAAoC,Q,cCTpC,MAAMyE,GAAYA,KAKvBlT,eAKA,GAFyB3pK,KAASC,SAAS,kBAGzC,OAAO+iB,KAAAC,cAAC25J,GAAI,MAQd,GALsB58K,KAASgnC,WAC7B,4BACA,iBAIA,OAAOhkB,KAAAC,cAAC61J,GAAW,MAKrB,OAF6B94K,KAASC,SAAS,oBAGtC+iB,KAAAC,cAAC05J,GAAc,MAGjB35J,KAAAC,cAAC+4J,GAAY,KAAG,E,OCnClB,MAAMc,GAAclzJ,KAAOzL,MAAK3P,QAAAC,KAAA,qICKjCsuK,GAAsBl/H,cAAK,KAC/B,MAAM,YAAE6sC,EAAW,WAAEz/E,GAAepJ,eAAaqE,OAEjDxF,KAAOE,KAAK,wBAAyB,CACnCo8K,aAActyF,EACduyF,eAAgBhyK,EAChBjK,WAAY,wBACZC,gBAAiB,iCACjB,IAGSi8K,GAAyBA,IACpCl6J,KAAAC,cAAC65J,GAAW,CACVhnH,aAAa,OACb,cAAY,2BACZr0D,GAAG,YACH3B,KAAK,OACL8wB,SAAUmsJ,GAGVtiC,SAAS,KACTp4I,KAAK,SCtBI86K,GAAqBA,KAChC,MAAMC,EAAcv6K,cAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGq3G,kBAAkB,IAC7DojD,EAAez6K,cAAgBmlB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAG47G,qBAAqB,IAEzE,OAAOx/F,wBACLv5B,IAEE,IAAK23K,EAAa,CAAC,IAADjoH,EAAAmoH,EAEhB,MAAMC,GAAc,QAARpoH,EAAA1vD,EAAEorB,cAAM,IAAAskC,GAAS,QAATmoH,EAARnoH,EAAU98B,eAAO,IAAAilJ,OAAT,EAARA,EAAmBE,sBAAuB,GAE1C,UAARD,GAA2B,WAARA,GACrBF,GAAa,EAEjB,IAEF,CAACD,GACF,ECjBGK,GAAqCziJ,cAAW,CACpDC,OAAQA,IAAM,mEACdC,QAASA,IAAMlY,KAAAC,cAAC8zD,KAAc,MAC9Bj3E,KAAM,mCACNq7B,OAAOR,EAAanP,GAClB,MAAMiF,EAAYkK,EAAO+iJ,+BACzB,OAAO16J,KAAAC,cAACwN,EAAcjF,EACxB,I,cCFK,MAAMuD,GACXvD,IAEA,MAAM,UAAE26F,EAAS,QAAEhlG,EAAO,QAAE62H,EAAO,GAAEv2I,EAAE,KAAEY,GAASmpB,EAElD,OACExI,KAAAC,cAACH,KAAoB,KACnBE,KAAAC,cAAC6I,KAAK,CACJzP,YAAa,CACX,aAAc8pG,EACd,YAAa,SACb17F,QAASA,IAAMutH,GAAQ,IAEzBv2I,GAAIA,EACJY,KAAMA,GAEL8e,GAEkB,E,OC3B3B,MAAMw8J,GAAgC/zJ,KAAOC,IAAGrb,QAAAC,KAAA,iCCYnCmvK,GAAuBA,KAClC,MAAMC,EAAgCh7K,cACpCpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGo3G,6BAA6B,IAExC8jD,EAAmCl7K,cACvCmlB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkvF,gCAAgC,IAO3C3wF,EAAUynB,aAAW,sBAG3B,OACE5lB,KAAAC,cAAAD,KAAAyO,SAAA,KACGosJ,GACC76J,KAAAC,cAAC06J,GAA6B,CAAC,cAAY,+BACzC36J,KAAAC,cAAC8L,GAAc,CAACipH,QAXJ9rH,KAClB4xJ,GAAiC,EAAM,EAUK38J,QAASA,EAAS9e,KAAK,UAGhE,ECFM07K,GAAaA,KACxBt/I,cAAgB,cAEhB,MAAM1N,EAAUosJ,MACRv6J,GAAImgB,GAAcrgB,KAASyb,aAG7B+8F,EAAkBr4H,cAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGs4G,eAAe,IAC9D/3F,EAAStgC,cAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGugB,MAAM,IAG5C66I,EAAch+K,KAASu4H,YAAY,iBACnC0lD,EAA4B,SAAX96I,GAAqBnjC,KAASC,SAAS,cACxD+nG,EAAehoG,KAASC,SAAS,uBAEvCwR,KAAGunC,QACDilI,EAAiBxsK,KAAG+zC,MAAM4oC,gBAAkB38E,KAAG+zC,MAAM8oC,eACrD78E,KAAGi0C,OAAOY,IAGZ,MAAM0uC,EAAmCnyF,cACvCwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAGoyE,gCAAgC,IAE3ChjD,EAA6CnvC,cACjD0lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGovB,0CAA0C,IAErD8oF,EAA2Bj4H,cAC/B8lB,IAAA,IAAC,GAAE/F,GAAI+F,EAAA,OAAK/F,EAAGk4G,wBAAwB,IAEnC5yB,EAA+BrlG,cACnC8pB,IAAA,IAAC,GAAE/J,GAAI+J,EAAA,OAAK/J,EAAGslF,4BAA4B,IAKvCg2E,EAA+Bl+K,KAASgnC,WAC5C,+BACA,iCAEI+qF,EAAe/xH,KAASC,SAAS,gBAEjCwoK,EAAU5vH,kBAAwB,MAMxC,OAJKk5E,GAAgBmsD,GACnBn7I,EAAUg8F,oBAAmB,GAI7B/7G,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAA,QACEk7J,YAAU,EACVC,SAAU96H,KACVzwB,IAAK41I,EACL4V,eAAgBttJ,GAEhB/N,KAAAC,cAAC04B,KAAO,CAACF,GAAI,MACXz4B,KAAAC,cAAC26J,GAAoB,MACrB56J,KAAAC,cAACsqD,KC9E2B,WAEF,IADlC+wG,EAASl9K,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAET,MAAMm1J,EAAcv2J,KAASgnC,WAAW,mBAAoB,kBACtDu3I,EAAwD,SAAnCv+K,KAASytC,IAAI,kBAClC0qF,EAAuBn4H,KAASC,SAAS,wBACzCqiJ,EAAkBtiJ,KAASC,SAAS,8BAEpCknC,EAAO,CACX95B,KAAMkpJ,EAAc,QAAU,SAC9BpiE,QAAS,QAGPn0F,KAASC,SAAS,uBACpBknC,EAAKgtD,QAAU,SAGbn0F,KAASC,SAAS,gBACpBknC,EAAKgtD,QAAU,YAGjB,IAAIqqF,EAAY51I,aAAW,iCAsB3B,OApBI5oC,KAASC,SAAS,oCACpBknC,EAAKgtD,QAAU,aACfqqF,EAAY51I,aAAW,mDAGrB01I,IACGt+K,KAASC,SAAS,uBACrBknC,EAAKgtD,SAAW,QAGdgkC,IACFhxF,EAAK95B,KAAO,SAIZi1I,IACFn7G,EAAK95B,KAAO,SACZ85B,EAAKgtD,QAAU,aAGV,CACLjkC,OAAQtnB,aAAW,0BAAD/nC,OAA2BsmC,EAAK95B,KAAI,KAAAxM,OAAIsmC,EAAKgtD,UAC/D3mB,UACExqD,KAAAC,cAAAD,KAAAyO,SAAA,KACG+sJ,EACAD,GAAsBv7J,KAAAC,cAAC8zJ,GAAgB,OAIhD,CD0B6B0H,CAAuBR,IAC1Cj7J,KAAAC,cAACqmF,KAAe,MAChBtmF,KAAAC,cAACuzJ,GAAY,CAACluE,WAAYJ,GACxBllF,KAAAC,cAAC+4C,KAAoB,CACnBE,WAAY,CAAC,QAAS,QAAS,QAC/BzgB,GAAG,SACH0gB,SAAS,MACTF,aAAa,KAGjBj5C,KAAAC,cAACi6J,GAAsB,OAGzBl6J,KAAAC,cAACuzJ,GAAY,CAACluE,WAAYN,GAAgBE,GACxCllF,KAAAC,cAAC04B,KAAO,CAACF,GAAI,MCrCuBz7C,KAASC,SACnD,uCAMK+iB,KAAAC,cAAC20J,GAAM,KAAEhvI,aAAW,+BAHlB,KDmCEq1I,EAAiBj7J,KAAAC,cAAC0zJ,GAAc,MAAM3zJ,KAAAC,cAACwzJ,GAAmB,OAG5DuH,GACCh7J,KAAAC,cAAC6wJ,GAAW3lJ,KAAA,CAACuwJ,gBAAgB,GAAU9hH,OAExCs+D,GAAmBl4G,KAAAC,cAAC2yJ,GAAY,MACjC5yJ,KAAAC,cAAC45J,GAAS,QAGb7nF,GACChyE,KAAAC,cAAC+yJ,GAA8B,CAACvN,QAASA,IAE1Cz2H,GACChvB,KAAAC,cAACizJ,GAAwC,MAE1Cp7C,GACC93G,KAAAC,cAACw6J,GAAkC,CACjCl6H,cAAeD,OAGlB,E,cE1HA,MAAMq7H,GAAkC3jJ,cAAW,CACxDC,OAAQA,IAAM,4DACdC,QAASA,IAAMlY,KAAAC,cAACiO,KAAc,MAC9BpxB,KAAM,WACNq7B,OAAQb,aAA4B,CAClCI,cAAe,kCCLNkkJ,GAA4B5jJ,cAAW,CAClDC,OAAQA,IAAM,4DACdC,QAASA,IAAMlY,KAAAC,cAACiO,KAAc,MAC9BpxB,KAAM,aACNq7B,OAAQb,aAA4B,CAClCI,cAAe,4B,iCCKZ,MAAMmkJ,GAAgBp+K,IAGW,IAHV,gBAC5Bg3J,GAAkB,EAAK,sBACvBhjD,GACmBh0G,EACnB,MAAMq+K,GAAyB9+K,KAASC,SAAS,SAC3Cy7H,EAAc74H,cAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAG84G,WAAW,IAC5D,IAAIqjD,EAEJ,GAAID,EACF,OAAQpjD,GACN,KAAK/9C,KAAcC,WACjBmhG,EACE/7J,KAAAC,cAACg3H,KAA0B,CACzBC,aAAa,qBACbC,gBAAgB,4BAChBlrH,KAAK,aAGT,MACF,KAAK0uD,KAAcG,SACjBihG,EACE/7J,KAAAC,cAACg3H,KAA0B,CACzBC,aAAa,+BACbjrH,KAAK,aAGT,MACF,QACE8vJ,EAAiB/7J,KAAAC,cAACg3H,KAA0B,WAGhD8kC,EACE/7J,KAAAC,cAAC8zD,KAAc,CACb0gF,gBAAiBA,EACjBhjD,sBAAuBA,EACvBhhF,OAAO,oBAIb,OAAOzQ,KAAAC,cAACkxF,KAAc,KAAE4qE,EAAgC,E,wCCrDnD,MAAMC,GAAwBp1J,KAAOC,IAAGrb,QAAAC,KAAA,kCCOlCwwK,GACXzzJ,IAIA,MAAM0zJ,EAAgCrhI,cAAK,KACzCn9C,KAAOC,KAAK,qCAAqC,IAGnD,OACEqiB,KAAAC,cAAC+7J,GAAqB,KACpBh8J,KAAAC,cAAA,MAAAkL,KAAA,CACEwkD,KAAK,OACLjuE,OAAQ,GACRG,MAAO,IACP+tE,MAAM,8BACFpnD,GAEJxI,KAAAC,cAAA,KAAGzhB,OAAO,2BACRwhB,KAAAC,cAAA,QAAM4vD,EAAE,oBAAoBF,KAAK,SACjC3vD,KAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,6HACFF,KAAK,UACLa,SAAS,YAEXxwD,KAAAC,cAAA,QACE4vD,EAAE,kGACFF,KAAK,YAEP3vD,KAAAC,cAAA,QAAM4vD,EAAE,oBAAoBF,KAAK,SACjC3vD,KAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,6HACFF,KAAK,UACLa,SAAS,YAEXxwD,KAAAC,cAAA,QACE4vD,EAAE,qLACFF,KAAK,YAEP3vD,KAAAC,cAAA,QAAM4vD,EAAE,oBAAoBF,KAAK,SACjC3vD,KAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,6HACFF,KAAK,UACLa,SAAS,YAEXxwD,KAAAC,cAAA,QACE4vD,EAAE,2DACFF,KAAK,YAEP3vD,KAAAC,cAAA,QAAM4vD,EAAE,oBAAoBF,KAAK,SACjC3vD,KAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,6HACFF,KAAK,UACLa,SAAS,YAEXxwD,KAAAC,cAAA,QACE4vD,EAAE,0NACFF,KAAK,YAEP3vD,KAAAC,cAAA,QACE4vD,EAAE,utBACFF,KAAK,YAEP3vD,KAAAC,cAAA,QACE4vD,EAAE,8DACFa,OAAO,UACPC,cAAc,QACdE,YAAa,IAEf7wD,KAAAC,cAAA,QACE0vD,KAAK,UACLjuE,OAAQ,GACR+lB,QAASy0J,EACThrG,GAAI,GACJrvE,MAAO,KAETme,KAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,0WACFF,KAAK,UACLa,SAAS,YAEXxwD,KAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,iQACFF,KAAK,UACLa,SAAS,YAEXxwD,KAAAC,cAAA,QACEwwD,SAAS,UACTZ,EAAE,+RACFF,KAAK,UACLa,SAAS,aAGbxwD,KAAAC,cAAA,YACED,KAAAC,cAAA,UACEk8J,0BAA0B,OAC1BC,YAAY,iBACZ16K,OAAQ,GACRjD,GAAG,oBACHoD,MAAO,IACPuuE,EAAG,EACHC,EAAG,GAEHrwD,KAAAC,cAAA,WAASo8J,aAAc,EAAGjjJ,OAAO,uBACjCpZ,KAAAC,cAAA,iBACEq8J,GAAG,cACH16H,OAAO,8CAET5hC,KAAAC,cAAA,iBACAD,KAAAC,cAAA,iBAAe2hC,OAAO,gEACtB5hC,KAAAC,cAAA,WAASs8J,IAAI,qBAAqBnjJ,OAAO,uBACzCpZ,KAAAC,cAAA,WACEq8J,GAAG,gBACHC,IAAI,qBACJnjJ,OAAO,aAKO,E,qCCnIrB,MAAMwwC,GAAchjD,aAAOijD,KAAPjjD,CAAqBpb,QAAAC,KAAA,+BC4BnC+wK,GAAeA,KAC1B,MAAM,QAAE72K,GAAYC,eACpB6I,KAAGunC,QAAQvnC,KAAG+zC,MAAM6oC,iBAAkB58E,KAAGi0C,OAAOY,IAEhD7nB,cAAgB,gBAEhB,MAAM1N,EAAUosJ,KACVsC,EAAiB92K,IAAY6d,KAAagR,GAC1CsjG,EAA2Bj4H,cAC/BpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGk4G,wBAAwB,IAEzC,OACE93G,KAAAC,cAAAD,KAAAyO,SAAA,KACEzO,KAAAC,cAAC26J,GAAoB,MACrB56J,KAAAC,cAACsqD,KC/BLkyG,KAEA,MAAMC,EAAgBD,EAClB,0BACA,uBAEEE,EAAmBF,EACrB,6BACA,0BAEJ,MAAO,CACLvvH,OAAQtnB,aAAW82I,GACnBlyG,UACExqD,KAAAC,cAAAD,KAAAyO,SAAA,KACGmX,aAAW+2I,IACVF,GACAz8J,KAAAC,cAACsQ,KAAI,CACH9I,QAASwkD,KACTz7C,KAAM4oB,aAAY,CAChBC,QAAS,kBAEXr+B,KAAM4qB,aAAW,qBAK1B,EDKsBg3I,CAAyBH,KAC1CA,GAAkBz8J,KAAAC,cAACg8J,GAAkB,MACvCj8J,KAAAC,cAAC2pD,GAAW,CAACa,MAAO,GACjB7kC,aAAW,2CAEd5lB,KAAAC,cAAA,QACEk7J,YAAU,EACVC,SAAU34K,IACRgM,KAAGunC,QAAQvnC,KAAG+zC,MAAMooC,gCAAiCn8E,KAAGi0C,OAAOY,IAC/D7C,aAAsBh+C,EAAE,EAE1B44K,eAAgBttJ,GAEhB/N,KAAAC,cAAC04B,KAAO,KACN34B,KAAAC,cAACqmF,KAAe,MAChBtmF,KAAAC,cAAC6wJ,GAAW3lJ,KAAA,GACNyuC,KAAiB,CACrBijH,WAAW,EACXx9K,KAAK,aAEP2gB,KAAAC,cAAC+9E,KAAkBpkC,MACnB55C,KAAAC,cAAC+2C,KAAgB4C,MACjB55C,KAAAC,cAACoxC,KAAUuI,MACX55C,KAAAC,cAAC89E,KAAsBnkC,MACvB55C,KAAAC,cAAC29E,KAAgBzyE,KAAA,GACXyuC,KAAiB,CACrBvsC,cAAe2yB,SAGnBhgC,KAAAC,cAACoM,KAAM,CAACia,WAAW,sBAAsBrb,OAAO,iBAC7C2a,aAAW,yBAGfkyF,GACC93G,KAAAC,cAACw6J,GAAkC,CACjCl6H,cAAeE,OAGlB,EE7DMq8H,GAAcA,KAEzB,MAAM38I,EAAStgC,cAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGugB,MAAM,IAC5C8wB,EAAWpxD,cAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGqxC,QAAQ,KAC9C1hC,MAAOoQ,GAAkB9/B,cAC/BwlB,IAAA,IAAC,KAAEoa,GAAMpa,EAAA,OAAKoa,EAAKE,aAAa,IAE5Bo9I,EAAqBlnI,kBAAOlW,GAG5Bu2F,EAAUl5H,KAASgnC,WAAW,aAAc,sBAC5C+4G,EAAqB//I,KAASC,SAAS,sBACvCm+I,EAAiBp+I,KAASytC,IAAI,kBAC9B6rF,EAAoC,QAAnB8kB,EAGjB/f,EAAYz7H,cAAgB2lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGy7G,SAAS,IACpDj8B,EAAsBx/F,cAC1B+lB,IAAA,IAAC,KAAE8Z,GAAM9Z,EAAA,OAAK8Z,EAAK2/D,mBAAmB,IAIlC49E,EAAWhkC,oBAAQ,IACO,CAE5B,CACE74G,OAAQ,OACRV,KAAMs9G,EAAqB/oE,uBAAsB+mG,GACjDkC,SAAU,eACVC,UAAWhnD,EACXnsH,YAAa0E,KAAG+zC,MAAM4oC,gBACtB+xF,MAAO3iG,KAAS4iG,MAGlB,CACEj9I,OAAQ,OACRV,KAAMs7I,GACNkC,SAAU,eACVlzK,YAAa0E,KAAG+zC,MAAM8oC,eACtB6xF,MAAO3iG,KAAS6iG,MAGlB,CACEl9I,OAAQ,OACRV,KAAM+8I,GACNS,SAAU,YACVC,UAAW5mD,EACXvsH,YAAa0E,KAAG+zC,MAAM6oC,iBACtB8xF,MAAO3iG,KAAS8iG,OAGP9+K,QAAOmrB,IAAA,IAAC,SAAEuzJ,GAAUvzJ,EAAA,OAAMuzJ,CAAQ,KAC9C,IAEGK,EAA0BvkC,oBAAQ,KACtC,MAAMrzG,EAAQq3I,EAASpvF,WAAUnrF,GAAKA,EAAE09B,SAAWA,IAUnD,OARI8wB,GACFmb,aAA2B,CACzBoxG,0BAA2BpiC,EAAiB,cAAgB,GAC5DqiC,eAAgBT,EAAStuJ,KAAIikD,GAAOA,EAAIsqG,WAAU56H,OAClDq7H,YAAaV,EAASr3I,GAAOs3I,WAI1Bt3I,CAAK,GACX,IA8BGg4I,EAAUX,EAAStuJ,KAAIkvJ,IAAS,CACpCn/K,GAAIm/K,EAAUT,MACdphK,MAAO22D,aAAkBkrG,EAAUz9I,QAAQj+B,MAC3C27K,QAASD,EAAUT,UAGrB,MAAO,CACLH,WACAO,0BACAO,iBArCwBn4I,IACxB,QAAcrnC,IAAVqnC,EACFl3B,KAAGuuB,UACE,CACL,MAAM+gJ,EAAaf,EAASr3I,GCzFhC57B,ED2FmBg0K,EAAWh0K,YAAag0K,EAAW59I,SAAQA,SClF1D7hC,IADAmQ,KAAG6+E,0BAA0B7+E,KAAG+zC,MAAMipC,gCAGtCh9E,KAAGunC,QACDvnC,KAAG+zC,MAAMipC,8BACTh9E,KAAGi0C,OAAOurC,OACVx/E,KAAGwuB,YAAYglB,MAGnBxzC,KAAGynC,MAAMnsC,GD2ET,CC7F0Bi0K,IAC5Bj0K,ED8FE,MAAMk0K,EAAYjB,EAASr3I,GAAOxF,OAE5BA,IAAW89I,IACf5xG,aAAyB2wG,EAASr3I,GAAOs3I,UACzC5hD,EAAU4iD,GAMQ,SAAdA,GACFlB,EAAmBjnI,QAAUnW,EAC7By/D,EAAoB,WACA,SAAXj/D,GACTi/D,EAAoB29E,EAAmBjnI,SAE3C,EAaA6nI,UACD,EEpHUO,GAAmBA,KAC9BziJ,cAAgB,uBAChB,MAAM,SAAEuhJ,EAAQ,wBAAEO,EAAuB,iBAAEO,EAAgB,QAAEH,GAC3Db,MACKl3E,EAAeuuC,GAAoBlrH,oBAASs0J,GAYnD,OACEv9J,KAAAC,cAACH,KAAoB,KACnBE,KAAAC,cAACk+J,KAAmB,CAClB,cAAY,kBACZrhL,KAAK,yBACLshL,eAAgBx4E,EAChBy4E,KAAMV,EACNl2J,QAjBkB62J,CACtB77K,EACAg1I,UAEiBn5I,IAAbm5I,IACFtD,EAAiBsD,GACjBqmC,EAAiBrmC,GACnB,EAWI8mC,UAAQ,GAEPvB,EAAStuJ,KAAIjxB,IAAA,IAAC,MAAE0/K,EAAO19I,KAAM++I,GAAM/gL,EAAA,OAClCuiB,KAAAC,cAACw+J,KAAwB,CAAChgL,GAAI0+K,EAAOA,MAAOA,EAAOt3K,IAAKs3K,GACtDn9J,KAAAC,cAACu+J,EAAI,MACoB,KAGV,E,aCdpB,MAAMA,GAAOA,KAClB/iJ,cAAgB,QAEhB,MAAMw1B,EAAWpxD,cAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGqxC,QAAQ,IAChDnP,EAAmBjiD,cAAcklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGkiC,gBAAgB,IAChE48H,EAA0B7+K,cAAcwlB,IAAc,IAADurI,EAAA,IAAZ,IAAEltH,GAAKre,EACpD,OAAOnoB,QAAQqL,OAAO47B,MAAQ,OAAHT,QAAG,IAAHA,GAAoB,QAAjBktH,EAAHltH,EAAKsZ,uBAAe,IAAA4zG,OAAjB,EAAHA,EAAsB3zG,UAAW,CAAC,GAAG5+C,OAAS,EAAE,IAGvEq5H,EAAiC73H,cACrC0lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAG83G,8BAA8B,IAKzCS,EAAkBt4H,cAAc8lB,IAAA,IAAC,GAAE/F,GAAI+F,EAAA,OAAK/F,EAAGu4G,eAAe,IAE9Db,EAAyBz3H,cAC7B8pB,IAAA,IAAC,GAAE/J,GAAI+J,EAAA,OAAK/J,EAAG03G,sBAAsB,IAEjCU,EAAyBn4H,cAC7BkqB,IAAA,IAAC,GAAEnK,GAAImK,EAAA,OAAKnK,EAAGo4G,sBAAsB,IAEjCzyF,EAA4B1lC,cAChCmqB,IAAA,IAAC,GAAEpK,GAAIoK,EAAA,OAAKpK,EAAG2lB,yBAAyB,IAEpC0sD,EAA0BpyF,cAC9BoqB,IAAA,IAAC,GAAErK,GAAIqK,EAAA,OAAKrK,EAAGqyE,uBAAuB,IAElC2lC,EAAoC/3H,cACxCsqB,IAAA,IAAC,GAAEvK,GAAIuK,EAAA,OAAKvK,EAAGg4G,iCAAiC,IAG5CJ,EAAwB33H,cAC5BgrB,IAAA,IAAC,GAAEjL,GAAIiL,EAAA,OAAKjL,EAAG43G,qBAAqB,IAGhCtlC,EAA4BryF,cAChCirB,IAAA,IAAC,GAAElL,GAAIkL,EAAA,OAAKlL,EAAGsyE,yBAAyB,IAEpCysF,EAAoB9+K,cACxBkrB,IAAA,IAAC,GAAEnL,GAAImL,EAAA,MAC6B,aAAlCnL,EAAGs3G,6BACFt3G,EAAGq3G,oBAAsBr3G,EAAG23G,kBAAkB,IAE7CqnD,EAA0B/+K,cAC9BsqE,IAAA,IAAC,GAAEvqD,GAAIuqD,EAAA,OAAKvqD,EAAG63G,iCAAiC,IAGlD,OACEz3G,KAAAC,cAACi5B,KAAa,CAAC,cAAY,0BACxB+X,EAAWjxC,KAAAC,cAACi+J,GAAgB,MAAMl+J,KAAAC,cAAC86J,GAAU,MAC7C5iD,GAAmBn4G,KAAAC,cAACgyJ,GAAwB,MAC5C36C,GAA0Bt3G,KAAAC,cAAC4xJ,GAAwC,MACnEn6C,GAAkC13G,KAAAC,cAAC8xJ,GAA2B,MAC9D/5C,GAA0Bh4G,KAAAC,cAACmyJ,GAAoB,MAC/C56C,GAAyBx3G,KAAAC,cAAC6yJ,GAAmB,MAC7C7gF,GAA2BjyE,KAAAC,cAACqyJ,GAAiC,MAC7D16C,GACC53G,KAAAC,cAACuyJ,GAA2C,MAE7CjtI,GACCvlB,KAAAC,cAACyyJ,GAA4B94G,MAE9Bs4B,GACClyE,KAAAC,cAACmzJ,GAAwCx5G,MAE1CglH,GAA2B5+J,KAAAC,cAAC07J,GAA+B,MAC3DgD,GAAqB3+J,KAAAC,cAAC27J,GAAyB,MAC/C95H,GACC9hC,KAAAC,cAAC47J,GAAa,CACZpnB,iBAAiB,EACjBhjD,sBAAuB,CACrBC,gBAAiB,OACjBngC,QAAS,GACTstG,OAAQ,SAIZ/8H,GAAoB48H,GACpB1+J,KAAAC,cAACshC,KAAQu9H,YAAW3zJ,KAAA,CAClB4zJ,SAAUt9H,KAAiBC,IAC3Bn3C,OAAQu1D,KAAcC,IAClBJ,KAAgBje,MAGV,E,2DCvGpB,MAAMs9H,GAAiBp4J,KAAOC,IAAGrb,QAAAC,KAAA,sOACX4U,KACAA,KAWVjG,OAIN6kK,GAAer4J,KAAO0B,EAACzc,QAAAJ,KAAA,6cAClB2O,MAOEA,MAKA+G,KAML1C,KACAM,KAMKsD,KAGT,GACApJ,cAAa,SChDJimK,GAAiBA,KAC5BzjJ,aAAgB,kBAChB,MAAM94B,EAAQ9C,cAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGmiC,cAAc,KACnD,SAAEirB,GAAantE,cAAcklB,IAAA,IAAC,IAAE2e,GAAK3e,EAAA,OAAK2e,EAAIiwD,WAAW,IACzDntF,EAAO,CAAC7D,GAEd,GACEA,EAAMjE,SAAS,wBACfiE,EAAMjE,SAAS,4BACf,CACA,MAAMw0D,EACJlzC,KAAAC,cAACkzC,KAAS,CAACC,SAAS,QAAQxtB,aAAW,sBAGzCp/B,EAAKghC,KAAK,CAAE0rB,aACd,CAEIvwD,EAAMjE,SAAS,8BAEjB8H,EAAKghC,KAAK,CAAEwnF,aAAchiD,EAASlwE,OAIrC,MAAMqiL,EAActpI,kBAAuB,MAO3C,OANAxa,cAAW,KACM,OAAX8jJ,QAAW,IAAXA,KAAarpI,SACfqpI,EAAYrpI,QAAQl8B,OACtB,IAIAoG,KAAAC,cAAC++J,GAAc,CACb,YAAU,SACVvgL,GAAG,2BACH,cAAY,6BACZoxB,IAAKsvJ,EACL1nC,UAAW,GAEXz3H,KAAAC,cAACylH,KAAS,MACV1lH,KAAAC,cAACg/J,GAAY,CACX,iBAAgBt8K,EAChB,cAAY,4BAEXijC,gBAAcp/B,IAEF,E,sBCxDrB,MAAMm+J,GAAY/9I,KAAOC,IAAGrb,QAAAC,KAAA,4HAQtB2zK,GAAoBx4J,KAAOC,IAAGhb,QAAAJ,KAAA,sDAK9B4zK,GAAYz4J,KAAOC,IAAGI,QAAAxb,KAAA,qGAIhBhO,IAAA,IAAC,OAAE4rB,GAAQ5rB,EAAA,OAAK4rB,CAAM,IAGlCg2J,GAAU/9E,aAAe,CACvBj4E,OAAQ,S,cCbH,MAAMi2J,GAAgB7hL,IAQT,IARU,QAC5B0gB,EAAO,SACPgvC,EAAQ,OACR9jC,GAKD5rB,EACC,MAAM8hL,EAAWpzJ,KAAMghC,GACvB,OACEoyH,GACEv/J,KAAAC,cAACo/J,GAAS,CAACh2J,OAAQA,GACjBrJ,KAAAC,cAAC6L,KAAe,CAACH,gBAAgB,OAAOD,eAAe,QACrD1L,KAAAC,cAACs/J,EAAQ,CAACtuG,YAAaxuD,QAEzBzC,KAAAC,cAAC6L,KAAe,CAACzC,OAAO,cACtBrJ,KAAAC,cAAC6pD,KAAQ,KAAC,IAAE3rD,IAGjB,E,skBC5BL,MAAMo+D,GAAiB,CACrBlyE,KAAM,MACNrM,WAAY,sBAGRwhL,GACmBC,KACrB/hL,KAAOE,KAAK,sCAAqCgD,MAAA,GAC5C27E,IAAc,IACjBmjG,aAAc,qBACdzhL,gBAAiB,+BACjB,EANAuhL,GAQkBG,KACpBjiL,KAAOE,KAAK,gCAA+BgD,MAAA,GACtC27E,IAAc,IACjBt+E,gBAAiB,+BACjB,ECWAwhL,GAAwBA,KAC5B,MAAM95K,EAAU9G,eAAaoiE,SAASt7D,QACtC65K,KACA/wK,KAAGunC,QAAQvnC,KAAG+zC,MAAM+oC,oBAAqB98E,KAAGi0C,OAAOY,IACnDkZ,aAAqB,CACnBl5D,IAAI,GAADzF,OAAKgB,eAAaD,IAAIm7D,KAAI,KAAAl8D,OAAI8H,EAAQ+1B,cAAa,oBACtD,EAGSkkJ,GAAsBA,KACjCzpI,cAAiB,CACfG,IAAK7nC,KAAG+zC,MAAMmoC,YACdt0C,UAAW5nC,KAAGi0C,OAAOY,GACrBpN,MAAOznC,KAAG+zC,MAAM+oC,sBAElB9vD,cAAgB,uBAEhBF,sBAAU,KACRikJ,IAAoD,GACnD,IAGDx/J,KAAAC,cAACg1H,KAAM,CACLlrC,oBAAoB,EACpBF,SAAS,SACTqrC,YAAY,EACZC,YAAY,EACZxrC,gBAAgB,GAEhB3pF,KAAAC,cAACC,KAAa,CAACL,MAAOL,cAAS,cAC7BQ,KAAAC,cAAC0kJ,GAAS,CAAC,cAAY,oBACrB3kJ,KAAAC,cAACm/J,GAAiB,KAChBp/J,KAAAC,cAAC2pD,KAAW,CAAC9+D,KAAK,MACf86B,aAAW,oDAEd5lB,KAAAC,cAAC6L,KAAe,CAACF,QAAQ,OAAOvC,OAAO,YACrCrJ,KAAAC,cAAC6pD,KAAQ,KACNlkC,aACC,2DAIN5lB,KAAAC,cAACq/J,GAAa,CACZnhK,QAASynB,aACP,0DAEFunB,SAAS,gBACT9jC,OAAO,iBAETrJ,KAAAC,cAACq/J,GAAa,CACZnhK,QAASynB,aACP,0DAEFunB,SAAS,gBACT9jC,OAAO,eAETrJ,KAAAC,cAACoM,KAAM,CAAC5E,QAASg4J,GAAuBpgL,KAAK,UAC1CumC,aAAW,uBAEd5lB,KAAAC,cAACyzD,KAAkB,W,oCCvFxB,MAAMmsG,GAAyBpjI,aAAGjxC,QAAAC,KAAA,i6B,uFCsDlC,MAAMq0K,GAAUA,KACrB,MAAMC,EAAgB96J,aAAa,4BAkDnC,GAhDAwW,cAAgB,WCvCiBukJ,MACjC,MAAM9kD,EAA4Bt7H,cAChCnC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGs7G,yBAAyB,KAEpC,OAAEh4H,EAAM,OAAEmC,GAAWxG,gBACrB,QAAE8G,GAAYC,gBAEd,QAAEsyB,EAAO,MAAEv1B,EAAK,KAAEhC,GAASs/K,aAG/BJ,GAAwB,CACxB1qI,UAAW,CACTC,QAAe,OAANlyC,QAAM,IAANA,OAAM,EAANA,EAAQkyC,QACjBC,oBAAqB1vC,EACrBkD,gBAAiB,eACjBysC,eAAe,GAADz3C,OAAKwH,GACnB6gB,cAAc,GAADroB,OAAKb,KAASytC,IAAI,kBAC/BtlC,MAAOC,kBAIX,GAAK8yB,GAAYv1B,IAAShC,GAcnB,GAAIgC,EAAO,CAChB,MAAM,QAAE42B,EAAO,MAAEuD,GAAUn6B,EAC3BjF,MAAOkJ,KAAK,4BAA6B,CAAE2yB,UAASuD,SACtD,MAjBgC,CAC9B,MAAM,eAAE4jD,EAAc,gBAAEE,GAAoBjgF,EAE5C9B,eAAa4hF,kBAAkBC,eAAiBA,EAC5CE,GACF2C,cAAiB3C,EAAgBrlB,SAGnCwrB,gBACAyY,eAEIv6E,aAAa,8BACfi2G,GAA0B,EAE9B,CAGA,EDEA8kD,GACAnlJ,gBAEAU,sBAAU,KACR,IAKEwtF,aAAe,CACb5+G,MAAO,eACPm6G,SAAU,eAEd,CAAE,MAAOptF,GACP,MAAM,QAAEqC,EAAO,KAAEz8B,EAAI,MAAEggC,GACrB5F,aAAe8C,MAAQ9C,EAAO,CAAC,EACjCx5B,KAAOiF,MAAM,oCAAqC,CAChD42B,UACAz8B,OACAggC,SAEJ,CAQA22D,eACAQ,eACAnB,eACAM,eACAjtB,aAAwB3tC,KAAOwrC,kBAC/B4rC,eAEAuM,eAAmBh1G,MAAK,KACtB,MAAM+kH,EAAexmG,aAAgB,CACnCE,eAAgB5oB,KAAS4mB,SAG3BgrF,eACAv2E,aAAuB6zF,EAAc1zF,KAAOsrC,oBAC5CqC,aAAwB3tC,KAAOwrC,iBAAiB,GAChD,GACD,IAEC+7G,EACF,OAAOzqH,aAACsqH,GAAmB,MAG7B,MAAM,OAAEv6K,GAAWxG,gBACb,mBAAEupK,GAAuBF,aAAY,CACzC59J,KAAM,aAIF,mBAAE4mH,GAAqB,GAAS15E,gBAAgC,CAAC,EAEjE0oI,GACHhvD,IAA8C,OAAvBA,GAA+B7rH,GAEnDsyH,EAAyB93H,cAC7BpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAG+3G,sBAAsB,IAGjC93E,EAAoChgD,cACxCklB,IAAA,IAAC,GAAEnF,GAAImF,EAAA,OAAKnF,EAAGigC,iCAAiC,IAI5CsgI,EADmBtgL,cAAcwlB,IAAA,IAAC,GAAEzF,GAAIyF,EAAA,OAAKzF,EAAG0tF,gBAAgB,MAGnEtwG,KAAS4xC,WAAW,eAAgB+gD,KAAuBE,QACxD9tC,EAAiBliD,cAAc0lB,IAAA,IAAC,GAAE3F,GAAI2F,EAAA,OAAK3F,EAAGmiC,cAAc,IAC5Dq+H,EAAiBvgL,cAAc8lB,IAAA,IAAC,GAAE/F,GAAI+F,EAAA,OAAK/F,EAAG24G,kBAAkB,IAEhE8nD,EAAc,CAAE7kK,UAAW4+F,MAC3B+3C,EAAkBh1J,eAAYg1J,gBAYpC,OATAtyJ,cAAc8pB,IAAA,IAAC,GAAE/J,GAAI+J,EAAA,OAAK/J,EAAGm3G,eAAe,IAC5Cl3H,cAAckqB,IAAA,IAAC,GAAEnK,GAAImK,EAAA,OAAKnK,EAAGja,OAAO,IAEpCwwC,cAAiB,CACfG,IAAK7nC,KAAG+zC,MAAMmoC,YACdt0C,UAAW5nC,KAAGi0C,OAAOY,GACrBpN,MAAOznC,KAAG+zC,MAAMooC,kCAIhBt1B,aAAC2/E,KAAM,CAACprC,SAAS,UAAUF,gBAAgB,GACzCr0C,aAAC26B,KAAwB,KACtBm4E,GAAsB8X,GACrB5qH,aAAC2e,KAAqB,CAACC,mBAAoB7uE,IAE5CA,GACCiwD,aAACge,KAAsB,CAACC,eAAgB60F,IAGzClrK,QAAQ6kD,EAAe1jD,SAAWi3D,aAAC4pH,GAAc,MACjDhiL,QAAQkjL,EAAe/hL,SACtBi3D,aAACgrH,KAAW,CACV/mJ,QAASqM,aAAWw6I,GACpB33J,eAAgB43J,EAChBhhL,KAAK,SAIRs4H,GAA0BriE,aAACqe,KAAgC,MAC3DwsG,GACC7qH,aAACse,KAAgB,CAACu+E,gBAAiBA,IAGpCtyG,GACCyV,aAACue,KAAgC,MAEnCve,aAACkpH,GAAI,OAEHn5K,GAAUiwD,aAACoe,KAAkB,OAE1B,C,oCErLb,gNAKI6sG,EAAsB,WACxB,IAAI,SACFC,EAAQ,aACRC,EAAY,UACZC,GAAY,EAAI,aAChBC,EAAY,MACZn4J,EAAQ,CAAC,EAAC,aACVutC,GACE33D,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACzE,OAAOqE,IACC,OAANA,QAAoB,IAANA,GAAwBA,EAAEw8C,UACxC,IAAI,cACF5xB,EACAkC,MAAOwvB,GACLv2B,EAEJ,GAAI,YAAW6E,GAAgB,CAC7B,IACEkC,MAAOqxJ,EAAQ,UACfnoH,GACEh2D,EAAEorB,OACFgzJ,EAAoB,YAAWF,GAAgBA,EAAaC,GAAYA,EACxEE,EAAe,YAAWN,GAC1Bp7C,EAAW07C,EAAeN,EAASK,GAAqBA,EACxDE,EAAW,CAAC,EAEZL,IACFK,EAASl9I,YAAc40B,IAAcooH,EAAkBxiL,QAGzD,IAAI2iL,EAAiB,CACnBx4J,SAGE,CAAC,WAAY,SAAS9pB,SAAS+D,EAAEorB,OAAOxuB,MAC1C2hL,EAAel0J,UAAYrqB,EAAEorB,OAAOlS,QAEpCqlK,EAAehkE,YAAc8jE,EAAeD,EAAoB,KAGlE,IAAI/yJ,EAAa,YAAWioC,GAAgBA,EAAaqvE,EAAU47C,GAAkB,CAAC,EAClFC,EAAgB,YAAWR,GAAgBA,EAAah+K,EAAG2iI,EAAUrmF,GAAY,CAAC,EAItF1xB,EAAc5qB,EAAG2iI,EAAUrmF,EAHZx2C,OAAOC,OAAOu4K,EAAU,CACrCjzJ,cACCmzJ,GAEL,EAEJ,EAEIC,EAAc,WAChB,IAAI14J,EAAQpqB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7E+iL,EAAa/iL,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAErF,OAAK,YAASoqB,IAIV,YAAS24J,KACXA,EAAaA,EAAW17J,MAAM,MAG3Bhf,MAAMyd,QAAQi9J,GAIZ54K,OAAOq8B,QAAQpc,GAAO4b,QAAO,CAACg9I,EAAU3jL,KAC7C,IAAKoI,EAAK0pB,GAAS9xB,EAMnB,OAJK0jL,EAAWziL,SAASmH,KACvBu7K,EAASv7K,GAAO0pB,GAGX6xJ,CAAQ,GACd,CAAC,GAXK54J,GARA,CAAC,CAoBZ,EAEIsvB,EAAsB,CAACvoB,EAAOxK,KAChC,IAAI,YACFi4F,EAAW,MACXx0F,GACEzD,GACA,IACFyvB,EAAG,UACHikB,EAAS,IACTrkC,EAAG,UACH2oF,EAAS,QACTvmD,EAAU,GAAE,SACZjpC,GAAW,EAAK,KAChB8zJ,EAAI,KACJhiL,GACEmpB,EACA06G,EAAYhmI,QAAQqyB,EAAMlxB,UAAY,IAAgBtB,KAAKwyB,GAE3D+xJ,EADgC,OAAhBtkE,EACwBA,EAAcztF,EACtDvC,EAAeO,IAAa21G,EAC5BrtE,GAAkB,EAClB0rH,GAAgB,EAChBC,GAAiB,EACjBC,GAAe,EACfp5E,GAAU,EACVC,GAAW,EACXo5E,GAAe,EAEnB,GAAIx+C,EAAW,CACb,IAAIy+C,GAAcpyJ,EACdqyJ,EAAgB,YAAeD,GAC/BE,GAAYrtI,EAEZotI,GAAiB,YAAeC,KAClCN,EAAgBM,EAAWF,GAG7B,IAAIG,GAAY1tJ,EAEZwtJ,GAAiB,YAAeE,KAClCN,EAAiBM,EAAWH,GAG9B,IAAII,GAA6B,OAAZvrH,QAAgC,IAAZA,OAAqB,EAASA,EAAQA,UAAYA,EAE3F,GAAI,YAASurH,IAAkBA,EAAc1jL,OAAQ,CACnD,IAAI,MACF+iF,EAAQ,IACN5qB,EAEJX,GADmB,IAAI20D,OAAO,IAAI3sH,OAAOkkL,EAAe,KAAM3gG,GAC9BrkF,KAAKukL,EACvC,CAEI,YAAW94J,EAAO,SAAoB,QAAT64J,IAC/BI,EAAeE,GAAcN,IAAS,IAGpC,YAAS5oH,IAAc,YAAeA,MACxC4vC,EAAUi5E,EAAsBjjL,QAAUo6D,IAGxC,YAASskD,IAAc,YAAeA,MACxCzU,EAAWg5E,EAAsBjjL,QAAU0+G,GAGhC,UAAT19G,IACFqiL,GAAgB,IAAY3kL,KAAKwyB,GAErC,CAEA,IAAI6J,EAAS,CACXy8B,kBACA0rH,gBACAC,iBACAC,eACAp5E,UACAC,WACAo5E,eACA10J,gBAIF,OAFAoM,EAAOnM,OAAS1kB,OAAO47B,KAAK/K,GAAQ56B,QAAOqH,GAAOuzB,EAAOvzB,KACzDuzB,EAAOlM,SAAWkM,EAAOnM,OAAO5uB,OACzB+6B,CAAM,EAYX4oJ,EAAmBxrH,IACrB,GAAK,YAASA,IAAa,YAAqB,OAAZA,QAAgC,IAAZA,OAAqB,EAASA,EAAQA,SAI9F,OAAoB,OAAZA,QAAgC,IAAZA,OAAqB,EAASA,EAAQA,UAAYA,CAAO,EAGnFyrH,EAAqB,SAA4Bz5J,EAAO05J,GAC1D,IAAI3qJ,EAAUn5B,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,GAC/E,OACFI,EAAM,iBACN2jL,GAAmB,GACjB5qJ,EAEJ,IAAK,YAAS/O,GACZ,MAAO,CAAC,EAWV,GARIhqB,IACFgqB,EAAQ04J,EAAY14J,EAAOhqB,IAGzB,YAAS0jL,KACXA,EAAWA,EAASz8J,MAAM,OAGvBhf,MAAMyd,QAAQg+J,KAAcA,EAAS7jL,OACxC,OAAOmqB,EAGT,IAAI45J,EAAc,IAAI53D,OAAO,IAAI3sH,OAAOqkL,EAAS7/H,KAAK,QACtD,OAAO95C,OAAOq8B,QAAQpc,GAAO4b,QAAO,CAACi+I,EAAWh9J,KAC9C,IAAKxf,EAAK0pB,GAASlK,GACdi9J,GAAUz8K,EAAIlG,MAAMyiL,IAAgB,GACrCG,EAAQD,GAAU,WAClBvrF,EAAOurF,EAAS,YAAYz8K,EAAKu8K,GAAev8K,EAWpD,OATK,YAAWw8K,EAAWE,KACzBF,EAAUE,GAAS,CAAC,GAGlBJ,IACFprF,EApDgByf,KACpB,IAAK,IAAoBz5G,KAAKy5G,GAC5B,OAAOA,EAGT,IAAI/mD,EAAY+mD,EAAQhhF,QAAQ,IAAqB,IAAIA,QAAQ,IAAc,KAC/E,MAAO,KAAK33B,OAAO4xD,EAAU,EA8ClB+yH,CAAgBzrF,IAGzBsrF,EAAUE,GAAOxrF,GAAQxnE,EAClB8yJ,CAAS,GACf,CAAC,EACN,C,qEC7NI72K,E,gDAOJ,IAAIm5J,EAAY,YAAQ,MAAO,CAC7B92I,OAAQ,YACR9R,MAAO,aAFO,CAG2B,CACzCjf,KAAM,SACN+jG,OAAQ,2IAQN4hF,EAAoB,YAAQ,MAAO,CACrC50J,OAAQ,YACR9R,MAAO,qBAFe,CAGmB,CACzCjf,KAAM,SACN+jG,OAAQ,wEAQN6hF,EAAU,YAAQ,IAAK,CACzB70J,OAAQ,YACR9R,MAAO,WAFK,CAGX,SAAU,IAAoB,uCAE7B4mK,EAAU,YAAUn3K,IAAoBA,EAAkB,IAAuB,CAAC,mGAElFgrI,EAAU,YAAQ,MAAO,CAC3B3oH,OAAQ,YACR9R,MAAO,WAFK,CAGX,aAAc4mK,EAAS,uH,gBC5CtBC,EAAkBnlL,IACpB,IAAI,MACFyE,GACEzE,EACJ,OAAO,IAAMwiB,cAAc,MAAO,CAChC,kBAAmB,qBACnBve,OAAQ,OACRovE,KAAM,MACNinC,QAAS,MACTroC,QAAS,YACT7tE,MAAO,OACP+tE,MAAO,8BACN,IAAM3vD,cAAc,QAAS,CAC9BxhB,GAAI,sBACHyD,GAAQ,IAAM+d,cAAc,IAAK,CAClC0vD,KAAM,OACNa,SAAU,UACVE,OAAQ,OACRG,YAAa,KACZ,IAAM5wD,cAAc,IAAK,CAC1BqwD,UAAW,uCACV,IAAMrwD,cAAc,IAAK,CAC1BqwD,UAAW,qCACV,IAAMrwD,cAAc,OAAQ,CAC7Bve,OAAQ,KACRG,MAAO,KACPuuE,EAAG,IACHC,EAAG,MACD,IAAMpwD,cAAc,OAAQ,CAC9B4vD,EAAG,oCACHa,OAAQ,UACRC,cAAe,QACfC,eAAgB,QAChBC,YAAa,QACX,IAAM5wD,cAAc,IAAK,CAC3BywD,OAAQ,UACRC,cAAe,QACfC,eAAgB,QAChBC,YAAa,MACbP,UAAW,iCACV,IAAMrwD,cAAc,OAAQ,CAC7B4vD,EAAG,2ZACD,IAAM5vD,cAAc,OAAQ,CAC9B4vD,EAAG,0OACE,ECzCLkE,EAAiBvrD,GAAS,YAAIq6J,EAAA,EAAS,CACzCpuB,gBAAiBjsI,EAAMisI,gBACvBlpJ,IAAKid,EAAMipF,uBACV,YAAIkzD,EAAW,CAChBp5J,IAAKid,EAAM0G,wBACX,cAAe1G,EAAMiI,QACpBjI,EAAMs6J,cAAgB,YAAIL,EAAmB,KAAM,YAAIG,EAAiB,CACzE1gL,MAAOsmB,EAAMu6J,iBACV,YAAIvsC,EAAS,CAChBjrI,IAAKid,EAAMw6J,wBACTx6J,EAAM+Q,SAAW,YAAImpJ,EAAS,CAChCn3K,IAAKid,EAAMy6J,uBACVz6J,EAAM+Q,WAETw6C,EAAeutB,aAAe,CAC5BwhF,cAAc,E,wECFhBI,IACE1jL,OAAO0jL,yBAA2Bx/K,uDAGpCy/K,KAA0B,QAAThjL,EAAGX,cAAM,IAAAW,GAAkB,QAAlBijL,EAANjjL,EAAQiiF,wBAAgB,IAAAghG,OAAlB,EAANA,EAA0B3tJ,MAEL,oBAA9B2qC,QAAQ3iC,UAAU4lJ,SAE3B96K,OAAOkhJ,eAAerpF,QAAQ3iC,UAAW,UAAW,CAClD6lJ,cAAc,EACdh6B,YAAY,EACZ/5H,MAAO,SAAyBvoB,GAC9B,OAAOtE,KAAKyE,MACViyB,GAAUgnC,QAAQC,QAAQr5D,KAAMG,MAAK,IAAMiyB,MAC3CJ,GAAUonC,QAAQC,QAAQr5D,KAAMG,MAAK,IAAMi5D,QAAQozC,OAAOx6E,MAE9D,EACAuqJ,UAAU,G,2ECnCd,gEAGIC,EAA2Bj0J,IAG7B,IAFA,IAAIk0J,EAAY,GAAG5lL,OAAO0xB,EAAO,KAAK1xB,OAAO,YAAc0xB,IAElDX,EAAI,EAAGA,EAAI60J,EAAUplL,OAAS,EAAGuwB,IACxC,GAAI,IAAoBlwB,SAAS+kL,EAAUxjF,OAAOrxE,EAAG,IACnD,OAAO,EAIX,OAAO,CAAK,EAGV80J,EAA8B,CAACn0J,EAAO+M,EAAa0a,KACrD,IAAK,YAASznB,KAAW,YAAS+M,GAChC,OAAO,EAGT,IAAK/M,EAAMlxB,QAA0B,OAAhBi+B,EACnB,OAAO,EAGT,IAAIqnJ,EAAyBp0J,EAAMmM,cACnC,OAAOnzB,OAAOq5C,OAAO5K,GAAMx4C,QAAOm/B,GAAW,OAANA,QAAoB,IAANA,OAAe,EAASA,EAAEt/B,SAAQqwB,IAAI,KAAWwjB,MAAKvU,GAAKgmJ,EAAuBjlL,SAASi/B,IAAG,EAGjJsZ,EAAmB,SAA0B1nB,GAC/C,IAAI,MACF/G,EAAQ,CAAC,GACPpqB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,GACrE,YACFk+B,EAAc,GAAE,KAChB0a,EAAO,CAAC,GACNxuB,EACAo7J,EAAMr0J,EAAMlxB,OACZ6kI,EAAYhmI,QAAQ0mL,GACpBxqJ,EAAS,CACX0uE,cAAe,IAAmB/qG,KAAKwyB,GACvCw4E,oBAAqB67E,EAAM,GAAK,IAAqB7mL,KAAKwyB,GAC1Dy4E,oBAAqB47E,EAAM,GAAKJ,EAAyBj0J,GACzD04E,iBAAkB,IAAuBlrG,KAAKwyB,GAC9C24E,kBAAmB,IAAwBnrG,KAAKwyB,GAChD44E,iBAAkBu7E,EAA4Bn0J,EAAO+M,EAAa0a,GAClEoxD,uBAAwB,IAAarrG,KAAKwyB,KAAW,IAAcxyB,KAAKwyB,GACxE84E,QAASu7E,EAAM,GACft7E,SAAUs7E,EAAM,EAChB52J,cAAek2G,GAIjB,OAFA9pG,EAAOnM,OAAS1kB,OAAO47B,KAAK/K,GAAQ56B,QAAOqH,GAAOuzB,EAAOvzB,KACzDuzB,EAAOlM,SAAWkM,EAAOnM,OAAO5uB,OACzB+6B,CACT,C,iMChDO,MAAMyqJ,EAAc7rJ,aAAW,CAOpCC,OAAQA,IAAM,8BACdC,QAASA,IAAMlY,IAAAC,cAAC63F,IAA2B,MAC3Ch7G,KAAM,UACNq7B,OAAQb,YAA4B,CAClCI,cAAe,c,aCVZ,MAAMosJ,EAAsB9rJ,aAAW,CAC5CC,OAAQA,IAAM,+BACdC,QAASA,IAAMlY,IAAAC,cAAC8zD,IAAc,MAC9Bj3E,KAAM,kBACNq7B,OAAQb,YAA4B,CAClCI,cAAe,sB,sBCcnB,MAAMqsJ,EAAMA,KACV5tI,aAAiB,CACfG,IAAK7nC,IAAG+zC,MAAMkoC,kBACdr0C,UAAW5nC,IAAGi0C,OAAOY,GACrBpN,MAAOznC,IAAG+zC,MAAMmoC,cAElBlvD,aAAgB,OAChB,MAAQgB,SAAUunJ,EAAmB,IAAOC,cAMtCx2J,EAHoB5tB,aAAcpC,IAAA,IAAC,GAAEmiB,GAAIniB,EAAA,OAAKmiB,EAAGy4G,iBAAiB,IAIpEwuC,IACAqd,EA+BJ,OA7BA3oJ,qBAAU,KAER79B,KAAOC,KAAK,gCAAiC,CAC3CwmL,YAAa3kL,OAAOC,SAASg9B,SAC7Bsd,KAAMiqI,IAGRtmL,KAAOmJ,QAIP,IACEkwB,YACE,IACEgyF,YAAe,CACb5+G,MAAO,eACPm6G,SAAU,aAId,IAEJ,CAAE,MAAOptF,GACP,MAAM,QAAEqC,EAAO,KAAEz8B,EAAI,MAAEggC,GACrB5F,aAAe8C,MAAQ9C,EAAO,CAAC,EACjCx5B,KAAOiF,MAAM,4BAA6B,CAAE42B,UAASz8B,OAAMggC,SAC7D,IACC,CAACknJ,IAGF1uH,YAAC8uH,WAAQ,CAACrrJ,SAAUu8B,YAACwiD,IAA2B,OAC9CxiD,YAACp1C,IAAa,CAACL,MAAOL,gBACpB81C,YAAC+uH,IAAM,KAML/uH,YAACgvH,IAAK,CAACvqI,KAAK,uBAAuBktG,QAAS3xF,YAACuuH,EAAW,QACxDvuH,YAACgvH,IAAK,CACJvqI,KAAK,uBACLktG,QAAS3xF,YAACwuH,EAAmB,QAO/BxuH,YAACgvH,IAAK,CAACvqI,KAAK,sBAAsBktG,QAAS3xF,YAAC7nC,EAAS,QAMrD6nC,YAACgvH,IAAK,CAACvqI,KAAK,KAAKktG,QAAS3xF,YAACivH,EAAiB,UAGvC,EAWTL,EAAuBA,KAE3B,MAAM,YAAEM,EAAW,QAAE1E,GAAY2E,EACjC,OAAOD,EAAclvH,YAACkvH,EAAW,MAAMlvH,YAACwqH,EAAO,KAAG,EAQ9CyE,EAAoBA,KAAO,IAADjyD,EAC9B72F,aAAgB,qBAEhB,MAAMmB,EAAS8nJ,cACT7iG,GAAoB,QAAZywC,EAAAzzH,qBAAY,IAAAyzH,OAAA,EAAZA,EAAczwC,QAAS,CAAE9nC,KAAM,GAAI+nC,YAAa,IAGxD6iG,EAAmB9iG,EAAM9nC,KAAKr7C,SAAS,wBACvCkmL,EAA2C,aAAtB/iG,EAAMC,YAC3B+iG,EAAuBF,GAAoBC,EA8BjD,OAvBArpJ,qBAAU,KACR79B,KAAO4J,OAAO,sCACd5J,KAAOkJ,KAAK,0CAAD/I,OAEPgnL,EAAuB,cAAgB,WAEzC,CACEC,eAAsB,OAANloJ,QAAM,IAANA,OAAM,EAANA,EAAS,KACzB+nJ,iBAAkBE,EAClBziL,SAAUH,SAASG,SACnB2iL,UAAW,qCACXhqE,IAAK,mBAER,GACA,CAAC8pE,IASGA,EAAuBvvH,YAACuuH,EAAW,MAAMvuH,YAAC4uH,EAAoB,KAAG,E,4BCzI1E,MAAMc,UAAsBv3J,YAAUw3J,cAAA,SAAA7mL,WAAA,KACpC2lC,MAAoB,CAClBzU,UAAU,EACV,CAEF,+BAAO41J,GACL,MAAO,CAAE51J,UAAU,EACrB,CAEA61J,kBAAkBxiL,EAAcyiL,GAC9B,MAAM,QAAE7rJ,EAAU52B,EAAK,MAAEm6B,GAAUn6B,GAC7B,eAAE0iL,EAAiBD,GAAcA,EACjCtlJ,EAAavG,EAAQ/D,QAAQ,MAAO,KAE1C93B,IAAOiF,MAAM,kBAAD9E,OAAmBiiC,GAAc,CAC3CulJ,iBACA1iL,MAAO42B,EACPuD,UAGFruB,IAAGkuD,OAAOluD,IAAGi0C,OAAO2zB,KAEpBt9C,YAAS,CAAEC,OAAQ,8BACrB,CAEAb,SACE,OAAIz1B,KAAKqhC,MAAMzU,SAEXtP,IAAAC,cAAA,OAAK,cAAY,kCACfD,IAAAC,cAAC8zD,IAAc,CAAC09B,sBAAuB,CAAEC,gBAAiB,WAKzDhvG,KAAK8lB,MAAMzI,QACpB,E,8FCxD0B6G,IAAO0+J,SAAQ95K,MAAAC,IAAA,oIASnBmb,IAAOgK,GAAE/kB,MAAAJ,IAAA,mDACpB+c,GAAUA,EAAMjN,SAAW,OAAS,UAIdqL,IAAOC,IAAGI,MAAAxb,IAAA,0HASpBmb,IAAOzL,MAAKgM,MAAA1b,IAAA,sEAMZmb,IAAO7K,MAAKuL,MAAA7b,IAAA,yIAGzB+c,GAAUA,EAAMjN,SAAW,UAAY,K,yBChCnD,MAAMgqK,EAAc,QACdC,EAAc,OAEPC,EAAiB7+J,IAAOxN,OAAM5N,MAAAC,IAAA,gcAGhC+c,GAAUA,EAAMilI,OAAS83B,EAAc,OAC5BC,GAqBU5+J,YAAO6+J,EAAP7+J,CAAsB/a,MAAAJ,IAAA,iMAapBmb,YAAO6+J,EAAP7+J,CAAsBK,MAAAxb,IAAA,2IAUlCmb,IAAOC,IAAGM,MAAA1b,IAAA,0QAIrB+c,GAAUA,EAAMilI,OAAS83B,EAAc,QAKlC/8J,GAAUA,EAAMilI,OAAS,0BAA4B,QAE/C+3B,G,cCrBtB,MAAM,kBACJhkG,EACAxqC,MAAQ4nB,QAASz5D,GAAO,OACxBE,IACExG,cAaJ4sG,YAAuB/tG,IAAQ,CAC7BqoB,MAAO/oB,IAASC,SAAS,SACzBiiE,KAXAliE,IAASgnC,WAAW,mBAAoB,kBAWb,QAAU,SACrCinC,4BAVAjuE,IAASC,SAAS,+BAWd,mBACA,OACJyuG,oBAXA1uG,IAASC,SAAS,+BAYd,mBACA,OACJkI,QACA0V,QAASotC,YAdkBjrD,IAASC,SAAS,qBAiB/C,MAAMyoL,GAAcrgL,GAAS,OAAS,QACtC3H,IAAOE,KAAK,gBAADC,OAAiB6nL,KAG5B,GADiC1oL,IAASC,SAAS,sBACzB,CAAC,IAADq1H,GAAAx3F,GAAAC,GACxB,MAAM+lD,EAAc9jF,IAASytC,IAAI,gBAAkB,UAC7C+9B,GACQ,QAAZ8pD,GAAAzzH,qBAAY,IAAAyzH,IAAgB,QAAhBx3F,GAAZw3F,GAAcnvH,sBAAc,IAAA23B,IAAiB,QAAjBC,GAA5BD,GAA8BG,uBAAe,IAAAF,QAAjC,EAAZA,GAA+CytC,sBAAuB,GACxE9qE,IAAOE,KAAK,gBAADC,OAAiB2qE,EAAmB,KAAA3qE,OAAIijF,GAAe,CAChE9iF,WAAY,wBACZC,gBAAgB,WAADJ,OAAa2qE,EAAoB9sC,cAAa,KAAA79B,OAAIijF,EAAYplD,gBAEjF,CAEA,MAAM,QAAE/1B,GAAO,WAAE6nE,GAAY1wE,KAAK,IAAiC,QAAhC6oL,EAAGliG,cAAqBzW,gBAAQ,IAAA24G,IAAI,CAAC,GAClE,MAAE9iL,IAAUC,cACZ8iL,GAAoBvyF,cAAgB,YAAc,WAClDxqF,GAAkBhG,GAAQ,MAAQ,KAIxCnF,IAAO0I,YAAY,CACjBy/K,gBAAiB,CACfhnH,UAAW15D,EACX2gL,YAAY,GAADjoL,OAAKgL,GAAe,UAC/B+8K,qBACA/8K,oBAEFk9K,aAAc,CACZryF,gBAAiB/tF,GACjB6nE,cACAwhD,aAAclyH,MAIlBY,IAAO4J,OAAO,0BAEd02H,cAIA,IAAK,IAADgoD,GAAAC,GACF,MAAMC,EAAkB,wBAClB,MAAErkG,GAAUriF,OAAO4iF,iBAEzB1kF,IAAOC,KAAK,2BAA4B,CAAEkkF,UAOnC,OAALA,QAAK,IAALA,GAAW,QAANmkG,GAALnkG,EAAO9nC,YAAI,IAAAisI,IAAU,QAAVC,GAAXD,GAAatnL,gBAAQ,IAAAunL,IAArBA,GAAAj7K,KAAAg7K,GAAwBE,IACD,cAAlB,OAALrkG,QAAK,IAALA,OAAK,EAALA,EAAOC,eAEPtiF,OAAO2mL,QAAQC,UAAU,CAAC,EAAG,GAAIvkG,EAAM9nC,MACvCr8C,IAAOC,KAAK,oCAEhB,CAAE,MAAOu5B,IACPx5B,IAAOiF,MAAM,iCAAkC,CAC7CA,MAAOu0B,GAAIqC,QACXuD,MAAO5F,GAAI4F,OAEf,CAAC,QAICp/B,IAAOmJ,OACT,CAkBA,IAAKI,YAAWmgD,OAAO3pB,UAAU+iE,WAAY,CAC3C9iG,IAAOC,KAAK,0CACZ,MAAQiiB,GAAImgB,GAAcrgB,IAASyb,aAKnC4E,EAAUyhC,qBAAoB,GAC9B,mCACGr6D,MAAK,KACJ,MAAMq5F,SAAmBp5C,OAAO3pB,UAAU+iE,UAC1C9iG,IAAOC,KAAK,qCAAsC,CAAE6iG,cACpDzgE,EAAUyhC,qBAAoB,EAAM,IAErCp6D,OAAM8vB,IACLx5B,IAAOkJ,KAAK,8BAA+BswB,GAC3CyF,aAAe,CAAE3D,OAAQ,+BAAgC,GAE/D,CAEA,MAAMqtJ,GAAqDtC,EAE3Dp1G,cAEA,MAEE,IAAKrxE,eACH,OAAOq/B,aAAe,CAAE3D,OAAQ,yBAGlCstJ,IAASnuJ,OACPnY,IAAAC,cAAC+kK,EAAa,KACZhlK,IAAAC,cAACsmK,IAAc,CAAC7tG,OAAQhkC,KACtB10B,IAAAC,cAACumK,IAAa,CAACtiH,MAAOxkD,KACpBM,IAAAC,cAACwmK,IAAa,KACZzmK,IAAAC,cAAComK,GAAS,UAKlBpkL,SAASm5C,eAAe,SAG1B,MAAM,kBAAE+iC,GAAsBr7E,cACxBy2D,EAAgBv8D,IAASC,SAAS,iBAClC+oB,EAAmBhpB,IAASgnC,WAChC,mBACA,kBAEIkyF,EAAUl5H,IAASgnC,WAAW,aAAc,sBAC5CsyF,EAAoD,QAAnCt5H,IAASytC,IAAI,kBAC9B2zC,EAAY83C,GAAWI,EAa7B,GAXA54H,IAAOE,KAAK,mBAAoBmN,eAAqB,GACrDrN,IAAOE,KACL,uBACAsgF,YAAwB,CACtBC,oBACAn4D,mBACAo4D,eAGJ1gF,IAAOE,KAAK,iBAAkB+/E,YAAuBpkB,IAEjDjQ,OAAWk4B,EAAmB,CAEhCq7C,IAAwBC,2BAIjBt9H,OAAO4iF,iBACd,MAAMskG,EAAezkL,SAASm5C,eAAe,oBACzCsrI,GACFA,EAAahsE,cAActQ,YAAYs8E,EAE3C,CACD,EApDD,E,8GCpLe,GACbttK,OAFW,YAAI,oBAAqB,IAAe,uNAAwN,IAAsB,0GAA2G,IAAe,kCCIzZiT,EAAS7D,IACX,IAAIm+J,EAAgB,YAAYn+J,EAAO,CAAC,mBACxC,OAAO,YAAI,SAAU,IAAS,CAAC,EAAGm+J,EAAe,CAC/Cp7K,IAAK,YAAK,CAACs1F,EAAOznF,OAAQoP,EAAMC,gBAAiB,oBAChD,EAGL4D,EAAOi1E,aAAe,CACpBjiG,KAAM,UAGR,IAAIunL,EAAep+J,IACjB,IAAIm+J,EAAgB,YAAYn+J,EAAO,CAAC,mBACxC,OAAO,YAAI,QAAS,IAAS,CAAC,EAAGm+J,EAAe,CAC9Cp7K,IAAK,YAAK,CAACs1F,EAAOznF,OAAQoP,EAAMC,gBAAiB,0BAChD,EAGLm+J,EAAatlF,aAAe,CAC1BjiG,KAAM,S,4GCnBR,IAAI2/K,EAAiB,YAAQ,MAAO,CAClCnxJ,OAAQ,YACR9R,MAAO,kBAFY,CAGsB,CACzCjf,KAAM,SACN+jG,OAAQ,+CAQNgmF,EAAY,YAAQ,IAAK,CAC3Bh5J,OAAQ,YACR9R,MAAO,aAFO,CAGb,SAAU,IAAa,4HCjBtBw5C,EAAa93D,IACf,IAAI,SACFsiB,EAAQ,KACRkM,EAAI,GACJxtB,EAAE,eACFgqB,GACEhrB,EACJ,OAAO,YAAIuhL,EAAgB,CACzBzzK,IAAKkd,GACJ,yBAAewD,GAAQA,EAAO,YAAI,IAAW,MAAO,YAAI46J,EAAW,CACpEpoL,GAAIA,GACHshB,GAAU,C,oDChBf,sDAGI+mK,EAAU,CAACrpL,EAAMspL,KACnB,IAAI,gBACFtyB,GACEh3J,EACJ,OAAOg3J,EAAkB,OAAS,MAAM52J,OAAOkpL,EAAM,EAUnDlE,EAAU,YAAQ,MAAO,CAC3Bh1J,OAAQ,WACR9R,MAAO,WAFK,CAGX,4CAA4CyM,GAASs+J,EAAQt+J,EAAO,OAAO,qBAV5DzD,IAChB,IAAI,gBACF0vI,GACE1vI,EACJ,OAAO0vI,EAAkB,WAAa,OAAO,GAMiE,iBAAiBjsI,GAASs+J,EAAQt+J,EAAO,OAAO,kBAEhKq6J,EAAQthF,UAAY,CAClBkzD,gBAAiB,O,+BCvBnB,iIAWA,IAAInkG,EAAa,YAAQ,SAAU,CACjCziC,OAAQ,UACR9R,MAAO,cAFQ,CAGd,+CAAgD,IAAe,kDAAkDyM,GAASA,EAAMvN,UAAY,WAAW,aAAauN,GAASA,EAAM/O,SAAW,KAAK,+BAEtM62C,EAAWixC,UAAY,CACrBtmF,SAAU,SACVxB,QAAS,SACTgP,eAAgB,oBAAU,CAAC,QAAO,YAEpC6nC,EAAWgxC,aAAe,CACxBjiG,KAAM,UAER,IAAI2nL,EAAwE,CAC1ElqL,KAAM,uCACN+jG,OAAQ,4FAQNuF,EAA0B59E,IAC5B,IAAIm+J,EAAgB,YAAYn+J,EAAO,CAAC,WAAY,mBACpD,OAAO,YAAI8nC,EAAY,IAAS,CAC9B/kD,IAAK,YAAK,CAACy7K,EAA+Bx+J,EAAMC,gBAAiB,oCAChEk+J,GAAgBn+J,EAAMzI,SAAS,C,+BCtCpC,+CAEI+gB,EAAyB+F,GACpBA,EAAOrR,QAAQ,IAAsB,M,+BCH9C,yHAQA,IAAIyxJ,EAAQ,CACVtkL,MAAO,CACL+uG,gBAAiB,IACjBzlF,KAAM,KAERtuB,KAAM,CACJ+zG,gBAAiB,IACjBzlF,KAAM,KAERrE,QAAS,CACP8pF,gBAAiB,IACjBzlF,KAAM,KAERrlB,KAAM,CACJ8qG,gBAAiB,IACjBzlF,KAAM,MAINi7J,EAAgB,YAAQ,MAAO,CACjCr5J,OAAQ,YACR9R,MAAO,iBAFW,CAGuB,CACzCjf,KAAM,SACN+jG,OAAQ,uEAQNsmF,EAAmB,YAAQ,MAAO,CACpCt5J,OAAQ,YACR9R,MAAO,oBAFc,CAGpB,qBAAqByM,GAASA,EAAMkpF,iBAAmB,eAAe,mEAAmElpF,GAASA,EAAM6qC,YAAc,OAAS,QAAQ,KAEtL+zH,EAAc,YAAQ,IAAK,CAC7Bv5J,OAAQ,YACR9R,MAAO,eAFS,CAGf,SAAU,IAAkB,6CAE3BukK,EAAc93J,IAChB,IAAI2zI,EAAuBC,EAAwBirB,EAE/CzjK,EAASqjK,EAAMz+J,EAAMnpB,MACrBkuD,EAAO/kC,EAAMyD,OAASzD,EAAM6qC,cAA2B,OAAXzvC,QAA8B,IAAXA,OAAoB,EAASA,EAAOqI,MACvG,OAAO,YAAIk7J,EAAkB,CAC3Bz1E,gBAA4B,OAAX9tF,QAA8B,IAAXA,OAAoB,EAASA,EAAO8tF,gBACxEnmG,IAAwD,QAAlD4wJ,EAAwB3zI,EAAMC,sBAAsD,IAA1B0zI,OAAmC,EAASA,EAAsB3gJ,UAClI,cAAegN,EAAMiI,QAAU,QAAQ5yB,OAAO2qB,EAAMnpB,KAAM,YAC1DZ,GAAI+pB,EAAM/pB,GACV40D,YAAa7qC,EAAM6qC,aAClB9F,GAAQ,YAAI25H,EAAe,CAC5B37K,IAAyD,QAAnD6wJ,EAAyB5zI,EAAMC,sBAAuD,IAA3B2zI,OAAoC,EAASA,EAAuBnwI,MACpI,YAAIshC,EAAM,CACXy4E,eAAgBx9G,EAAMw9G,eACtB3mI,KAAMmpB,EAAMnpB,QACT,YAAI+nL,EAAa,CACpB77K,IAAyD,QAAnD87K,EAAyB7+J,EAAMC,sBAAuD,IAA3B4+J,OAAoC,EAASA,EAAuB9tJ,SACpI/Q,EAAM+Q,SAAS,EAOhB2+E,EAAkB1vF,GAAS,YAAI83J,EAAa,IAAS,CACvDjhL,KAAM,QACLmpB,G,+BC7EH,wEAAI8+J,EAAJ,QAGIC,EAAgB,YAAmE,QAAvDD,EAAwBrlL,SAASulL,wBAAwD,IAA1BF,OAAmC,EAASA,EAAsB7pJ,UAAUgqJ,YAEvKC,EAAmBpyJ,MACfA,aAAc91B,OAAOmoL,SAAa1lL,SAASuwD,iBAIjC+0H,EAAgBtlL,SAASuwD,cAAci1H,WAAWnyJ,GAAMrzB,SAASuwD,gBAAkBl9B,GAejGsyJ,EAAyBtyJ,IAC3B,IAAIuyJ,EAAwB,YAAWvyJ,EAAGwyJ,uBAClB,YAAWxyJ,EAAGyyJ,iBAEbF,IAfHvyJ,KACtB,IAAIwjF,GAEA,OACFkvE,EAAM,IACN/rK,GACEqZ,EAAGwyJ,wBAEP,OAAOE,IADSxoL,OAAOw6G,cAAuE,QAAtDlB,EAAwB72G,SAAS01F,uBAAuD,IAA1BmhB,OAAmC,EAASA,EAAsBmB,gBAC1Ih+F,GAAO,CAAC,EAOagsK,CAAkB3yJ,IACnEA,EAAGyyJ,eAAe,CAChBG,SAAU,SACVC,MAAO,UAEX,C,+BClCF,qDAGIC,EAAW,SAAkB5/J,GAC/B,IAAI6/J,EAAUjqL,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,IAAmBA,UAAU,GAE7E,GAAc,OAAVoqB,QAA4B,IAAVA,GAAoBA,EAAMsG,cAA0B,OAAVtG,QAA4B,IAAVA,GAAoBA,EAAM8G,SAC1G,OAAI+4J,EACK,IAGF,IAGT,IAAIC,EAAe,IACfC,EAAa,IACjB,OAAOF,EAAUE,EAAaD,CAChC,EAEIE,EAAehgK,GACH,OAAVA,QAA4B,IAAVA,GAAoBA,EAAMsG,cAA0B,OAAVtG,QAA4B,IAAVA,GAAoBA,EAAM8G,SACnG,kBAAkBzxB,OAAO,IAAa,8CAGxC,kBAAkBA,OAAO,IAA8B,iDAW5D4qL,EAAwB,WAC1B,IAAIjgK,EAAQpqB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACjF,OAAO,YAAI,6CAVQoqB,IACfA,EAAMsG,cAAgBtG,EAAM8G,SACvB,IAGF,IAKkDo5J,CAAelgK,GAAQ,sIAAuI4/J,EAAS5/J,GAAQ,eAAgBggK,EAAahgK,GAAQ,kBAAmB4/J,EAAS5/J,GAAO,GAAO,iHAAkH,IAAkB,0HAA2H4/J,EAAS5/J,GAAQ,eAAgBggK,EAAahgK,GAAQ,KAC9mB,C,+BCtCA,iHAGI1nB,EAAY,CAAC,gBAAiB,YAI9B6nL,EAAahrJ,GAAKA,EAElBirJ,EAAqB,CAACC,EAAkBrI,KAC1C,MAAMsI,UAAoC,YACxC,WAAA7D,CAAYz8J,GACV,IAAIugK,EAEJC,MAAMxgK,GACNugK,EAAQrmL,KAER,IAAgBA,KAAM,mBAAmB0yB,GAChCA,EAAI/2B,OAASqE,KAAK89K,SAASprJ,GAAK/2B,SAGzC,IAAgBqE,KAAM,iBAAiB,WACrC,IAAK,IAAI6D,EAAOnI,UAAUC,OAAQmI,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQtI,UAAUsI,GAGzB,IAAKjE,EAAG2iI,EAAUrmF,GAAYv4C,GAE5B+oB,MAAOQ,GACLttB,EAAEorB,QACF,cACFR,GACE07J,EAAMvgK,MACN6yB,EAAU0tI,EAAME,SAASnzI,QACzBozI,EAAsB9jD,EAAS/mI,OAAS0gD,EAAS1gD,OAEjD8qL,EAAmBp5J,EAAW1xB,OAAS0qL,EAAMvI,SAASzwJ,GAAY1xB,OAElE+qL,EAAY/tI,EAAQguI,eAEpB,YAAWh8J,IACbA,KAAiB7mB,GAGnB8iL,uBAAsB,KACpB,GAAIrnL,SAASuwD,gBAAkBnX,EAA/B,CAIA,IACE9rB,MAAOg6J,GACLluI,EAEAmuI,EADmBD,EAAalrL,OAAS0qL,EAAMvgK,MAAM+G,MAAMlxB,OAClB8qL,EAE7C,GAAID,GAAuBM,EAAsB,EAAG,CAClD,IAAIC,EAAeL,EAAYI,EAC3BE,EAAmB35J,EAAWw0B,MAAM6kI,GAEpCO,EAAuBZ,EAAMa,gBAAgBF,GAE7CG,EAA0BN,EAAahlI,MAAMklI,GAE7CK,EAA8Bf,EAAMa,gBAAgBC,GAExDT,EAAYK,EAAeK,EAA8BH,CAC3D,CAEAtuI,EAAQC,kBAAkB8tI,EAAWA,EArBrC,CAqB+C,GAEnD,IAEA1mL,KAAK89K,SAAW,YAAWA,GAAYA,EAAWmI,EAClDjmL,KAAKumL,SAAWzgK,EAAMuhK,UAAY,oBAAUrnL,KAAM,WACpD,CAEA,MAAAy1B,GACE,IAAI6xJ,EAActnL,KAAK8lB,OACnB,cACF6E,EAAa,SACb08J,GACEC,EACA9+J,EAAO,IAAyB8+J,EAAalpL,GAEjD,OAAO,IAAMmf,cAAc4oK,EAAkB,IAAS,CACpDx7J,cAAe3qB,KAAK2qB,cACpBwC,IAAKntB,KAAKumL,UACT/9J,GACL,EAIF,OAAO49J,CAA2B,C,gJCtFpC,IAAIn3B,EAAwB,YAAQ,UAAW,CAC7C9jI,OAAQ,WACR9R,MAAO,yBAFmB,CAGzB,0EAA0EyM,GAASA,EAAMyhK,cAAgB,aAAe,SAAS,kDAAkDzhK,GAASA,EAAMyhK,cAAgB,UAAY,QAAQ,0CAA0CzhK,GAASA,EAAMilI,OAAS,IAAM,QAAQ,SAASjlI,IAAUA,EAAM0hK,UAAY,KAAK,eAAe1hK,IAAUA,EAAM0hK,UAAY,QAAQ,4CAA4C1hK,IAAUA,EAAM0hK,UAAY,QAAQ,sDAEtev4B,EAAsBpwD,UAAY,CAChC2oF,SAAU,OACVz8B,OAAQ,OACRrvI,SAAU,SACV3E,QAAS,SACTwwK,cAAe,QAGjB,IAAI52C,EAAkB,YAAQ,MAAO,CACnCxlH,OAAQ,WACR9R,MAAO,mBAFa,CAGqB,CACzCjf,KAAM,SACN+jG,OAAQ,mIAQNspF,EAAkB,YAAQ,MAAO,CACnCt8J,OAAQ,WACR9R,MAAO,mBAFa,CAGqB,CACzCjf,KAAM,UACN+jG,OAAQ,0HAQNupF,EAAkB,YAAQ,MAAO,CACnCv8J,OAAQ,WACR9R,MAAO,mBAFa,CAGqB,CACzCjf,KAAM,SACN+jG,OAAQ,kI,kBC/CV,IAAIwpF,EAA0D,CAC5DvtL,KAAM,yBACN+jG,OAAQ,wIAONypF,EAAwE,CAC1ExtL,KAAM,uCACN+jG,OAAQ,gIAON0pF,EAA+D,CACjEztL,KAAM,8BACN+jG,OAAQ,8GCjBN2pF,EAAW/sL,IACb,IAAI,MACFyE,GACEzE,EACJ,OAAO,YAAI,MAAO,CAChB8N,IAAK8+K,GACJ,YAAI,MAAO,CACZ,kBAAmB,eACnB3oL,OAAQ,KACRovE,KAAM,MACNpB,QAAS,YACT7tE,MAAO,MACN,YAAI,QAAS,CACdpD,GAAI,gBACHyD,GAAQ,YAAI,IAAK,CAClBytE,KAAM,OACNa,SAAU,WACT,YAAI,OAAQ,CACbX,EAAG,mBACHF,KAAM,SACJ,YAAI,OAAQ,CACdE,EAAG,mDACHa,OAAQ,UACRC,cAAe,YACZ,EAGH85G,EAAmB1lK,IACrB,IAAI,KACF2lK,GACE3lK,EAEJ,MAAa,aAAT2lK,EACK,YAAI,MAAO,CAChBn/K,IAAKg/K,GACJ,YAAI,IAAgB,OAGlB,YAAI,IAAY,KAAK,EAG1BI,EAAqBniK,GAAS,YAAI6qH,EAAiB,CACrD9nI,IAAKid,EAAMC,iBACTD,EAAMqqI,mBAAqB,YAAI43B,EAAkB,CACnDC,KAAMliK,EAAMkiK,QACTliK,EAAMoqI,oBAAsB,YAAI,IAAY,CAC/C,aAAcpqI,EAAMoiK,qBACpBr/K,IAAK,YAAK,CAAC++K,EAA+B9hK,EAAMqiK,2BAA4B,8BAC5E,cAAe,4BACfpjK,QAASe,EAAMU,YACf2G,IAAKrH,EAAMsiK,eACX5oL,MAAO,SACNsmB,EAAM88I,oBAAsB,YAAIklB,EAAU,Q,QCvD7C,MAAM,UAA2B,YAC/B,WAAAvF,CAAYz8J,GACVwgK,MAAMxgK,GACN9lB,KAAKqoL,cAAgB9oL,SAASge,cAAc,OAC5Cvd,KAAKqoL,cAAcz0J,aAAa,cAAe,eAC/C5zB,KAAKsoL,gBAAkBxiK,EAAMwiK,iBAAmB/oL,SAASqb,IAC3D,CAEA,iBAAA2tK,GACEvoL,KAAKsoL,gBAAgBv0J,YAAY/zB,KAAKqoL,cACxC,CAEA,oBAAAG,GACExoL,KAAKsoL,gBAAgB5gF,YAAY1nG,KAAKqoL,cACxC,CAEA,MAAA5yJ,GACE,OAAO,uBAAaz1B,KAAK8lB,MAAMzI,SAAUrd,KAAKqoL,cAChD,E,YCpBSI,EAAwB71J,IACjC,IAAI81J,EAEAC,EAAiK,aAA1F,QAAzDD,EAAwB5rL,OAAO63B,iBAAiB/B,UAA2C,IAA1B81J,OAAmC,EAASA,EAAsBj7H,YACjJm7H,EAAcpuL,QAAe,OAAPo4B,QAAsB,IAAPA,OAAgB,EAASA,EAAGi2J,iBAAiBltL,QACtF,OAAOgtL,GAAaC,CAAW,EAyCtBE,EAAal2J,IACtB,GAAmB,UAAfA,EAAGD,SAAmC,UAAZC,EAAGj2B,KAAkB,CACjD,IAAI6pD,EAAWjnD,SAASwpL,iBAAiB,UAAW5tL,OAAOy3B,EAAGx4B,KAAM,eAEpE,GAAIosD,GAAYA,IAAa5zB,EAC3B,OAAO,CAEX,CAEA,OAAOA,EAAGmiH,UAAY,GAhDCniH,KACvB,IAAI,QACFD,GACEC,EAEJ,GAAgB,SAAZD,IAAuB81J,EAAsB71J,GAC/C,OAAO,EAGT,GAAI,CAAC,SAAU,QAAS,SAAU,YAAY52B,SAAS22B,GACrD,OAAIC,EAAG9a,WAIH8a,EAAGo2J,QAAQ,qBAOjB,GAAgB,MAAZr2J,EACF,OAAOC,EAAGq2J,aAAa,QAGzB,IAAIl0C,EAAWxxG,SAAS3Q,EAAGsiE,aAAa,YAAa,IAErD,GAA2C,SAAvCtiE,EAAGsiE,aAAa,oBAAiC,YAAS6/C,IAAaA,GAAY,EACrF,OAAO,EAGT,GAAgB,SAAZpiH,GAAsBC,EAAGq2J,aAAa,QAAS,CACjD,IAAIj9J,EAAM4G,EAAGo2J,QAAQ,OACjBliF,EAAM96E,EAAMzsB,SAAS8zB,cAAc,gBAAiBl4B,OAAO6wB,EAAI5xB,KAAM,OAAU,KACnF,OAAOI,QAAQwxB,IAAQA,EAAIi9J,aAAa,SAAWzuL,QAAQssG,IAAQ2hF,EAAsB3hF,EAC3F,CAEA,OAAO,CAAK,EAWeoiF,CAAYt2J,EAAG,EAEjCu2J,EAAyBv2J,IAClC,IAAIw2J,EAAcx2J,EAAGm2J,iBAAiB,KACtC,OAAOhlL,MAAMg3B,UAAUj/B,OAAOwM,KAAK8gL,EAAaN,EAAW,E,SCnDzDO,EACW,mBADXA,EAEe,uBAGnB,MAAM,UAAqB,YACzB,WAAA9G,CAAYz8J,GACVwgK,MAAMxgK,GAEN,IAAgB9lB,KAAM,6BAA6B,KACjD,GAAIA,KAAKspL,yBAA0B,CACjC,IAAIC,EAAajnH,OAAOtiE,KAAKspL,yBAAyBp0F,aAAam0F,IAEnE,GAAmB,IAAfE,EAAkB,CACpB1jL,OAAOC,OAAO9F,KAAKspL,yBAAyB/vH,MAAO,CACjD9C,SAAU,WACVl9C,IAAK,OACLpa,MAAO,SAET,IAAIqqL,EAAYxpL,KAAKspL,yBAAyBp0F,aAAam0F,GAC3DvsL,OAAOwiD,SAAS,EAAGkqI,GACnBxpL,KAAKspL,yBAAyBG,gBAAgBJ,EAChD,CAEArpL,KAAKspL,yBAAyB11J,aAAay1J,IAA2CE,EACxF,CAEAzsL,OAAOo7B,oBAAoB,SAAUl4B,KAAK0pL,iBAAiB,IAG7D,IAAgB1pL,KAAM,oBAAoB,KACxCA,KAAK2pL,WAAWv2I,QAAQmmB,MAAMv6D,OAASlC,OAAOw6G,YAAc,IAAI,IAGlE,IAAgBt3G,KAAM,4BAA4BwpL,IAGhD,GAFAxpL,KAAKspL,yBAA2B/pL,SAAS8zB,cAAc,+BAElDrzB,KAAKspL,yBAAV,CAIAtpL,KAAKspL,yBAAyB11J,aAAay1J,EAA6CG,GACxF,IAAID,EAAajnH,OAAOtiE,KAAKspL,yBAAyBp0F,aAAam0F,KAA6C,EAChHrpL,KAAKspL,yBAAyB11J,aAAay1J,IAA2CE,GACtFzsL,OAAOwiD,SAAS,EAAG,GACnBz5C,OAAOC,OAAO9F,KAAKspL,yBAAyB/vH,MAAO,CACjD2tF,KAAM,IACNvgI,OAAQ,SACR8vC,SAAU,QACVmzH,MAAO,IACPrwK,IAAK,IAAIpe,OAAOquL,EAAW,MAC3BrqL,MAAO,SAETa,KAAK0pL,mBACL5sL,OAAOm7B,iBAAiB,SAAUj4B,KAAK0pL,iBAfvC,CAewD,IAG1D,IAAgB1pL,KAAM,eAAe,KACnC,IAAIwpL,EAAY1sL,OAAO+sL,aACnB,cACFtC,EAAa,SACbC,EAAQ,OACRsC,GACE9pL,KAAK8lB,MAELikK,EAAO,KACT/pL,KAAKgqL,UAAS,KAAM,CAClBj/B,QAAQ,MACN,KACF,IACE33G,QAAS62I,GACPjqL,KAAKkqL,gBACLC,EAAmB,YAA8B,OAAnBF,QAA8C,IAAnBA,OAA4B,EAASA,EAAe/yK,QAE5GlX,KAAK8lB,MAAMskK,0BAA4BD,GAC1CF,EAAe/yK,QAGbqwK,IACFlzJ,YAAW,KACTv3B,OAAOwiD,SAAS,EAAG,EAAE,GACpB,GACHt/C,KAAKqqL,yBAAyBb,IAG5B,YAAWM,KACTtC,EACFnzJ,WAAWy1J,EAAQ,KAEnBA,IAEJ,GACA,EAGAtC,EACFZ,uBAAsB,KACpBA,uBAAsB,KACpBmD,GAAM,GACN,IAGJA,GACF,IAGF,IAAgB/pL,KAAM,eAAeD,IACnC,IAAI,SACFynL,EAAQ,QACRl1C,EAAO,cACPg4C,EAAa,cACb/C,GACEvnL,KAAK8lB,MAEJyhK,IACHhoL,SAASqb,KAAK2+C,MAAM6oE,SAAWpiI,KAAKqhC,MAAMkpJ,cAGtC,OAANxqL,QAAoB,IAANA,GAAwBA,EAAEw8C,UAClC,OAANx8C,QAAoB,IAANA,GAAwBA,EAAEm+C,iBAClC,OAANn+C,QAAoB,IAANA,GAAwBA,EAAEyqL,kBAExC,IAAIC,EAAQ,KACV,IAAIC,EAAuBC,EAEgC,QAA1DD,EAAwB1qL,KAAKqhC,MAAMupJ,yBAAyD,IAA1BF,GAAuG,QAA1DC,EAAyBD,EAAsBxzK,aAA8C,IAA3ByzK,GAA6CA,EAAuBriL,KAAKoiL,GAEvP,YAAWp4C,IACbA,EAAQvyI,EACV,EAGFC,KAAKgqL,UAAS,KAAM,CAClBj/B,QAAQ,MACN,KACE,YAAWu/B,IACbA,EAAcvqL,GAGZynL,EACFnzJ,YAAW,KACTo2J,GAAO,GACN,KAEHA,GACF,GACA,IAGJ,IAAgBzqL,KAAM,iBAAiBD,IACrCA,EAAEw8C,UACF,IAAI,WACFsuI,GACE7qL,KAAK8lB,MAEL+kK,GAAwB,WAAV9qL,EAAEoD,IAClBnD,KAAKwmB,YAAYzmB,GAIL,QAAVA,EAAEoD,KACJnD,KAAK8qL,yBAAyB/qL,EAChC,IAGF,IAAgBC,KAAM,4BAA4BD,IAChD,IAAIgrL,EAAa,CAAC/qL,KAAKkqL,gBAAgB92I,SAEnCpzC,KAAKw3B,aAAaiwE,aACpBsjF,EAAWjmJ,KAAK9kC,KAAKw3B,aAAaiwE,aAGpC,IAAIujF,EDvHyB,SAA+BjrL,GAMhE,IALA,IACEkrL,SAAUC,EAAO,OACjB//J,GACEprB,EAEK8D,EAAOnI,UAAUC,OAAQwvL,EAAoB,IAAIpnL,MAAMF,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAC/GmnL,EAAkBnnL,EAAO,GAAKtI,UAAUsI,GAG1C,IAAIonL,EAAYD,EAAkBrvL,QAAO82B,GAAMA,aAAcy4J,cAAar/J,KAAI,CAAC4G,EAAIqQ,KAAU,CAC3FnqB,UAAW8Z,EACXqQ,QACAqoJ,oBAAqBnC,EAAuBv2J,OAC1C92B,QAAOf,IACT,IAAI,oBACFuwL,GACEvwL,EACJ,OAAOuwL,EAAoB3vL,OAAS,CAAC,IAEnCy3C,EAAUg4I,EAAUtwL,MAAKunB,IAC3B,IAAI,UACFvJ,GACEuJ,EACJ,OAAOvJ,EAAUyyK,SAASpgK,EAAO,IAGnC,IAAKioB,EACH,OAAO,KAGT,GAAI83I,EAAS,CACX,IAAKM,GAAmBp4I,EAAQk4I,oBAEhC,GAAI,CAACE,EAAiBp4I,EAAQt6B,WAAW9c,SAASmvB,GAAS,CACzD,IACIyhE,EADgBw+F,EAAUh4I,EAAQnQ,MAAQ,IACCmoJ,EAAUA,EAAUzvL,OAAS,GAC5E,OAAOixF,EAAS0+F,oBAAoB1+F,EAAS0+F,oBAAoB3vL,OAAS,EAC5E,CACF,CAEA,IAAKuvL,EAAS,CACZ,IAAI,oBACFI,GACEl4I,EACAq4I,EAAiBH,EAAoBA,EAAoB3vL,OAAS,GAEtE,GAAIwvB,IAAWsgK,EAGb,OAFgBL,EAAUh4I,EAAQnQ,MAAQ,IACPmoJ,EAAU,IACjCE,oBAAoB,EAEpC,CAEA,OAAO,IACT,CCgEsBI,CAAsB3rL,KAAMgrL,GAExC,YAAyB,OAAdC,QAAoC,IAAdA,OAAuB,EAASA,EAAU9zK,SAC7EnX,EAAEm+C,iBACF8sI,EAAU9zK,QACZ,IAGF,IAAgBlX,KAAM,eAAgB,CACpC2rL,QAAS,KACP,GAAI3rL,KAAKw3B,aAAaiwE,YAAa,CACjC,IAAI,YACFA,EAAW,gBACXmkF,EAAe,iBACfC,GACE7rL,KAAKw3B,aACTiwE,EAAYvvE,oBAAoB,UAAW0zJ,GAC3CC,EAAiBC,aACjB9rL,KAAKw3B,aAAaiwE,YAAc,KAChCznG,KAAKkqL,gBAAgB92I,QAAQl8B,OAC/B,GAEFuwF,YAAaloG,SAASm5C,eAAe,mBAAqBn5C,SAASm5C,eAAe,2BAClFygC,KAAM,KACJ,GAAIn5E,KAAKw3B,aAAaiwE,YAAa,CACjC,IAAI,YACFA,EAAW,gBACXmkF,EAAe,iBACfC,GACE7rL,KAAKw3B,cACJ9D,GAAY3vB,MAAMg3B,UAAUj/B,OAAOwM,KAAKm/F,EAAYpqF,UAAUuV,GAAqB,QAAfA,EAAGD,UAG5E,GAFA3yB,KAAKw3B,aAAa9D,SAAWA,GAExBA,GAAsC,IAA1BA,EAAS6jF,aACxB,OAGFs0E,EAAiBE,QAAQtkF,EAAa,CACpCukF,YAAY,EACZC,WAAW,EACXC,SAAS,IAEXzkF,EAAYxvE,iBAAiB,UAAW2zJ,EAC1C,GAEFA,gBAAiB7rL,IACD,QAAVA,EAAEoD,KACJnD,KAAK8qL,yBAAyB/qL,EAChC,EAEF8rL,iBAAkB,IAAIM,kBAAiB,KACrC,IAAI,SACFz4J,GACE1zB,KAAKw3B,aAE2E,KAAlE,OAAb9D,QAAkC,IAAbA,OAAsB,EAASA,EAAS6jF,eAChEv3G,KAAKw3B,aAAam0J,SACpB,MAIJ,IAAgB3rL,KAAM,sBAAsBD,IAC1C,IAAI,oBACFiwJ,GACEhwJ,KAAK8lB,MAELkqI,GACFhwJ,KAAKwmB,YAAYzmB,EACnB,IAGF,IAAgBC,KAAM,cAAc,KAClC,IAAI,cACFunL,GACEvnL,KAAK8lB,MAET,OAAIyhK,EACKG,EAGFvH,EAAA,CAAO,IAGhBngL,KAAKooL,eAAiB,oBAAUpoL,KAAM,kBACtCA,KAAKkqL,gBAAkB,oBAAUlqL,KAAM,mBACvCA,KAAK2pL,WAAa,oBAAU3pL,KAAM,cAClCA,KAAKqhC,MAAQ,CACXkpJ,aAAchrL,SAASqb,KAAK2+C,MAAM6oE,SAClC2oB,QAAQ,EACR6/B,kBAAmBrrL,SAASuwD,cAEhC,CAEA,iBAAAy4H,GACE,IAAI6D,EAEJpsL,KAAKw3B,aAAa2hD,OAClB,IAAI,cACFouG,GACEvnL,KAAK8lB,MAEJyhK,IACHhoL,SAASqb,KAAK2+C,MAAM6oE,SAAW,UAGjC,CAAC,oBAAqB,qBAAsB,iBAAiB56H,SAAQ6kL,IACnE,GAAI,YAAWrsL,KAAK8lB,MAAMumK,IAAU,CAClC,IAAIvnC,EAAUunC,EAAOv5J,QAAQ,WAAY,MAAMA,QAAQ,MAAO,KAC9D9yB,KAAK8lB,MAAMumK,GAAQrsL,KAAK8kJ,GAC1B,KAEF9kJ,KAAKssL,cACqD,QAAzDF,EAAwBpsL,KAAKooL,eAAeh1I,eAA+C,IAA1Bg5I,GAA4CA,EAAsBl1K,OACtI,CAEA,oBAAAsxK,GACExoL,KAAKw3B,aAAam0J,UAClB,IAAI,cACFpE,GACEvnL,KAAK8lB,MAELyhK,EACFvnL,KAAKusL,4BAELhtL,SAASqb,KAAK2+C,MAAM6oE,SAAWpiI,KAAKqhC,MAAMkpJ,YAE9C,CAEA,MAAA90J,GACE,IAAI,OACFs1H,GACE/qJ,KAAKqhC,OACL,SACFmmJ,EAAQ,yBACRgF,EAAwB,SACxBnvK,EAAQ,mBACRulJ,EAAkB,0BAClBulB,EAAyB,oBACzBsE,EAAmB,KACnBzE,EAAI,qBACJrlB,EAAoB,2BACpB1S,EAA0B,cAC1By8B,EAAa,kBACbC,EAAiB,sBACjB59E,EAAqB,gBACrBu5E,EAAe,cACff,EAAa,mBACbr3B,EAAkB,cAClB08B,EAAa,kBACbz8B,GACEnwJ,KAAK8lB,MAEL+mK,GAAoBD,KADJ18B,GAAsBC,GAEtC28B,EAAsB9sL,KAAK+sL,aAC/B,OAAO,YAAI,EAAoB,CAC7BzE,gBAAiBA,GAChB,YAAIwE,EAAqB,CAC1Bl7H,UAAW+6H,EACX9jL,IAAKkmG,EACLhqF,QAAS/kB,KAAKgtL,mBACd7/J,IAAKntB,KAAK2pL,YACT,YAAI16B,EAAuB,CAC5Bu4B,SAAUA,EACV51H,UAAW,IAAW66H,EAAqB,CACzC,CAACC,GAAgB3hC,IAEnBliJ,IAAKonJ,EACLlF,OAAQA,EACRhmI,QAAShlB,GAAKA,EAAEyqL,kBAChBphE,UAAWppH,KAAKitL,cAChB9/J,IAAKntB,KAAKkqL,gBACV97G,KAAM,eACN2mE,SAAU,KACVwyC,cAAeA,GACdsF,GAAoB,YAAI5E,EAAoB,CAC7CrlB,mBAAoBA,EACpBwlB,eAAgBpoL,KAAKooL,eACrBD,0BAA2BA,EAC3B3hK,YAAaxmB,KAAKwmB,YAClBwhK,KAAMA,EACNjiK,eAAgB48I,EAChBzS,mBAAoBA,EACpBC,kBAAmBA,IACjB,YAAW9yI,GAAYA,EAASrd,KAAKwmB,aAAenJ,IAAYkqK,GAAiB,YAAIE,EAAiB,CACxG5+K,IAAK2jL,IAET,EAIF,IAAgB,EAAc,eAAgB,CAC5ChF,UAAU,EACVqD,YAAY,EACZ7C,KAAM,OACN0E,cAAe,2BACfnF,eAAe,G,qHCtXb2F,EAAc,YAAI,8EAA+E,IAAe,wDAAyD,IAAe,cAAe,IAA4B,yBACnOC,EAAc,YAAI,4FAA6F,IAAoB,oCCHnIC,EAAmB,CAACvgK,EAAO9xB,KAC7B,IAAI,UACFqvB,EAAS,MACTtE,GACE/qB,EAEAuvB,EADa,EAAC,EAAM,QAAQtuB,SAAS8pB,EAAM+E,YACbT,EAElC,MAAO,CACLG,OAFWD,EAAe,CAAC,gBAAkB,GAG7CE,SAAUF,EACVA,eACD,ECZCu7E,EAAkB,CAAC,cAAe,gBAAiB,YAAa,eAAgB,QAAS,0BAA2B,sBAAuB,uB,QCM/I,IAAIo8D,EAAY,YAAQ,MAAO,CAC7B92I,OAAQ,YACR9R,MAAO,aAFO,CAG2B,CACzCjf,KAAM,SACN+jG,OAAQ,uBAQNkvF,EAAc,YAAQ,QAAS,CACjCliK,OAAQ,YACR9R,MAAO,eAFS,CAGf,8FAA+F,IAA8B,0CAA2C,IAA8B,MAErMi0K,EAAc,YAAQ,QAAS,CACjCniK,OAAQ,YACR9R,MAAO,eAFS,CAGf,SAAU,IAAkB,gEAAiE,KAAS,mEAAmEyM,GAASA,EAAM8G,SAAW,IAAc,KAAoB,oI,SCpBpO2gK,EAA6BznK,IAC/B,IAAI,YACF4E,EAAW,wBACX8B,EAAuB,aACvB5B,EAAY,GACZ7uB,EAAE,oBACF0wB,EAAmB,MACnBpT,EAAK,oBACLqT,EAAmB,KACnB/vB,GACEmpB,EACAm+J,EAAgB,YAAYn+J,EAAO+/E,GACnCl7E,EAAgB,YAAoB,CACtCozJ,aAAcj4J,EAAMuuI,0BACpB2pB,WAAW,EACXl4J,QACAutC,aAAcvtC,EAAMutC,cAAgB+5H,IAEtC,OAAO,YAAInrB,EAAW,CACpBp5J,IAAK2jB,GACJ,YAAI6gK,EAAa,IAAS,CAAC,EAAGpJ,EAAe,CAC9Cp7K,IAAK4jB,EACLxB,OAAQP,EACRQ,SAAUP,EACVU,QAAST,EACTjuB,KAAMA,KACH,YAAI2wL,EAAa,CACpBzkL,IAAK6jB,EACLE,SAAU9G,EAAMsG,aAChBohK,QAASzxL,GACRsd,GAAO,EChCRsT,EAAc7G,GAAS,IAAMvI,cAAcgwK,EAA4B,IAAS,CAAC,EAAGznK,EAAO,CAC7F2G,oBAAqB,CAACygK,EAAapnK,EAAM2G,qBACzCC,oBAAqB,CAACygK,EAAarnK,EAAM4G,qBACzC/vB,KAAM,U,qHCRJkpG,EAAkB,CAAC,gBAAiB,cAAe,mBAAoB,4BAA6B,sBAAuB,qBAAsB,SCEjJ,EAAsB,WACxB,IAAInzE,EAAMh3B,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAC1Eqb,EAAU,GAQd,OANI2b,EAAI/2B,OAAS,EACfob,EAAU,GACD2b,EAAI/2B,OAAS,IACtBob,EAAU,IAGL,YAAI,8BAA+BA,EAAS,MACrD,E,mCCTA,IAAI02K,EAAc,YAAQ,OAAQ,CAChCtiK,OAAQ,WACR9R,MAAO,eAFS,CAGyB,CACzCjf,KAAM,SACN+jG,OAAQ,iLAQNuvF,EAAsB,YAAQ,MAAO,CACvCviK,OAAQ,WACR9R,MAAO,uBAFiB,CAGiB,CACzCjf,KAAM,SACN+jG,OAAQ,uB,4CCRV,MAAM,UAAuB,YAC3B,WAAAokF,GACE+D,SAAS5qL,WAET,IAAgBsE,KAAM,iBAAiBD,IACrCA,EAAEw8C,UACF,IACEpxB,QAAQ,MACN0B,IAEA9sB,GACA,cACF4qB,EACAkC,MAAOwvB,GACLr8C,KAAK8lB,MACL48G,EAAW,YAAe71G,GAE1B,YAAWlC,IAKbA,EAAc5qB,EAAG2iI,EAAUrmF,EAAU,CACnClb,YALgBtU,EAAMlxB,SAAWoE,EAAEorB,OAAO4qC,UAM1C3qC,WALe,OAAAovF,EAAA,GAAckoB,EAAU,CACvC58G,MAAO9lB,KAAK8lB,SAMhB,GAEJ,CAEA,MAAA2P,GACE,IAAI,YACFsQ,EAAW,iBACXivB,EAAgB,0BAChB24H,EAAyB,oBACzBlhK,EAAmB,KACnBunC,EAAI,QACJF,EAAO,MACPjnC,EAAK,mBACL+gK,GACE5tL,KAAK8lB,MACL+nK,EAAa,YAAY7tL,KAAK8lB,MAAO+/E,GACrCyU,EAAuB,OAATtmD,QAA0B,IAATA,GAAmBA,EAAKr4D,OAAS,YAAqBkxB,EAAOmnC,GAAQnnC,EACpGihK,EAAch6H,GAAW,YAAmBA,GAChD,OAAO,YAAI45H,EAAqB,MAAOE,GAAsB,YAAIH,EAAa,CAC5E,aAAcz4H,EACdnsD,IAAK8kL,EACL,cAAe,gBACd,IAAK5nJ,GAAc,YAAIoqB,EAAA,EAAoB,IAAS,CAAC,EAAG09H,EAAY,CACrEz9H,aAAc,MACdzlC,cAAe3qB,KAAK2qB,cACpBs8H,YAAa2mC,EACb7xL,GAAI,QACJ0wB,oBAAqB,EAAEmhK,GAAsB,EAAoB7nJ,GAAc,IAAqBtZ,GACpGqnC,QAASg6H,EACTnxL,KAAM,MACNkwB,MAAOytF,KAEX,EAIF,IAAIxkD,EAAa,OAAAowH,EAAA,GAAmB,EAAgB,I,wJC5EhDrgF,EAAkB,CAAC,kBAAmB,0BAA2B,eAAgB,cAAe,YAAa,uCAAwC,mBAAoB,4BAA6B,kBAAmB,UAAW,oBAAqB,aAAc,uBAAwB,yBAA0B,UAAW,QAAS,iBAAkB,sBAAuB,eAAgB,iBAAkB,YAAa,uBAAwB,iBAAkB,gB,4CCInd,IAAIkoF,EAAsB,YAAI,0CAA2C,IAAuB,qGAAsG,IAAgB,yCAA0C,IAAgB,iLAC5QC,EAA6D,CAC/D5zL,KAAM,6BACN+jG,OAAQ,qFAON8vF,EAAuD,CACzD7zL,KAAM,sBACN+jG,OAAQ,wOAON+vF,EAAkB,YAAI,SAAU,IAAgB,gFAChDC,EAAc,YAAI,gBAAiB,IAAa,wBAChDC,EAAqB,YAAI,6BAA8B,IAAa,uEACpEC,EAAgB,YAAI,gBAAiB,IAA8B,8BAA+B,IAA8B,qG,0BCtBhIjwL,EAAY,CAAC,WAYjB,MAAM,UAA4B,YAChC,WAAAmkL,GACE+D,SAAS5qL,WAET,IAAgBsE,KAAM,QAAS,CAC7Bw0D,WAAW,IAGb,IAAgBx0D,KAAM,uBAAuBD,IAC3C,IAAI,OACForB,EAAM,KACNxuB,GACEoD,EACAy0D,EAAqB,UAAT73D,EAEZ63D,GAAax0D,KAAK8lB,MAAMu/J,gBAC1B,YAAuBl6J,GAGzBnrB,KAAKgqL,UAAS,KAAM,CAClBx1H,gBAEF,IAAIs/C,EAAU9zG,KAAK8lB,MAAM,GAAG3qB,OAAOwB,EAAM,YAErC,YAAWm3G,IACbA,EAAQ/zG,EACV,GAEJ,CAEA,MAAA01B,GACE,IAAI64J,EAAoBC,EAAuBjjC,EAAsBkjC,GAEjE,qBACFz8H,GAAuB,EAAK,SAC5BlnC,GAAW,GACT7qB,KAAK8lB,OACL,MACFA,GACE9lB,MACA,UACFw0D,GACEx0D,KAAKqhC,MACL1W,EAAgB,YAAoB,CACtCozJ,aAAcj4J,EAAMuuI,0BACpB2pB,WAAW,EACXl4J,QACAutC,aAAcvtC,EAAMutC,cAAgB,MAGlCo7H,EAAsB,YAAmBzuL,KAAK8lB,MAAO,oBAAqB,CAC5EhqB,OAAQ+pG,EACR45E,kBAAkB,KAGlB3mK,UAAW41K,EAAiB,CAAC,EAC7BC,QAAQ,QACN95J,GACE,CAAC,EACL+5J,SAAUC,GACRJ,EACAK,EAAc,IAAyBL,EAAoBE,OAAQvwL,GAEnE6oJ,EAAa,YAASnhI,EAAM+G,OAASryB,QAAQsrB,EAAM+G,MAAMlxB,SAAW,MAACC,EAAW,MAAMI,SAAS8pB,EAAM+G,QAEvGuI,UAAWk4H,EACXC,QAASwhC,GACPjpK,EAAMwnI,YACN0hC,EAAwBx0L,QAAwB,OAAhB8yJ,QAAwC,IAAhBA,GAA+E,QAA5CghC,EAAqBhhC,EAAYxnI,aAA0C,IAAvBwoK,GAAmG,QAAzDC,EAAwBD,EAAmBjxK,gBAAgD,IAA1BkxK,OAAzK,EAAqNA,EAAsB5yL,QAChU,OAAO,YAAI,MAAO,CAChBi2D,UAAW,IAAG9rC,EAAM+kI,mBAAoB,CACtC,CAAC/kI,EAAM6rC,kBAAmB6C,EAC1B,CAAC1uC,EAAMmpK,gBAAiBnpK,EAAMsG,eAEhCvjB,IAAKid,EAAM0G,yBACV,YAAI,IAAwB,IAAS,CAAC,EAAGkiK,EAAgB,CAC1D98H,UAAqB,OAAV9rC,QAA4B,IAAVA,OAAmB,EAASA,EAAM8rC,UAC/D/oD,IAAK,YAAK,CAACklL,EAAqBh8H,GAAwBi8H,EAAoBx5H,GAAa65H,EAAevoK,EAAMsG,cAAgB+hK,EAAa35H,GAAa1uC,EAAMsG,cAAgBgiK,GAAqB,iCACjM,YAAI,MAAO,CACbvlL,IAAK,YAAK,CAACid,EAAM4rC,sCAAuC,iCACtD,YAAI,SAAU,IAAS,CAAC,EAAGo9H,EAAaD,EAAgB,CAC1D,mBAAoB,YAAmB/oK,GACvC,eAAgBtrB,QAAQsrB,EAAMsG,cAC9BvjB,IAAK,YAAK,CAAC,YAAsBid,GAAQmoK,EAAcnoK,EAAMgsC,sBAAuB,+BACpF7mC,OAAQjrB,KAAKkwD,oBACbhlC,SAAUP,EACVU,QAASrrB,KAAKkwD,oBACd/iC,IAAKrH,EAAMylI,cACPtE,GAAc8nC,IAAoBlkK,KAAcyiI,GAAe,YAAI,SAAU,CACjFzgI,MAAO,MAC6C,QAAhDy+H,EAAuBxlI,EAAM+rC,qBAAoD,IAAzBy5F,GAAkG,QAAtDkjC,EAAwBljC,EAAqBt/H,WAA2C,IAA1BwiK,OAAxE,EAAoHA,EAAsBlmL,KAAKgjJ,GAAsB,CAAC/zB,EAAQt0F,KAC5Q,IAAI,YACF4vE,GACE0kB,GACA,IACFp0H,EAAG,KACHmV,EAAI,MACJuU,GACE0qG,EAMJ,MAJsB,kBAAXA,IACTp0H,EAAMmV,EAAOuU,EAAQ0qG,GAGhB,YAAI,SAAU,CACnBp0H,IAAKA,GAAO0pB,GAASoW,EACrBpW,MAAOA,GACNgmF,GAAev6F,EAAK,KACpB,YAAI,IAAsB,CAC7Bs5C,UAAW9rC,EAAMopK,eACjBrmL,IAAK,YAAK,CAACqlL,EAAiBpoK,EAAM4G,qBAAsB,+BACxDu6H,WAAYA,GAAc+nC,EAC1BxB,QAAS1nK,EAAM/pB,GACfsxB,WAAYvH,EAAM+G,OACjB/G,EAAMzM,QAASyM,EAAMsG,cAAgBtG,EAAM7lB,OAAS,YAAI4yD,EAAA,EAAY,CACrE92D,GAAI,GAAGZ,OAAO2qB,EAAM/pB,GAAI,WACvB+pB,EAAM7lB,OACX,EAIF,IAAgB,EAAqB,eAAgB,CACnDqtJ,YAAa,CAAC,EACd+3B,gBAAgB,G,sICvIlB,IAAI8J,EAAwB,YAAQ,MAAO,CACzChkK,OAAQ,WACR9R,MAAO,yBAFmB,CAGe,CACzCjf,KAAM,SACN+jG,OAAQ,6E,yBCCV,MAAM,UAAiB,YACrB,WAAAokF,GACE+D,SAAS5qL,WAET,IAAgBsE,KAAM,QAAS,CAC7BovL,aAAcpvL,KAAK8lB,MAAMupK,eAG3B,IAAgBrvL,KAAM,eAAeD,IACnCA,EAAEw8C,UACF,IAAI,YACF7xB,GACE1qB,KAAK8lB,OACL,GACF/pB,EAAE,MACF8wB,GACE9sB,EAAEorB,OAEN,GAAW,aAAPpvB,GAAqB8wB,EAAMlxB,QAAU,IAAetB,KAAKwyB,GAAQ,CACnE,IAAI,QACFyiK,GACEtvL,KAAK8lB,OACL,UACFua,EAAS,SACTC,GACE,YAAWgvJ,GAAWA,EAAQziK,GCjCtBA,KAClB,YAAaA,GACb,IAAI0iK,EAAkB1iK,EAAMk0G,QAAQ,KAChCyuD,EAAUD,GAAmB,EAAIA,EAAkB1iK,EAAMlxB,OAG7D,MAAO,CACL0kC,UAAW,CACTxT,MAJQA,EAAM0wE,OAAO,EAAGiyF,IAM1BlvJ,SAAU,CACRzT,MANOA,EAAM0wE,OAAOiyF,EAAU,IAQjC,EDoBgDC,CAAc5iK,GACzDwT,EAAUjV,WAAa,YAAaiV,EAAUxT,OAC9CyT,EAASlV,WAAa,YAAakV,EAASzT,OAC5C7sB,KAAKgqL,UAAS,KAAM,CAClBoF,cAAc,MACZ,KACE,YAAW1kK,IACbA,EAAY3qB,EAAG,CACbsgC,YACAC,YAEJ,GAEJ,MAAW,YAAW5V,IACpBA,EAAY3qB,EACd,GAEJ,CAEA,MAAA01B,GACE,IAAI,cACF9K,EAAa,UACb0V,EAAS,aACTzV,EAAY,0BACZypI,EAAyB,OACzBvjG,EAAM,eACN/qC,GACE/lB,KAAK8lB,OACL,aACFspK,GACEpvL,KAAKqhC,MACLquJ,EAAwB,YAASr7B,GACjCs7B,EAA0Bt7B,EAU9B,OARKq7B,IACHC,EAA0B,CACxBtvJ,UAAWg0H,EACXhkC,SAAUgkC,EACV/zH,SAAU+zH,IAIP,YAAI,MAAO,CAChBxrJ,IAAwB,OAAnBkd,QAA8C,IAAnBA,OAA4B,EAASA,EAAejN,WACnFs2K,GAAgB,YAAIj/H,EAAA,EAAoB,IAAS,CAClDC,aAAc,OACd1lC,YAAa1qB,KAAK0qB,YAClBC,cAAeA,EACfyB,aAAciU,EAAUjU,aACxBnsB,MAAOogC,EAAUpgC,MACjB2qB,aAAcA,EACdypI,0BAA2Bs7B,EAAwBt/D,SACnDt0H,GAAI,WACJsd,MAAOy3C,EAAOu/D,SACdt6D,UAAW,MACX37D,KAAM,OACNywB,UAAU,EACVwoC,aAAc,IACdxmC,MAAOwT,EAAUxT,OACG,OAAnB9G,QAA8C,IAAnBA,OAA4B,EAASA,EAAesqG,YAAa++D,GAAgB,YAAID,EAAuB,KAAM,CAAC,YAAa,YAAYnjK,KAAIrvB,IAC5K,IAAIizL,EAAUjzL,EAAKX,SAAS,SACxB5B,EAAOw1L,EAAU,QAAU,SAC3B,MACF3vL,EAAK,aACLmsB,EAAY,MACZS,GACE7sB,KAAK8lB,MAAMnpB,GACf,OAAO,YAAIwzD,EAAA,EAAoB,IAAS,CACtCC,aAAc,GAAGj1D,OAAOy0L,EAAU,QAAU,SAAU,SACtDllK,YAAa1qB,KAAK0qB,YAClBC,cAAeA,EACfyB,aAAcA,EACdnsB,MAAOA,EACP2qB,aAAcA,EACdypI,0BAA2Bs7B,EAAwBhzL,GACnDZ,GAAIiE,KAAK8lB,MAAM,GAAG3qB,OAAOwB,EAAM,QAAUA,EACzCwG,IAAKxG,EACL0c,MAAOy3C,EAAOn0D,GACdo5D,UAAW,MACX37D,KAAM4F,KAAK8lB,MAAM,GAAG3qB,OAAOwB,EAAM,eAAiBvC,EAClDywB,UAAU,EACVwoC,aAAc,IACdxmC,MAAOA,GACa,OAAnB9G,QAA8C,IAAnBA,OAA4B,EAASA,EAAeppB,IAAO,KAE7F,EAIF,IAAgB,EAAU,eAAgB,CACxCopB,eAAgB,CAAC,G,4GE3Hf8pK,EAAsB,CACxBvK,OAAQ,YAAI,6BAA8B,IAA0B,4BAA6B,IAAsB,2BAA4B,IAAsB,qIACzK/rK,IAAK,YAAI,8BAA+B,IAA0B,0BAA2B,IAAsB,yBAA0B,IAAsB,gICEjK2kF,EAAa,YAAI,oBAAqB,IAA0B,qBAAsB,IAAsB,4BAA6B,IAAkB,0HAE3J7tC,EAAUvqC,IACZ,IAAIgqK,EAAa,iBAAO,MACpB/qK,EAAUe,EAAMf,QAAU,CAC5BA,QAASe,EAAMf,SACb,CAAC,EACDkG,EAASnF,EAAMmF,OAAS,CAC1BA,OAAQnF,EAAMmF,OACdkC,IAAK2iK,EACL/6C,SAAU,GACR,CAAC,EAML,OALA,qBAAU,KACR,IAAIg7C,EAE2C,QAA9CA,EAAsBD,EAAW18I,eAA6C,IAAxB28I,GAA0CA,EAAoB74K,OAAO,GAC3H,IACI,YAAI,MAAO,IAAS,CACzBrO,IAAK,YAAK,CAACq1F,EAAYp4E,EAAMwqC,eAAiBu/H,EAAoB/pK,EAAMwqC,eAAgBxqC,EAAMC,gBAAiB,oBAC9GkF,EAAQlG,GAAUe,EAAMzI,SAAS,C,4HClBtC,IAAI2oK,EAAiBlgK,IACnB,GAAc,OAAVA,QAA4B,IAAVA,GAAoBA,EAAM8G,SAC9C,OAAO,IAGT,IAAIojK,EAAqB,IACrBC,EAAuB,IAC3B,OAAOnqK,EAAM0uC,UAAYw7H,EAAqBC,CAAoB,EAGhEnK,EAAehgK,IACjB,IAAIzO,EAAY,aAAalc,OAAO6qL,EAAelgK,IAEnD,OAAe,OAAVA,QAA4B,IAAVA,GAAoBA,EAAMsG,cAA0B,OAAVtG,QAA4B,IAAVA,GAAoBA,EAAM8G,WAAa9G,EAAM0uC,UACvH,kBAAkBr5D,OAAO,IAAa,+CAG/Ckc,EAAY,kBAAkBlc,OAAO,IAA8B,iDAC3D2qB,EAAM0uC,UAAqBn9C,EAAT,OAAkB,EAG1C4qJ,EAAY,YAAQ,MAAO,CAC7B92I,OAAQ,WACR9R,MAAO,aAFO,CAG2B,CACzCjf,KAAM,SACN+jG,OAAQ,uBAQV8jE,EAAUpjE,UAAY,CACpB94E,eAAgB,UAGlB,IAQImqK,EAAiB,YAAQ,MAAO,CAClC/kK,OAAQ,WACR9R,MAAO,kBAFY,CAGlB,iBAAiByM,GAASkgK,EAAelgK,IAAQ,uDAAuDA,GAXtFA,IACL,OAAVA,QAA4B,IAAVA,GAAoBA,EAAM0uC,UACvC,OAGF,MAM2G27H,CAAerqK,IAAQ,gBAAgBA,GAASggK,EAAahgK,IAAQ,2FAA2FA,GAASkgK,EAAelgK,IAAQ,gBAAgBA,GAASggK,EAAahgK,IAAQ,6BAElWoqK,EAAerxF,UAAY,CACzBjyE,SAAU,OACV4nC,UAAW,OAAKnqC,WAChBtE,eAAgB,U,qBCtDlB,MAAM,UAA6B,YACjC,WAAAw8J,GACE+D,SAAS5qL,WAET,IAAgBsE,KAAM,QAAS,CAC7Bw0D,WAAW,IAGb,IAAgBx0D,KAAM,uBAAuBD,IAC3CA,EAAEw8C,UACF,IAAI,KACF5/C,GACEoD,EACJC,KAAKgqL,UAAS,KAAM,CAClBx1H,UAAoB,UAAT73D,MAEb,IAAIm3G,EAAU9zG,KAAK8lB,MAAM,GAAG3qB,OAAOwB,EAAM,YAErC,YAAWm3G,IACbA,EAAQ/zG,EACV,GAEJ,CAEA,MAAA01B,GACE,IAAI,SACFpY,EAAQ,wBACRmP,EAAuB,aACvBJ,EAAY,MACZnsB,EAAK,QACLgwD,EAAO,6BACPD,GACEhwD,KAAK8lB,MACLsqK,GAAsC,IAAjBhkK,EACrBikK,GAAuBD,GAAsB51L,QAAyB,OAAjB4xB,QAA0C,IAAjBA,OAA0B,EAASA,EAAayK,YAAwB,OAAV52B,QAA4B,IAAVA,OAAmB,EAASA,EAAMtE,QAChM20L,EAAsBF,KAA0C,OAAjBhkK,QAA0C,IAAjBA,IAA2BA,EAAamkK,SACpH,OAAO,YAAItuB,EAAW,CACpBp5J,IAAK2jB,GACJ,YAAI0jK,EAAgB,CACrBrnL,IAAKmnD,EACLpjC,SAAU0jK,EACV97H,UAAWx0D,KAAKqhC,MAAMmzB,WACrB,YAAWn3C,GAAYA,EAASrd,KAAKkwD,qBAAuB7yC,GAAWgzK,GAAuB,YAAIx9H,EAAA,EAAY,CAC/G92D,GAAI,GAAGZ,OAAO80D,EAAS,WACtBhwD,GACL,E,uICpDE4lG,EAAkB,CAAC,0BAA2B,kBAAmB,cAAe,gBAAiB,qBAAsB,0BAA2B,WAAY,eAAgB,cAAe,eAAgB,aAAc,eAAgB,4BAA6B,WAAY,iBAAkB,sBAAuB,UAAW,QAAS,sBAAuB,OAAQ,UAAW,eAAgB,gBAAiB,iBAAkB,gB,uECalb,MAAM,UAA2B,YAC/B,WAAA08E,GACE+D,SAAS5qL,WAET,IAAgBsE,KAAM,QAAS,CAC7Bw0D,WAAW,IAGb,IAAgBx0D,KAAM,uBAAuBD,IAC3C,IAAI,OACForB,EAAM,KACNxuB,GACEoD,EACAy0D,EAAqB,UAAT73D,EAEZ63D,GAAax0D,KAAK8lB,MAAMu/J,gBAC1B,YAAuBl6J,GAGzBnrB,KAAKgqL,UAAS,KAAM,CAClBx1H,gBAEF,IAAIs/C,EAAU9zG,KAAK8lB,MAAM,GAAG3qB,OAAOwB,EAAM,YAErC,YAAWm3G,IACbA,EAAQ/zG,EACV,GAEJ,CAEA,MAAA01B,GACE,IAAI,MACF3P,EAAK,MACLub,GACErhC,MAEF8Y,UAAW41K,EAAiB,CAAC,EAC7Bj2K,MAAOo1K,EAAa,CAAC,EACrBx0K,MAAOm3K,EAAa,CAAC,EACrB5B,SAAUC,GACR,YAAmB/oK,EAAO,mBAAoB,CAChDhqB,OAAQ+pG,EACR45E,kBAAkB,IAEhB90J,EAAgB,YAAoB,CACtCmzJ,SAAUh4J,EAAMg4J,SAChBC,aAAcj4J,EAAMuuI,0BACpB2pB,UAAW,YAAWl4J,EAAO,aAC7Bm4J,aAAcn4J,EAAMm4J,aACpBn4J,QACAutC,aAAcvtC,EAAMutC,cAAgB,MAElCo9H,EAAkBpvJ,EAAMmzB,YAAc1uC,EAAM+G,MAAMlxB,OACtD,OAAO,YAAI,IAAwB,IAAS,CAAC,EAAG+yL,EAAgB,CAC9D98H,UAAW,IAAG9rC,EAAM+kI,mBAAoB,CACtC,CAAC/kI,EAAM6rC,kBAAmBtwB,EAAMmzB,aAAe1uC,EAAM6rC,mBAEvD9oD,IAAKid,EAAM0G,wBACX,cAAe,kBACb,YAAI,IAA2B,IAAS,CAAC,EAAGqhK,EAAYgB,EAAgB,CAC1E,mBAAoB,YAAmB/oK,GACvC,eAAgBtrB,QAAQsrB,EAAMsG,cAAgBtG,EAAM8G,UACpDglC,UAAW9rC,EAAM4qK,eACjB7nL,IAAK,YAAK,CAAC,YAAsBid,GAAQA,EAAM2G,qBAAsB,8BACrExB,OAAQjrB,KAAKkwD,oBACbhlC,SAAUP,EACVU,QAASrrB,KAAKkwD,oBACd4D,QAAS,YAAiBhuC,EAAMguC,SAChC68H,YAAaF,EAAkB3qK,EAAM6qK,YAAc,IACnDxjK,IAAKrH,EAAM8qK,gBACR,YAAI,IAAsB,IAAS,CAAC,EAAGJ,EAAY,CACtD5+H,UAAW9rC,EAAMopK,eACjBrmL,IAAKid,EAAM4G,oBACXu6H,WAAYnhI,EAAMmhI,WAClBumC,QAAS1nK,EAAM/pB,GACfsxB,WAAYvH,EAAM+G,QAChB/G,EAAMzM,OAAQyM,EAAMsG,cAAgBtG,EAAM7lB,OAAS,YAAI4yD,EAAA,EAAY,CACrE92D,GAAI,GAAGZ,OAAO2qB,EAAM/pB,GAAI,WACvB+pB,EAAM7lB,OACX,EAIF,IAAgB,EAAoB,eAAgB,CAClDolL,gBAAgB,EAChB1oL,KAAM,Q,wHChGR,SAAS2pJ,EAAQn5G,EAAQo5G,GAAkB,IAAI9kH,EAAO57B,OAAO47B,KAAK0L,GAAS,GAAItnC,OAAO2gJ,sBAAuB,CAAE,IAAIC,EAAU5gJ,OAAO2gJ,sBAAsBr5G,GAASo5G,IAAmBE,EAAUA,EAAQ3qJ,QAAO,SAAU4qJ,GAAO,OAAO7gJ,OAAO8gJ,yBAAyBx5G,EAAQu5G,GAAKE,UAAY,KAAKnlH,EAAKqD,KAAK7gC,MAAMw9B,EAAMglH,EAAU,CAAE,OAAOhlH,CAAM,CAEpV,SAASvjC,EAAcitB,GAAU,IAAK,IAAIe,EAAI,EAAGA,EAAIxwB,UAAUC,OAAQuwB,IAAK,CAAE,IAAIkvG,EAAS,MAAQ1/H,UAAUwwB,GAAKxwB,UAAUwwB,GAAK,CAAC,EAAGA,EAAI,EAAIo6H,EAAQzgJ,OAAOu1H,IAAS,GAAI5zH,SAAQ,SAAUrE,GAAO,IAAgBgoB,EAAQhoB,EAAKi4H,EAAOj4H,GAAO,IAAK0C,OAAOghJ,0BAA4BhhJ,OAAOihJ,iBAAiB37H,EAAQtlB,OAAOghJ,0BAA0BzrB,IAAWkrB,EAAQzgJ,OAAOu1H,IAAS5zH,SAAQ,SAAUrE,GAAO0C,OAAOkhJ,eAAe57H,EAAQhoB,EAAK0C,OAAO8gJ,yBAAyBvrB,EAAQj4H,GAAO,GAAI,CAAE,OAAOgoB,CAAQ,CAEzf,IAUI0lK,EAAc,CAAC1kG,EAAMD,EAAOD,KAC9B,IAAIzmF,EAAO,IAAIhC,KAAK2oF,EAAMD,EAAQ,EAAGD,GACjC6kG,EAActrL,EAAKm6J,gBAAkBxzE,EACrC4kG,EAAevrL,EAAKwrL,aAAe9kG,EAAQ,EAC3C+kG,EAAazrL,EAAK0rL,YAAcjlG,EACpC,OAAO6kG,GAAeC,GAAgBE,CAAU,EAG9CE,EAAgBtoJ,IAClB,IAnBgBuoJ,EAASC,EAAUC,EAC/B7tL,GAkBA,KACF0oF,EAAI,MACJD,EAAK,IACLD,GACEpjD,EACA0oJ,EAAUhuJ,SAAS4oD,EAAM,IACzBqlG,EAAWjuJ,SAAS2oD,EAAO,IAC3BulG,EAASluJ,SAAS0oD,EAAK,IAEvBv1D,EAASx4B,EAAcA,EAAc,CAAC,GA5B1BkzL,EA4BwCG,EA5B/BF,EA4BwCG,EA5B9BF,EA4BwCG,EA3BvEhuL,EAAMD,KAAKC,MAGR,CACLiuL,OAHQ,IAAIluL,KAAK4tL,EAAU,IAAKC,EAAW,EAAGC,IAG/B7tL,EACfkuL,SAHU,IAAInuL,KAAK4tL,EAAU,GAAIC,EAAW,EAAGC,GAG7B7tL,KAsBiE,CAAC,EAAG,CACvFmuL,aAAcf,EAAYU,EAASC,EAAUC,KAK/C,OAFA/6J,EAAOnM,OAAS1kB,OAAO47B,KAAK/K,GAAQ56B,QAAOqH,GAAOuzB,EAAOvzB,KACzDuzB,EAAOlM,SAAWkM,EAAOnM,OAAO5uB,OACzB+6B,CAAM,ECnCXs2H,EAAclnI,IAChB,IAA4B+lE,EAAalhE,EAWzC,OAAO,IAAMpN,cAAc4yC,EAAA,EAAoB,CAC7CzlC,YAAa5E,EAAM4E,YACnBC,eAb0BkhE,EAaU/lE,EAAM+lE,YAbHlhE,EAagB7E,EAAM6E,cAZtD,CAAC5qB,EAAG8sB,EAAOwvB,EAAUtb,KAC1B,IAAI,SACF2hG,EAAQ,cACRd,GACE,YAA4B/0G,EAAOg/D,GACvC9qD,EAAK3V,WAAa+lK,EAAcvvD,GAChCj3G,EAAc5qB,EAAG2iI,EAAUrmF,EAAUtb,EAAK,GAO5CvU,wBAAyB1G,EAAM0G,wBAC/BJ,aAActG,EAAMsG,aACpBnsB,MAAO6lB,EAAM7lB,MACb2qB,aAAc9E,EAAM8E,aACpB7uB,GAAI+pB,EAAM/pB,GACVsd,MAAOyM,EAAMzM,MACbs3K,YAAa7qK,EAAMonI,WACnBriI,SAAU/E,EAAM+E,SAChBluB,KAAM,MACNkwB,MAAO/G,EAAM+G,OACb,C","file":"main.342016e2272512ba1000.js","sourcesContent":["/**\n * @TO_DO @TECH_DEBT\n *\n * Once xoon is no longer taking traffic and we do not\n * fallback for an flows we can remove this function\n * and the line where it is called in `./src/index.jsx`\n */\n\n// Internal modules\nimport { logger } from './logger';\nimport { getParams } from './utils/params';\nimport { features } from './features';\n\nconst INELIGIBLE_FLOWS = [\n {\n name: 'in_context_shipping_callback',\n test: () => features.isActive('isShippingCallbackV1Ineligible'),\n },\n {\n name: 'popup_bridge_and_native_xo',\n test: () => Boolean(getParams().native_xo || getParams().redirect_uri),\n },\n];\n\nexport const isLiteEligible = (): boolean => {\n const eligibilityViolation = INELIGIBLE_FLOWS.find(({ test }) => test());\n\n if (!eligibilityViolation) {\n logger.info('client_eligibility_check_success');\n\n return true;\n }\n\n const { name } = eligibilityViolation;\n\n logger.fpti(`client_eligibility_check_failure_${name}`, {\n error_code: name,\n error_description: 'lite_ineligible',\n state_name: 'BILLING',\n transition_name: 'prepare_redirect',\n });\n\n return false;\n};\n","import { getGlobals } from './globals';\nimport { APP_NAME, FRAUD_NET_FIELD_LIST } from './constants';\nimport { getClientMetadataID } from './utils';\n\ntype FraudNetField = (typeof FRAUD_NET_FIELD_LIST)[number];\nexport type TFraudNetPrefill = FraudNetField['id'];\n\nconst filterPrefilledFields = (\n prefilledFields: TFraudNetPrefill[] = [],\n): FraudNetField[] => {\n return FRAUD_NET_FIELD_LIST.filter(({ id }) => !prefilledFields.includes(id));\n};\n\nexport interface IFraudNetConfig {\n endpoint: string;\n sourceId: string;\n typingSpeed: {\n delegate: boolean;\n fields: FraudNetField[];\n type: string;\n };\n userToken: string;\n}\n\nexport const getFraudNetConfig = (\n prefilledFields: TFraudNetPrefill[],\n): IFraudNetConfig => {\n const { uri } = getGlobals();\n\n return {\n endpoint: uri.fraudNetEndpoint || '',\n\n sourceId: APP_NAME,\n\n typingSpeed: {\n /**\n * Allows for FraudNet to track dynamically rendered fields by delegating\n * the event listener to the body instead of attaching it to individual\n * fields.\n */\n delegate: true,\n\n /**\n * List of required fields that can be rendered. This list should include\n * all fields that are required for only certain flows, e.g. fields that\n * are only rendered in certain situations. We filter out pre-filled\n * fields so that FraudNet doesn't mistakenly tag them as suspicious due\n * to being programmatically filled.\n */\n fields: filterPrefilledFields(prefilledFields),\n\n // Should be the same as `sourceId`\n type: APP_NAME,\n },\n\n userToken: getClientMetadataID(),\n };\n};\n","/* eslint-disable */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\n ),\n);\n\nfunction register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA',\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.',\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.',\n );\n });\n}\n\nfunction unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n\nexport { register, unregister };\n","import { createTypedHooks } from 'easy-peasy';\n\nimport type { storeModel } from './models';\n\nexport const { useStoreActions, useStoreState, useStoreDispatch, useStore } =\n createTypedHooks();\n","import {\n getDeviceAndNetworkInfo,\n getPageLoadTime,\n getTimeToInteract,\n} from './cplHelperFunctions';\nimport type { GenericObjectType } from '@/types';\nimport type { LoggerType } from '@/lib/logger/logger';\n\nexport default function logPerformance(\n this: LoggerType,\n customParams: GenericObjectType,\n): void {\n try {\n if (!window?.PAYPAL?.analytics?.logPerformance) {\n return;\n }\n const deviceAndNetworkInfo = getDeviceAndNetworkInfo();\n const { timeToInteract, ...restParams } = customParams;\n const data = {\n ...restParams,\n tt: getPageLoadTime(), // page load time\n view: {\n bh: deviceAndNetworkInfo?.screen_height, // browserHeight\n bw: deviceAndNetworkInfo?.screen_width, // browserWidth\n cd: window.screen.colorDepth, // screenColorDepth\n dh: window.screen.height * (window.devicePixelRatio || 1), // deviceHeight\n dw: window.screen.width * (window.devicePixelRatio || 1), // deviceWidth\n et: deviceAndNetworkInfo?.network_effectiveType, // network connection type\n pt: document.title, // page title\n ru: document.referrer, // referrer\n sh: window.screen.height, // screenHeight\n sw: window.screen.width, // screenWidth\n t11: timeToInteract || getTimeToInteract(), // time to interact\n },\n };\n\n window.PAYPAL.analytics.logPerformance(data);\n } catch (e) {\n this.error('ERROR_IN_POPULATING_LOG_PERFORMANCE_DATA', {\n error: e,\n });\n }\n}\n","// Internal\nimport { getCheckoutSessionFlags } from '../globals';\n\ntype IntegrationType = 'EC:LEGACY' | 'EC:SPB' | 'WPS';\n\nconst getIntegrationType = (): IntegrationType => {\n const { isWPS } = getCheckoutSessionFlags();\n // `xprops` only exist on the SPB integration\n const isSPB = window.hasOwnProperty('xprops');\n\n if (isWPS) {\n return 'WPS';\n }\n if (isSPB) {\n return 'EC:SPB';\n }\n // `EC:LEGACY` means any EC flow that's not EC SPB.\n return 'EC:LEGACY';\n};\n\nexport { getIntegrationType };\n","/* eslint-disable sort-keys */\n// keys are grouped in this file by meaning.\n\n// External libraries\n// @ts-expect-error\nimport * as beaver from '@krakenjs/beaver-logger';\n// @ts-expect-error\nimport { isFunction } from '@checkout/react-components';\n\n// Internal modules\nimport { X_APP_NAME } from '@/lib/constants';\nimport { PAGE_LOAD_PAYLOAD } from './fptiPayloads';\nimport { getParams as getUrlQueryParams } from '@/lib/utils/params';\nimport { getGlobals, getLocale, getToken } from '../globals';\nimport { logFPTI } from '@/lib/logger/fpti';\nimport { getReleaseMetaData } from '../globals';\nimport logPerformance from './cpl';\nimport { LOG_PREFIX } from '../constants';\nimport { setupCiLogger } from '@/lib/customerInteractions/setupCiLogger';\nimport { getIntegrationType } from './loggerUtils';\n\nimport type { GenericObjectType } from '@/types';\n\nconst {\n uri: { loggerEndpoint },\n device,\n initialGqlData,\n} = getGlobals();\n\n/*\n * Instantiate new instance of beaver-logger\n */\nexport const loggerInstance = beaver.Logger({\n url: loggerEndpoint, // URL to flush(send) the logs to\n initial_state_name: 'INIT_WEASLEY', // State name to post logs under\n autoLog: ['error', 'warn'], // Log levels which trigger an auto-flush to the server\n silent: process.env.NODE_ENV !== 'development', // Supress `console.log`s when `true`\n\n debounceInterval: 10, // Interval at which to debounce $beaver.flush calls\n flushInterval: 20000, // Interval at which to automatically flush logs to the server\n heartbeat: false, // Enable or disable heartbeats, which run on an interval\n heartbeatInterval: 5000, // Heartbeat log interval\n heartbeatMaxThreshold: 50, // Maximum number of sequential heartbeat logs\n heartbeatTooBusy: false, // Monitors for event loop delays and triggers a toobusy event\n heartbeatTooBusyThreshold: 10000, // Event loop delay which triggers a too busy event\n\n logPerformance: false, // Log performance stats from the browser automatically?\n logUnload: true, // Log window.onunload and window.beforeUnload events?\n logUnloadSync: true, // Log unload synchronously, to guarantee the log gets through?\n sizeLimit: 100, // Limit on number of logs before auto-flush happens\n});\n\nconst { buttonSessionID, native_xo: nativeXo } = getUrlQueryParams();\n\n// amplitude props\nif (window?.xprops?.amplitude || nativeXo) {\n const user_id = window?.xprops?.buttonSessionID || buttonSessionID;\n\n loggerInstance.addMetaBuilder(() => ({ amplitude: true }));\n loggerInstance.addTrackingBuilder(() => ({ user_id: user_id }));\n loggerInstance.addPayloadBuilder(() => ({ user_id: user_id }));\n}\n\n// add app-name header to each log event\nloggerInstance.addHeaderBuilder(() => ({ 'x-app-name': X_APP_NAME }));\n\n// add EC token to the payload for each log event\n// NOTE: builder payload overrides user defined payloads in logger.* methods\nloggerInstance.addPayloadBuilder(() => ({ token: getToken() })); // (for logger.__buffer__.events, NOT __buffer__.tracking (logger.track()) )\n\nconst { isBasl } = getGlobals();\n\n/**\n * @function flushThen\n * @param {func} fn\n * @description Flushes logs and then executes a callback. This\n * is primarily used when redirecting to another page. Before redirecting\n * we flush the logs then we execute the redirect function.\n */\nconst flushThen = (fn: () => void): unknown => {\n if (!isFunction(fn)) {\n throw new TypeError(\n `expected argument to be a function but got ${typeof fn}`,\n );\n }\n\n return loggerInstance.immediateFlush().then(fn).catch(fn);\n};\n\nconst createCustomLogger = (logMethod: string) => {\n return (logName: string, payload: GenericObjectType = {}) => {\n const { locale, country } = getLocale();\n const key = LOG_PREFIX.test(logName) ? logName : `weasley_${logName}`;\n\n loggerInstance[logMethod](key, {\n // Common payload\n clientCountry: country,\n clientLocale: locale,\n clientTimestamp: Date.now(),\n ...payload,\n });\n };\n};\n\ntype MetricDataPayloadType = {\n dimensions: Record;\n};\n\n/**\n * @function metricLogger\n * @param {string} metricEventName\n * @param {object} payload: {dimensions:{}}\n * @description Adds data to metric[] array in /logger beaver-logger ajax array.\n * Then sends data to loggernodeweb and eventually signalFfx.\n */\nconst logMetric = (\n metricEventName: string, // ends up under the `event` dimension\n payload: MetricDataPayloadType = {} as MetricDataPayloadType,\n): undefined => {\n const { deviceType } = device;\n const { date } = getReleaseMetaData();\n const region = initialGqlData?.localeMetadata?.businessRegions?.[0] ?? ''; // different from geoRegion (see globals)\n\n if (!loggerInstance.metric) {\n return; // noop if we don't have a version of beaver-logger loaded that supports `.metric()`\n }\n\n // in DEV/TEST mode only we throw when more than 4 dimensions are passed\n // (helps limit cardinality problems with sfx.)\n if (\n process.env.NODE_ENV === 'development' ||\n process.env.NODE_ENV === 'test'\n ) {\n if (Object.keys(payload?.dimensions ?? {}).length > 4) {\n throw new Error('logger.metric() has too many dimensions (>4). ');\n }\n }\n\n loggerInstance.metric(\n Object.assign(\n { metricEventName },\n {\n // first param is ignored on loggernodeweb (beaver-logger-paypal)\n // TODO eventually we can allow overriding these values in payload param\n clientTimestamp: Date.now(),\n metricEventName: metricEventName, // this will be assigned to the `event` dimension in signalFx\n metricNamespace: 'pp.xo.ui.custom', // beaver-logger-paypal handles converting this to a signalFx metricName\n metricValue: 1,\n },\n payload,\n {\n // ! We want to be very careful adding more dimensions here and want to\n // limit the amount of values as this can cause cardinality problems\n // for sfx and bring down sfx.\n dimensions: {\n clientApp: 'weasley',\n region, // using region as country / locale had too much variance and would cause cardinality issues\n deviceType, // DESKTOP|TABLET|MOBILE\n integrationType: getIntegrationType(),\n // booleans\n isBasl,\n pageRefresh:\n window?.performance?.navigation?.type ===\n window?.performance?.navigation?.TYPE_RELOAD,\n releaseDate: date, // 03/17\n ...payload.dimensions, // TODO: limit to 4 user added dimensions (maybe fewer?)\n },\n },\n ),\n );\n};\n\ntype configureOpts = {\n loggerEndpoint: string;\n token: string;\n};\n\nexport interface LoggerType {\n /**\n * It adds metadata to (events/tracking/metrics) when the logs are flushed\n */\n addMetadata: (metadata: GenericObjectType) => void;\n cpl: {\n logPerformance(customParams: GenericObjectType): void;\n };\n\n error: ReturnType;\n info: ReturnType;\n warn: ReturnType;\n\n flush(): Promise;\n flushThen: typeof flushThen;\n\n metric: typeof logMetric;\n atomicMetric: (payload?: any) => void;\n track: typeof loggerInstance.track;\n fpti: typeof logFPTI;\n fptiTrackPageLoad: FPTITrackPageLoadType;\n\n // mainly provided for testing\n configure(opts: configureOpts): void; // returns nothing\n\n __buffer__: {\n events: GenericObjectType[];\n tracking: GenericObjectType[];\n metrics: GenericObjectType[];\n };\n}\n\nexport const logger: LoggerType = {\n addMetadata: (metadata): void => {\n loggerInstance.addMetaBuilder(() => metadata);\n },\n cpl: {\n logPerformance: function (...args) {\n logPerformance.apply(logger, args);\n },\n },\n\n error: createCustomLogger('error'),\n info: createCustomLogger('info'),\n warn: createCustomLogger('warn'),\n\n // FIXME: Can we combine these? Simplify the implementation?\n flush: loggerInstance.immediateFlush,\n flushThen,\n\n atomicMetric: payload => {\n // if we have a version of logger which does not support metric then do nothing\n if (!loggerInstance?.metric) {\n return;\n }\n loggerInstance.metric(payload);\n },\n metric: logMetric,\n track: loggerInstance.track,\n fpti: function (...args) {\n logFPTI.apply(this, args);\n },\n fptiTrackPageLoad: {} as FPTITrackPageLoadType, // replaced down below\n\n // mainly provided for testing\n configure: (opts: configureOpts) => {\n const { loggerEndpoint, token } = opts;\n\n loggerInstance.configure({ url: loggerEndpoint }); // configure logging endpoint\n loggerInstance.addPayloadBuilder(() => {\n // update token for all the payloads\n return {\n token: token,\n };\n });\n },\n\n // exposed for testing only\n __buffer__: loggerInstance.__buffer__,\n};\n\n// Setup Client Interactions logger\nsetupCiLogger(loggerInstance, logger);\n\ninterface FPTITrackPageLoadType {\n handleItemLoaded: (name: string) => void;\n items: Set;\n registerItem: (name: string) => void;\n}\n\n/**\n * Register lazy loaded inputs so that we can track when they load and\n * fire off an FPTI log for the page load event once everything is loaded.\n * Allows us to track the loading status for certain items.\n */\nlogger.fptiTrackPageLoad = {\n handleItemLoaded: function (name) {\n this.items.delete(name);\n\n // once the last item was deleted, submit the page_loaded event\n if (!this.items.size) {\n const payload = PAGE_LOAD_PAYLOAD(true);\n\n logFPTI.call(logger, 'weasley_page_loaded', payload);\n }\n },\n items: new Set(),\n registerItem: function (name) {\n this.items.add(name);\n },\n};\n","/**\n * Setup the PPClientInteractions logger to use app beaver-logger instance\n */\n\n// @ts-expect-error - beaver is not typed\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function setupCiLogger(loggerInstance, weasleyLogger): void {\n // Change over from window.logPayload to beaver-logger\n if (!window.PPClientInteractions?.interaction?.setLogger) {\n if (process.env.NODE_ENV !== 'test') {\n weasleyLogger.error('FAILED_TO_LOAD_CLIENT_INTERACTION_LIBRARY');\n }\n } else {\n window.PPClientInteractions.interaction.setLogger(events => {\n // In local dev log to the console for easy debugging.\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.debug('Interactions Event: ', events);\n }\n\n if (!events?.length) {\n return;\n }\n\n events.forEach(event => {\n const interaction = event?.interaction || 'missing_interaction_name';\n const dimensions = {\n clientApp: event?.clientApp,\n errorReason: event?.errorReason,\n flow: event?.flow,\n interaction,\n page: event?.page,\n releaseDate: event?.releaseDate,\n status: event?.status,\n };\n\n // If an FCI occurs push to Cal as well for debugging\n if (dimensions.status === 'FCI') {\n weasleyLogger.error(`FCI_${interaction.toUpperCase()}`, dimensions);\n }\n\n loggerInstance.metric({\n dimensions,\n metricEventName: 'n/a',\n metricNamespace: event?.metricName,\n });\n });\n });\n }\n}\n","// ! Can not convert to TS right now due to a issue w/ c3 tsconfig\n// c3 does not transpile the TS code right now\nimport { getCdnHostName } from '@paypalcorp/c3-shared-globals';\n\nconst FLAGS_SPRITE_URL = `https://${getCdnHostName()}/digitalassets/c/website/marketing/global/shared/global/country-worldwide/sprite_countries_flag5.png`; // eslint-disable-line max-len\n\nexport { FLAGS_SPRITE_URL };\n","import { css } from '@emotion/core';\n\nimport {\n DISABLED_BACKGROUND_COLOR,\n DISABLED_BORDER_COLOR,\n LINK_COLOR,\n} from './styleVariables';\n\nexport const passwordStyleOverrides = css`\n &:disabled {\n background: ${DISABLED_BACKGROUND_COLOR};\n border-color: ${DISABLED_BORDER_COLOR};\n }\n`;\n\nexport const secondaryLink = css`\n color: ${LINK_COLOR};\n cursor: pointer;\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n text-align: center;\n`;\n","import { css } from '@emotion/core';\nimport {\n FONT_WEIGHT_BOLD_PP,\n HIGH_CONTRAST_TEXT_COLOR,\n PAYPAL_OPEN_FONT,\n PRIMARY_COLOR_V2,\n} from './styleVariables';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nconst resetStyles = css`\n /* CSS reset */\n *,\n *::after,\n *::before {\n box-sizing: border-box;\n }\n\n html,\n body,\n div,\n span,\n applet,\n object,\n iframe,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n p,\n blockquote,\n pre,\n a,\n abbr,\n acronym,\n address,\n big,\n cite,\n code,\n del,\n dfn,\n em,\n img,\n ins,\n kbd,\n q,\n s,\n samp,\n small,\n strike,\n strong,\n sub,\n sup,\n tt,\n var,\n b,\n u,\n i,\n center,\n dl,\n dt,\n dd,\n ol,\n ul,\n li,\n fieldset,\n form,\n label,\n legend,\n table,\n caption,\n tbody,\n tfoot,\n thead,\n tr,\n th,\n td,\n article,\n aside,\n canvas,\n details,\n embed,\n figure,\n figcaption,\n footer,\n header,\n hgroup,\n menu,\n nav,\n output,\n ruby,\n section,\n summary,\n time,\n mark,\n audio,\n video {\n border: 0;\n font: inherit;\n font-size: 100%;\n margin: 0;\n padding: 0;\n vertical-align: baseline;\n }\n\n article,\n aside,\n details,\n figcaption,\n figure,\n footer,\n header,\n hgroup,\n menu,\n nav,\n section {\n display: block;\n }\n\n a {\n text-decoration: none;\n }\n\n body {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n line-height: 1;\n }\n\n ol,\n ul {\n list-style: none;\n }\n\n blockquote,\n q {\n quotes: none;\n }\n\n blockquote::before,\n blockquote::after,\n q::before,\n q::after {\n content: '';\n }\n\n table {\n border-collapse: collapse;\n border-spacing: 0;\n }\n\n input,\n input[type='email'],\n input[type='button'],\n input[type='submit'],\n input[type='text'],\n input[type='tel'],\n button {\n appearance: none;\n }\n`;\n\nconst globalStyles = css`\n /* PayPal global rules */\n body {\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-family: ${PAYPAL_OPEN_FONT};\n margin: 0;\n\n .cart-header-sheet > div {\n /* stylelint-disable-next-line declaration-no-important */\n font-family: ${PAYPAL_OPEN_FONT} !important;\n /* stylelint-disable-next-line declaration-no-important */\n font-size: 18px !important;\n\n font-weight: 400;\n }\n\n .cart-header-dialog > div {\n /* stylelint-disable-next-line declaration-no-important */\n font-size: 20px !important;\n }\n }\n\n a {\n /* stylelint-disable-line no-duplicate-selectors */\n color: ${PRIMARY_COLOR_V2};\n }\n\n a,\n button {\n font-weight: ${FONT_WEIGHT_BOLD_PP};\n }\n\n input {\n border-style: none;\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n min-width: 0;\n\n &:focus {\n border: 1px solid ${PRIMARY_COLOR_V2};\n outline: none;\n }\n }\n\n select {\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n }\n\n /* stylelint-disable */\n\n /*\n * @TODO - DTOPPOR-656 fix CSP errors and remove global toast style overrides\n */\n .ppvx_toast-container___1-7-23-beta-0 {\n top: 1.5rem !important;\n z-index: 99999 !important;\n }\n\n /*\n * @TODO - DTOPPOR-656 fix CSP errors and remove global toast style overrides\n */\n .ppvx_toast___1-7-23-beta-0 {\n align-items: center !important;\n height: 4.125rem !important;\n max-width: 50rem !important;\n width: 35rem !important;\n\n @media (max-width: 48rem) {\n width: 93% !important;\n }\n }\n\n /*\n * Override caret placement for the Dialing Code Select Box.\n */\n .dialingCodeSelect::before {\n right: 10px !important;\n }\n /* stylelint-enable */\n`;\n\nexport { globalStyles, resetStyles };\n","// Key is country code\nconst FLAG_SPRITE_POSITION_MAP: { [key: string]: number } = {\n AD: -6336,\n AE: -6302,\n AG: -6266,\n AI: -6232,\n AL: -6197,\n AM: -6162,\n AN: -6127,\n AO: -6092,\n AR: -6057,\n AT: -6022,\n AU: -5987,\n AW: -5952,\n AZ: -5917,\n BA: -5882,\n BB: -5847,\n BE: -5811,\n BF: -5776,\n BG: -5742,\n BH: -5707,\n BI: -5671,\n BJ: -5637,\n BM: -5602,\n BN: -5567,\n BO: -5532,\n BR: -5497,\n BS: -5462,\n BT: -5427,\n BW: -5392,\n BY: -7002,\n BZ: -5357,\n C2: -5147,\n CA: -5322,\n CD: -5287,\n CG: -5251,\n CH: -947,\n CI: -7142,\n CK: -5217,\n CL: -5182,\n CM: -7177,\n CO: -5112,\n CR: -5077,\n CV: -5042,\n CY: -5007,\n CZ: -4972,\n DE: -4937,\n DJ: -4902,\n DK: -4867,\n DM: -4832,\n DO: -4797,\n DZ: -4762,\n EC: -4727,\n EE: -4692,\n EG: -72,\n ER: -4658,\n ES: -4621,\n ET: -4587,\n FI: -4552,\n FJ: -4517,\n FK: -6232,\n FM: -4447,\n FO: -4412,\n FR: -4377,\n GA: -4342,\n GB: -4307,\n GD: -4272,\n GE: -6652,\n GF: -4377,\n GI: -4202,\n GL: -4167,\n GM: -4132,\n GN: -3992,\n GP: -4377,\n GR: -4062,\n GT: -4027,\n GW: -3992,\n GY: -3957,\n HK: -3922,\n HN: -3887,\n HR: -3852,\n HU: -3817,\n ID: -3782,\n IE: -3747,\n IL: -3712,\n IN: -3677,\n IS: -3642,\n IT: -3607,\n JM: -3572,\n JO: -3537,\n JP: -3502,\n KE: -3467,\n KG: -3432,\n KH: -3397,\n KI: -3362,\n KM: -3327,\n KN: -3292,\n KR: -3257,\n KW: -3222,\n KY: -4482,\n KZ: -3152,\n LA: -3117,\n LC: -3082,\n LI: -3047,\n LK: -3012,\n LS: -2977,\n LT: -2942,\n LU: -2907,\n LV: -2872,\n MA: -2837,\n MC: -7037,\n MD: -6932,\n ME: -6862,\n MG: -2802,\n MH: -2767,\n MK: -6897,\n ML: -2732,\n MN: -6372,\n MQ: -4377,\n MR: -2627,\n MS: -2592,\n MT: -2557,\n MU: -2522,\n MV: -2487,\n MW: -2452,\n MX: -2417,\n MY: -2382,\n MZ: -2347,\n NA: -2312,\n NC: -7317,\n NE: -2242,\n NF: -2207,\n NG: -7072,\n NI: -2172,\n NL: -2137,\n NO: -2102,\n NP: -2067,\n NR: -2032,\n NU: -1997,\n NZ: -1962,\n OM: -1927,\n PA: -1892,\n PE: -1857,\n PF: -1822,\n PG: -1787,\n PH: -1752,\n PL: -1717,\n PM: -6827,\n PN: -6232,\n PT: -1682,\n PW: -1647,\n PY: -7247,\n QA: -5707,\n RE: -4377,\n RO: -1542,\n RS: -6721,\n RU: -1506,\n RW: -6442,\n SA: -1437,\n SB: -1402,\n SC: -1367,\n SE: -1332,\n SG: -1297,\n SH: -912,\n SI: -1262,\n SJ: -2102,\n SK: -1227,\n SL: -1192,\n SM: -1157,\n SN: -1122,\n SO: -1087,\n SR: -1052,\n ST: -1017,\n SV: -982,\n SZ: -6512,\n TC: -912,\n TD: -1542,\n TG: -842,\n TH: -807,\n TJ: -772,\n TM: -737,\n TN: -702,\n TO: -667,\n TR: -632,\n TT: -597,\n TV: -562,\n TW: -527,\n TZ: -492,\n UA: -457,\n UG: -422,\n US: -386,\n UY: -352,\n VA: -317,\n VC: -281,\n VE: -247,\n VG: -212,\n VN: -177,\n VU: -142,\n WF: -6792,\n WS: -107,\n YE: -72,\n YT: -4377,\n ZA: -37,\n ZM: -2,\n ZW: -7212,\n};\n\nexport { FLAG_SPRITE_POSITION_MAP };\n","import type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\n\n/**\n * Since IE and Firefox don't support `word-break: break-word;`\n * we can use that alone. This function will return styling that will work\n * in all browsers. `word-wrap` is the legacy version of `overflow-wrap`, which\n * is required for IE 11, Firefox supports `overflow-wrap`.\n */\nexport const getWordBreak = (offset = '0px'): SerializedStyles => css`\n overflow-wrap: break-word;\n width: calc(100% - ${offset});\n word-break: break-word;\n word-wrap: break-word;\n`;\n","/* eslint sort-keys: 0 */\nimport {\n CONTROL_BORDER_HIGH_CONTRAST_COLOR,\n CONTROL_COLOR_BLUE_300,\n CONTROL_COLOR_BLUE_600,\n CONTROL_COLOR_BLUE_700,\n CONTROL_COLOR_BLUE_800,\n CONTROL_COLOR_GREY_400,\n CONTROL_COLOR_RED_500,\n CONTROL_FORM_TEXT_COLOR,\n CONTROL_PRIMARY_COLOR,\n CONTROL_PRIMARY_TEXT_COLOR,\n CONTROL_SECONDARY_COLOR,\n CONTROL_SUPPORTING_TEXT_COLOR,\n CONTROL_TERMS_COLOR,\n PAYPAL_HELVETICA_FONT,\n PP_ERROR_OUTLINE_COLOR,\n SOLD_OUT_TAG_COLOR,\n WHITE_COLOR,\n} from '../styleVariables';\n\nexport const controlTheme: AppTheme.WeasleyTheme = {\n button: {\n closeButton: {\n borderRadius: '50%',\n color: CONTROL_PRIMARY_TEXT_COLOR,\n height: '35px',\n padding: 'unset',\n width: '35px',\n hover: {\n color: 'transparent',\n background: 'transparent',\n },\n focus: {\n background: 'transparent',\n border: `1px solid ${CONTROL_PRIMARY_COLOR}`,\n boxShadow: `0 0 0 2px ${CONTROL_PRIMARY_COLOR}, 0 0 0 6px ${CONTROL_COLOR_BLUE_300}`,\n borderRadius: '50%',\n },\n },\n active: {\n background: CONTROL_COLOR_BLUE_600,\n border: `1px solid ${CONTROL_COLOR_BLUE_600}`,\n },\n default: {\n background: CONTROL_PRIMARY_COLOR,\n border: `1px solid ${CONTROL_PRIMARY_COLOR}`,\n color: WHITE_COLOR,\n font_size: '15px',\n text_decoration: 'unset',\n weight: 500,\n },\n disabled: {\n color: CONTROL_COLOR_GREY_400,\n },\n focus: {\n background: CONTROL_COLOR_BLUE_700,\n border: `1px solid ${CONTROL_COLOR_BLUE_700}`,\n box_shadow: 'none',\n text_decoration: 'underline',\n },\n hover: {\n background: CONTROL_COLOR_BLUE_700,\n border: `1px solid ${CONTROL_SECONDARY_COLOR}`,\n text_decoration: 'underline',\n },\n variant: {\n outlined: {\n active: {\n background: 'transparent',\n border: CONTROL_COLOR_BLUE_800,\n color: CONTROL_COLOR_BLUE_800,\n },\n default: {\n background: 'transparent',\n border: `2px solid ${CONTROL_PRIMARY_COLOR}`,\n color: CONTROL_PRIMARY_COLOR,\n },\n focus: {\n background: 'transparent',\n border: `2px solid ${CONTROL_COLOR_BLUE_600}`,\n box_shadow: `0 0 0 4px ${CONTROL_COLOR_BLUE_300}`,\n color: CONTROL_COLOR_BLUE_600,\n text_decoration: 'underline',\n },\n hover: {\n background: 'transparent',\n border: `2px solid ${CONTROL_COLOR_BLUE_800}`,\n color: CONTROL_COLOR_BLUE_800,\n text_decoration: 'underline',\n },\n },\n text: {\n default: {\n background: 'transparent',\n border: 'none',\n color: CONTROL_PRIMARY_COLOR,\n fontSize: '15px',\n },\n focus: {\n background: 'transparent',\n border: `2px solid ${CONTROL_COLOR_BLUE_600}`,\n border_radius: '4px',\n box_shadow: `0 0 0 4px ${CONTROL_COLOR_BLUE_300}`,\n color: CONTROL_COLOR_BLUE_600,\n text_decoration: 'underline',\n },\n hover: {\n background: 'transparent',\n border: 'none',\n color: CONTROL_COLOR_BLUE_800,\n text_decoration: 'underline',\n },\n },\n },\n },\n input: {\n default: {\n color: CONTROL_FORM_TEXT_COLOR,\n border: `1px solid ${CONTROL_COLOR_GREY_400}`,\n boxShadow: 'none',\n },\n focus: {\n color: CONTROL_FORM_TEXT_COLOR,\n border: `1px solid ${CONTROL_PRIMARY_COLOR}`,\n boxShadow: `0 0 0 2px ${CONTROL_PRIMARY_COLOR}, 0 0 0 6px ${CONTROL_COLOR_BLUE_300}`,\n },\n error: {\n default: {\n border: `1px solid ${CONTROL_COLOR_RED_500}`,\n boxShadow: 'none',\n },\n focus: {\n border: `2px solid ${CONTROL_COLOR_RED_500}`,\n boxShadow: `${CONTROL_COLOR_RED_500} 0px 0px 0px 1px inset, ${PP_ERROR_OUTLINE_COLOR} 0px 0px 0px 5px`,\n },\n },\n },\n checkbox: {\n container: {\n default: { paddingBottom: '16px' },\n terms: { paddingBottom: 'unset' },\n },\n input: {\n checked: {\n focus: {\n labelBefore: {\n background: CONTROL_PRIMARY_COLOR,\n border: `1px solid ${CONTROL_PRIMARY_COLOR}`,\n borderRadius: '2px',\n boxShadow: 'none',\n },\n },\n noFocus: {\n labelBefore: {\n background: CONTROL_PRIMARY_COLOR,\n border: `1px solid ${CONTROL_PRIMARY_COLOR}`,\n borderRadius: '2px',\n },\n },\n },\n noChecked: {\n focus: {\n labelBefore: {\n border: `1px solid ${CONTROL_PRIMARY_COLOR}`,\n borderRadius: '2px',\n boxShadow: 'none',\n },\n },\n },\n },\n label: {\n after: { top: '7px' },\n before: {\n border: `1px solid ${CONTROL_BORDER_HIGH_CONTRAST_COLOR}`,\n borderRadius: '2px',\n top: '3px',\n },\n default: {\n color: CONTROL_FORM_TEXT_COLOR,\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: '24px',\n },\n terms: {\n color: CONTROL_TERMS_COLOR,\n fontSize: '13px',\n fontWeight: 400,\n lineHeight: '20px',\n },\n },\n },\n link: {\n default: {\n color: CONTROL_PRIMARY_COLOR,\n lineHeight: 'unset',\n },\n hover: { color: CONTROL_PRIMARY_COLOR },\n focus: {\n borderRadius: 'unset',\n boxShadow: 'unset',\n outline: 'revert',\n },\n legalLink: {\n color: CONTROL_TERMS_COLOR,\n fontWeight: 'unset',\n fontSize: 'unset',\n },\n },\n themeType: 'controlTheme',\n loadingSkeleton: {\n height: '48px',\n viewBoxHeight: '48',\n },\n typography: {\n caption: { color: CONTROL_SUPPORTING_TEXT_COLOR },\n caption_light: { color: CONTROL_SUPPORTING_TEXT_COLOR },\n font: { family: PAYPAL_HELVETICA_FONT },\n headingH1: { color: CONTROL_PRIMARY_TEXT_COLOR },\n headingH2: { color: CONTROL_PRIMARY_TEXT_COLOR },\n body: { color: CONTROL_PRIMARY_TEXT_COLOR },\n textHelper: { color: CONTROL_SUPPORTING_TEXT_COLOR },\n fontSize: {\n xLarge: '28px',\n large: '24px',\n medium: '22px',\n regular: '18px',\n small: '14px',\n },\n lineHeight: {\n xLarge: '36px',\n large: '24px',\n medium: '20px',\n },\n weight: {\n xBold: 700,\n bold: 500,\n regular: 400,\n },\n },\n soldoutTag: {\n border: `2px solid ${SOLD_OUT_TAG_COLOR}`,\n borderColor: `transparent transparent ${SOLD_OUT_TAG_COLOR} ${SOLD_OUT_TAG_COLOR}`,\n color: SOLD_OUT_TAG_COLOR,\n },\n wrappers: {\n content: {\n maxWidth: '375px',\n },\n },\n WHITE_COLOR,\n RED_COLOR: CONTROL_COLOR_RED_500,\n};\n","/* eslint sort-keys: 0 */\nimport {\n LIGHT_BLUE_RGBA,\n PAYPAL_OPEN_FONT,\n PP_ACCENT_ONE_COLOR,\n PP_ACTIVE_BG_COLOR,\n PP_BORDER_HIGH_CONTRAST_COLOR,\n PP_ERROR_COLOR,\n PP_ERROR_OUTLINE_COLOR,\n PP_FOCUS_BORDER_COLOR,\n PP_FOCUS_OUTLINE_COLOR,\n PP_LIGHT_GRAY_COLOR,\n PP_LINK_MAIN_COLOR,\n PP_PRIMARY_COLOR,\n PP_SECONDARY_COLOR,\n PP_SELECTED_COLOR,\n PP_SYSTEM_COLOR,\n PP_TERTIARY_COLOR,\n WHITE_COLOR,\n} from '../styleVariables';\n\nexport const ppReactTheme: AppTheme.WeasleyTheme = {\n button: {\n closeButton: {\n borderRadius: '50%',\n color: PP_LIGHT_GRAY_COLOR,\n height: '48px',\n padding: '12px',\n width: '48px',\n hover: {\n color: PP_LIGHT_GRAY_COLOR,\n background: PP_TERTIARY_COLOR,\n },\n focus: {\n background: 'transparent',\n border: `1px solid ${PP_SELECTED_COLOR}`,\n boxShadow: `${PP_SECONDARY_COLOR} 0px 0px 0px 2px inset, ${LIGHT_BLUE_RGBA} 0px 0px 0px 5px`,\n borderRadius: '50%',\n },\n },\n active: {\n background: PP_ACTIVE_BG_COLOR,\n border: `1px solid ${PP_ACTIVE_BG_COLOR}`,\n },\n default: {\n background: PP_PRIMARY_COLOR,\n border: `1px solid ${PP_PRIMARY_COLOR}`,\n color: WHITE_COLOR,\n font_size: '18px',\n text_decoration: 'none',\n weight: 700,\n },\n focus: {\n background: PP_PRIMARY_COLOR,\n border: `3px solid ${PP_FOCUS_BORDER_COLOR}`,\n box_shadow: `${PP_FOCUS_OUTLINE_COLOR} 0px 0px 0px 6px`,\n text_decoration: 'none',\n },\n hover: {\n background: PP_SECONDARY_COLOR,\n border: `1px solid ${PP_SECONDARY_COLOR}`,\n text_decoration: 'unset',\n },\n disabled: {\n color: PP_BORDER_HIGH_CONTRAST_COLOR,\n },\n variant: {\n outlined: {\n active: {\n background: 'transparent',\n border: `2px solid ${PP_ACTIVE_BG_COLOR}`,\n color: PP_ACTIVE_BG_COLOR,\n },\n default: {\n background: 'transparent',\n border: `2px solid ${PP_PRIMARY_COLOR}`,\n color: PP_PRIMARY_COLOR,\n },\n focus: {\n background: 'transparent',\n border: `3px solid ${PP_SECONDARY_COLOR}`,\n box_shadow: `${LIGHT_BLUE_RGBA} 0px 0px 0px 0.375rem`,\n color: PP_PRIMARY_COLOR,\n text_decoration: 'unset',\n },\n hover: {\n background: 'transparent',\n border: `2px solid ${PP_SECONDARY_COLOR}`,\n color: PP_SECONDARY_COLOR,\n text_decoration: 'unset',\n },\n },\n text: {\n default: {\n background: 'transparent',\n border: 'none',\n color: PP_LINK_MAIN_COLOR,\n fontSize: '18px',\n },\n focus: {\n background: 'transparent',\n border: `3px solid ${PP_LINK_MAIN_COLOR}`,\n border_radius: '4px',\n box_shadow: `${LIGHT_BLUE_RGBA} 0px 0px 0px 6px`,\n color: PP_LINK_MAIN_COLOR,\n text_decoration: 'underline',\n },\n hover: {\n background: 'transparent',\n border: 'none',\n color: PP_LINK_MAIN_COLOR,\n text_decoration: 'underline',\n },\n },\n },\n },\n input: {\n default: {\n color: PP_SYSTEM_COLOR,\n border: `1px solid ${PP_BORDER_HIGH_CONTRAST_COLOR}`,\n boxShadow: 'none',\n },\n focus: {\n color: PP_SYSTEM_COLOR,\n border: `1px solid ${PP_SECONDARY_COLOR}`,\n boxShadow: `${PP_SECONDARY_COLOR} 0px 0px 0px 2px inset, ${LIGHT_BLUE_RGBA} 0px 0px 0px 5px`,\n },\n error: {\n default: {\n border: `1px solid ${PP_ERROR_COLOR}`,\n boxShadow: 'none',\n },\n focus: {\n border: `2px solid ${PP_ERROR_COLOR}`,\n boxShadow: `${PP_ERROR_COLOR} 0px 0px 0px 1px inset, ${PP_ERROR_OUTLINE_COLOR} 0px 0px 0px 5px`,\n },\n },\n },\n checkbox: {\n container: {\n default: { paddingBottom: '16px' },\n terms: { paddingBottom: '16px' },\n },\n input: {\n checked: {\n focus: {\n labelBefore: {\n background: PP_SECONDARY_COLOR,\n border: `1px solid ${PP_SECONDARY_COLOR}`,\n borderRadius: '4px',\n boxShadow: `${LIGHT_BLUE_RGBA} 0 0 0 6px`,\n },\n },\n noFocus: {\n labelBefore: {\n background: PP_SECONDARY_COLOR,\n border: `1px solid ${PP_SECONDARY_COLOR}`,\n borderRadius: '4px',\n },\n },\n },\n noChecked: {\n focus: {\n labelBefore: {\n border: `1px solid ${PP_BORDER_HIGH_CONTRAST_COLOR}`,\n borderRadius: '4px',\n boxShadow: `${LIGHT_BLUE_RGBA} 0 0 0 6px`,\n },\n },\n },\n },\n label: {\n after: { top: '7px' },\n before: {\n border: `1px solid ${PP_BORDER_HIGH_CONTRAST_COLOR}`,\n borderRadius: '4px',\n top: '3px',\n },\n default: {\n color: PP_SYSTEM_COLOR,\n fontSize: '18px',\n fontWeight: 400,\n lineHeight: '24px',\n },\n terms: {\n color: PP_LIGHT_GRAY_COLOR,\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '20px',\n },\n },\n },\n link: {\n default: {\n color: PP_LINK_MAIN_COLOR,\n lineHeight: '20px',\n },\n hover: { color: PP_ACCENT_ONE_COLOR },\n focus: {\n borderRadius: '4px',\n boxShadow: `${PP_SECONDARY_COLOR} 0 0 0 0.1875rem, rgb(16 114 235 / 16%) 0 0 0 0.375rem`,\n outline: 'transparent solid 0.1875rem',\n },\n legalLink: {\n color: PP_LIGHT_GRAY_COLOR,\n fontWeight: '400',\n fontSize: '14px',\n },\n },\n themeType: 'ppReactTheme',\n loadingSkeleton: {\n height: '64px',\n viewBoxHeight: '64',\n },\n typography: {\n caption: { color: PP_SYSTEM_COLOR },\n caption_light: { color: PP_LIGHT_GRAY_COLOR },\n font: { family: PAYPAL_OPEN_FONT },\n headingH1: { color: PP_SYSTEM_COLOR },\n headingH2: { color: PP_SYSTEM_COLOR },\n textHelper: { color: PP_LIGHT_GRAY_COLOR },\n body: { color: PP_SYSTEM_COLOR },\n fontSize: {\n xLarge: '28px',\n large: '24px',\n medium: '22px',\n regular: '18px',\n small: '14px',\n },\n lineHeight: {\n xLarge: '36px',\n large: '24px',\n medium: '20px',\n },\n weight: {\n xBold: 700,\n bold: 500,\n regular: 400,\n },\n },\n soldoutTag: {\n border: `2px solid ${PP_ERROR_COLOR}`,\n borderColor: `transparent transparent ${PP_ERROR_COLOR} ${PP_ERROR_COLOR}`,\n color: PP_ERROR_COLOR,\n },\n wrappers: {\n content: {\n maxWidth: '400px',\n },\n },\n WHITE_COLOR,\n RED_COLOR: PP_ERROR_COLOR,\n};\n","import { ppReactTheme } from './ppReactTheme';\nimport { controlTheme } from './controlTheme';\nimport { appStore } from '@/store';\nimport type { PAYPAL_THEME_TYPES } from '@paypalcorp/pp-react-theme-weasley-v7';\nimport { PAYPAL_THEME } from '@paypalcorp/pp-react-theme-weasley-v7';\n\ntype ThemeMap = {\n [key: string]: AppTheme.WeasleyTheme | PAYPAL_THEME_TYPES;\n};\n\n// v6 stands for @paypalcorp/pp-react@6\n// v7 stands for @paypalcorp/pp-react@7\nconst THEME_MAP: ThemeMap = {\n default: controlTheme,\n // M&C - modernize and converge\n ppReactTheme: ppReactTheme,\n ppReactV7: PAYPAL_THEME,\n};\n\n// Passing \"key\" parameter to this function can override the global theme\n// set in UI states\nexport const getTheme = (key?: string): any => {\n const themeName = key || appStore.getState().ui.theme;\n\n // If themeName=controlTheme, then we return default\n return THEME_MAP[themeName] || THEME_MAP.default;\n};\n","import type { ReactNode } from 'react';\nimport React from 'react';\nimport { ThemeProvider } from '@emotion/react';\n\nimport { getTheme } from './utils';\n\n// This component can be used to to simplify imports since it only requires\n// one import instead of an import for the ThemeProvider and the getThem function\nexport const PaypalThemedProvider = ({\n children,\n}: {\n children?: ReactNode;\n}): JSX.Element => (\n {children}\n);\n","/* eslint-disable sort-keys */\n/**\n * Colors\n */\n// Theme colors\nexport const PRIMARY_COLOR = '#0070ba';\nexport const PRIMARY_COLOR_V2 = '#0070E0';\nexport const ERROR_COLOR = '#d20000';\nexport const ERROR_COLOR_V3 = '#C40B0B';\nexport const ERROR_COLOR_V2 = '#FFD2D2';\nexport const SOLD_OUT_TAG_COLOR = '#c72e2e';\nexport const SUCCESS_COLOR = '#00cf92';\nexport const SUCCESS_COLOR_V2 = '#0F7013';\nexport const WARNING_COLOR = '#ff9600';\nexport const WARNING_COLOR_V2 = '#E6E0D9';\nexport const YELLOW_BACKGROUND_COLOR = '#FFE888';\nexport const WHITE_COLOR = '#ffffff';\nexport const BLACK_COLOR = '#222222';\nexport const HIGH_CONTRAST_TEXT_COLOR = '#001435';\n\n// Misc colors\nexport const BORDER_FOCUSED_COLOR = '#009cde';\nexport const BUTTON_FOCUSED_COLOR = '#003087';\nexport const DEFAULT_BORDER_COLOR = '#b7bcbf';\nexport const INPUT_DEFAULT_COLOR = '#000';\nexport const INPUT_PP_REACT_FOCUSED_COLOR = '#1040c1';\nexport const LABEL_COLOR = '#545D68';\nexport const LANG_COUNTRY_DIVIDER_COLOR = '#d3d4d1';\nexport const NON_INPUT_BORDER_COLOR = '#cbd2d6';\nexport const PP_REACT_TOGGLE_HOVER_COLOR = '#5BBBFC';\nexport const TOGGLE_OFF_BORDER_COLOR = '#929496';\n\n// Disabled field colors\nexport const DISABLED_BACKGROUND_COLOR = '#ebecee';\nexport const DISABLED_BORDER_COLOR = '#b7bcbf';\n\n// Page message colors\nexport const ERROR_MESSAGE_BACKGROUND_COLOR = '#fff7f7';\nexport const INFO_MESSAGE_BACKGROUND_COLOR = '#f5f7fa';\nexport const INFO_MESSAGE_BACKGROUND_COLOR_V2 = '#faf8f5';\nexport const INFO_MESSAGE_BACKGROUND_COLOR_V3 = '#edfcf3';\nexport const SUCCESS_MESSAGE_BACKGROUND_COLOR = '#f5fdfb';\nexport const WARNING_MESSAGE_BACKGROUND_COLOR = '#fffbf5';\n\n// Text colors\nexport const TEXT_COLOR = '#6c7378';\nexport const TEXT_COLOR_V2 = '#515354';\nexport const TEXT_BLACK = '#000000'; // Used to replicate older experience\nexport const HEADER_COLOR = '#2c2e2f';\nexport const LINK_COLOR = '#0070ba';\nexport const SUB_HEADING_COLOR = '#687274';\nexport const LIGHT_GRAY_COLOR = '#687173';\nexport const GREYS_BLACK_COLOR = '#0C0C0D';\nexport const ALERT_RESEND_ERROR_TEXT_COLOR = '#9B0021';\nexport const LINK_COLOR_CONTROL = 'rgba(0, 0, 0, 0.7)';\nexport const ADDRESS_NORMALIZED_TEXT_COLOR = '#ff9700';\n\n// Incentives colors\nexport const INCENTIVES_YELLOW_COLOR = '#ffd140';\nexport const INCENTIVES_LILAC_COLOR = '#24247f';\nexport const INCENTIVES_BLUE_COLOR = '#142c8e';\nexport const INCENTIVES_GREEN_COLOR_V1 = '#549265';\nexport const INCENTIVES_GREEN_COLOR_V2 = '#299976';\n\n//RGBA COLORS\nexport const LIGHT_BLUE_RGBA = 'rgba(209, 229, 249, 0.9)';\n\n/************ THEME COLORS ***********/\n// PP 3.0 COLORS\n// BRAND PRIMARY MAIN COLORS\nexport const PP_PRIMARY_COLOR = '#003087';\nexport const PP_SECONDARY_COLOR = '#0070E0';\nexport const PP_TERTIARY_COLOR = '#FAF8F5';\nexport const PP_FEATURED_COLOR = '#FFD140';\n\n// UTILITY COLORS\nexport const PP_UNSELECTED_COLOR = '#E6E0D9';\nexport const PP_SELECTED_COLOR = '#0070E0';\nexport const PP_SELECTED_RANGE_COLOR = '#B9EFFC';\nexport const PP_LINK_MAIN_COLOR = '#0070E0';\nexport const PP_LINK_ALT_COLOR = '#001435';\nexport const PP_FOCUS_BORDER_COLOR = '#097FF5';\nexport const PP_OVERLAY_COLOR = 'rgba(0, 0, 0, 0.55)';\n\n// ACCENT COLORS\nexport const PP_ACCENT_ONE_COLOR = '#003087';\nexport const PP_ACCENT_TWO_COLOR = '#E02D50';\nexport const PP_ACCENT_THREE_COLOR = '#388C00';\nexport const PP_ACCENT_FOUR_COLOR = '#7252CC';\n\n// NOTIFICATIONS COLORS\nexport const PP_ERROR_COLOR = '#C40B0B';\nexport const PP_WARNING_MAIN_COLOR = '#FFBE4A';\nexport const PP_WARNING_ALT_COLOR = '#E85E00';\nexport const PP_SUCCESS_COLOR = '#0F7013';\nexport const PP_SYSTEM_COLOR = '#001435';\nexport const PP_INFO_COLOR = '#E6E0D9';\nexport const PP_SPECIALTY_COLOR = '#7252CC';\n\n// STRUCTURE COLORS\nexport const PP_ACTIVE_BG_COLOR = '#001C64';\nexport const PP_BORDER_HIGH_CONTRAST_COLOR = '#929496';\nexport const PP_LIGHT_GRAY_COLOR = '#545D68';\nexport const PP_DIVIDER_COLOR = '#F1EDE8';\nexport const PP_FOCUS_COLOR = '#0070E0';\nexport const PP_FOCUS_OUTLINE_COLOR = '#D1E5F9';\nexport const PP_SHIMMER_COLOR = '#E6E0D9';\nexport const PP_SHIMMER_INVERSE_COLOR = '#545D68';\nexport const PP_SHEEN_COLOR = '#FFFFFF';\nexport const PP_SHADOW_COLOR = '#000000';\nexport const PP_SCRIM_COLOR = 'rgba(0, 0, 0, 0.4)';\nexport const PP_ERROR_OUTLINE_COLOR = 'rgba(224, 45, 80, 0.16)';\nexport const PP_BORDER_LOW_CONTRAST_COLOR = 'rgba(0, 0, 0, 0.1)';\nexport const PP_BOX_SHADOW_COLOR = 'rgba(0, 0, 0, 0.15)';\n\n// 1.0 COLORS [CONTROL COLORS]\n// BRAND PRIMARY MAIN COLORS\nexport const CONTROL_PRIMARY_COLOR = '#0070BA';\nexport const CONTROL_SECONDARY_COLOR = '#005EA6';\n\n// TEXT COLORS\nexport const CONTROL_PRIMARY_TEXT_COLOR = '#2C2E2F';\nexport const CONTROL_SUPPORTING_TEXT_COLOR = '#687173';\nexport const CONTROL_FORM_TEXT_COLOR = '#000000';\nexport const CONTROL_LINK_TEXT_COLOR = '#0070BA';\nexport const CONTROL_BORDER_HIGH_CONTRAST_COLOR = '#909697';\nexport const CONTROL_TERMS_COLOR = '#6c7378';\n\n// BLUE TONES\nexport const CONTROL_COLOR_BLUE_100 = '#F5FBFE';\nexport const CONTROL_COLOR_BLUE_200 = '#e4f1fb';\nexport const CONTROL_COLOR_BLUE_300 = '#bfdbee';\nexport const CONTROL_COLOR_BLUE_400 = '#50c7f9';\nexport const CONTROL_COLOR_BLUE_500 = '#009cde';\nexport const CONTROL_COLOR_BLUE_600 = '#0070ba';\nexport const CONTROL_COLOR_BLUE_700 = '#005ea6';\nexport const CONTROL_COLOR_BLUE_800 = '#003087';\n\n// GREY TONES\nexport const CONTROL_COLOR_GREY_100 = '#f5f7fa';\nexport const CONTROL_COLOR_GREY_200 = '#eaeced';\nexport const CONTROL_COLOR_GREY_300 = '#cbd2d6';\nexport const CONTROL_COLOR_GREY_400 = '#b7bcbf';\nexport const CONTROL_COLOR_GREY_500 = '#9da3a6';\nexport const CONTROL_COLOR_GREY_600 = '#687173';\nexport const CONTROL_COLOR_GREY_700 = '#2c2e2f';\n\n// GREEN TONES\nexport const CONTROL_COLOR_GREEN_100 = '#f5fdfb';\nexport const CONTROL_COLOR_GREEN_500 = '#00cf92';\nexport const CONTROL_COLOR_GREEN_600 = '#299976';\nexport const CONTROL_COLOR_GREEN_400 = '#018065';\n\n// RED TONES\nexport const CONTROL_COLOR_RED_100 = '#fff7f7';\nexport const CONTROL_COLOR_RED_500 = '#d20000';\n\n// ORANGE TONES\nexport const CONTROL_COLOR_ORANGE_100 = '#fffbf5';\nexport const CONTROL_COLOR_ORANGE_300 = '#ffbd5d';\nexport const CONTROL_COLOR_ORANGE_500 = '#ff9600';\nexport const CONTROL_COLOR_ORANGE_700 = '#d64003';\n\n// PURPLE COLOR\nexport const CONTROL_COLOR_PURPLE_500 = '#640487';\n\n// PINK COLOR\nexport const CONTROL_COLOR_PINK_500 = '#de0063';\n/************ THEME COLORS END ***************/\n\n// Fonts//\nexport const PAYPAL_HELVETICA_FONT = `\n\"Helvetica Neue\",\n\"HelveticaNeue\",\n\"HelveticaNeue-Light\",\n\"Helvetica Neue Light\",\nhelvetica,\narial,\nRoboto,\nsans-serif\n`;\n\nexport const PAYPAL_OPEN_FONT = `\n\"PayPal Open\",\n \"Helvetica Neue\",\n \"HelveticaNeue\",\n \"HelveticaNeue-Light\",\n \"Helvetica Neue Light\",\n helvetica,\n arial,\n Roboto,\n sans-serif`;\n/* ----- BEGIN AB Testing Variables ----- */\n\n// FONT SIZE\nexport const FONT_SIZE_X_LARGE = '28px';\nexport const FONT_SIZE_LARGE = '24px';\nexport const FONT_SIZE_MEDIUM = '22px';\nexport const FONT_SIZE_REGULAR = '18px';\nexport const FONT_SIZE_SMALL = '14px';\n\n// FONT WEIGHT\nexport const FONT_WEIGHT_NORMAL_PP = 400;\nexport const FONT_WEIGHT_BOLD_PP = 700;\n\n// MARGIN\nexport const ADDRESS_MARGIN_BOTTOM_PP = '16px';\n\n//LINK STATES\nexport const LINK_HOVER_BOTTOM_PPREACT = `1px solid ${BUTTON_FOCUSED_COLOR}`;\nexport const LINK_HOVER_OPACITY_PPREACT = '1';\n/* ----- END AB Testing Variables ----- */\n","export type Maybe = T | null;\nexport type InputMaybe = Maybe;\nexport type Exact = { [K in keyof T]: T[K] };\nexport type MakeOptional = Omit & { [SubKey in K]?: Maybe };\nexport type MakeMaybe = Omit & { [SubKey in K]: Maybe };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n /** Date of Birth */\n DobDay: any;\n /** Date of Birth Month */\n DobMonth: any;\n /** Date of Birth Year */\n DobYear: any;\n /** GeoLocation - latitude,longitude without space eg: 37.377089,-121.922733 */\n GeoLocation: any;\n /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSON: any;\n};\n\n/** Enumeration for address normalization status returned from AMS address-verify */\nexport enum AmsAddressNormalizationStatus {\n /** One or more of the input address elements have been corrected to match an address in the reference data */\n Corrected = 'CORRECTED',\n /** Address is invalid, or not found in reference data or country is not supported */\n Invalid = 'INVALID',\n /** Address is verified and can be considered as valid */\n Verified = 'VERIFIED'\n}\n\n/**\n * Address Type Codes sent by AMS. https://ppaas/api/3719176155272334#apiReference\n * B: Building.\n * F: Company or Firm.\n * G: General delivery address.\n * H: High-rise Building.\n * L: Large volume receiver.\n * M: Military address.\n * P: Post Office Box (PO Box).\n * R: Rural route address.\n * S: Street address.\n * U: Unidentified address.\n */\nexport enum AmsAddressTypeCode {\n /** Building */\n B = 'B',\n /** Company or Firm */\n F = 'F',\n /** General delivery address */\n G = 'G',\n /** High-rise Building */\n H = 'H',\n /** Large volume receiver */\n L = 'L',\n /** Military address */\n M = 'M',\n /** Post Office Box (PO Box) */\n P = 'P',\n /** Rural route address */\n R = 'R',\n /** Street address */\n S = 'S',\n /** Unidentified address */\n U = 'U'\n}\n\n/** An enumeration of AMS matching scope value. */\nexport enum AmsMatchingScope {\n /** validate every inputs of address */\n All = 'ALL',\n /** validate the province, locality, postalcode, street, house number */\n DeliverypointLevel = 'DELIVERYPOINT_LEVEL',\n /** validate province, locality, postalcode */\n LocalityLevel = 'LOCALITY_LEVEL',\n /** validate the province, locality, postalcode, street */\n StreetLevel = 'STREET_LEVEL'\n}\n\n/** Metadata returned by AMS response */\nexport type AmsMetadata = {\n __typename?: 'AMSMetadata';\n /** Postal Relevances */\n postalRelevances?: Maybe;\n /** Similarities */\n similarities?: Maybe;\n /** Transformations */\n transformations?: Maybe;\n};\n\n/**\n * An enumeration of AMS Metadata response values.\n * Doc: https://engineering.paypalcorp.com/confluence/pages/viewpage.action?pageId=901150143#LocationSpecfieldsDefinitions-AddressElementMetadata\n * API: https://ppaas/api/3719176155272334#apiReference\n */\nexport enum AmsMetadataValues {\n /** Could mean invalid in following context: metadata.similarities */\n Invalid = 'INVALID',\n /** Could mean irrelevant in following context: metadata.postal_relevances */\n Irrelevant = 'IRRELEVANT',\n /** Could mean a major change in following context: metadata.transformations */\n MajorChange = 'MAJOR_CHANGE',\n /** Could mean mandatory in following context: metadata.postal_relevances */\n Mandatory = 'MANDATORY',\n /** Could mean match in following context: metadata.similarities */\n Match = 'MATCH',\n /** Could mean a minor change in following context: metadata.transformations */\n MinorChange = 'MINOR_CHANGE',\n /** Could mean newly introduced value in following context: metadata.transformations */\n NewlyIntroduced = 'NEWLY_INTRODUCED',\n /** Could mean not a match in following context: metadata.similarities */\n NoMatch = 'NO_MATCH',\n /** Could mean optional in following context: metadata.postal_relevances */\n Optional = 'OPTIONAL',\n /** Could mean partial match in following context: metadata.similarities */\n PartialMatch = 'PARTIAL_MATCH',\n /** Could mean standardized in following context: metadata.transformations */\n Standardized = 'STANDARDIZED',\n /** Could mean unchanged in following context: metadata.transformations */\n Unchanged = 'UNCHANGED',\n /** Could mean undetermined in following context: metadata.similarities, metadata.tranformations, metadata.postal_relevances */\n Undetermined = 'UNDETERMINED',\n /** Could mean updated in following context: metadata.transformations */\n Updated = 'UPDATED'\n}\n\n/** An enumeration of all potential API status calls returned when returned in body */\nexport enum ApiCallStatus {\n /** Failure */\n Failed = 'FAILED',\n /** Success */\n Success = 'SUCCESS'\n}\n\n/** Encapsulates all properties related to an Account Quality address. */\nexport type AccountQualityAddressInput = {\n /** Address's Auto Complete Type (Ex: 'GOOGLE / BROWSER / UNKNOWN / MERCHANT_PREFILLED / ANS / MANUAL'). This type will be set from specific enum depending on how user chose to auto complete the address */\n autoCompleteType?: InputMaybe;\n /** Address's isUserModified (Ex: true/false). This will be set as true incase user selected one of the autoComplete address and still modifies it */\n isUserModified?: InputMaybe;\n /** 2FA verfication id if buyer has initialized phone confirmation during checkout onboarding flow */\n twoFactorPhoneVerificationId?: InputMaybe;\n};\n\n/** An enumeration of user account status. (Ex: 'OPEN / CLOSED / LOCKED / UNKNOWN') */\nexport enum AccountStatus {\n /** User account status is CLOSED */\n Closed = 'CLOSED',\n /** User account status is LOCKED */\n Locked = 'LOCKED',\n /** User account status is OPEN */\n Open = 'OPEN',\n /** User account status is UNKNOWN */\n Unknown = 'UNKNOWN'\n}\n\n/** An enumeration of user account type. (Ex: 'ANONYMOUS / GUEST / PERSONAL / BUSINESS') */\nexport enum AccountType {\n /** User account is an anonymous account */\n Anonymous = 'ANONYMOUS',\n /** User account is a business account */\n Business = 'BUSINESS',\n /** User account is a guest account */\n Guest = 'GUEST',\n /** User account is a personal account */\n Personal = 'PERSONAL'\n}\n\n/** Response wrapper for addBillingAddress. */\nexport type AddBillingAddressResponse = {\n __typename?: 'AddBillingAddressResponse';\n /** Whether or not a billing address has been added. */\n success?: Maybe;\n};\n\n/**\n * Billing address input type for adding a new card\n *\n * See: https://github.paypal.com/Checkout/xo-hermes-fi/blob/master/apis/addCard/inputSchema.js#L81\n */\nexport type AddCardBillingAddressInput = {\n /** Portable address: An address first line street address */\n addressLine1?: InputMaybe;\n /** Portable address: An address second line street address */\n addressLine2?: InputMaybe;\n /** Portable address: An address third line street address */\n addressLine3?: InputMaybe;\n /** Portable address: An address first line admin area */\n adminArea1?: InputMaybe;\n /** Portable address: An address second line admin area */\n adminArea2?: InputMaybe;\n /** Portable address: An address third line admin area */\n adminArea3?: InputMaybe;\n /** Portable address: An address forth line admin area */\n adminArea4?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use adminArea2 instead for portable format. */\n city?: InputMaybe;\n /** A billing address two-letter country code (Ex: 'US') */\n country?: InputMaybe;\n /** Portable address: An address two-letter country code */\n countryCode?: InputMaybe;\n /** Existing billing address Id (Ex: '7100887737437037359') */\n id?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use addressLine1 instead for portable format. */\n line1?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use addressLine2 instead for portable format. */\n line2?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use adminArea1 instead for portable format. */\n postalCode?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use adminArea1 instead for portable format. */\n state?: InputMaybe;\n};\n\n/**\n * Card input type for adding a new card\n *\n * See: https://github.paypal.com/Checkout/xo-hermes-fi/blob/master/apis/addCard/inputSchema.js#L42\n */\nexport type AddCardInput = {\n /** 2 digits code for expiration month for the given card (Ex: '01', '12', '10') */\n expiryMonth?: InputMaybe;\n /** 4 digits code for the expiration year for the given card. (Ex, '2020') */\n expiryYear?: InputMaybe;\n /**\n * Some Debit Cards and Credit Cards have an Issue Number, which is normally `01` unless the card has been replaced at any time.\n *\n * **Maestro cards**, for example, have an issue number.\n */\n issueNumber?: InputMaybe;\n /** 13 to 19 digits number of a card. (Ex: '4111111111111111') */\n number: Scalars['String'];\n /** 3 or 4 digits security code of the given card (Ex: '123' or '3456') depends on the type of credit card */\n securityCode?: InputMaybe;\n /** Starting month for the given card. (Ex: '01', '02', '12') */\n startMonth?: InputMaybe;\n /** Starting year for the given card. (Ex: '2018') */\n startYear?: InputMaybe;\n /** The card issuer as a CardIssuerType (Ex: 'VISA', 'AMEX', 'MASTER', 'DISCOVER') */\n type: CardIssuerType;\n};\n\n/**\n * User input type for adding a new card\n *\n * See: https://github.paypal.com/Checkout/xo-hermes-fi/blob/master/apis/addCard/inputSchema.js#L16\n */\nexport type AddCardUserInput = {\n /** 2 digits code for the actual date for user's birthday (Ex: '21', '05') */\n dobDay?: InputMaybe;\n /** 2 digits code for the actual mnonth for user's birthday (Ex: '01', '10') */\n dobMonth?: InputMaybe;\n /** 4 digits code for the actual year for user's birthady (Ex: '1988', '1963) */\n dobYear?: InputMaybe;\n /** User's first name (Ex: 'John') */\n firstName: Scalars['String'];\n /** User's last name (Ex: 'Greathouse') */\n lastName: Scalars['String'];\n};\n\n/** The Address interface encapsulates all properties related to an address. */\nexport type Address = {\n /** A billing address city (Ex: 'San Jose') */\n city?: Maybe;\n /** A billing address two-letter country code (Ex: 'US') */\n country?: Maybe;\n /**\n * A billing address on a single line\n * (Ex: '2211 North 1st St, Apt 123, San Jose, CA 95131')\n */\n fullAddress?: Maybe;\n /** A billing address first line street address (Ex: '2211 North 1st St') */\n line1?: Maybe;\n /** A billing address second line street address (Ex: 'Apt 123') */\n line2?: Maybe;\n /** A billing address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /** A billing address state/province (Ex: 'CA') */\n state?: Maybe;\n};\n\n/** A container type for address field's allowed values and labels. */\nexport type AddressAllowedValues = {\n __typename?: 'AddressAllowedValues';\n /** The display text for the field EX: a state can have: California, Buenos Aires (Provincia), etc */\n displayText?: Maybe;\n /** The input value for the field EX: a state can have: CA, BUENOS AIRES, etc */\n value?: Maybe;\n};\n\n/**\n * GAAC - Google Address Auto Complete\n * Response of google api call to get address auto suggestion based on line1 of address field\n */\nexport type AddressAutoComplete = {\n __typename?: 'AddressAutoComplete';\n /** Suggestions is an array of object with placeId and addressText */\n suggestions?: Maybe>>;\n};\n\n/**\n * GAAC - Google Address Auto Complete\n * each address format of GAAC should be this format for frontends to process\n */\nexport type AddressAutoCompleteElement = {\n __typename?: 'AddressAutoCompleteElement';\n /** addressText is a plain text full address */\n addressText?: Maybe;\n /**\n * mainText is usually first line of address with which user input is matched\n * 2211 North first street\n */\n mainText?: Maybe;\n /** placeId is a unique identifier of addressText, and it can be used to get normalized address from google */\n placeId?: Maybe;\n /**\n * secondaryText is usually city state country separated by comma\n * San Jose, CA, USA\n */\n secondaryText?: Maybe;\n};\n\n/** An enumeration of types that an address can be completed by an user. (Ex: 'GOOGLE / BROWSER / UNKNOWN / MERCHANT_PREFILLED / ANS / MANUAL') */\nexport enum AddressAutoCompleteType {\n /** An address populated from normalized service */\n Ans = 'ANS',\n /** An address selected by user incase auto-populated from BROWSER */\n Browser = 'BROWSER',\n /** An address populated from Google */\n Google = 'GOOGLE',\n /** An address added manually by user */\n Manual = 'MANUAL',\n /** An address populated from Merchant */\n MerchantPrefilled = 'MERCHANT_PREFILLED',\n /** An address unknown */\n Unknown = 'UNKNOWN'\n}\n\n/**\n * Lists of all address elements that makes an address. The value of the address field elements are mapped from the metadata response from AMS\n * address-verify API. Some of the fields in this type are non-portable additional address details that are sometimes needed for compliance, risk,\n * or other scenarios where fine-grain address information might be needed. Not portable with common third party and open source. Redundant with core fields.\n * For example, address_portable.address_line_1 is usually a combination of address_details.street_number, street_name, and street_type\n */\nexport type AddressElementsMetadata = {\n __typename?: 'AddressElementsMetadata';\n /**\n * The highest level sub-division in a country, which is usually a province, state, or ISO-3166-2 subdivision. Format for postal delivery.\n * For example, `CA` and not `California`. Value, by country, is: UK -> a county. US -> a state. Canada -> a province. Japan -> a prefecture.\n * Switzerland -> a kanton.\n */\n adminArea1?: Maybe;\n /** Smaller than admin area 1. A city, town, or village. */\n adminArea2?: Maybe;\n /**\n * Smaller than admin area 2. A sub-locality, suburb, neighborhood, or district. Value is: Brazil: Suburb, bairro, or neighborhood. India: Sub-locality or district.\n * Street name information is not always available but a sub-locality or district can be a very small area.\n */\n adminArea3?: Maybe;\n /**\n * Smaller than admin area 3. The neighborhood, ward, or district. Value is:The postal sorting code for\n * Guernsey and many French territories, such as French Guiana. The fine-grained administrative levels in China.\n */\n adminArea4?: Maybe;\n /** A named locations that represents the premise. Usually a building name or number or collection of buildings with a common name or number. For example, Craven House */\n buildingName?: Maybe;\n /** Two digit ISO2 representation of the country. */\n countryCode?: Maybe;\n /** The delivery service. Post office box, bag number, or post office name. */\n deliveryService?: Maybe;\n /** The postal code, which is the zip code or equivalent. Typically required for countries with a postal code or an equivalent. See [postal code](https://en.wikipedia.org/wiki/Postal_code). */\n postalCode?: Maybe;\n /** The street name in an address element. Example: Hawthorne Way in 15 Hawthorne Way */\n streetName?: Maybe;\n /** The street number in an address element. Example: 15 in 15 Hawthorne Way */\n streetNumber?: Maybe;\n /** The street type. For example, avenue, boulevard, road, or expressway. */\n streetType?: Maybe;\n /** The first-order entity below a named building or location that represents the sub-premise. Usually a single building within a collection of buildings with a common name. Can be a flat, story, floor, room, or apartment. */\n subBuilding?: Maybe;\n};\n\n/** True or False values for each element of an address */\nexport type AddressFieldBools = {\n __typename?: 'AddressFieldBools';\n /** Portable address: An address first line street address */\n addressLine1?: Maybe;\n /** Portable address: An address second line street address */\n addressLine2?: Maybe;\n /** Portable address: An address third line street address */\n addressLine3?: Maybe;\n /** Portable address: An address first line admin area */\n adminArea1?: Maybe;\n /** Portable address: An address second line admin area */\n adminArea2?: Maybe;\n /** Portable address: An address third line admin area */\n adminArea3?: Maybe;\n /** Portable address: An address forth line admin area */\n adminArea4?: Maybe;\n /** A billing address city (Ex: 'San Jose') */\n city?: Maybe;\n /** A billing address two-letter country code (Ex: 'US') */\n country?: Maybe;\n /** Portable address: An address two-letter country code */\n countryCode?: Maybe;\n /** A billing address first line street address (Ex: '2211 North 1st St') */\n line1?: Maybe;\n /** A billing address second line street address (Ex: 'Apt 123') */\n line2?: Maybe;\n /** A billing address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /** A billing address state/province (Ex: 'CA') */\n state?: Maybe;\n};\n\n/**\n * GAAC - Google Address Auto Complete\n * Address response based on a place id - basically this is google returned address elements\n */\nexport type AddressForPlaceId = {\n __typename?: 'AddressForPlaceId';\n /**\n * address mapping from google places api response\n * we are having address key to create a griffin mapped google response\n * In future if we need any google specific fields then we can add a new key\n * with name additionalAddressFields or something similar\n *\n * If state is missing in GenericAddress then it means google returned state\n * did not match the griffin state list we have for a country\n */\n address?: Maybe;\n};\n\n/** Address input type */\nexport type AddressInput = {\n /** An address quality from user */\n accountQuality?: InputMaybe;\n /** Portable address: An address first line street address (Ex: '2211 North 1st St') */\n addressLine1?: InputMaybe;\n /** Portable address: An address second line street address (Ex: 'Apt 123') */\n addressLine2?: InputMaybe;\n /** Portable address: An address third line street address (Ex: 'Near CVS') */\n addressLine3?: InputMaybe;\n /** Portable address: An address first line admin area (Ex: 'CA') */\n adminArea1?: InputMaybe;\n /** Portable address: An address second line admin area (Ex: 'San Jose') */\n adminArea2?: InputMaybe;\n /** Portable address: An address third line admin area */\n adminArea3?: InputMaybe;\n /** Portable address: An address forth line admin area */\n adminArea4?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use adminArea2 instead for portable format. (Ex: 'San Jose') */\n city?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use countryCode instead for portable format. (Ex: 'US') */\n country?: InputMaybe;\n /** Portable address: An address two-letter country code (Ex: 'US') */\n countryCode?: InputMaybe;\n /** The last name of the address (Ex: 'Smith') */\n familyName?: InputMaybe;\n /** The first name of the address (Ex: 'John') */\n givenName?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use addressLine1 instead for portable format. (Ex: '2211 North 1st St') */\n line1?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use addressLine2 instead for portable format. (Ex: 'Apt 123') */\n line2?: InputMaybe;\n /** An Address postal code (Ex: '95131') */\n postalCode?: InputMaybe;\n /** @Deprecated: Coarse format addresses are being phased out for portable format addresses. Use adminArea1 instead for portable format. (Ex: 'CA') */\n state?: InputMaybe;\n};\n\n/** A container type for portable address metadata */\nexport type AddressLineLayout = {\n __typename?: 'AddressLineLayout';\n /** A list of parts in the address line */\n parts?: Maybe>>;\n};\n\n/** A container type for address input field metadata. */\nexport type AddressLinePart = {\n __typename?: 'AddressLinePart';\n /** Allowed values for the field */\n allowedValues?: Maybe>>;\n /** Whether or not a field is required */\n isRequired?: Maybe;\n /** Label for the field */\n label?: Maybe;\n /** Maximum length of field - Ex: 5 */\n maxLength?: Maybe;\n /** Minimum length of field - Ex: 1 */\n minLength?: Maybe;\n /** Name of field - Ex: adminArea1 */\n name?: Maybe;\n /** Validation regex of field */\n regex?: Maybe;\n};\n\n/** Enumeration for Address Normalization's ansraptor process mode params */\nexport enum AddressNormalizationProcessModes {\n /** For prefill case */\n Fastcompletion = 'FASTCOMPLETION',\n /** For normalization case */\n Interactive = 'INTERACTIVE'\n}\n\n/** Enumeration for Address Normalization's ansraptor scope */\nexport enum AddressNormalizationScopes {\n /** validate every inputs of address */\n All = 'ALL',\n /** validate the province, locality, postalcode, street, house number */\n DeliverypointLevel = 'DELIVERYPOINT_LEVEL',\n /** validate province locality. postal code */\n LocalityLevel = 'LOCALITY_LEVEL',\n /** validate the province, locality, postalcode. street */\n StreetLevel = 'STREET_LEVEL'\n}\n\n/**\n * An enumeration of address types that an Address can be. PROFILE, SHIPPING, BUSINESS, etc. These types are maintained in User Domain Model.\n * Address types have been consolidated in PartyProfileServ(PPS). UserPlatformServ(UPS) have a lot more address types when compared to PPS.\n * This enumeration contains both legacy and new address types from UPS and PPS respectively.\n * Read more here: https://github.paypal.com/vayipalayamchand/UserDevDocs/blob/master/UPS_Migration.md#address-type-mapping\n */\nexport enum AddressType {\n /** A business address */\n Business = 'BUSINESS',\n /** An alternate communication (home/mailing) address for the user. Could be international or PO box etc. */\n Communication = 'COMMUNICATION',\n /** A drop-off address */\n DropOff = 'DROP_OFF',\n /** A gift address */\n Gift = 'GIFT',\n /** A home or work address */\n HomeOrWork = 'HOME_OR_WORK',\n /** Office address */\n Office = 'OFFICE',\n /** Main business address */\n PrincipleBusiness = 'PRINCIPLE_BUSINESS',\n /** A prior/inactive address */\n Prior = 'PRIOR',\n /** An address that used to be the address of the user */\n PriorAddress = 'PRIOR_ADDRESS',\n /** An address associated with a user profile */\n Profile = 'PROFILE',\n /** A shipping address */\n Shipping = 'SHIPPING',\n /** Additional business address */\n SmiAdditionalBusiness = 'SMI_ADDITIONAL_BUSINESS',\n /** Address of the owner of the business. (owner is different from account holder) */\n SmiOwner = 'SMI_OWNER',\n /** Previous address of the business conducted by the account holder. */\n SmiPrevBusiness = 'SMI_PREV_BUSINESS',\n /** Address of the supplier for the business */\n SmiSupplier = 'SMI_SUPPLIER',\n /** 3rd party address - *not* one of the user's home/work addresses. */\n ThirdParty = 'THIRD_PARTY',\n /** 3rd party address that doesn't have an addressee name */\n ThirdPartyNoAddressee = 'THIRD_PARTY_NO_ADDRESSEE',\n /** A verisign address */\n Verisign = 'VERISIGN',\n /** Billing address for a Verisign Merchant */\n VerisignBilling = 'VERISIGN_BILLING',\n /** Billing address added to a WAX (WebAcceptExpress) account. */\n Wax = 'WAX',\n /** Shipping/gift address added to a WAX (WebAcceptExpress) account. */\n WaxGift = 'WAX_GIFT'\n}\n\n/**\n * Encapsulates all properties related to an Amount.\n * Ex: currencySymbol, currencyValue, currencyCode, etc.\n */\nexport type Amount = {\n __typename?: 'Amount';\n /** Amount's currency code (Ex: 'USD', 'HUF') */\n currencyCode?: Maybe;\n /** Amount's formatted currency symbol and value (Ex: '$0.01', 'Ft10') */\n currencyFormat?: Maybe;\n /** Amount's formatted currency symbol, value, and code (Ex: '$0.01 USD', 'Ft10 HUF') */\n currencyFormatSymbolISOCurrency?: Maybe;\n /** Amount's currency symbol (Ex: '$', 'Ft') */\n currencySymbol?: Maybe;\n /** Amount's currency value without format(Ex: '0.01', 10.00') */\n currencyValue?: Maybe;\n};\n\n/** Encapsulates all properties related to an Amount. */\nexport type AmountInput = {\n /** Amount's currency code (Ex: 'USD') */\n currencyCode?: InputMaybe;\n /** Amount's currency value (Ex: '0.01') */\n currencyValue?: InputMaybe;\n};\n\n/** Encapsulates all properties related to the app download banner for client rendering */\nexport type AppDownloadBanner = {\n __typename?: 'AppDownloadBanner';\n /** A string of the CSS styles tag */\n css: Scalars['String'];\n /** A string of the HTML markup */\n html: Scalars['String'];\n /** A string of JavaScript script tag */\n js: Scalars['String'];\n};\n\n/** Schema to validate merchant as Apple Pay eligible */\nexport type ApplePayMerchantSession = {\n __typename?: 'ApplePayMerchantSession';\n /** Opaque session from Apple */\n session?: Maybe;\n};\n\n/** Schema for Apple Pay contact */\nexport type ApplePayPaymentContact = {\n /** Address from Apple */\n addressLines?: InputMaybe>>;\n /** State from Apple */\n administrativeArea?: InputMaybe;\n /** Country from Apple */\n country?: InputMaybe;\n /** Country code from Apple */\n countryCode?: InputMaybe;\n /** Email address from Apple */\n emailAddress?: InputMaybe;\n /** Last name from Apple */\n familyName?: InputMaybe;\n /** First name from Apple */\n givenName?: InputMaybe;\n /** City from Apple */\n locality?: InputMaybe;\n /** Phone number from Apple */\n phoneNumber?: InputMaybe;\n /** Phonetic last name from Apple */\n phoneticFamilyName?: InputMaybe;\n /** Phonetic first name from Apple */\n phoneticGivenName?: InputMaybe;\n /** Postal code from Apple */\n postalCode?: InputMaybe;\n /** County from Apple */\n subAdministrativeArea?: InputMaybe;\n /** Township from Apple */\n subLocality?: InputMaybe;\n};\n\n/** Schema for Apple Pay payment method */\nexport type ApplePayPaymentInput = {\n /** Apple Pay payment billing information */\n billingContact?: InputMaybe;\n /** Apple Pay payment shipping information */\n shippingContact?: InputMaybe;\n /** Apple Pay payment token */\n token?: InputMaybe;\n};\n\n/** Schema for Apple Pay payment method */\nexport type ApplePayPaymentMethod = {\n /** Billing contact associated with the card. */\n billingContact?: InputMaybe;\n /** A string, suitable for display, that describes the card. */\n displayName?: InputMaybe;\n /** Name of the payment network backing the card */\n network?: InputMaybe;\n /** The payment pass object currently selected to complete the payment. */\n paymentPass?: InputMaybe;\n /** A value representing the card's type of payment. */\n type?: InputMaybe;\n};\n\n/**\n * An enumeration of all potential payment method for apple pay\n * From the Apple Pay API docs: https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentmethodtype/\n * 'debit' | 'credit' | 'prepaid' | 'store'\n */\nexport enum ApplePayPaymentMethodType {\n /** credit card */\n Credit = 'credit',\n /** debit card */\n Debit = 'debit',\n /** prepaid */\n Prepaid = 'prepaid',\n /** pay in store */\n Store = 'store'\n}\n\n/**\n * Schema for Apple Pay payment method\n * Apple Pay API docs: https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentpass\n */\nexport type ApplePayPaymentPass = {\n /** Activation state: activated | requiresActivation | activating | suspended | deactivated */\n activationState?: InputMaybe;\n /** The unique identifier for the device-specific account number. */\n deviceAccountIdentifier?: InputMaybe;\n /** A version of the device account number suitable for display in your UI. */\n deviceAccountNumberSuffix?: InputMaybe;\n /** The unique identifier for the primary account number for the payment card. */\n primaryAccountIdentifier: Scalars['String'];\n /** A version of the primary account number suitable for display in your UI. */\n primaryAccountNumberSuffix: Scalars['String'];\n};\n\n/**\n * An enumeration of all potential apple pay payment pass activation state\n * From the Apple Pay API docs: https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentpassactivationstate/\n * activated | requiresActivation | activating | suspended | deactivated\n */\nexport enum ApplePayPaymentPassActivationState {\n /** Active and ready to be used for payment. */\n Activated = 'activated',\n /** Not ready for use but activation is in progress. */\n Activating = 'activating',\n /** Not active because the issuer has disabled the account associated with the device. */\n Deactivated = 'deactivated',\n /** Not active but may be activated by the issuer. */\n RequiresActivation = 'requiresActivation',\n /** Not active and can't be activated. */\n Suspended = 'suspended'\n}\n\n/**\n * Schema for Apple Pay payment token\n * Apple Pay API docs: https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken\n */\nexport type ApplePayPaymentToken = {\n /** Payment data */\n paymentData?: InputMaybe;\n /** Payment method */\n paymentMethod?: InputMaybe;\n /** Transaction identifier */\n transactionIdentifier?: InputMaybe;\n};\n\n/**\n * ApplePay config data\n * For ApplePay requests\n */\nexport type ApplepayConfig = {\n __typename?: 'ApplepayConfig';\n /** Merchant eligibility for Apple Pay */\n isEligible: Scalars['Boolean'];\n /** An array of the payment capabilities that the merchant supports, such as credit or debit. */\n merchantCapabilities: Array>;\n /** A country code that represents the merchant's country (Ex: 'US') */\n merchantCountry?: Maybe;\n /** An array of supported card financial instrument (FI) brands */\n supportedNetworks: Array>;\n /** Token notification url for recurring payment request */\n tokenNotificationURL: Scalars['String'];\n};\n\n/**\n * An enumeration of all potential payment networks returned for Applepay config\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/1916123-merchantcapabilities\n */\nexport enum ApplepayMerchantCapabilities {\n /** supports3DS */\n Supports3Ds = 'supports3DS',\n /** supportsCredit */\n SupportsCredit = 'supportsCredit',\n /** supportsDebit */\n SupportsDebit = 'supportsDebit'\n}\n\n/**\n * An enumeration of all potential payment networks returned for Applepay config\n * https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/1916122-supportednetworks\n */\nexport enum ApplepaySupportedNetworks {\n /** amex */\n Amex = 'amex',\n /** cartesBancaires */\n CartesBancaires = 'cartesBancaires',\n /** discover */\n Discover = 'discover',\n /** jcb */\n Jcb = 'jcb',\n /** maestro */\n Maestro = 'maestro',\n /** masterCard */\n MasterCard = 'masterCard',\n /** visa */\n Visa = 'visa'\n}\n\n/** Encapsulates all properties related to attribution. */\nexport type AttributionDetails = {\n __typename?: 'AttributionDetails';\n /** Identifier for an attribution. */\n attributionId?: Maybe;\n /** attribution description in compact format. */\n compactDescription?: Maybe;\n /** attribution description. */\n shortDescription?: Maybe;\n /** attribution terms label */\n termsLabel?: Maybe;\n /** attribution terms link */\n termsLink?: Maybe;\n /** attribution tracking details */\n trackingDetails?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a User's auth.\n * Ex: Access token\n * Average SLA response time - x ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\nexport type Auth = {\n __typename?: 'Auth';\n /** A user's access token */\n accessToken?: Maybe;\n /** A user's auth code */\n authCode?: Maybe;\n /** Url to run user through connect flow */\n connectUrl?: Maybe;\n /** A user's id token */\n idToken?: Maybe;\n /** A user's refresh token */\n refreshToken?: Maybe;\n};\n\n\n/**\n * Encapsulates all properties related to a User's auth.\n * Ex: Access token\n * Average SLA response time - x ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\nexport type AuthConnectUrlArgs = {\n billingType?: InputMaybe;\n fundingSource?: InputMaybe;\n payerId?: InputMaybe;\n scopes: Array>;\n token: Scalars['String'];\n};\n\n/**\n * Encapsulates all properties related to a User's auth.\n * Ex: Access token\n *\n * Temp measure to get the @auth directive updated to use PARTIALLY_AUTHENTICATED, will\n * be removed once updated to using newest version of @paypalcorp/graphql-directive\n *\n * Required auth states: LOGGEDIN, REMEMBERED, IDENTIFIED or PARTIALLY_AUTHENTICATED\n */\nexport enum AuthState {\n /** Anonymous */\n Anonymous = 'ANONYMOUS',\n /** Guest */\n Identified = 'IDENTIFIED',\n /** Fully logged in */\n Loggedin = 'LOGGEDIN',\n /** Partially authenticated for SCA */\n PartiallyAuthenticated = 'PARTIALLY_AUTHENTICATED',\n /** Remember Me */\n Remembered = 'REMEMBERED'\n}\n\n/** Encapsulates all properties related to the available Rewards */\nexport type AvailableRewards = {\n __typename?: 'AvailableRewards';\n /** The Rewards code description - example 'points' */\n denominationTypeDescription?: Maybe;\n /** The equivalent monetary value of the rewards */\n monetaryValue?: Maybe;\n /** Rewards value amount */\n value?: Maybe;\n};\n\n/**\n * An enumeration of types that a BalancePreference can be.\n * OPT_IN or OPT_OUT\n */\nexport enum BalancePreference {\n /** If Buyer chooses to use Balance for BA payments */\n OptIn = 'OPT_IN',\n /** If Buyer chooses not to use Balance for BA payments */\n OptOut = 'OPT_OUT'\n}\n\n/** An enumeration of all potential balance types for an offer */\nexport enum BalanceType {\n /** MSB - Merchant Specific Balance */\n Msb = 'MSB',\n /** PSB - PayPal Specific Balance */\n Psb = 'PSB'\n}\n\n/** The metadata for a particular bank account */\nexport type BankAccount = {\n __typename?: 'BankAccount';\n /** The bank account number */\n accountNumber: Scalars['String'];\n /** The last characters of the bank account's account number */\n accountNumberShort: Scalars['String'];\n /** The bank identifier code */\n bankIdentifierCode: Scalars['String'];\n /** The bank account's beneficiaries */\n beneficiaries: Array>;\n /** The bank account's billing address */\n billingAddress?: Maybe;\n /** The bank account creditor's information */\n creditor?: Maybe;\n /** The bank account's currency code */\n currencyCode: Scalars['String'];\n /** A unique identifier for the bank account within the PayPal system */\n id: Scalars['String'];\n /** The bank account issuer's information */\n issuer?: Maybe;\n /** Short name for the bank account created by the user */\n nickname?: Maybe;\n /** The bank account's routing number */\n routingNumber: Scalars['String'];\n /** The bank account's type */\n type: BankAccountType;\n};\n\n/** Extra arguments needed for Add Bank flow. */\nexport type BankAccountAuthorizationsInput = {\n /** Indicates whether the bank has to resolve sepa authorization */\n acceptSepa?: InputMaybe;\n};\n\n/** Bank Account Beneficiary Information */\nexport type BankAccountBeneficiary = {\n __typename?: 'BankAccountBeneficiary';\n /** The full name of the bank account's beneficiary. */\n fullName: Scalars['String'];\n};\n\n/** Bank Account Beneficiary Input */\nexport type BankAccountBeneficiaryInput = {\n /** The birth date of the bank account's beneficiary */\n birthDate?: InputMaybe;\n /** The first name of the bank account's beneficiary. */\n firstName?: InputMaybe;\n /** The last name of the bank account's beneficiary. */\n lastName?: InputMaybe;\n /** Phone number of the bank account's beneficiary */\n phone?: InputMaybe;\n};\n\n/** The attributes of an invidual bank account's creditor (the settler of the transaction) */\nexport type BankAccountCreditor = {\n __typename?: 'BankAccountCreditor';\n /** The address of the creditor */\n address?: Maybe;\n /** A creditor's insitutional ID */\n id: Scalars['String'];\n /** A creditor's name */\n name: Scalars['String'];\n};\n\n/** Bank Account Input */\nexport type BankAccountInput = {\n /** The account number of the bank account */\n accountNumber?: InputMaybe;\n /** The International Bank Account Number for the account */\n iban?: InputMaybe;\n /** The routing number for the given bank account */\n routingNumber?: InputMaybe;\n /** The type of bank account (i.e. Checking, Savings, etc.) */\n type?: InputMaybe;\n};\n\n/** The attributes of an individual bank account's issuer */\nexport type BankAccountIssuer = {\n __typename?: 'BankAccountIssuer';\n /** An issuer's branch location */\n branchLocation?: Maybe;\n /** An issuer's city */\n city: Scalars['String'];\n /** An issuer's country code */\n country: CountryCodes;\n /** An issuer's name */\n name: Scalars['String'];\n};\n\n/**\n * An enumeration of bank types that a bank account can identify with\n *\n * Reference: https://ppaas/api/3719176155268854#apiReference\n */\nexport enum BankAccountType {\n /** A business checking account */\n BusinessChecking = 'BUSINESS_CHECKING',\n /** A business savings account */\n BusinessSavings = 'BUSINESS_SAVINGS',\n /** A checking account */\n Checking = 'CHECKING',\n /** A custom account type */\n Custom = 'CUSTOM',\n /** A normal account type */\n Normal = 'NORMAL',\n /** A savings account type */\n Savings = 'SAVINGS',\n /** An unknown account type */\n Unknown = 'UNKNOWN'\n}\n\n/** BillingAddress */\nexport type BillingAddress = {\n /** postal code */\n postalCode?: InputMaybe;\n};\n\n/**\n * Enumeration to identify different billing charge patterns\n * The pattern in which the agreement will be used for charging.\n */\nexport enum BillingChargePattern {\n /** Pay after use, non-recurring post-paid, variable amount, irregular frequency. */\n Deferred = 'DEFERRED',\n /** On-demand instant payments – non-recurring , pre-paid, variable amount, variable frequency. */\n Immediate = 'IMMEDIATE',\n /** Pay on a fixed date based on usage or consumption after the goods/service is delivered. */\n RecurringPostpaid = 'RECURRING_POSTPAID',\n /** Pay upfront fixed or variable amount on a fixed date before the goods/service is delivered. */\n RecurringPrepaid = 'RECURRING_PREPAID',\n /** Charge payer when the set amount is reached or monthly billing cycle, whichever comes first, after the goods/service is delivered. */\n ThresholdPostpaid = 'THRESHOLD_POSTPAID',\n /** Charge payer when the set amount is reached or monthly billing cycle, whichever comes first, before the goods/service is delivered. */\n ThresholdPrepaid = 'THRESHOLD_PREPAID'\n}\n\n/**\n * Encapsulates all properties related to a subscription plan's billing cycle frequency.\n * (Ex: interval_unit = DAY, inverval_count = 2, means every 2 days)\n */\nexport type BillingCycleFrequency = {\n __typename?: 'BillingCycleFrequency';\n /** The number of intervals after which a subscriber is billed */\n intervalCount?: Maybe;\n /** Interval at which the subscription is charged/billed */\n intervalUnit?: Maybe;\n};\n\n/** An enumeration of types that a BillingIntent can be. */\nexport enum BillingIntent {\n /** All Other integrations */\n Other = 'OTHER',\n /** VAULT integration */\n Vault = 'VAULT'\n}\n\n/** An enumeration of types that a billing payment experience can be. */\nexport enum BillingPaymentExperience {\n /** HERMES experience */\n Hermes = 'HERMES',\n /** HERMESNODE experience */\n Hermesnode = 'HERMESNODE'\n}\n\n/** Enumeration to identify different billing types */\nexport enum BillingType {\n /** Partner initiated billing type. */\n ChannelInitiatedBilling = 'CHANNEL_INITIATED_BILLING',\n /** Partner initiated billing type */\n ChannelInitiatedBillingSingleAgreement = 'CHANNEL_INITIATED_BILLING_SINGLE_AGREEMENT',\n /** Merchant initiated billing type. Default billing type */\n MerchantInitiatedBilling = 'MERCHANT_INITIATED_BILLING',\n /** Merchant initiated billing type but agreement already exists between buyer and merchant */\n MerchantInitiatedSingleBilling = 'MERCHANT_INITIATED_SINGLE_BILLING',\n /** Legacy Recurring Payments type */\n RecurringPayments = 'RECURRING_PAYMENTS',\n /** Next generation Recurring Payments */\n RecurringPaymentsV1 = 'RECURRING_PAYMENTS_V1',\n /** Next generation subscriptions type */\n SubscriptionsV1 = 'SUBSCRIPTIONS_V1'\n}\n\n/** High level container for offers estimate */\nexport type BurnableRewards = {\n __typename?: 'BurnableRewards';\n /** Specify if burnable rewards are present */\n hasBurnableRewards?: Maybe;\n};\n\n/** Business Information */\nexport type BusinessInformation = {\n /** Business name */\n businessName?: InputMaybe;\n /** Business tagging id */\n businessTaggingId?: InputMaybe;\n /** Merchant category code */\n merchantCategoryCode?: InputMaybe;\n /** Notify url */\n notifyUrl?: InputMaybe;\n /** Soft descriptor */\n softDescriptor?: InputMaybe;\n};\n\n/** Customization for an animation in checkout */\nexport type ButtonAnimationCustomization = {\n __typename?: 'ButtonAnimationCustomization';\n /** Simple Text */\n id?: Maybe;\n /** Simple Text */\n text?: Maybe;\n /** Tracking details */\n tracking?: Maybe;\n};\n\n/** Customization for an design in checkout */\nexport type ButtonDesignCustomization = {\n __typename?: 'ButtonDesignCustomization';\n /** Simple Text */\n id?: Maybe;\n /** Simple Text */\n text?: Maybe;\n /** Tracking details */\n tracking?: Maybe;\n};\n\n/** Types of client config button funding source */\nexport enum ButtonFundingSourceType {\n /** Apple Pay */\n Applepay = 'applepay',\n /** Bancontact */\n Bancontact = 'bancontact',\n /** Blik */\n Blik = 'blik',\n /** Boleto */\n Boleto = 'boleto',\n /** Boletobancario */\n Boletobancario = 'boletobancario',\n /** Card */\n Card = 'card',\n /** Credit */\n Credit = 'credit',\n /** Elv */\n Elv = 'elv',\n /** EPS */\n Eps = 'eps',\n /** GiroPay */\n Giropay = 'giropay',\n /** Ideal */\n Ideal = 'ideal',\n /** Maxima */\n Maxima = 'maxima',\n /** Mercadopago */\n Mercadopago = 'mercadopago',\n /** Multibanco */\n Multibanco = 'multibanco',\n /** MyBank */\n Mybank = 'mybank',\n /** OXXO */\n Oxxo = 'oxxo',\n /** P24 */\n P24 = 'p24',\n /** Paidy */\n Paidy = 'paidy',\n /** Pay Later */\n Paylater = 'paylater',\n /** PayPal */\n Paypal = 'paypal',\n /** PayU */\n Payu = 'payu',\n /** Satispay */\n Satispay = 'satispay',\n /** Sepa */\n Sepa = 'sepa',\n /** SoFort */\n Sofort = 'sofort',\n /** Trustly */\n Trustly = 'trustly',\n /** Venmo */\n Venmo = 'venmo',\n /** WeChatPay */\n Wechatpay = 'wechatpay',\n /** Zimpler */\n Zimpler = 'zimpler'\n}\n\n/** List of all button labels for Smart Payment Buttons */\nexport enum ButtonLabels {\n /** Buy Now */\n Buynow = 'BUYNOW',\n /** Checkout */\n Checkout = 'CHECKOUT',\n /** Credit: checkout.js v4 only */\n Credit = 'CREDIT',\n /** Donate */\n Donate = 'DONATE',\n /** Installment */\n Installment = 'INSTALLMENT',\n /** Pay */\n Pay = 'PAY',\n /** Paypal */\n Paypal = 'PAYPAL',\n /** Subscribe */\n Subscribe = 'SUBSCRIBE'\n}\n\n/** List of all button layouts for Smart Payment Buttons */\nexport enum ButtonLayouts {\n /** Horizontal */\n Horizontal = 'horizontal',\n /** Vertical */\n Vertical = 'vertical'\n}\n\n/** List of all button sizes for Smart Payment Buttons */\nexport enum ButtonSizes {\n /** huge */\n Huge = 'huge',\n /** large */\n Large = 'large',\n /** medium */\n Medium = 'medium',\n /** small */\n Small = 'small',\n /** tiny */\n Tiny = 'tiny'\n}\n\n/** Types of buyer intent */\nexport enum BuyerIntentType {\n /** pay */\n Pay = 'PAY',\n /** pay_with_different_account */\n PayWithDifferentAccount = 'PAY_WITH_DIFFERENT_ACCOUNT',\n /** pay_with_different_funding_shipping */\n PayWithDifferentFundingShipping = 'PAY_WITH_DIFFERENT_FUNDING_SHIPPING'\n}\n\n/** Shipping methods to display to the buyer */\nexport type CallbackShippingMethodInput = {\n /** Default shipping method returned from cart/profile/callback url */\n default: Scalars['Boolean'];\n /** Unique UUID for this input */\n id?: InputMaybe;\n /** Insurance Amount value for this method */\n insuranceAmount?: InputMaybe;\n /** Custom label to display to the buyer for this method */\n label?: InputMaybe;\n /** Whether or not this is the selected method */\n selected: Scalars['Boolean'];\n /** Shipping Amount value for this method */\n shippingAmount?: InputMaybe;\n /** Tax Amount value for this method */\n taxAmount?: InputMaybe;\n};\n\n/** Card */\nexport type Card = {\n /** billing address */\n billingAddress?: InputMaybe;\n /** expiry */\n expiry: Scalars['String'];\n /** name */\n name?: InputMaybe;\n /** number */\n number: Scalars['String'];\n /** cvv */\n securityCode?: InputMaybe;\n};\n\n/**\n * An enumeration of types that FundingOption can have.\n * PROCESSOR_DECLINE, PAYPAL_ELIGIBILITY or PREAUTH\n */\nexport enum CardAuthType {\n /** Full amount transaction authorization */\n Full = 'FULL',\n /** Partial amount transaction authorization */\n Partial = 'PARTIAL'\n}\n\n/** Encapsulates key metadata for a particular card. */\nexport type CardDefinition = {\n __typename?: 'CardDefinition';\n /** The card issuer as a CardIssuerType (e.g. 'VISA', 'DISCOVER') */\n brand: CardIssuerType;\n /** The classification(s) for the card (e.g. 'CREDIT_CARD', 'DEBIT_CARD') */\n classifications: Array>;\n /** The available method(s) for confirming the card (e.g. 'ONE_TIME_PASSWORD_CONFIRMATION') */\n confirmationMethods: Array>;\n /** The card issuer's country code */\n countryCode?: Maybe;\n /** The card's currency code */\n currencyCode: SupportedCountryCurrencies;\n};\n\n/** The metadata for a particular credit card */\nexport type CardDetails = {\n __typename?: 'CardDetails';\n /** A unique identifier for the credit card within the PayPal system */\n lastFourDigits: Scalars['String'];\n /** The card issuer as a CardIssuerType (Ex: 'VISA', 'AMEX', 'MASTER', 'DISCOVER') */\n type: CardIssuerType;\n};\n\n/** Container type for card eligibility, branded card eligibility, and associated vendors */\nexport type CardEligibility = {\n __typename?: 'CardEligibility';\n /** Whether or not a card is branded */\n branded?: Maybe;\n /** Whether or not a card type is eligible */\n eligible: Scalars['Boolean'];\n /** Whether Guest Checkout is enabled */\n guestEnabled?: Maybe;\n /** Whether installments are eligible */\n installments?: Maybe;\n /** Reasons why card is eligible. This is an internal field and is not accessible for external use */\n reasons: Array>;\n /** Associated credit card vendors. See CardVendorEligibility */\n vendors: CardVendorEligibility;\n};\n\n/**\n * Encapsulates the card art image data\n * Contains the card art image and its dimensions\n */\nexport type CardImage = Image & {\n __typename?: 'CardImage';\n /** An image's height in pixels (number value only) */\n height?: Maybe;\n /** An image's URL. A URL type. */\n url?: Maybe;\n /** An image's width in pixels (number value only) */\n width?: Maybe;\n};\n\n/** Card input type represents a card to be added to an account */\nexport type CardInput = {\n /** 13 to 19 digits number of a card. (Ex: '4111111111111111') */\n cardNumber: Scalars['String'];\n /** Expiration date of a card (Ex: '02/2020') */\n expirationDate?: InputMaybe;\n /** Starting month for the given card. (Ex: '01', '02', '12') */\n issueDate?: InputMaybe;\n /** Postal code of (Ex: '123') */\n postalCode?: InputMaybe;\n /** Card product class (Ex: 'CREDIT', 'DEBIT') */\n productClass?: InputMaybe;\n /** 3 or 4 digits security code of a card (Ex: '123') */\n securityCode?: InputMaybe;\n /** The card issuer as a CardIssuerType (Ex: 'VISA', 'AMEX', 'MASTER_CARD', 'DISCOVER') */\n type?: InputMaybe;\n};\n\n/**\n * An enumeration of credit card issuers that a card can have.\n * VISA, MASTER_CARD, AMEX, etc\n */\nexport enum CardIssuerType {\n /** American Express */\n Amex = 'AMEX',\n /** CB Nationale */\n CbNationale = 'CB_NATIONALE',\n /** Cetelem */\n Cetelem = 'CETELEM',\n /** UnionPay */\n ChinaUnionPay = 'CHINA_UNION_PAY',\n /** Cofidis */\n Cofidis = 'COFIDIS',\n /** Cofinoga */\n Cofinoga = 'COFINOGA',\n /** Diners Club */\n Diners = 'DINERS',\n /** Discover */\n Discover = 'DISCOVER',\n /** Eftpos */\n Eftpos = 'EFTPOS',\n /** Elo */\n Elo = 'ELO',\n /** Hiper */\n Hiper = 'HIPER',\n /** Hipercard */\n Hipercard = 'HIPERCARD',\n /** JCB */\n Jcb = 'JCB',\n /** Maestro */\n Maestro = 'MAESTRO',\n /** Mastercard */\n MasterCard = 'MASTER_CARD',\n /** RuPay */\n Rupay = 'RUPAY',\n /** Visa */\n Visa = 'VISA'\n}\n\n/** Allows you to query for card metadata */\nexport type CardMeta = {\n __typename?: 'CardMeta';\n /** Returns the cobrand of the card if the card is cobranded (e.g. DISNEY_CREDIT) */\n cobrand?: Maybe;\n /**\n * Allows you to query for card definitions.\n *\n * cardNumber - a partial or full card number for which to retrieve definitions\n * countryCode - a country code that represents the user's country (e.g. 'US')\n *\n * If a countryCode is not provided, it will be detected based on the request.\n *\n * Required Roles: None\n */\n definitions: Array>;\n};\n\n/** Contains validation rules for credit card number and CSC length */\nexport type CardNumberLengthRules = {\n __typename?: 'CardNumberLengthRules';\n /** Maximum length of card number */\n cardNumberMaxLength: Scalars['Int'];\n /** Minimum length of card number */\n cardNumberMinLength: Scalars['Int'];\n /** Length of security code */\n securityCodeLength: Scalars['Int'];\n};\n\n/**\n * An enumeration of types that card product classes\n * CREDIT, DEBIT\n */\nexport enum CardProductClass {\n /** Credit Card */\n Credit = 'CREDIT',\n /** Debit Card */\n Debit = 'DEBIT',\n /** Gift Card */\n Gift = 'GIFT',\n /** Mixed card */\n Mixed = 'MIXED',\n /** PayPal Prepaid card */\n PaypalPrepaid = 'PAYPAL_PREPAID',\n /** Prepaid card */\n Prepaid = 'PREPAID',\n /** Tokenized card */\n Tokenized = 'TOKENIZED',\n /** Unknown card */\n Unknown = 'UNKNOWN',\n /** Vaulted card */\n Vaulted = 'VAULTED'\n}\n\n/** Contains all validation rules/metadata for a credit card */\nexport type CardRule = {\n __typename?: 'CardRule';\n /** Rules of card fields */\n fields: FieldRules;\n /** Contains information about maximum/minimum card number and security code length */\n length: CardNumberLengthRules;\n /** Indicate whether luhn validation is required */\n luhnValidationRequired: Scalars['Boolean'];\n /** Name of the card's type */\n name: Scalars['String'];\n /** Regex to validate card type. (Ex: /^(6011|65|64[4-9]|622|36|38|30[0-5])/) */\n pattern?: Maybe;\n /** Indices for injecting spaces in a formatted credit card string (Ex: [4,8,12]) */\n spaceIndices: Array>;\n};\n\n/** An enumeration of card transaction characteristics. PRE_AUTH, FINAL_AUTH, RECURRING_PAYMENT, UNKNOWN */\nexport enum CardTransactionType {\n /** The card characteristics is for Final Auth */\n FinalAuth = 'FINAL_AUTH',\n /** The card characteristics is for Pre Auth */\n PreAuth = 'PRE_AUTH',\n /** The card characteristics is for RECURRING_PAYMENT */\n RecurringPayment = 'RECURRING_PAYMENT',\n /** The card characteristics is for not known */\n Unknown = 'UNKNOWN'\n}\n\n/** Container type for a payment's eligibility for card vendors */\nexport type CardVendorEligibility = {\n __typename?: 'CardVendorEligibility';\n /** AMEX (or American Express) */\n amex: PaymentEligibility;\n /** CUP */\n cup: PaymentEligibility;\n /** DINERS */\n diners: PaymentEligibility;\n /** DISCOVER */\n discover: PaymentEligibility;\n /** ELO -- Mostly used in Brazil */\n elo: PaymentEligibility;\n /** Hipercard -- Mostly used in Brazil */\n hiper: PaymentEligibility;\n /** JCB -- Mostly used in Japan */\n jcb: PaymentEligibility;\n /** MAESTRO */\n maestro: PaymentEligibility;\n /** MASTERCARD */\n mastercard: PaymentEligibility;\n /** VISA */\n visa: PaymentEligibility;\n};\n\n/**\n * Encapsulates all properties related to a Cart.\n * Ex: cancelUrl, returnUrl, merchant, total, etc.\n * Average SLA response time - 170ms\n */\nexport type Cart = {\n __typename?: 'Cart';\n /** A Cart's amounts. */\n amounts?: Maybe;\n /** A Cart's associated billing address passed by merchant. */\n billingAddress?: Maybe;\n /** Billing Charge pattern, for billing agreement transactions (Ex: 'IMMEDIATE', 'DEFERRED') */\n billingChargePattern?: Maybe;\n /** Billing intent, for billing without purchase flow integration (Ex: 'VAULT') */\n billingIntent?: Maybe;\n /** Billing token, for billing agreement transactions (Ex: 'BA-12345678901234567') */\n billingToken?: Maybe;\n /** Billing type, for billing agreement transactions (Ex: 'MERCHANT_INITIATED_BILLING', 'CHANNEL_INITIATED_BILLING') */\n billingType?: Maybe;\n /**\n * A Cart's associated buyer.\n * Required Roles: LOGGEDIN, REMEMBERED, IDENTIFIED\n * A Cart's associated shipping address passed by merchant.\n * @deprecated Cart.buyer has been deprecated because it is not related to cart specific data. Use CheckoutSession.buyer instead.\n */\n buyer?: Maybe;\n /** Cart's cancel URL (Ex: www.merchant.com/cancel.html) */\n cancelUrl?: Maybe;\n /** Cart's ID (Ex: '9CH70521YP797774F') */\n cartId?: Maybe;\n /** Items' category in the Cart. (e.g. PHYSICAL, DIGITAL, DONATION) */\n category?: Maybe;\n /** Consent code, is part of oAuth context from merchant */\n consentCode?: Maybe;\n /** A Cart's description. */\n description?: Maybe;\n /** Cart's associated email passed by the merchant (Ex: dev@paypal.com) */\n email?: Maybe;\n /**\n * Cart's associated phone number passed by the merchant (Ex: '1112223333')\n * Returns international phone format\n */\n formattedPhoneNumber?: Maybe;\n /** Cart's intent (Ex: 'SALE'). */\n intent?: Maybe;\n /** A Cart's items. */\n items?: Maybe>>;\n /** The seller supplied note to the buyer. */\n noteToBuyer?: Maybe;\n /**\n * All payees information\n * @deprecated Cart.payees has been deprecated because it is not related to cart specific data. Use CheckoutSession.payees instead.\n */\n payees?: Maybe>>;\n /** A payer information sellers supply when creating the checkout session */\n payer?: Maybe;\n /** Payment ID, if transaction has one. (Ex: 'PAY-12345678901234567') */\n paymentId?: Maybe;\n /**\n * Cart's associated phone number passed by the merchant (Ex: '1112223333')\n * If shouldValidate is true then only numbers that pass validation will be returned\n */\n phoneNumber?: Maybe;\n /** Cart's return URL (Ex: www.merchant.com/thanks.html) */\n returnUrl?: Maybe;\n /** A Cart's associated shipping address passed by merchant. */\n shippingAddress?: Maybe;\n /** A Cart's associated shipping options passed by merchant. */\n shippingMethods?: Maybe>>;\n /** Cart's sold out flag, when sold out page should be presented */\n showSoldoutPage?: Maybe;\n /** Cart's soldout URL (Ex: www.merchant.com/soldout.html) */\n soldoutUrl?: Maybe;\n /** Cart's state (Ex: 'CREATED') */\n state?: Maybe;\n /** Subscription plan details, for EC-Subscription transactions */\n subscriptionDetails?: Maybe;\n /** Supplementary Data in the Cart */\n supplementary?: Maybe;\n /** A Cart's total amount. */\n total?: Maybe;\n /** Total amount we allow for over captures in a transaction. The predicted amount comes from PAPS -> EDM */\n totalAllowedOverCaptureAmount?: Maybe;\n /** Total Quantity of the items in the cart. Returns 0 for no cart items or error during calculation */\n totalQuantity?: Maybe;\n};\n\n\n/**\n * Encapsulates all properties related to a Cart.\n * Ex: cancelUrl, returnUrl, merchant, total, etc.\n * Average SLA response time - 170ms\n */\nexport type CartFormattedPhoneNumberArgs = {\n shouldValidate?: InputMaybe;\n useInternationalFormat?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a Cart.\n * Ex: cancelUrl, returnUrl, merchant, total, etc.\n * Average SLA response time - 170ms\n */\nexport type CartPhoneNumberArgs = {\n shouldValidate?: InputMaybe;\n stripDialingCode?: InputMaybe;\n};\n\n/**\n * Encapsulates all properties related to a address\n * attached to a cart by merchant\n */\nexport type CartAddress = {\n __typename?: 'CartAddress';\n /** A shipping address city (Ex: 'San Jose') */\n city?: Maybe;\n /** A shipping address two-letter country code (Ex: 'US') */\n country?: Maybe;\n /** Buyer's first name (Ex: 'John') */\n firstName?: Maybe;\n /** Multiline string format of payer's billing address */\n formattedFullAddress?: Maybe;\n /** Address is full address */\n isFullAddress?: Maybe;\n /** Buyer's last name (Ex: 'Smith') */\n lastName?: Maybe;\n /** A shipping address first line street address (Ex: '2211 North 1st St') */\n line1?: Maybe;\n /** A shipping address second line street address (Ex: 'Apt 123') */\n line2?: Maybe;\n /** A shipping address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /** A shipping address state/province (Ex: 'CA') */\n state?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a cart item.\n * Ex: description, quantity, amount\n * Average SLA response time - 170ms\n */\nexport type CartAmounts = {\n __typename?: 'CartAmounts';\n /** A Cart's discount. */\n discount?: Maybe;\n /** A Cart's handling fee. */\n handlingFee?: Maybe;\n /** Flag indicating when to hide amount details */\n hideAmountDetails?: Maybe;\n /** A Cart's insurance fee. */\n insurance?: Maybe;\n /** A Cart's Insurance and handling fee combined */\n insuranceAndHandling?: Maybe;\n /** A Cart's shipping fee. */\n shipping?: Maybe;\n /** A Cart's combined shipping and handling fee. A sum of the shipping fee (with shipping discount applied) and the handling fee. */\n shippingAndHandling?: Maybe;\n /** A Cart's Shipping and Shipping Discount */\n shippingAndShippingDiscount?: Maybe;\n /** A Cart's shipping discount. */\n shippingDiscount?: Maybe;\n /** A Cart's subtotal amount. */\n subtotal?: Maybe;\n /** A Cart's tax amount. */\n tax?: Maybe;\n /** A Cart's total amount. */\n total?: Maybe;\n};\n\n/**\n * An enumeration of cart category, defined by item category in the cart.\n * DONATION\n */\nexport enum CartCategory {\n /** If item category is DIGITAL. */\n Digital = 'DIGITAL',\n /** If item category is DONATION. */\n Donation = 'DONATION',\n /** If item category is PHYSICAL. */\n Physical = 'PHYSICAL'\n}\n\n/** An enumeration of intents that a Cart can have. SALE, AUTHORIZE, or ORDER */\nexport enum CartIntent {\n /** The Cart's intent is for Authorization transactions. Same as AUTHORIZE. */\n Authorization = 'AUTHORIZATION',\n /** The Cart's intent is for Auth transactions */\n Authorize = 'AUTHORIZE',\n /** The Cart's intent is for Capture transactions */\n Capture = 'CAPTURE',\n /** The Cart's intent is for Order transactions */\n Order = 'ORDER',\n /** The Cart's intent is for Sale transactions */\n Sale = 'SALE'\n}\n\n/**\n * Encapsulates all properties related to a cart item.\n * Ex: description, quantity, amount\n * Average SLA response time - 170ms\n */\nexport type CartItem = {\n __typename?: 'CartItem';\n /** Cart item's description (Ex: 'Medium, Light Grey, V-Neck T-Shirt') */\n description?: Maybe;\n /** Cart item's details. Any extra metadata passed by the Merchant. */\n details?: Maybe;\n /** Set of selected options for the item. (Ex: name: 'Size', select: 'Large') */\n itemOptionSelections?: Maybe>>;\n /** Cart item's name (Ex: 'Wolf T-Shirt') */\n name?: Maybe;\n /**\n * Cart item's number\n * @deprecated Instead of using the number, use item's SKU (stock keeping unit) number instead\n */\n number?: Maybe;\n /** Cart item's quantity (Ex: 1) */\n quantity?: Maybe;\n /** Cart item's SKU number */\n sku?: Maybe;\n /** Cart item's total amount. */\n total?: Maybe;\n /** Cart item's unit price. */\n unitPrice?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a shipping address\n * attached to a cart by merchant\n */\nexport type CartShippingAddress = {\n __typename?: 'CartShippingAddress';\n /** A shipping address city (Ex: 'San Jose') */\n city?: Maybe;\n /** A shipping address two-letter country code (Ex: 'US') */\n country?: Maybe;\n /** Buyer's first name (Ex: 'John') */\n firstName?: Maybe;\n /** Multiline string format of recipient's shipping address */\n formattedFullAddress?: Maybe;\n /** Address is full address */\n isFullAddress?: Maybe;\n /** Flag for ship to store */\n isStoreAddress?: Maybe;\n /** Buyer's last name (Ex: 'Smith') */\n lastName?: Maybe;\n /** A shipping address first line street address (Ex: '2211 North 1st St') */\n line1?: Maybe;\n /** A shipping address second line street address (Ex: 'Apt 123') */\n line2?: Maybe;\n /** A shipping address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /** A shipping address state/province (Ex: 'CA') */\n state?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a shipping method.\n * attached to a cart by merchant\n */\nexport type CartShippingMethod = {\n __typename?: 'CartShippingMethod';\n /** Amount value for this method */\n amount?: Maybe;\n /** Unique identifier for the option */\n id?: Maybe;\n /** Custom display name (Ex: '2-Day Shipping') */\n label?: Maybe;\n /** Whether or not the this method is selected */\n selected?: Maybe;\n /** Category, or type. ('SHIPPING' or 'PICKUP') */\n type?: Maybe;\n};\n\n/**\n * An enumeration of states that a Cart can be in.\n * CREATED, APPROVED, FAILED or SUBMITTED\n */\nexport enum CartState {\n /** A Cart was approved */\n Approved = 'APPROVED',\n /** A Cart was created */\n Created = 'CREATED',\n /** A Cart is failed */\n Failed = 'FAILED',\n /** The Payer authentication is required to continue checkout */\n PayerAuthenticationRequired = 'PAYER_AUTHENTICATION_REQUIRED',\n /** A Cart was submitted */\n Submitted = 'SUBMITTED'\n}\n\n/**\n * Encapsulates all properties related to a billing address which is extend from our\n * generic Address type\n *\n * Ex: line1, city, state, postalCode, fullAddress, etc.\n */\nexport type CheckoutBillingAddress = Address & {\n __typename?: 'CheckoutBillingAddress';\n /** A billing address ID (Ex: '285166') */\n addressId?: Maybe;\n /** Portable address: An address first line street address */\n addressLine1?: Maybe;\n /** Portable address: An address second line street address */\n addressLine2?: Maybe;\n /** Portable address: An address third line street address */\n addressLine3?: Maybe;\n /** Portable address: An address first line admin area */\n adminArea1?: Maybe;\n /** Portable address: An address second line admin area */\n adminArea2?: Maybe;\n /** Portable address: An address third line admin area */\n adminArea3?: Maybe;\n /** Portable address: An address forth line admin area */\n adminArea4?: Maybe;\n /**\n * A billing address city (Ex: 'San Jose')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use adminArea2 instead for portable format.\n */\n city?: Maybe;\n /**\n * A billing address two-letter country code (Ex: 'US')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use countryCode instead for portable format.\n */\n country?: Maybe;\n /** Portable address: An address two-letter country code */\n countryCode?: Maybe;\n /**\n * A billing address on a single line\n * (Ex: '2211 North 1st St, Apt 123, San Jose, CA 95131')\n */\n fullAddress?: Maybe;\n /** Indicates a billing address is selected or not. */\n isSelected?: Maybe;\n /**\n * A billing address first line street address (Ex: '2211 North 1st St')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use addressLine1 instead for portable format.\n */\n line1?: Maybe;\n /**\n * A billing address second line street address (Ex: 'Apt 123')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use addressLine2 instead for portable format.\n */\n line2?: Maybe;\n /** A billing address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /**\n * A billing address state/province (Ex: 'CA')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use adminArea1 instead for portable format.\n */\n state?: Maybe;\n};\n\n/** Countries which support localized strings from xo-content */\nexport enum CheckoutContentCountryCode {\n /** AUSTRIA */\n At = 'AT',\n /** AUSTRALIA */\n Au = 'AU',\n /** BELGIUM */\n Be = 'BE',\n /** BRAZIL */\n Br = 'BR',\n /** CHINA */\n C2 = 'C2',\n /** CANADA */\n Ca = 'CA',\n /** SWITZERLAND */\n Ch = 'CH',\n /** CZECH REPUBLIC */\n Cz = 'CZ',\n /** GERMANY */\n De = 'DE',\n /** DENMARK */\n Dk = 'DK',\n /** ESTONIA */\n Ee = 'EE',\n /** SPAIN */\n Es = 'ES',\n /** FINLAND */\n Fi = 'FI',\n /** FRANCE */\n Fr = 'FR',\n /** UNITED KINGDOM */\n Gb = 'GB',\n /** GREECE */\n Gr = 'GR',\n /** APAC */\n GroupApac = 'GROUP_APAC',\n /** EMEA */\n GroupEmea = 'GROUP_EMEA',\n /** LATAM */\n GroupLatam = 'GROUP_LATAM',\n /** HONG KONG */\n Hk = 'HK',\n /** HUNGARY */\n Hu = 'HU',\n /** INDONESIA */\n Id = 'ID',\n /** IRELAND */\n Ie = 'IE',\n /** ISRAEL */\n Il = 'IL',\n /** INDIA */\n In = 'IN',\n /** ITALY */\n It = 'IT',\n /** JAPAN */\n Jp = 'JP',\n /** REPUBLIC OF KOREA */\n Kr = 'KR',\n /** LITHUANIA */\n Lt = 'LT',\n /** LUXEMBOURG */\n Lu = 'LU',\n /** LATVIA */\n Lv = 'LV',\n /** MEXICO */\n Mx = 'MX',\n /** MALAYSIA */\n My = 'MY',\n /** NETHERLANDS */\n Nl = 'NL',\n /** NORWAY */\n No = 'NO',\n /** NEW ZEALAND */\n Nz = 'NZ',\n /** PHILIPPINES */\n Ph = 'PH',\n /** POLAND */\n Pl = 'PL',\n /** PORTUGAL */\n Pt = 'PT',\n /** ROMANIA */\n Ro = 'RO',\n /** RUSSIAN FEDERATION */\n Ru = 'RU',\n /** SWEDEN */\n Se = 'SE',\n /** SINGAPORE */\n Sg = 'SG',\n /** SLOVENIA */\n Si = 'SI',\n /** SLOVAKIA */\n Sk = 'SK',\n /** THAILAND */\n Th = 'TH',\n /** TURKEY */\n Tr = 'TR',\n /** TAIWAN */\n Tw = 'TW',\n /** UKRAINE */\n Ua = 'UA',\n /** UNITED STATES */\n Us = 'US',\n /** VIETNAM */\n Vn = 'VN'\n}\n\n/** Possible languages that xo-content may return */\nexport enum CheckoutContentLanguageCode {\n /** Arabic */\n Ar = 'ar',\n /** Belarusian */\n Be = 'be',\n /** Bulgarian */\n Bg = 'bg',\n /** Bengali */\n Bn = 'bn',\n /** Catalan */\n Ca = 'ca',\n /** Czech */\n Cs = 'cs',\n /** Welsh */\n Cy = 'cy',\n /** Danish */\n Da = 'da',\n /** German */\n De = 'de',\n /** Greek */\n El = 'el',\n /** English */\n En = 'en',\n /** Spanish */\n Es = 'es',\n /** Estonian */\n Et = 'et',\n /** Basque */\n Eu = 'eu',\n /** Finnish */\n Fi = 'fi',\n /** French */\n Fr = 'fr',\n /** Galician */\n Gl = 'gl',\n /** Hebrew */\n He = 'he',\n /** Hindi */\n Hi = 'hi',\n /** Croatian */\n Hr = 'hr',\n /** Hungarian */\n Hu = 'hu',\n /** Indonesian */\n Id = 'id',\n /** Icelandic */\n Is = 'is',\n /** Italian */\n It = 'it',\n /** Japanese */\n Ja = 'ja',\n /** Georgian */\n Ka = 'ka',\n /** Kazakh */\n Kk = 'kk',\n /** Khmer */\n Km = 'km',\n /** Korean */\n Ko = 'ko',\n /** Lithuanian */\n Lt = 'lt',\n /** Latvian */\n Lv = 'lv',\n /** Macedonian */\n Mk = 'mk',\n /** Mongolian */\n Mn = 'mn',\n /** Marathi */\n Mr = 'mr',\n /** Malay */\n Ms = 'ms',\n /** Dutch */\n Nl = 'nl',\n /** Norwegian */\n No = 'no',\n /** Punjabi */\n Pa = 'pa',\n /** Polish */\n Pl = 'pl',\n /** Portuguese */\n Pt = 'pt',\n /** Romanian */\n Ro = 'ro',\n /** Russian */\n Ru = 'ru',\n /** Sinhala */\n Si = 'si',\n /** Slovak */\n Sk = 'sk',\n /** Slovenian */\n Sl = 'sl',\n /** Albanian */\n Sq = 'sq',\n /** Swedish */\n Sv = 'sv',\n /** Swahili */\n Sw = 'sw',\n /** Tamil */\n Ta = 'ta',\n /** Telugu */\n Te = 'te',\n /** Thai */\n Th = 'th',\n /** Tagalog */\n Tl = 'tl',\n /** Turkish */\n Tr = 'tr',\n /** Ukrainian */\n Uk = 'uk',\n /** Urdu */\n Ur = 'ur',\n /** Vietnamese */\n Vi = 'vi',\n /** Chinese */\n Zh = 'zh'\n}\n\n/**\n * Encapsulates all properties related to a CheckoutCurrencyConversion.\n *\n * There are 2 types of the coversion rate: \"PAYPAL\" and \"VENDOR\"\n * Please note that conversion rate information is always for PAYPAL's type.\n * The only 2 fields that are associated with VENDOR type are \"type\" and \"isReadOnly\"\n */\nexport type CheckoutCurrencyConversion = {\n __typename?: 'CheckoutCurrencyConversion';\n /**\n * Whether or not a user can change the conversion type. If `false`, the conversion\n * type in the `type` field cannot be changed. If `true`, the user can switch between\n * the different types of `CheckoutCurrencyConversionType`.\n */\n canChangeConversionType?: Maybe;\n /**\n * The amount of cash back the user will receive in case of opting for selecting the PayPal's currency conversion rate.\n * User has to be enrolled in a cashback campaign in order to get cashback.\n */\n cashbackPercentage?: Maybe;\n /** The converted amount to be charged on the card. */\n convertedAmount?: Maybe;\n /**\n * The cart total with the currency conversion rate applied.\n * @deprecated convertedCartTotal is computed using cart totals, which is more inaccurate than using planning data about the user's mix of funding instruments. Use convertedAmount instead.\n */\n convertedCartTotal?: Maybe;\n /** PayPal currency conversion fee rate in percentage. (e.g '5.00') */\n feeRate?: Maybe;\n /** PayPal currency conversion fee rate in percentage formatted based on the locale. (e.g. '5,00 %') */\n feeRateFormatted?: Maybe;\n /** What the currency is converted from. */\n from?: Maybe;\n /**\n * Whether or not a user can change the conversion type. If `true`, the conversion\n * type in the `type` field cannot be changed. If `false`, the user can switch between\n * the different types of `CheckoutCurrencyConversionType`.\n * @deprecated Renamed to `canChangeConversionType` for more clarity around the purpose.\n */\n isReadOnly?: Maybe;\n /** Date of validity. The date that the conversion rate was issued. */\n issuedDate?: Maybe;\n /** The currency conversion rate. */\n rate?: Maybe;\n /** The currency conversion rate formatted. (Ex: 0.019991 INR) */\n rateFormatted?: Maybe;\n /** The currency conversion rate spread. */\n spread?: Maybe;\n /** What the currency is converted to. */\n to?: Maybe;\n /** Type of currency conversion rate. */\n type?: Maybe;\n};\n\n/** An enumeration of types that CheckoutCurrencyConversion can have. PAYPAL, VENDOR */\nexport enum CheckoutCurrencyConversionType {\n /** PayPal conversion rate */\n Paypal = 'PAYPAL',\n /** Vendor conversion rate */\n Vendor = 'VENDOR'\n}\n\n/** Customization type for checkout */\nexport type CheckoutCustomization = {\n __typename?: 'CheckoutCustomization';\n /**\n * Animation Info\n * @deprecated Renamed to design because some of the designs are not animated.\n */\n buttonAnimation?: Maybe;\n /** Design Info */\n buttonDesign?: Maybe;\n /** Button Text */\n buttonText?: Maybe;\n /** Tagline */\n tagline?: Maybe;\n};\n\n/** UI interaction types for checkout */\nexport enum CheckoutExperienceType {\n /** Full page UI type */\n FullPage = 'FULL_PAGE',\n /** In context UI type */\n InContext = 'IN_CONTEXT'\n}\n\n/** Enumeration to identify different flows of the checkout session */\nexport enum CheckoutFlow {\n /**\n * Configuration to set `client_configuration` for Link and Pay flow.\n * Setting this configuration will allow PAPS to fetch only the\n * FI which is attached to the billing agreement id\n */\n LinkAndPay = 'LINK_AND_PAY'\n}\n\n/** The number of possible installments, defined as \"terms\", for a given installment plan */\nexport enum CheckoutInstallmentOptionsTerm {\n /** Nine Months */\n Nine = 'NINE',\n /** One Month */\n One = 'ONE',\n /** Six Months */\n Six = 'SIX',\n /** Three Months */\n Three = 'THREE',\n /** Twelve Months */\n Twelve = 'TWELVE'\n}\n\n/**\n * Encapsulates all properties related to a locale.\n *\n * CheckoutLocale differs from GenericLocale,\n * because it takes into account Merchant preferences and\n * SetExpressCheckout API parameters.\n *\n * CheckoutLocale should be used for Checkout specific use cases.\n * GenericLocale should be used for all other use cases.\n * Ex: country, language, directionality, etc.\n */\nexport type CheckoutLocale = Locale & {\n __typename?: 'CheckoutLocale';\n /** A locale's country (Ex: 'US') */\n country?: Maybe;\n /** A locale's culture (Ex: 'en-US') */\n culture?: Maybe;\n /** A locale's directionality (Ex: 'ltr') */\n directionality?: Maybe;\n /** A locale's language (Ex: 'en') */\n language?: Maybe;\n /** A locale's locale (Ex: 'en_US') */\n locale?: Maybe;\n};\n\n/** Represents a string which can be localized */\nexport type CheckoutLocalizedString = {\n __typename?: 'CheckoutLocalizedString';\n /**\n * Returns a list of CheckoutLocalizedTuple types. See CheckoutLocalizedTuple\n * Passing 'country' is optional, otherwise all are returned.\n */\n translations: Array;\n};\n\n\n/** Represents a string which can be localized */\nexport type CheckoutLocalizedStringTranslationsArgs = {\n country?: InputMaybe;\n};\n\n/** Represents a translation, encapsulating both language translated to and the content */\nexport type CheckoutLocalizedTuple = {\n __typename?: 'CheckoutLocalizedTuple';\n /** Content (Ex: 'Visa Credit Card') */\n content: Scalars['String'];\n /** Language (Ex: 'en') */\n language: CheckoutContentLanguageCode;\n};\n\n/**\n * Encapsulates all properties related to Checkout Propensity Score.\n * Determines the usage propensity in a given session for different categories.\n */\nexport type CheckoutPropensityScore = {\n __typename?: 'CheckoutPropensityScore';\n /** Field encapsulating scores for credit related stuff */\n creditScore: CreditScores;\n /** Field encapsulating scores for FI related stuff */\n fiScore: FiScores;\n};\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSession = {\n __typename?: 'CheckoutSession';\n /**\n * The card issuers allowed to be used for a given CheckoutSession.\n * An array of CardIssuerType enums.\n *\n * Optionally pass a CountryCode if you want to be explicit, otherwise defaults\n * to node locale resolution that provides best guess based on user information, LANG cookie, etc\n *\n * Average SLA response time -- 250ms\n *\n * Required auth states: Any\n */\n allowedCardIssuers?: Maybe>>;\n /**\n * A Checkout session's billing addresses.\n * An Array of CheckoutBillingAddress types.\n *\n * Average SLA response time -- 30ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n billingAddresses?: Maybe>>;\n /** A Checkout session's current potential buyer */\n buyer?: Maybe;\n /**\n * The card product classes will be used to find whether a card is DEBIT/CREDIT/etc.\n * An array of CardProductClass enums.\n *\n * Required auth states: Any\n */\n cardProductClasses: Array>;\n /**\n * A Checkout session's cart.\n * Average SLA response time - 170ms\n *\n * Optionally pass a CountryCode, otherwise defaults to node locale resolution that provides\n * best guess based on user information, LANG cookie, etc (CountryCode is necessary to\n * retrieve the max over capture amount for the transaction).\n *\n * Required auth states: Any\n */\n cart?: Maybe;\n /** Returns type of checkout session: BILLING_WITH_PURCHASE, BILLING_WITHOUT_PURCHASE, PURCHASE. */\n checkoutSessionType?: Maybe;\n /** Returns all properties related to a completed payment */\n completedPaymentInfo?: Maybe;\n /**\n * Integration details for portable credit applications.\n * Average SLA response time - ??ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n creditApplyPortableIntegration?: Maybe;\n /**\n * A Checkout session's credit as FI marketing offers.\n * Average SLA response time - 50ms - (This might change)\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n creditAsFIOffers?: Maybe>>;\n /**\n * A Checkout session's selected credit financing option that was patched to the cart.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n creditFinancingOption?: Maybe;\n /** Credit metadata. For instance credit flags, settings and tools tips */\n creditMeta: CreditMeta;\n /**\n * A Checkout session's PPC credit marketing offers.\n * Average SLA response time - 50ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n creditPPCOffers?: Maybe>>;\n /**\n * Quote of the live value of a given crypto funding instrument, valid for 30 seconds.\n * Values returned are based on the amount of crypto the user has for that holding, and the amount that the user is\n * using in the purchase.\n */\n cryptocurrencyQuotes?: Maybe>>;\n /** Most recent declined instrument for the current checkout session. */\n declinedInstruments?: Maybe>>;\n /** Disallowed funding instruments for the given checkout session. */\n disallowedInstruments?: Maybe>>;\n /** Returns rewards-related offers pertinent to Checkout session. */\n estimatedRewards?: Maybe;\n /**\n * Existing Billing Agreement Details\n * Migrated from billingnodeserv for billing without purchase flow\n */\n existingBillingAgreementDetails?: Maybe;\n /**\n * A Checkout session's application data flags.\n * Average SLA response time - 40ms\n *\n * Required Roles: See CheckoutSessionFlags\n */\n flags?: Maybe;\n /**\n * A Checkout session's funding options, which lists the options the buyer has to pay for the transaction.\n *\n * Average SLA response time - 1750ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n fundingOptions?: Maybe>>;\n /**\n * A Checkout session's locale.\n *\n * Required auth states: Any\n */\n locale?: Maybe;\n /** A Checkout session's associated merchant */\n merchant: Merchant;\n /**\n * Returns all credit offers available to users who are not PayPal members\n *\n * countryCode - The country code of the buyer (e.g. US)\n * languageCode - The language code of the buyer (e.g. en). If not provided it will be resolved via req.locality.\n */\n nonMemberCreditOffers?: Maybe;\n /**\n * Optionally takes a list of offer program names (enums).\n * Returns a list of offers the user is eligible for,\n * non eligible offers will not be listed.\n */\n offers: Array>;\n /** Returns an array of payees. */\n payees?: Maybe>>;\n /** A Checkout session's payment contingencies */\n paymentContingencies?: Maybe;\n /** Provides the user's current SCA status and exemption reason, if any */\n secureCustomerAuthenticationContext?: Maybe;\n /**\n * A Checkout session's shipping addresses.\n * An Array of CheckoutShippingAddress types.\n * Average SLA response time - 1750ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n shippingAddresses?: Maybe>>;\n /** Returns a list of eligible `SplitFundingOption`s */\n splitFundingOptions?: Maybe>>;\n /**\n * Return state of checkout Session\n * Average SLA response time - 1750ms\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n state?: Maybe;\n /**\n * A checkout session's giving recommendation.\n * Average SLA response time - 50ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n suggestedDonation?: Maybe;\n /**\n * Returns an array of allowed card brands and corresponding supported bank issuers array returned by IDS.\n * Card brands and bank issuers may vary by user's country and merchant's country.\n * Separated from allowedCardIssuers - returned by PAPS and only returns supported card brands.\n *\n * IDS also returns funding sources' logo image urls\n */\n supportedFundingSources?: Maybe>>;\n /** Indicates if it's a Continue or Pay Now checkout flow. */\n userAction: CheckoutUserAction;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionAllowedCardIssuersArgs = {\n country?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionCartArgs = {\n country?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionCreditApplyPortableIntegrationArgs = {\n downsellOfferId?: InputMaybe;\n selectedCRCOffer?: InputMaybe;\n selectedCRCfi?: InputMaybe;\n selectedContinueGPLInterstitial?: InputMaybe;\n selectedShippingAddressId?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionCreditAsFiOffersArgs = {\n allowCache?: InputMaybe;\n areCookiesDisabled?: InputMaybe;\n isIframe?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionCreditPpcOffersArgs = {\n allowCache?: InputMaybe;\n allowNonQualifyingOffers?: InputMaybe;\n areCookiesDisabled?: InputMaybe;\n isIframe?: InputMaybe;\n merchantAppVersion?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionCryptocurrencyQuotesArgs = {\n amount: AmountInput;\n symbols: Array>;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionFundingOptionsArgs = {\n groupSourcesOnType?: InputMaybe>>;\n returnAllPlans?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionNonMemberCreditOffersArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionOffersArgs = {\n type?: InputMaybe>;\n};\n\n\n/**\n * Encapsulates all properties related to a CheckoutSession.\n * Ex: Cart, Plans, FundingOptions, etc\n */\nexport type CheckoutSessionSupportedFundingSourcesArgs = {\n userCountry?: InputMaybe;\n};\n\n/**\n * Encapsulates all flags related to a Checkout session.\n * Ex: isBillingAgreement, isVZeroIntegration, etc.\n */\nexport type CheckoutSessionFlags = {\n __typename?: 'CheckoutSessionFlags';\n /**\n * Indicates whether user can add a card without a billing address for the given country\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\n allowAddresslessAddCard?: Maybe;\n /** Indicates if it is allowed to create billing agreement without backup funding source or not */\n allowBillingAgreementWithoutBackupFundingSource?: Maybe;\n /** Indicates whether the user is allowed to change payment methods */\n allowChangePaymentMethod?: Maybe;\n /** Indicates whether non-domestic cards are blocked for the transaction. */\n blockNonDomesticCards?: Maybe;\n /** Indicates whether non-domestic transactions are blocked */\n blockNonDomesticPayer?: Maybe;\n /** Indicates whether international shipping is blocked or not */\n blockNonDomesticShipping?: Maybe;\n /** Flag indicating that the buyer has given the consent for promotional emails. */\n hasBuyerConsentedToPromotionalEmail?: Maybe;\n /**\n * Indicates when a transaction supports PayPal Credit payment installations, based on buyer and merchant eligibility.\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\n hasPPCreditInstallments?: Maybe;\n /** Indicates when the user has entered Checkout through a \"Pay Later\" button */\n hasPayLaterIntent?: Maybe;\n /** Indicates the entire cart (amount and details) should be hidden. */\n hideCart?: Maybe;\n /** Indicates the cart details should be hidden. */\n hideCartDetails?: Maybe;\n /** Indicates whether the merchant has passed the hide_cart_details flag. */\n hideCartDetailsFlag?: Maybe;\n /**\n * Predicts when the shipping address should be hidden.\n * Note: this is an optimistic flag and _usually_ means that\n * the checkout session will **not** have a selected address.\n *\n * Required auth states: Any\n */\n hideShipping?: Maybe;\n /**\n * A contingency for if the 3D Secure (3DS) flow is required.\n * If required, it must be resolved before approving the payment.\n * Average SLA response time - 1750ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\n is3DSecureRequired?: Maybe;\n /**\n * Flag indicating whether PayPal Balance is disallowed as FI or not.\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\n isBalanceDisallowed?: Maybe;\n /** Flag indicating whether the billing address of the Payer can be shared or not. */\n isBillingAddressConsentRequired?: Maybe;\n /**\n * Whether or not a checkout session is a Billing Agreement. A Boolean.\n *\n * Required auth states: Any\n */\n isBillingAgreement?: Maybe;\n /**\n * Whether or not changing a shipping address in a Checkout session is allowed. A Boolean.\n *\n * Required auth states: Any\n */\n isChangeShippingAddressAllowed?: Maybe;\n /** Contextual consent eligibility for PayPal on File Experiment */\n isContextualConsentEligibilityMet?: Maybe;\n /** Indicates when the user has entered Checkout through a \"PayPal Credit\" button */\n isCreditSecondButton?: Maybe;\n /**\n * Indicates when a checkout session requires a patch CVV call.\n *\n * Required auth states: Any\n */\n isCvvConfirmationRequired?: Maybe;\n /**\n * Whether or not a debit card is required to make a pyment.\n *\n * Required auth states: Any\n */\n isDebitRequired?: Maybe;\n /**\n * Whether or not a checkout session is a Digital Goods integration. A Boolean.\n *\n * Required auth states: Any\n */\n isDigitalGoodsIntegration?: Maybe;\n /**\n * Whether or not the current transaction is a donation.\n *\n * Required auth states: Any\n */\n isDonation?: Maybe;\n /**\n * Indicates when a credit offer should be shown to the user for second button\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\n isEligibleForCreditSecondButton?: Maybe;\n /**\n * Indicates if FRS(Free Return Shipping) is applicable for the Merchant.\n * @deprecated Org wide effort to remove FRS due to high costs and low usage\n */\n isFrsApplicable?: Maybe;\n /**\n * Whether or not a payment is eligible to be paid by a Guest. A Boolean.\n *\n * Required auth states: Any\n */\n isGuestEligible?: Maybe;\n /**\n * Whether or not a guest is eligible for upgrade to member. A Boolean.\n * @deprecated created a new query isGuestUpgradeableToMember\n */\n isGuestEligibleForUpgrade?: Maybe;\n /**\n * Whether or not a payment is eligible for inlined fields by a Guest. A Boolean.\n *\n * Required auth states: Any\n */\n isHostedFieldsAllowed: Scalars['Boolean'];\n /**\n * A flag to check if the checkoutSession contains INCENTIVE.\n * Average SLA response time - 1750ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\n isIncentivePresent?: Maybe;\n /**\n * Whether or not a payment is eligible for installments. A Boolean.\n *\n * Required auth states: Any\n */\n isInstallmentsEligible?: Maybe;\n /** Indicates whether or not the flow is an invoicing flow. */\n isInvoiceFlow?: Maybe;\n /** Indicates if it is legacy billing integration or not */\n isLegacyBillingIntegration?: Maybe;\n /** Indicates whether the txn is a multi seller purchase. */\n isMultiSellerPurchase?: Maybe;\n /**\n * Whether or not sharing address with merchant is optional. A Boolean.\n * For a donation transaction, we should not share user's address unless we\n * get user's consent to do so.\n *\n * Required auth states: Any\n */\n isOptionallyShareAddress?: Maybe;\n /** Whether or not a funding instrument is PAD preferred by the user when PAD is enabled. A Boolean. */\n isPadPreferred?: Maybe;\n /** Indicates whether shipping address is required */\n isShippingAddressRequired?: Maybe;\n /**\n * Whether or not a payment is eligible to be paid by a Guest that signs up. A Boolean.\n *\n * Required auth states: Any\n */\n isSignupEligible?: Maybe;\n /** Whether or not a guest is eligible for signup incentives. A Boolean */\n isSignupIncentiveEligible?: Maybe;\n /** Whether or not a guest is eligible for stretch rewards signup incentives. A Boolean */\n isSignupIncentiveEligibleStretchRewards?: Maybe;\n /** Whether or not Shipping and Taxes are supported in the checkout flow. A Boolean. */\n isSntSupported?: Maybe;\n /**\n * Whether or not a checkout session is a V.Zero (Braintree) integration. A Boolean.\n *\n * Required auth states: any\n */\n isVZeroIntegration?: Maybe;\n /** Indicates whether or not the flow is a WPS (Website Payments Standard) flow. */\n isWPS?: Maybe;\n /** Indicates whether or not the flow is a WPS (Website Payments Standard) autobilling flow. */\n isWpsAutobilling?: Maybe;\n /** Indicates whether or not the flow is a WPS (Website Payments Standard) installment plan flow. */\n isWpsInstallmentPlan?: Maybe;\n /** Indicates whether or not the flow is a WPS (Website Payments Standard) subscription flow. */\n isWpsSubscription?: Maybe;\n /** Indicates billing payment experience, ex: 'HERMES' */\n paymentExperience?: Maybe;\n /** Flag indicating if processor has previously declined for this token */\n processorDeclined?: Maybe;\n /** Indicates if set Sticky FI is allowed for the merchant */\n setStickyBillingAllowed?: Maybe;\n /**\n * Indicates when a PayPal Credit offer should be presented.\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\n showPPCreditOffer?: Maybe;\n /** Indicates whether or not the flow requires to disclose RTR text. */\n showRemittanceDisclosure?: Maybe;\n};\n\n\n/**\n * Encapsulates all flags related to a Checkout session.\n * Ex: isBillingAgreement, isVZeroIntegration, etc.\n */\nexport type CheckoutSessionFlagsAllowAddresslessAddCardArgs = {\n country?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all flags related to a Checkout session.\n * Ex: isBillingAgreement, isVZeroIntegration, etc.\n */\nexport type CheckoutSessionFlagsIsGuestEligibleArgs = {\n fundingSource?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all flags related to a Checkout session.\n * Ex: isBillingAgreement, isVZeroIntegration, etc.\n */\nexport type CheckoutSessionFlagsIsGuestEligibleForUpgradeArgs = {\n fundingSource?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all flags related to a Checkout session.\n * Ex: isBillingAgreement, isVZeroIntegration, etc.\n */\nexport type CheckoutSessionFlagsIsSignupEligibleArgs = {\n fundingSource?: InputMaybe;\n};\n\n/** An enumeration of State of Checkout Session. NOT_PAYABLE, PAYABLE, PAID */\nexport enum CheckoutSessionState {\n /** APPROVED. Session is Approved & DoEC can be called */\n Approved = 'APPROVED',\n /** NON_PAYABLE. Session Not Authorised & has contingencies or error for approving the call */\n NonPayable = 'NON_PAYABLE',\n /** PAID. Money Movemement has happened */\n Paid = 'PAID',\n /** PAYABLE. Session is eligible for ApprovePayment Call */\n Payable = 'PAYABLE'\n}\n\n/** Enumeration to identify different checkout sessions such as Billing with purchase, or just purchase with no billing type */\nexport enum CheckoutSessionType {\n /** BILLING_WITHOUT_PURCHASE. A user is creating/updating a billing agreement without doing a purchase. It could be NextGen(V1) subscriptions as well. */\n BillingWithoutPurchase = 'BILLING_WITHOUT_PURCHASE',\n /** BILLING_WITH_PURCHASE. Session Type where a Billing Agreement is created with purchase. */\n BillingWithPurchase = 'BILLING_WITH_PURCHASE',\n /** PURCHASE. Default checkout session type */\n Purchase = 'PURCHASE'\n}\n\n/**\n * Encapsulates all properties related to a generic address.\n * Ex: line1, city, state, postalCode, fullAddress, etc.\n */\nexport type CheckoutShippingAddress = Address & {\n __typename?: 'CheckoutShippingAddress';\n /** An Address ID (Ex: '285166') */\n addressId?: Maybe;\n /** Portable address: An address first line street address (Ex: '2211 North 1st St') */\n addressLine1?: Maybe;\n /** Portable address: An address second line street address (Ex: 'Apt 123') */\n addressLine2?: Maybe;\n /** Portable address: An address third line street address */\n addressLine3?: Maybe;\n /** Portable address: An address first line admin area - state/province (Ex: 'CA') */\n adminArea1?: Maybe;\n /** Portable address: An address second line admin area - city (Ex: 'San Jose') */\n adminArea2?: Maybe;\n /** Portable address: An address third line admin area */\n adminArea3?: Maybe;\n /** Portable address: An address forth line admin area */\n adminArea4?: Maybe;\n /**\n * An Address city (Ex: 'San Jose')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use adminArea2 instead for portable format.\n */\n city?: Maybe;\n /**\n * An Address two-letter country code (Ex: 'US')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use countryCode instead for portable format.\n */\n country?: Maybe;\n /** Portable address: An address two-letter country code */\n countryCode?: Maybe;\n /**\n * An Address on a single line\n * (Ex: '2211 North 1st St, Apt 123, San Jose, CA 95131')\n */\n fullAddress?: Maybe;\n /**\n * A full name associated with an Address, as a String (Ex: 'John Doe')\n * @deprecated CheckoutShippingAddress.fullName has been deprecated bceause 'name' is a better alternative being a PersonName type, rather than a String. Use 'name' instead.\n */\n fullName?: Maybe;\n /** If an Address is the default shipping address */\n isDefault?: Maybe;\n /**\n * If an Address is the default shipping address\n * @deprecated CheckoutShippingAddress.isDefaultShipping has been deprecated because 'Shipping' is redundant when part of the CheckoutShippingAddress type. Use 'isDefault' instead.\n */\n isDefaultShipping?: Maybe;\n /** If an Address is disabled for transaction */\n isDisabled?: Maybe;\n /** If an Address is the primary address */\n isPrimary?: Maybe;\n /**\n * An Address is selected. If you are listing out addresses in a UI, and\n * need to show that an address is selected, use this property.\n */\n isSelected?: Maybe;\n /**\n * An Address first line street address (Ex: '2211 North 1st St')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use addressLine1 instead for portable format.\n */\n line1?: Maybe;\n /**\n * An Address second line street address (Ex: 'Apt 123')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use addressLine2 instead for portable format.\n */\n line2?: Maybe;\n /** A name associated with the address */\n name?: Maybe;\n /**\n * Normalization status of the address, enum [\"UNKNOWN\", \"NORMALIZED\", \"NORMALIZATION_REJECTED\", \"UNNORMALIZED_USER_PREFERRED\"]\n * Ideally, we should have declared an enum for normalizationStatus. However, changing that now can break client apps.\n * UNNORMALIZED_USER_PREFERRED is a PAPS equivalent to NORMALIZATION_REJECTED which is used by User Domain.\n */\n normalizationStatus?: Maybe;\n /** An Address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /**\n * An Address state/province (Ex: 'CA')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use adminArea1 instead for portable format.\n */\n state?: Maybe;\n /** The suggested reformatted address */\n suggestedAddress?: Maybe;\n /** The type of Address (Ex: 'BILLING') */\n type?: Maybe;\n};\n\n/** Types of checkout integration */\nexport enum CheckoutSolutionType {\n /** Buyer must have a PayPal account to check out. */\n Mark = 'MARK',\n /** See https://developer.paypal.com/docs/classic/express-checkout/ec-shortcut/ */\n Shortcut = 'SHORTCUT',\n /** Buyer can check out without creating a PayPal account. This is referred to as PayPal Account Optional. */\n Sole = 'SOLE'\n}\n\n/** An enumeration of User Action in Checkout Session. CONTINUE, PAY_NOW */\nexport enum CheckoutUserAction {\n /**\n * Continue button appears when the final amount is not known\n * and buyer needs to get redirected to the merchant page without processing the payment.\"\n */\n Continue = 'CONTINUE',\n /**\n * Pay Now button appears when the final amount is known\n * and merchant wants to process the payment immediately when the buyer clicks Pay Now.\"\n */\n PayNow = 'PAY_NOW'\n}\n\n/** CCO Input */\nexport type ClientConfigInput = {\n /** ButtonSessionID */\n buttonSessionID?: InputMaybe;\n /** Buyer pay intent type */\n buyerIntent?: InputMaybe;\n /** Channel (Ex: Web, app) If not provided, will attempt to be detected based on request info. */\n channel?: InputMaybe;\n /** Type of client config button funding source */\n fundingSource?: InputMaybe;\n /** Merchant integration (Ex: sdk, v3, v4..) */\n integrationArtifact?: InputMaybe;\n /** Type of client config product code */\n productCode?: InputMaybe;\n /** The payment product features a payment for donations */\n productFeature?: InputMaybe;\n /** Flow type (Ex: buyer BA, suscription, hermes, SPB, Donation */\n productFlow?: InputMaybe;\n /** How the flow was initiated (Ex: Honey, redirect, inline iframe..) */\n userExperienceFlow?: InputMaybe;\n};\n\n/** CollectedConsent input represents the user agreement consent collected during signup. */\nexport type CollectedConsent = {\n /** collected consent name, ex: PRIVACY_STATEMENT_AGREEMENT */\n consentName?: InputMaybe;\n /** collected consent type, ex: FULL_CONSENT */\n consentType?: InputMaybe;\n};\n\n/** An enumeration of collected user consent name for signup. */\nexport enum CollectedConsentName {\n /** Privacy statement agreement consent */\n PrivacyStatementAgreement = 'PRIVACY_STATEMENT_AGREEMENT',\n /** privacy statement third party data sharing agreement consent */\n PrivacyStatementThirdPartyDataSharingAgreement = 'PRIVACY_STATEMENT_THIRD_PARTY_DATA_SHARING_AGREEMENT',\n /** privacy statement unique identification information processing agreement consent */\n PrivacyStatementUniqueIdentificationInformationProcessingAgreement = 'PRIVACY_STATEMENT_UNIQUE_IDENTIFICATION_INFORMATION_PROCESSING_AGREEMENT'\n}\n\n/** An enumeration of collected user consent type for signup. FULL_CONSENT, DENY_CONSENT */\nexport enum CollectedConsentType {\n /** Customer/Entity has denied or has declined to the consent/Legal Agreement. */\n DenyConsent = 'DENY_CONSENT',\n /** Customer/Entity has agreed or has provided the acceptance to the consent/Legal Agreement. */\n FullConsent = 'FULL_CONSENT'\n}\n\n/**\n * Encapsulates all properties related to the Common Reporting Standards mandate.\n * This new mandate requires PayPal to gather tax information from the user so PayPal can\n * report that to the goverment.\n */\nexport type CommonReportingStandardsInput = {\n /** Buyer's first name (Ex: 'John') */\n firstName: Scalars['String'];\n /** Buyer's last name (Ex: 'Smith') */\n lastName: Scalars['String'];\n /** Whether or not the user pays taxes in a different country */\n subjectToTaxOutsideLegalCountry: Scalars['Boolean'];\n /** Encapsulates all additional information the user needs to present when paying taxes in another country */\n taxDetails?: InputMaybe>>;\n};\n\n/** Complete card otp confirmation input for otp verification for a new card. */\nexport type CompleteCardOtpConfirmationInput = {\n /** Expiration date of a card (Ex: '02/2021') */\n expirationDate?: InputMaybe;\n /** one time password code entered by the user (Ex: 1234) */\n otpCode: Scalars['String'];\n /** 3 or 4 digits security code of a card (Ex: '123') */\n securityCode?: InputMaybe;\n};\n\n/** Encapsulates the status of complete otp confirmation response. */\nexport type CompleteOtpConfirmationResponse = {\n __typename?: 'CompleteOtpConfirmationResponse';\n /** Overall status of complete otp call */\n status?: Maybe;\n};\n\n/** Encapsulates all properties related to a completed payment. */\nexport type CompletedPaymentInfo = {\n __typename?: 'CompletedPaymentInfo';\n /** Postback data about payment that merchant's can leverage */\n postbackData?: Maybe;\n /** The receipt ID (Ex: '8L1648555R462703G'). */\n receiptId?: Maybe;\n /** Soft descriptor about the merchant, appears on bank statements (Ex: 'PP*SPECIALDAYW'). */\n softDescriptor?: Maybe;\n /** The transaction's ID (Ex: '57E19243DN3823220'). */\n transactionId?: Maybe;\n /** The transaction's state (Ex: 'COMPLETED' or 'PENDING'). */\n transactionState?: Maybe;\n};\n\n/** Encapsulates the cvv data that will be returned when a confirm credit card cvv payment contingency is surfaced by PAPS */\nexport type ConfirmCreditCardCvvContingency = {\n __typename?: 'ConfirmCreditCardCvvContingency';\n /** The encrypted id of the user's credit card */\n encryptedId: Scalars['String'];\n /** The last 4 digits of the user's credit card number */\n lastFourDigits: Scalars['String'];\n /** The user's card issuer */\n type: CardIssuerType;\n};\n\n/** Represents the desired data for confirming a credit card's cvv */\nexport type ConfirmCreditCardCvvInput = {\n /** The credit card's cvv number as a String (Ex: '123') */\n cvv: Scalars['String'];\n /** An ecrypted credit card is as a String (Ex: 'CCA2NP3NVAPABBQ') */\n encryptedId: Scalars['String'];\n /** The last four digits of the user's credit card number as a String (Ex: '7062') */\n lastFourDigits: Scalars['String'];\n /** The card issuer as a CardIssuerType(Ex: 'VISA') */\n type: CardIssuerType;\n};\n\n/**\n * Encapsulates all properties related to constraint on fi.\n * EX(Constarint for AUTH)\n */\nexport type Constraint = {\n __typename?: 'Constraint';\n /** amount of constraint */\n amount?: Maybe;\n /** type for constraint.(EX: 'AUTH') */\n type?: Maybe;\n};\n\n/** An enumeration of types that an ConstraintType can be. AUTH, etc */\nexport enum ConstraintType {\n /** the constraint type is smart auth */\n Auth = 'AUTH'\n}\n\n/** Encapsulates the flow id returned by consumer flow library */\nexport type ConsumerFlowId = {\n __typename?: 'ConsumerFlowId';\n /** The flow id */\n flowId: Scalars['String'];\n};\n\n/** Encapsulates all properties related to the cookie banner for client rendering */\nexport type CookieBanner = {\n __typename?: 'CookieBanner';\n /** A string of the CSS styles tag */\n css: Scalars['String'];\n /** A string of the HTML markup */\n html: Scalars['String'];\n /** A string of JavaScript script tag */\n js: Scalars['String'];\n};\n\n/** An enumeration of Country Codes by ISO-3166-1 ALPHA-2 standards */\nexport enum CountryCodes {\n /** Andorra */\n Ad = 'AD',\n /** United Arab Emirates */\n Ae = 'AE',\n /** Afghanistan */\n Af = 'AF',\n /** Antigua and Barbuda */\n Ag = 'AG',\n /** Anguilla */\n Ai = 'AI',\n /** Albania */\n Al = 'AL',\n /** Armenia */\n Am = 'AM',\n /** Netherlands Antilles */\n An = 'AN',\n /** Angola */\n Ao = 'AO',\n /** Antarctica */\n Aq = 'AQ',\n /** Argentina */\n Ar = 'AR',\n /** American Samoa */\n As = 'AS',\n /** Austria */\n At = 'AT',\n /** Australia */\n Au = 'AU',\n /** Aruba */\n Aw = 'AW',\n /** Aland Islands */\n Ax = 'AX',\n /** Azerbaijan */\n Az = 'AZ',\n /** Bosnia and Herzegovina */\n Ba = 'BA',\n /** Barbados */\n Bb = 'BB',\n /** Bangladesh */\n Bd = 'BD',\n /** Belgium */\n Be = 'BE',\n /** Burkina Faso */\n Bf = 'BF',\n /** Bulgaria */\n Bg = 'BG',\n /** Bahrain */\n Bh = 'BH',\n /** Burundi */\n Bi = 'BI',\n /** Benin */\n Bj = 'BJ',\n /** Saint Barthelemy */\n Bl = 'BL',\n /** Bermuda */\n Bm = 'BM',\n /** Brunei */\n Bn = 'BN',\n /** Bolivia */\n Bo = 'BO',\n /** Bonaire, Saint Eustatius and Saba */\n Bq = 'BQ',\n /** Brazil */\n Br = 'BR',\n /** Bahamas */\n Bs = 'BS',\n /** Bhutan */\n Bt = 'BT',\n /** Bouvet Island */\n Bv = 'BV',\n /** Botswana */\n Bw = 'BW',\n /** Belarus */\n By = 'BY',\n /** Belize */\n Bz = 'BZ',\n /** China */\n C2 = 'C2',\n /** Canada */\n Ca = 'CA',\n /** Cocos Islands */\n Cc = 'CC',\n /** Democratic Republic of the Congo */\n Cd = 'CD',\n /** Central African Republic */\n Cf = 'CF',\n /** Republic of the Congo */\n Cg = 'CG',\n /** Switzerland */\n Ch = 'CH',\n /** Ivory Coast */\n Ci = 'CI',\n /** Cook Islands */\n Ck = 'CK',\n /** Chile */\n Cl = 'CL',\n /** Cameroon */\n Cm = 'CM',\n /** China */\n Cn = 'CN',\n /** Colombia */\n Co = 'CO',\n /** Costa Rica */\n Cr = 'CR',\n /** Serbia and Montenegro */\n Cs = 'CS',\n /** Cuba */\n Cu = 'CU',\n /** Cape Verde */\n Cv = 'CV',\n /** Curacao */\n Cw = 'CW',\n /** Christmas Island */\n Cx = 'CX',\n /** Cyprus */\n Cy = 'CY',\n /** Czech Republic */\n Cz = 'CZ',\n /** Germany */\n De = 'DE',\n /** Djibouti */\n Dj = 'DJ',\n /** Denmark */\n Dk = 'DK',\n /** Dominica */\n Dm = 'DM',\n /** Dominican Republic */\n Do = 'DO',\n /** Algeria */\n Dz = 'DZ',\n /** Ecuador */\n Ec = 'EC',\n /** Estonia */\n Ee = 'EE',\n /** Egypt */\n Eg = 'EG',\n /** Western Sahara */\n Eh = 'EH',\n /** Eritrea */\n Er = 'ER',\n /** Spain */\n Es = 'ES',\n /** Ethiopia */\n Et = 'ET',\n /** Finland */\n Fi = 'FI',\n /** Fiji */\n Fj = 'FJ',\n /** Falkland Islands */\n Fk = 'FK',\n /** Micronesia */\n Fm = 'FM',\n /** Faroe Islands */\n Fo = 'FO',\n /** France */\n Fr = 'FR',\n /** Gabon */\n Ga = 'GA',\n /** United Kingdom */\n Gb = 'GB',\n /** Grenada */\n Gd = 'GD',\n /** Georgia */\n Ge = 'GE',\n /** French Guiana */\n Gf = 'GF',\n /** Guernsey */\n Gg = 'GG',\n /** Ghana */\n Gh = 'GH',\n /** Gibraltar */\n Gi = 'GI',\n /** Greenland */\n Gl = 'GL',\n /** Gambia */\n Gm = 'GM',\n /** Guinea */\n Gn = 'GN',\n /** Guadeloupe */\n Gp = 'GP',\n /** Equatorial Guinea */\n Gq = 'GQ',\n /** Greece */\n Gr = 'GR',\n /** South Georgia and the South Sandwich Islands */\n Gs = 'GS',\n /** Guatemala */\n Gt = 'GT',\n /** Guam */\n Gu = 'GU',\n /** Guinea-Bissau */\n Gw = 'GW',\n /** Guyana */\n Gy = 'GY',\n /** Hong Kong */\n Hk = 'HK',\n /** Heard Island and McDonald Islands */\n Hm = 'HM',\n /** Honduras */\n Hn = 'HN',\n /** Croatia */\n Hr = 'HR',\n /** Haiti */\n Ht = 'HT',\n /** Hungary */\n Hu = 'HU',\n /** Indonesia */\n Id = 'ID',\n /** Ireland */\n Ie = 'IE',\n /** Israel */\n Il = 'IL',\n /** Isle of Man */\n Im = 'IM',\n /** India */\n In = 'IN',\n /** British Indian Ocean Territory */\n Io = 'IO',\n /** Iraq */\n Iq = 'IQ',\n /** Iran */\n Ir = 'IR',\n /** Iceland */\n Is = 'IS',\n /** Italy */\n It = 'IT',\n /** Jersey */\n Je = 'JE',\n /** Jamaica */\n Jm = 'JM',\n /** Jordan */\n Jo = 'JO',\n /** Japan */\n Jp = 'JP',\n /** Kenya */\n Ke = 'KE',\n /** Kyrgyzstan */\n Kg = 'KG',\n /** Cambodia */\n Kh = 'KH',\n /** Kiribati */\n Ki = 'KI',\n /** Comoros */\n Km = 'KM',\n /** Saint Kitts and Nevis */\n Kn = 'KN',\n /** North Korea */\n Kp = 'KP',\n /** South Korea */\n Kr = 'KR',\n /** Kuwait */\n Kw = 'KW',\n /** Cayman Islands */\n Ky = 'KY',\n /** Kazakhstan */\n Kz = 'KZ',\n /** Laos */\n La = 'LA',\n /** Lebanon */\n Lb = 'LB',\n /** Saint Lucia */\n Lc = 'LC',\n /** Liechtenstein */\n Li = 'LI',\n /** Sri Lanka */\n Lk = 'LK',\n /** Liberia */\n Lr = 'LR',\n /** Lesotho */\n Ls = 'LS',\n /** Lithuania */\n Lt = 'LT',\n /** Luxembourg */\n Lu = 'LU',\n /** Latvia */\n Lv = 'LV',\n /** Libya */\n Ly = 'LY',\n /** Morocco */\n Ma = 'MA',\n /** Monaco */\n Mc = 'MC',\n /** Moldova */\n Md = 'MD',\n /** Montenegro */\n Me = 'ME',\n /** Saint Martin */\n Mf = 'MF',\n /** Madagascar */\n Mg = 'MG',\n /** Marshall Islands */\n Mh = 'MH',\n /** Macedonia */\n Mk = 'MK',\n /** Mali */\n Ml = 'ML',\n /** Myanmar */\n Mm = 'MM',\n /** Mongolia */\n Mn = 'MN',\n /** Macao */\n Mo = 'MO',\n /** Northern Mariana Islands */\n Mp = 'MP',\n /** Martinique */\n Mq = 'MQ',\n /** Mauritania */\n Mr = 'MR',\n /** Montserrat */\n Ms = 'MS',\n /** Malta */\n Mt = 'MT',\n /** Mauritius */\n Mu = 'MU',\n /** Maldives */\n Mv = 'MV',\n /** Malawi */\n Mw = 'MW',\n /** Mexico */\n Mx = 'MX',\n /** Malaysia */\n My = 'MY',\n /** Mozambique */\n Mz = 'MZ',\n /** Namibia */\n Na = 'NA',\n /** New Caledonia */\n Nc = 'NC',\n /** Niger */\n Ne = 'NE',\n /** Norfolk Island */\n Nf = 'NF',\n /** Nigeria */\n Ng = 'NG',\n /** Nicaragua */\n Ni = 'NI',\n /** Netherlands */\n Nl = 'NL',\n /** Norway */\n No = 'NO',\n /** Nepal */\n Np = 'NP',\n /** Nauru */\n Nr = 'NR',\n /** Niue */\n Nu = 'NU',\n /** New Zealand */\n Nz = 'NZ',\n /** Oman */\n Om = 'OM',\n /** Panama */\n Pa = 'PA',\n /** Peru */\n Pe = 'PE',\n /** French Polynesia */\n Pf = 'PF',\n /** Papua New Guinea */\n Pg = 'PG',\n /** Philippines */\n Ph = 'PH',\n /** Pakistan */\n Pk = 'PK',\n /** Poland */\n Pl = 'PL',\n /** Saint Pierre and Miquelon */\n Pm = 'PM',\n /** Pitcairn */\n Pn = 'PN',\n /** Puerto Rico */\n Pr = 'PR',\n /** Palestinian Territory */\n Ps = 'PS',\n /** Portugal */\n Pt = 'PT',\n /** Palau */\n Pw = 'PW',\n /** Paraguay */\n Py = 'PY',\n /** Qatar */\n Qa = 'QA',\n /** Reunion */\n Re = 'RE',\n /** Romania */\n Ro = 'RO',\n /** Serbia */\n Rs = 'RS',\n /** Russia */\n Ru = 'RU',\n /** Rwanda */\n Rw = 'RW',\n /** Saudi Arabia */\n Sa = 'SA',\n /** Solomon Islands */\n Sb = 'SB',\n /** Seychelles */\n Sc = 'SC',\n /** Sudan */\n Sd = 'SD',\n /** Sweden */\n Se = 'SE',\n /** Singapore */\n Sg = 'SG',\n /** Saint Helena */\n Sh = 'SH',\n /** Slovenia */\n Si = 'SI',\n /** Svalbard and Jan Mayen */\n Sj = 'SJ',\n /** Slovakia */\n Sk = 'SK',\n /** Sierra Leone */\n Sl = 'SL',\n /** San Marino */\n Sm = 'SM',\n /** Senegal */\n Sn = 'SN',\n /** Somalia */\n So = 'SO',\n /** Suriname */\n Sr = 'SR',\n /** South Sudan */\n Ss = 'SS',\n /** Sao Tome and Principe */\n St = 'ST',\n /** El Salvador */\n Sv = 'SV',\n /** Sint Maarten */\n Sx = 'SX',\n /** Syria */\n Sy = 'SY',\n /** Swaziland */\n Sz = 'SZ',\n /** Turks and Caicos Islands */\n Tc = 'TC',\n /** Chad */\n Td = 'TD',\n /** French Southern Territories */\n Tf = 'TF',\n /** Togo */\n Tg = 'TG',\n /** Thailand */\n Th = 'TH',\n /** Tajikistan */\n Tj = 'TJ',\n /** Tokelau */\n Tk = 'TK',\n /** East Timor */\n Tl = 'TL',\n /** Turkmenistan */\n Tm = 'TM',\n /** Tunisia */\n Tn = 'TN',\n /** Tonga */\n To = 'TO',\n /** Turkey */\n Tr = 'TR',\n /** Trinidad and Tobago */\n Tt = 'TT',\n /** Tuvalu */\n Tv = 'TV',\n /** Taiwan */\n Tw = 'TW',\n /** Tanzania */\n Tz = 'TZ',\n /** Ukraine */\n Ua = 'UA',\n /** Uganda */\n Ug = 'UG',\n /** United States Minor Outlying Islands */\n Um = 'UM',\n /** United States */\n Us = 'US',\n /** Uruguay */\n Uy = 'UY',\n /** Uzbekistan */\n Uz = 'UZ',\n /** Vatican */\n Va = 'VA',\n /** Saint Vincent and the Grenadines */\n Vc = 'VC',\n /** Venezuela */\n Ve = 'VE',\n /** British Virgin Islands */\n Vg = 'VG',\n /** U.S. Virgin Islands */\n Vi = 'VI',\n /** Vietnam */\n Vn = 'VN',\n /** Vanuatu */\n Vu = 'VU',\n /** Wallis and Futuna */\n Wf = 'WF',\n /** Samoa */\n Ws = 'WS',\n /** Kosovo */\n Xk = 'XK',\n /** Yemen */\n Ye = 'YE',\n /** Mayotte */\n Yt = 'YT',\n /** South Africa */\n Za = 'ZA',\n /** Zambia */\n Zm = 'ZM',\n /** Zimbabwe */\n Zw = 'ZW'\n}\n\n/**\n * Encapsulates all properties related to portable credit integrations.\n * Average SLA response time - ??ms\n */\nexport type CreditApplyPortable = {\n __typename?: 'CreditApplyPortable';\n /** Encrypted payload for initial data to CAP for the GPL flow */\n capInitialData?: Maybe;\n};\n\n/** Encapsulates all properties related to a credit as a Funding Instrument. */\nexport type CreditAsFi = {\n __typename?: 'CreditAsFI';\n /** Encapsulates all properties related to a credit as FI offer */\n creditOffer?: Maybe;\n /**\n * Total fee for installments\n * repaymentInstrument is not applicable for PPC\n */\n repaymentInstrument?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a credit as FI offer for the RYI page.\n * Average SLA response time - 50ms - (This might change)\n */\nexport type CreditAsFiOffer = {\n __typename?: 'CreditAsFIOffer';\n /**\n * Offer ID for the offer returned by crcofferserv\n * crcOfferId is not applicable for PPC\n */\n crcOfferId?: Maybe;\n /** Credit Offer Type i.e. CORE, SAC, INST, EZP etc */\n creditOfferType?: Maybe;\n /**\n * All the Credit PayLater Product deatils\n * creditPayLater is not applicable for PPC\n */\n creditPayLater?: Maybe;\n /** All the Cross Currency related information */\n crossCurrencyInfo?: Maybe;\n /** Financing code is the id for a particular offer returned by credit financing serv. */\n financingCode?: Maybe;\n /** Offer Category i.e. ACQ, reuse etc */\n offerCategory?: Maybe;\n /** PresentmentType for offer i.e. radio/banner */\n presentmentType?: Maybe;\n /** Credit product associated with this offer. For example Pay later, PayPal Credit, etc. */\n product?: Maybe;\n /**\n * Rank of this specific offer within the overall list. Rank will not necessarily\n * be consecutive if other touchpoints had higher priorities.\n */\n rank?: Maybe;\n /** A marketing offer's reference ID. */\n referenceId?: Maybe;\n /** Uitilities for tracking this offer and the user's interaction with it */\n trackingDetails?: Maybe;\n /** All the UI Elements data (offer, RYI etc) */\n uiElements?: Maybe;\n};\n\n/**\n * Encapsulates all properties related Cross Currency.\n * Ex: rate, to, rate, etc.\n */\nexport type CreditCrossCurrency = {\n __typename?: 'CreditCrossCurrency';\n /** Descriptor text for cross currency with Details on the validity of the offered rate */\n currencyConversionDescriptor?: Maybe;\n /** Conversion rate offered by PayPal upto 10 decimals(Eg: 1.511645640091386) */\n currencyConversionRate?: Maybe;\n /** Currency to which conversion offered (Eg. EUR in the case of GPL/FR) */\n fromCurrencyCode?: Maybe;\n /** Currency to which amount converted (Eg. 1,00 in the case of fr_FR) */\n fromFormattedCurrencyConversionValue?: Maybe;\n /** Honour FX Id or AuditTrail Id */\n fxAuditTrailId?: Maybe;\n /** Learn More url to be redirected when clicked on Learn More Text */\n learnMoreLink?: Maybe;\n /** Learn More Text to be used as link text */\n learnMoreText?: Maybe;\n /** Descriptor text for PayPal Rate (Eg: PayPal rate:) */\n rateDescriptor?: Maybe;\n /** Currency from which conversion offered (Eg. USD in the case of USD transaction for GPL/FR) */\n toCurrencyCode?: Maybe;\n /** Formatted rate as per forex format decimals mostly 5 (Eg: 1.51165) */\n toFormattedCurrencyConversionValue?: Maybe;\n};\n\n/** Encapsulates all properties related to the down payment for a credit offer. */\nexport type CreditDownPayment = {\n __typename?: 'CreditDownPayment';\n /** The total currency amount of the down payment */\n amount?: Maybe;\n /**\n * The rate of the down payment relative to the total cost\n * e.g. For a $25 down payment on a $100 transaction the rate is 25%\n */\n rate?: Maybe;\n};\n\n/** Encapsulates all properties related to a credit as FI offer for the RYI page. */\nexport type CreditFiuiProperties = {\n __typename?: 'CreditFIUIProperties';\n /** Checkout button text (continue) */\n continueButtonText?: Maybe;\n /** Description text */\n descriptorText?: Maybe;\n /** Headline text */\n headlineText?: Maybe;\n /** Checkout button text (pay) */\n payButtonText?: Maybe;\n /** Recurring Payment Formatted Text */\n paymentFormattedText?: Maybe;\n /** Section Headline text */\n sectionHeadlineText?: Maybe;\n /** Term Formatted Text */\n termFormattedText?: Maybe;\n /** Terms Text */\n termsText?: Maybe;\n};\n\n/** Credit FI details */\nexport type CreditFinancialInstrumentDetailsInput = {\n /** APR */\n apr?: InputMaybe;\n /** Credit type */\n creditType?: InputMaybe;\n /** Currency */\n currency?: InputMaybe;\n /** Financing code */\n financingCode?: InputMaybe;\n /** Monthly payment */\n monthlyPayment?: InputMaybe;\n /** Monthly percentage rate */\n monthlyPercentageRate?: InputMaybe;\n /** PayPal subsidy */\n paypalSubsidy?: InputMaybe;\n /** Terms */\n term?: InputMaybe;\n /** Total cost */\n totalCost?: InputMaybe;\n /** Total interest */\n totalInterest?: InputMaybe;\n};\n\n/** Encapsulates all properties related to the credit financing option patched to the Cart. */\nexport type CreditFinancingOption = {\n __typename?: 'CreditFinancingOption';\n /** The percentage, as string. For example, 19.99% interest rate as 19.99. */\n apr?: Maybe;\n /** Type of credit. For example, INST for installment */\n creditType?: Maybe;\n /** Identifier of the credit option */\n financingCode?: Maybe;\n /** Amount to be payed each month */\n monthlyPayment?: Maybe;\n /** Monthly interest rate. For example, 1.08% interest rate as 1.08. */\n monthlyPercentageRate?: Maybe;\n /** True if credit fee is funded by PayPal */\n paypalSubsidy?: Maybe;\n /** The term (period of time) over which to finance the transaction. */\n term?: Maybe;\n /** Total purchase cost + interest */\n totalCost?: Maybe;\n /** Total interest amount */\n totalInterest?: Maybe;\n};\n\n/** Credit Incentive Details */\nexport type CreditIncentiveDetailsInput = {\n /** Buy item ID, same as reference ID */\n buyItemId?: InputMaybe;\n /** Headline text */\n headlineText?: InputMaybe;\n /** Incentive offer currency code */\n offerCurrencyCode?: InputMaybe;\n /** Incentive offer program code */\n offerProgramCode?: InputMaybe;\n /** Incentive offer ID */\n offerProgramId?: InputMaybe;\n /** Offer text 1 */\n offerText1?: InputMaybe;\n /** Offer text 2 */\n offerText2?: InputMaybe;\n /** Incentive offer value */\n offerValue?: InputMaybe;\n /** Terms link */\n termsLink?: InputMaybe;\n /** Terms link text */\n termsLinkText?: InputMaybe;\n /** Terms text */\n termsText?: InputMaybe;\n /** Touchpoint of incentive offer */\n touchpoint?: InputMaybe;\n};\n\n/** Allows you to query for credit metadata */\nexport type CreditMeta = {\n __typename?: 'CreditMeta';\n /**\n * Credit suggestion call-to-action text\n *\n * Call-to-action text that can be used with creditSuggestion\n * Example: 'See offers'\n */\n creditSuggestionCTAText?: Maybe;\n /**\n * Credit suggestion text\n *\n * A short phrase highlighting credit options to the user\n * Example: 'More ways to pay over time'\n */\n creditSuggestionText?: Maybe;\n /** Indicates whether the merchant is an EZP (Easy Payments) merchant */\n easyPaymentsMerchant: Scalars['Boolean'];\n /**\n * Secondary credit suggestion call-to-action text\n *\n * Call-to-action text for the secondaryCreditSuggestion\n * Example: 'See offers'\n */\n secondaryCreditSuggestionCTAText?: Maybe;\n /**\n * Secondary credit suggestion text\n *\n * Similar to creditSuggestionText, but may be a different phrase used in a\n * different location on the frontend\n */\n secondaryCreditSuggestionText?: Maybe;\n /** Indicates whether there was upstream (merchant) credit presentment */\n upstreamCreditPresentment: Scalars['Boolean'];\n};\n\n/** An enumeration of types that an CreditOfferCategoryType can be. ACQ, REUSE, etc. */\nexport enum CreditOfferCategoryType {\n /** An acquisition banner */\n Acq = 'ACQ',\n /** A reuse banner for credit */\n Reuse = 'REUSE'\n}\n\n/** An enumeration of types that an CreditOfferType can be. INST, NI, CORE, etc. */\nexport enum CreditOfferType {\n /** Core offer type */\n Core = 'CORE',\n /** Easy Pay offer type */\n Ezp = 'EZP',\n /** Installment offer type */\n Inst = 'INST',\n /** NO Interest offer type */\n Ni = 'NI',\n /** Pay As Low As offer type */\n Pala = 'PALA',\n /** Pay Upon Invoice */\n Pui = 'PUI'\n}\n\n/**\n * Encapsulates all properties related to a credit PPC offer for the RYI page.\n * Average SLA response time - 50ms\n */\nexport type CreditPpcOffer = {\n __typename?: 'CreditPPCOffer';\n /**\n * A marketing offer's content.\n * An object of key/values that are relevant to a campaign. This is an opaque\n * object, so be very careful removing fields and do not change existing fields\n */\n content?: Maybe;\n /** Pay later offer details */\n creditPayLater?: Maybe;\n /**\n * Indicates whether this message is associated to an 'approved' GPL-FI.\n * Currently, this only apply to multi-offer messages;\n */\n isApproved?: Maybe;\n /**\n * Indicates whether this message is 'selected'.\n * This only apply to:\n * - credit re-use offers\n * (since you can't pre-select any acquistion offer for the user)\n * When isSelected: true for a re-use offer it means that the credit FI\n * is the buyer's default selected FI\n * - multi-offer messages\n * When isSelected: true for a multi-offer message it means that it will be\n * pre-selected inside the RYI\n */\n isSelected?: Maybe;\n /** Indicates whether a credit offer is 'qualifying' or not */\n qualifyingOffer?: Maybe;\n /**\n * Rank of this specific offer within the overall list. Rank will not necessarily\n * be consecutive if other touchpoints had higher priorities.\n */\n rank?: Maybe;\n /** A marketing offer's reference ID. */\n referenceId?: Maybe;\n /** A marketing offer's touchpoint used as campaign placement code. */\n touchpoint?: Maybe;\n /** Uitilities for tracking this offer and the user's interaction with it. */\n trackingDetails?: Maybe;\n};\n\n/** Encapsulates all properties related to a credit pay later. */\nexport type CreditPayLater = {\n __typename?: 'CreditPayLater';\n /** Installments schedule */\n installmentsSchedule?: Maybe>>;\n /** No down payment amount */\n noDownPaymentAmt?: Maybe;\n /** Total cost is cart amount */\n totalCost?: Maybe;\n /** Total fee for installments */\n totalFee?: Maybe;\n /** Total interests for installments */\n totalInterest?: Maybe;\n};\n\n/** An enumeration of types that an CreditPaymentType can be. DOWN_PAYMENT, INSTALLMENT, etc. */\nexport enum CreditPaymentType {\n /** A down payment for first installment in schedule */\n DownPayment = 'DOWN_PAYMENT',\n /** An installment after the first down payment */\n Installment = 'INSTALLMENT'\n}\n\n/** An enumeration of types that an CreditPresentmentType can be. RADIO, BANNER, etc. */\nexport enum CreditPresentmentType {\n /** Banner Presentment Type */\n Banner = 'Banner',\n /** NativeMobileXOCarousel Presentment Type for native */\n NativeMobileXoCarousel = 'NativeMobileXOCarousel',\n /** Radio Presentment Type */\n Radio = 'Radio'\n}\n\n/** Contains actual score and metadata */\nexport type CreditProductScoreInfo = {\n __typename?: 'CreditProductScoreInfo';\n /**\n * Meta data: credit product name associated. Example: PAYPAL_CREDIT, PAY_IN_4, PAY_IN_3\n * Can be used by client for instrumentation purposes, indentification of underlying product for a returned score.\n */\n productName: CreditProducts;\n /** Actual Score */\n score?: Maybe;\n};\n\n/** An enumeration of types that an CreditProductType can be. GPL, PPC, CO-BRAND, etc. */\nexport enum CreditProductType {\n /** Credit card installments */\n CreditCardInstallments = 'CREDIT_CARD_INSTALLMENTS',\n /** Global Pay Later */\n Gpl = 'GPL',\n /** PayPal Credit */\n Ppc = 'PPC',\n /** Pay upon invoice */\n Pui = 'PUI'\n}\n\n/** Enums for all Credit related Products */\nexport enum CreditProducts {\n /** Paypal Credit */\n PaypalCredit = 'PAYPAL_CREDIT',\n /** Pay in 3 */\n PayIn_3 = 'PAY_IN_3',\n /** Pay in 4 */\n PayIn_4 = 'PAY_IN_4',\n /** Pay in 4x */\n PayIn_4X = 'PAY_IN_4X',\n /** Pay in 30 */\n PayIn_30 = 'PAY_IN_30',\n /** Pay Monthly */\n PayMonthly = 'PAY_MONTHLY'\n}\n\n/** Installment details */\nexport type CreditRedirectFinancialInstrumentDetails = {\n __typename?: 'CreditRedirectFinancialInstrumentDetails';\n /** APR */\n apr?: Maybe;\n /** Credit type */\n credit_type?: Maybe;\n /** Currency */\n currency?: Maybe;\n /** Financing code */\n financing_code?: Maybe;\n /** Monthly payment */\n monthly_payment?: Maybe;\n /** Monthly percentage rate */\n monthly_percentage_rate?: Maybe;\n /** PayPal subsidy */\n paypal_subsidy?: Maybe;\n /** Terms */\n term?: Maybe;\n /** Total cost */\n total_cost?: Maybe;\n /** Total interest */\n total_interest?: Maybe;\n};\n\n/** User account details */\nexport type CreditRedirectLoginDetails = {\n __typename?: 'CreditRedirectLoginDetails';\n /** Whether a new account was created */\n new_account_created?: Maybe;\n /** PP account number */\n paypal_account_number?: Maybe;\n};\n\n/** Mayfly response from redirecting back from CAPE */\nexport type CreditRedirectMayflyResponse = {\n __typename?: 'CreditRedirectMayflyResponse';\n /** Credit decision */\n credit_decision?: Maybe;\n /** Installment details */\n financial_instrument_details?: Maybe;\n /** Credit FI ID */\n financial_instrument_id?: Maybe;\n /** Is reuse */\n is_reuse?: Maybe;\n /** Login details */\n login_details?: Maybe;\n /** User selected shipping address */\n user_selected_address_id?: Maybe;\n /** User selected preferred shipping address */\n user_selected_preferred_shipping_address_id?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to Credit products related Scores.\n * Each property refers to a score determined for a credit related product.\n */\nexport type CreditScores = {\n __typename?: 'CreditScores';\n /** Propensity Score for Pay Monthly */\n paymonthly: CreditProductScoreInfo;\n /** Propensity Score for Pay in 4 */\n pi4: CreditProductScoreInfo;\n /** Propensity Score for PayPal Credit */\n ppc: CreditProductScoreInfo;\n};\n\n/** Encapsulates all properties related to all the RYI pages. */\nexport type CreditUiElements = {\n __typename?: 'CreditUIElements';\n /** Data required to display credit installments FI with other FIs on return RYI */\n creditFI?: Maybe;\n /** Data related to offer */\n creditOffer?: Maybe;\n /** Data required to display specialized credit installments only RYI */\n creditOnlyFI?: Maybe;\n /** Highlight Text for offer */\n fiHighlightText?: Maybe;\n /** Indicates the GPL loan formatted maximum capture amount (apply to PSD2 countries: DE, GB, ES, FR, IT) */\n formattedMaxCaptureAmount?: Maybe;\n /**\n * Indicates whether this is a multi-offer message\n * GPL-FI associated to multi-offer messages will be hidden in final RYI\n */\n isMultiOffer?: Maybe;\n /** Credit installments logo */\n logo?: Maybe;\n /** Alternate text for logo */\n logoAltText?: Maybe;\n};\n\n/** Encapsulates all properties related to the cryptocurrency holding details. */\nexport type CryptocurrencyHoldingDetails = {\n __typename?: 'CryptocurrencyHoldingDetails';\n /** Full amount of cryptocurrency the user has */\n quantity?: Maybe;\n /** Symbol of the cryptocurrency */\n symbol?: Maybe;\n};\n\n/** Encapsulates all properties related to the cryptocurrency quote. */\nexport type CryptocurrencyQuote = {\n __typename?: 'CryptocurrencyQuote';\n /** Amount for 1 of the asset (effectively the rate) */\n assetPrice?: Maybe;\n /** Quote ID */\n id?: Maybe;\n /** Quantity of the asset that would be used for the sell */\n quantity?: Maybe;\n /** Symbol of the cryptocurrency */\n symbol?: Maybe;\n /** Total amount that user's crypto asset is worth */\n totalAmount?: Maybe;\n};\n\n/** An enumeration of types that an Cryptocurrency can be. BTC, BCH, etc. */\nexport enum CryptocurrencySymbol {\n /** Bitcoin Cash */\n Bch = 'BCH',\n /** Bitcoin */\n Btc = 'BTC',\n /** Ethereum */\n Eth = 'ETH',\n /** Chainlink */\n Link = 'LINK',\n /** Litecoin */\n Ltc = 'LTC',\n /** Polygon */\n Matic = 'MATIC',\n /** PayPal USD */\n Pyusd = 'PYUSD',\n /** Solana */\n Sol = 'SOL'\n}\n\n/**\n * Encapsulates all properties related to a Pricing.\n * Ex: from, to, rate, etc.\n */\nexport type CurrencyConversion = {\n __typename?: 'CurrencyConversion';\n /** PayPal currency conversion fee rate in percentage. (e.g '5.00') */\n feeRate?: Maybe;\n /** What the currency is converted from. */\n from?: Maybe;\n /** Date of validity. The date that the conversion rate was issued. */\n issuedDate?: Maybe;\n /** The currency conversion rate. */\n rate?: Maybe;\n /** The currency conversion rate formatted. */\n rateFormatted?: Maybe;\n /** The currency conversion rate spread. */\n spread?: Maybe;\n /** What the currency is converted to. */\n to?: Maybe;\n};\n\n/** customer object, currently consists of only a customer id */\nexport type Customer = {\n __typename?: 'Customer';\n /** id */\n id?: Maybe;\n};\n\n/** Tracking for customization */\nexport type CustomizationTracking = {\n __typename?: 'CustomizationTracking';\n /** Click URL from MORS */\n click?: Maybe;\n /** Impression URL from MORS */\n impression?: Maybe;\n};\n\n/** Date of Birth input type */\nexport type DateOfBirth = {\n /** Specific day of birth */\n day?: InputMaybe;\n /** Month of birth */\n month?: InputMaybe;\n /** Year of birth */\n year?: InputMaybe;\n};\n\n/** Encapsulates details of the declined instrument */\nexport type DeclinedInstrument = {\n __typename?: 'DeclinedInstrument';\n /** Indicates the reason for the instrument's decline */\n declineReason: Scalars['String'];\n /** Indicates how the funding instrument is declined */\n declineType?: Maybe;\n /**\n * Funding option's ID (Ex: 'BA8JUE35JC6JBU4')\n * This differs from ID because ID will sometimes have an extra\n * keyword appended\n */\n id?: Maybe;\n /**\n * The card art image\n *\n * Takes optional input for image size and type\n */\n image?: Maybe;\n /** Declined instrument's issuer product description. This is the card issuer's product and brand information. For Example, Chase Sapphire Reserve. */\n issuerProductDescription?: Maybe;\n /** Last digits of a credit card */\n lastDigits?: Maybe;\n /** Funding option's name (Ex: 'BANK OF AMERICA') */\n name?: Maybe;\n /** Normalized processor response for the decline reason from issuer */\n normalizedProcessorResponse?: Maybe;\n /**\n * Partial fpan is a flag from PAPS for determining\n * whether we have only partial funding PAN so we need to replace FI record\n * or we have full funding PAN so we need to add FI record\n */\n partialFpan?: Maybe;\n /** Indicates the type of the funding instrument */\n type: FundingOptionType;\n};\n\n\n/** Encapsulates details of the declined instrument */\nexport type DeclinedInstrumentImageArgs = {\n size?: InputMaybe;\n type?: InputMaybe;\n};\n\n/**\n * An enumeration of types that FundingOption can have.\n * PROCESSOR_DECLINE, PAYPAL_ELIGIBILITY or PREAUTH\n */\nexport enum DeclinedInstrumentType {\n /** DO_EC PayPal credit DO_EC decline */\n PaypalEligibility = 'PAYPAL_ELIGIBILITY',\n /** CC Preauthorization decline */\n Preauth = 'PREAUTH',\n /** DO_EC issuer decline */\n ProcessorDecline = 'PROCESSOR_DECLINE'\n}\n\n/** Encapsulates all properties related to DeviceInfo. */\nexport type DeviceInfo = {\n /** Browser height */\n browserHeight?: InputMaybe;\n /** List Browser plugins. Example - pdf,Shockwave Flash 28.0 r0 */\n browserPlugins?: InputMaybe;\n /** Browser width */\n browserWidth?: InputMaybe;\n /** Color Depth - window.screen.colorDepth - Number of bits used to represent the color of a single pixel on the screen, or in the buffer when off-screen buffering is enabled. */\n colorDepth?: InputMaybe;\n /** window.devicePixelRatio - Returns the ratio between physical pixels and device independent pixels of the existing display */\n devicePixelRatio?: InputMaybe;\n /** navigator.hardwareConcurrency - Number of logical processors available to run threads on the user’s device */\n numCores?: InputMaybe;\n /** Example - fr_FR */\n rosettaLanguage?: InputMaybe;\n /** window.screen.availHeight - Available vertical resolution of the screen, in pixels */\n screenAvailHeight?: InputMaybe;\n /** window.screen.width - Available horizontal resolution of the screen, in pixels */\n screenAvailWidth?: InputMaybe;\n /** window.screen.height - Vertical resolution of the screen, in pixels */\n screenHeight?: InputMaybe;\n /** window.screen.width - Horizontal resolution of the screen, in pixels */\n screenWidth?: InputMaybe;\n};\n\n/** An enumeration of types that deviceType can have. */\nexport enum DeviceType {\n /** Desktop */\n Desktop = 'DESKTOP',\n /** Mobile */\n Mobile = 'MOBILE',\n /** Tablet */\n Tablet = 'TABLET'\n}\n\n/** An enumeration of values that language directionality can be. LTR or RTL */\nexport enum Directionality {\n /** Left-to-right */\n Ltr = 'LTR',\n /** Right-to-left */\n Rtl = 'RTL'\n}\n\n/** Encapsulates details of a disallowed instrument */\nexport type DisallowedInstrument = {\n __typename?: 'DisallowedInstrument';\n /** Funding instrument's formatted type (Ex: 'Bank') */\n formattedType?: Maybe;\n /** Funding instrument's ID (Ex: 'BA8JUE35JC6JBU4') */\n id?: Maybe;\n /**\n * The card art image\n *\n * Takes optional input for image size and type\n */\n image?: Maybe;\n /**\n * Funding instrument's sub type of it's `type`.\n * (EX: 'CREDIT', 'DEBIT', 'CHECKING', 'SAVINGS').\n */\n instrumentSubType?: Maybe;\n /** Indicates if the disallowed instrument is the preferred funding instrument */\n isPreferred?: Maybe;\n /**\n * Funding instrument's mapped name. This can be used as a display name. Currently\n * does not use localization.\n * (Ex: 'BILL_ME_LATER' -> 'PayPal Credit', label: disallowedToallowedMap[name] || name)\n */\n label?: Maybe;\n /** Funding instrument's last 4 digits (Ex: '3071') */\n lastDigits?: Maybe;\n /**\n * Funding instrument's name. This is the raw response, and should be treated more\n * as a code, if the client wants to do some logic based on the specific name of\n * the instrument.\n * (Ex: 'BANK OF AMERICA')\n */\n name?: Maybe;\n /** Indicates the reason for the current disallowed funding instrument */\n reason: Scalars['String'];\n /** Indicates the type of the given disallowed funding instrument (Ex: 'BALANCE') */\n type?: Maybe;\n};\n\n\n/** Encapsulates details of a disallowed instrument */\nexport type DisallowedInstrumentImageArgs = {\n size?: InputMaybe;\n type?: InputMaybe;\n};\n\n/** Customization for an element in checkout (Eg: tagline in a button) */\nexport type ElementCustomization = {\n __typename?: 'ElementCustomization';\n /** Simple Text */\n text?: Maybe;\n /** Tracking details */\n tracking?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to installments.\n * Ex: installmentType, hasDiscount, Installments etc.\n */\nexport type EligibleInstallments = {\n __typename?: 'EligibleInstallments';\n /** Whether or not discount is applicable for the payment */\n hasDiscount?: Maybe;\n /** Installment Type */\n installmentType?: Maybe;\n /** Eligible Installment options */\n installments?: Maybe>>;\n};\n\n/** Encapsulates all properties of an Elmo experiment */\nexport type ElmoExperiment = {\n __typename?: 'ElmoExperiment';\n /** Array of user treatments returned by Elmo */\n treatments: Array>;\n};\n\n/** Encapsulates all properties related to an Elmo filter input. */\nexport type ElmoFilterInput = {\n /** The key name of the filter (Ex: 'Country') */\n key: Scalars['String'];\n /** The value that is associated with the filter key */\n value: Scalars['String'];\n};\n\n/** Additional arguments needed for elmo realtime filters can be added here. Every argument has to optional */\nexport type ElmoRealTimeFilterArgs = {\n /** RPS - RealtimeProfileServ Customer List identifier. Eg: CL-1344242 */\n customerListName?: InputMaybe;\n /** segment - this will be the name of the segement which needs to be mapped to array of customer lists in code */\n segmentName?: InputMaybe;\n};\n\n/** Encapsulates all properties related to an Elmo filter input where values are Real Time values got from an API call. */\nexport type ElmoRealTimeFilterInput = {\n /** Additional arguments needed for API call made before calling Elmo */\n args?: InputMaybe;\n /** The key name of the filter (Ex: 'Country') */\n key: Scalars['String'];\n /** The value that is associated with the filter key */\n value: ElmoRealTimeFilterValues;\n};\n\n/** An enumeration of values for Elmo filters that gets substituted with API call response */\nexport enum ElmoRealTimeFilterValues {\n /** BILLING_TYPE value will be fetched from getBillingTypeForElmo call */\n BillingType = 'BILLING_TYPE',\n /** CHECKOUT_SESSION_TYPE value will be fetched from getCheckoutSessionTypeForElmo call */\n CheckoutSessionType = 'CHECKOUT_SESSION_TYPE',\n /** IS_BILLING_AGREEMENT value will be fetched from getIsBillingAgreementFlag call and value is from 'isBillingAgreement' key in response object */\n IsBillingAgreement = 'IS_BILLING_AGREEMENT',\n /** IS_EXISTING_MEMBER_FROM_UL_CONTEXT this will call mayfly to get UL context and check for the flag hasExistingAccount on onboardingContext */\n IsExistingMemberFromUlContext = 'IS_EXISTING_MEMBER_FROM_UL_CONTEXT',\n /** IS_GUEST_ELIGIBLE value will be fetched from getFlowEligibility call and value is from 'guest' key in response object */\n IsGuestEligible = 'IS_GUEST_ELIGIBLE',\n /** IS_MERCHANT_IN_CUSTOMER_LIST this will trigger an API call to rpsreadserv to see if merchant id exists in a customer list or not */\n IsMerchantInCustomerList = 'IS_MERCHANT_IN_CUSTOMER_LIST',\n /** IS_WPS value will be fetched from getApplicationData call and value is from 'flags.is_wps_flow' key in response object */\n IsWps = 'IS_WPS',\n /** MERCHANT_ID value will get fetched from getPayee() and the path to value is merchant.accountNumber */\n MerchantId = 'MERCHANT_ID',\n /** MERCHANT_IN_CUSTOMER_LIST_NAME this will call dynsegmentationserv/evaluate API to see if merchant belongs to a segment or not */\n MerchantInCustomerListName = 'MERCHANT_IN_CUSTOMER_LIST_NAME',\n /** WEASLEY_ELIGIBILITY_FILTERS this will call getFiltersFromJunoCache and populates this as filters to elmo call */\n WeasleyEligibilityFilters = 'WEASLEY_ELIGIBILITY_FILTERS'\n}\n\n/** Encapsulates all properties for a user treatment for a particular experiment */\nexport type ElmoTreatment = {\n __typename?: 'ElmoTreatment';\n /** Allocation percentage for the returned treatment */\n allocationPercentage: Scalars['Int'];\n /** ID of the experiment that the returned treatment belongs to */\n experimentId: Scalars['String'];\n /** Name of the experiment that the returned treatment belongs to */\n experimentName: Scalars['String'];\n /** List of factors defined for the returned treatment */\n factors?: Maybe>>;\n /** Hash value */\n hashValue: Scalars['String'];\n /** ID of the returned treatment */\n treatmentId: Scalars['String'];\n /** Name of the returned treatment */\n treatmentName: Scalars['String'];\n /** Version of the experiment the returned treatment belongs to */\n version: Scalars['String'];\n};\n\n/**\n * Encapsulates an Elmo treatment factor, a key-value pair used to provide\n * additional configuration.\n */\nexport type ElmoTreatmentFactor = {\n __typename?: 'ElmoTreatmentFactor';\n /** The treatment factor key */\n key: Scalars['String'];\n /** The treatment factor value */\n value: Scalars['String'];\n};\n\n/** Encapsulates all properties related to an email. Ex: url, width, height */\nexport type Email = {\n __typename?: 'Email';\n /** The domain of the e-mail address (Ex: domain.com) */\n domainPart?: Maybe;\n /** The local-part of the e-mail address (Ex: 'user') */\n localPart?: Maybe;\n /** The full e-mail address (Ex: user@domain.com) */\n stringValue?: Maybe;\n};\n\n/** Supported Enrollment Status enum values */\nexport enum EnrollmentStatusType {\n /** Merchant authentication rule is triggered to bypass authentication in this use case */\n Bypass = 'BYPASS',\n /** Bank is not participating in 3-D Secure protocol */\n No = 'NO',\n /** The DS or ACS is not available for authentication at the time of the request */\n Unavailable = 'UNAVAILABLE',\n /** Unknown */\n Unknown = 'UNKNOWN',\n /** Bank is participating in 3-D Secure protocol and will return the ACSUrl */\n Yes = 'YES'\n}\n\n/** Rewards identifiers and details */\nexport type EstimatedReward = {\n __typename?: 'EstimatedReward';\n /** Reward progress from previous transactions */\n completedProgress?: Maybe;\n /** Reward progress including current transaction */\n estimatedProgress?: Maybe;\n /** Details of the rewards offer */\n reward?: Maybe;\n /** Unique identifier of the rewards offer */\n rewardId?: Maybe;\n /** Name of the reward used by a campaign, eg StoreA Cashback Reward */\n rewardName?: Maybe;\n};\n\n/** Rewards details for type and denomination */\nexport type EstimatedRewardDetails = {\n __typename?: 'EstimatedRewardDetails';\n /** Amount of rewards */\n amount?: Maybe;\n /** Rewards crypto when rewardType is `CRYPTOCURRENCY` */\n cryptocurrency?: Maybe;\n /** Percentage for Rewards */\n percent?: Maybe;\n /** Rewards points when rewardType is `POINTS` */\n points?: Maybe;\n /** The reward type (i.e. `AMOUNT`, `POINTS`, `CRYPTOCURRENCY`, `PERCENT`) */\n rewardType?: Maybe;\n};\n\n/** Details for rewards merchant */\nexport type EstimatedRewardMerchantDetails = {\n __typename?: 'EstimatedRewardMerchantDetails';\n /** Merchant Affiliate Tag URL to be further formatted on the client side - e.g. o-staging.honey.io/store/100/website */\n affiliateLinkData?: Maybe;\n /** Merchant name associated with the rewards campaign */\n merchantName?: Maybe;\n /** External identifier for the transaction seller e.g. Honey Store Id */\n storeId?: Maybe;\n};\n\n/**\n * Transaction stretch award details\n * (i.e. spend $x on y transactions and earn z points back)\n */\nexport type EstimatedRewardStretchGoal = {\n __typename?: 'EstimatedRewardStretchGoal';\n /** Details of award that will be granted when all transactions are completed */\n potentialEligibleReward?: Maybe;\n /** Number of transactions completed for stretch award */\n transactionCountCompleted?: Maybe;\n /** Number of transactions remaining for stretch award */\n transactionCountRemaining?: Maybe;\n};\n\n/** The type of Estimated Rewards associated with purchase */\nexport enum EstimatedRewardType {\n /** Amount in a currency denomination */\n Amount = 'AMOUNT',\n /** Cryptocurrency */\n Cryptocurrency = 'CRYPTOCURRENCY',\n /** Percent */\n Percent = 'PERCENT',\n /** PayPal Rewards points */\n Points = 'POINTS'\n}\n\n/** High level container for rewards estimate */\nexport type EstimatedRewards = {\n __typename?: 'EstimatedRewards';\n /** List of rewards offers */\n totalEstimatedRewards?: Maybe>>;\n /** List of user-specific rewards campaigns */\n userEstimatedRewards?: Maybe>>;\n};\n\n/**\n * An enumeration of all flow types accepted by Notice and Consent evalPolicy API.\n * Based on those flags, the Notice and Consent API will determine what to do based on guest and member use cases.\n */\nexport enum EvalPolicyFlowType {\n /** For member use cases, we need to pass in the API flow as CHECKOUT. */\n Checkout = 'CHECKOUT',\n /** For guest and sign up use cases, we need to pass in the API flow ONBOARDING */\n Onboarding = 'ONBOARDING'\n}\n\n/**\n * Encapsulates all properties of existing billing agreement Id.\n * Ex: balancePreference, stickyFundingOptionId, billingAgreementId\n */\nexport type ExistingBillingAgreementDetails = {\n __typename?: 'ExistingBillingAgreementDetails';\n /** Balance Preference of the Billing Agreement */\n balancePreference?: Maybe;\n /** Billing Agreement Id, ex: B-55N53089XX761722H */\n id?: Maybe;\n /** Sticky fuding instrument of the Billing Agreement */\n stickyFundingInstrument?: Maybe;\n};\n\n/** An enumeration of internal PayPal experience channels */\nexport enum ExperienceChannel {\n /** Any type of Checkout */\n Any = 'ANY',\n /** Braintree */\n Braintree = 'BRAINTREE',\n /** Member or Guest PayPal Checkout */\n Hermes = 'HERMES',\n /** PROX/eBay Checkout */\n Prox = 'PROX',\n /** Venmo */\n Venmo = 'VENMO'\n}\n\n/**\n * Encapsulates everything related to a PXP test.\n * Ex: type, values, stringValue\n *\n * Required auth states: Any\n */\nexport type Experiment = {\n __typename?: 'Experiment';\n /** The name of this experiment. */\n name: Scalars['String'];\n /** The tracking tags associated with a Experiment. */\n trackingTags?: Maybe>>;\n /**\n * The tracking tags associated with a Experiment, but represented as a String.\n * (Ex: 'qt=6496,2252,7579;qc=2621440,2623488,2621440;uqt=6001;uqc=2621440;ot=;os=')\n */\n trackingTagsString?: Maybe;\n /** An Array of Treatment types, which are treatments associated with this experiment. */\n treatments: Array>;\n};\n\n/** For experiments field on root Query type */\nexport type ExperimentInput = {\n /** Name of experiment. (Ex: 'pxp_hermesnode_kmli') */\n name: Scalars['String'];\n /** Any kind of params (Ex: Objects, Arrays, etc.) */\n params?: InputMaybe;\n};\n\n/**\n * Enum for all FI related products\n * FI_SWITCH_RATE: Rate at which a buyer switches between different funding instruments in a xo session\n */\nexport enum FiProductEnum {\n /** Depicts FI Switch Rate */\n FiSwitchRate = 'FI_SWITCH_RATE'\n}\n\n/** Contains actual score and metadata */\nexport type FiScoreInfo = {\n __typename?: 'FIScoreInfo';\n /**\n * Identifier name for the FI score sent. Example: FI_SWITCH_RATE\n * Can be used by client for instrumentation purposes, indentification of underlying nature or FI type for a returned score.\n */\n productName: FiProductEnum;\n /** Actual Score */\n score?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to FI related scores.\n * Each property refers to a score determined in context of an FI.\n */\nexport type FiScores = {\n __typename?: 'FIScores';\n /** Propensity Score for FI Switch Rate */\n fiSwitchRateScore: FiScoreInfo;\n};\n\n/** Encapsulates everything related to a Factor. Ex: name, value */\nexport type Factor = {\n __typename?: 'Factor';\n /** Name of the Factor */\n name?: Maybe;\n /** Value of the Factor */\n value?: Maybe;\n};\n\n/** The rules of the card field */\nexport type FieldRules = {\n __typename?: 'FieldRules';\n /** Indicate whether billing address is required */\n address: Scalars['Boolean'];\n /** Indicate whether security code is required */\n cvv: Scalars['Boolean'];\n /** Indicate whether date of birth is required */\n dob: Scalars['Boolean'];\n /** Indicate whether expiration data is required */\n expiry: Scalars['Boolean'];\n /** Indicate whether issuer bank is required */\n issue: Scalars['Boolean'];\n /** Indicate whether phone number is required */\n phone: Scalars['Boolean'];\n};\n\n/** Financial Institution */\nexport type FinancialInstitution = {\n __typename?: 'FinancialInstitution';\n /** Refers to the partner id that will be used to identify the partner in the flow ex: americanexpress */\n identityProvider: Scalars['String'];\n /** Reference to an Icon to show next to the institution name in a list */\n institutionImage: InstitutionImage;\n /** Refers to the name of the partner ex: American Express */\n name: Scalars['String'];\n};\n\n/** Interface with the FireBase api */\nexport type FireBase = {\n __typename?: 'FireBase';\n /** A user's firebase auth token */\n auth: FireBaseAuth;\n};\n\n\n/** Interface with the FireBase api */\nexport type FireBaseAuthArgs = {\n sessionUID: Scalars['String'];\n};\n\n/** FireBase authentication */\nexport type FireBaseAuth = {\n __typename?: 'FireBaseAuth';\n /** The Firebase project ID */\n projectID: Scalars['String'];\n /** The firebase session token generated for the user */\n sessionToken: Scalars['String'];\n /** A client-generated session id for the user */\n sessionUID: Scalars['String'];\n};\n\n/** Encapsulates all properties related to flow eligible Methods. */\nexport type FlowEligibleMethods = {\n __typename?: 'FlowEligibleMethods';\n /** Guest eligibility */\n guest: Scalars['Boolean'];\n /** Signup eligibilty */\n signup: Scalars['Boolean'];\n};\n\n/** A FullWallet Status type */\nexport enum FullWalletStatus {\n /** User has not made any decision on FullWallet */\n New = 'NEW',\n /** FullWallet Opted In */\n OptedIn = 'OPTED_IN',\n /** Full Wallet Opted out */\n OptedOut = 'OPTED_OUT'\n}\n\n/** Encapsulates all button types that can be rendered by the smart payment button */\nexport enum FundingButtonType {\n /** ApplePay */\n Applepay = 'applepay',\n /** Bancontact */\n Bancontact = 'bancontact',\n /** Blik */\n Blik = 'blik',\n /** Boleto */\n Boleto = 'boleto',\n /** Boletobancario */\n Boletobancario = 'boletobancario',\n /** Cards */\n Card = 'card',\n /** PayPal Credit */\n Credit = 'credit',\n /** EPS */\n Eps = 'eps',\n /** Giropay */\n Giropay = 'giropay',\n /** Ideal */\n Ideal = 'ideal',\n /** Itau */\n Itau = 'itau',\n /** Maxima */\n Maxima = 'maxima',\n /** Mercadopago */\n Mercadopago = 'mercadopago',\n /** Multibanco */\n Multibanco = 'multibanco',\n /** MYBANK */\n Mybank = 'mybank',\n /** OXXO */\n Oxxo = 'oxxo',\n /** p24 */\n P24 = 'p24',\n /** Paidy */\n Paidy = 'paidy',\n /** PayPal Pay Later */\n Paylater = 'paylater',\n /** PayPal */\n Paypal = 'paypal',\n /** Payu */\n Payu = 'payu',\n /** Satispay */\n Satispay = 'satispay',\n /** Sepa */\n Sepa = 'sepa',\n /** SOFORT */\n Sofort = 'sofort',\n /** Trustly */\n Trustly = 'trustly',\n /** Venmo */\n Venmo = 'venmo',\n /** WeChat Pay */\n Wechatpay = 'wechatpay',\n /** Zimpler */\n Zimpler = 'zimpler'\n}\n\n/**\n * Encapsulates all data related to a Checkout session's funding contingencies\n * Ex: threeDomainSecure, cvvConfirm, etc.\n */\nexport type FundingContingency = ConfirmCreditCardCvvContingency | OpenBankingContingency | PaycodeContingency | SepaMandateAcceptenceNeededContingency | ThreeDomainSecureResolutionContingency;\n\n/** Encapsulates all properties related to eligible Payment Methods. */\nexport type FundingEligibility = {\n __typename?: 'FundingEligibility';\n /** ApplePay */\n applepay: PaymentEligibility;\n /** Bancontact */\n bancontact: PaymentEligibility;\n /** Blik */\n blik: PaymentEligibility;\n /** Boleto */\n boleto: PaymentEligibility;\n /** Boletobancario */\n boletobancario: PaymentEligibility;\n /** Cards */\n card: CardEligibility;\n /** PayPal Credit */\n credit: PaymentEligibility;\n /** EPS */\n eps: PaymentEligibility;\n /** Giropay */\n giropay: PaymentEligibility;\n /** Ideal */\n ideal: PaymentEligibility;\n /** Itau */\n itau: PaymentEligibility;\n /** Maxima */\n maxima: PaymentEligibility;\n /** Mercadopago */\n mercadopago: PaymentEligibility;\n /** Multibanco */\n multibanco: PaymentEligibility;\n /** MYBANK */\n mybank: PaymentEligibility;\n /** OXXO */\n oxxo: PaymentEligibility;\n /** p24 */\n p24: PaymentEligibility;\n /** Paidy */\n paidy: PaymentEligibility;\n /** PayPal Pay Later */\n paylater: PaymentEligibility;\n /** PayPal */\n paypal: PaymentEligibility;\n /** Payu */\n payu: PaymentEligibility;\n /** Satispay */\n satispay: PaymentEligibility;\n /** Sepa */\n sepa: PaymentEligibility;\n /** SOFORT */\n sofort: PaymentEligibility;\n /** Trustly */\n trustly: PaymentEligibility;\n /** Venmo */\n venmo: PaymentEligibility;\n /** WeChat Pay */\n wechatpay: PaymentEligibility;\n /** Zimpler */\n zimpler: PaymentEligibility;\n};\n\n/** An enumeration of intents that a Cart can have. SALE, AUTHORIZE, or ORDER */\nexport enum FundingEligibilityIntent {\n /** The Cart's intent is for Auth transactions */\n Authorize = 'AUTHORIZE',\n /** The Cart's intent is for Capture transactions */\n Capture = 'CAPTURE',\n /** The Cart's intent is for Order transactions */\n Order = 'ORDER',\n /** The Cart's intent is for Sale transactions */\n Sale = 'SALE',\n /** Subscription only, with no transaction */\n Subscription = 'SUBSCRIPTION',\n /** Tokenize only, with no transaction */\n Tokenize = 'TOKENIZE'\n}\n\n/**\n * Encapsulates all properties related to a FundingInstrument.\n * Ex: name, type, lastDigits, amount, etc.\n */\nexport type FundingInstrument = {\n __typename?: 'FundingInstrument';\n /**\n * Funding option's amount.\n * @deprecated Read amount from a Plan that contains this FundingInstrument instead, as the amount charged to the FundingInstrument can change depending on the Plan being used.\n */\n amount?: Maybe;\n /**\n * Attributions are data that can be associated with a financial instrument that can influence a user to select that instrument. This may be a message that reminds the user of special incentive such as an extra 5% back on purchases made using the card.\n *\n * > Example: *\"Earn 5% Cashback Bonus on up to $1,500 in qualifying PayPal and more purchases from 7/1/19 – 9/30/19, if activated. For Discover it® and Discover® More® card members only.\"*\n * @deprecated New object attributionDetails is already added in FndingInstrument which holds attribution related information.\n */\n attribution?: Maybe;\n /** Attributions are data that can be associated with a financial instrument that can influence a user to select that instrument. This may be a message that reminds the user of special incentive such as an extra 5% back on purchases made using the card. */\n attributionDetails?: Maybe;\n /** Billing without purchase constraint for smart auth */\n constraint?: Maybe;\n /**\n * Additional data required to present the Credit Installment funding option\n * @deprecated Renamed to use `creditFields` instead to better match good graphQL schema practices.\n */\n creditFIAdditionalData?: Maybe;\n /** Additional data required to present the Credit Installment funding option */\n creditFields?: Maybe;\n /** Contains details for CRYPTOCURRENCY type instruments */\n cryptocurrencyHoldingDetails?: Maybe;\n /** Funding instrument's formatted type (Ex: 'Bank') */\n formattedType?: Maybe;\n /**\n * Funding option's ID (Ex: 'BA8JUE35JC6JBU4')\n * @deprecated Renamed to use `id` instead to better match good graphQL schema practices.\n */\n fundingOptionId?: Maybe;\n /** Funding instrument's ID (Ex: 'BA8JUE35JC6JBU4') */\n id?: Maybe;\n /**\n * The card art image\n *\n * Takes optional input for image size and type\n */\n image?: Maybe;\n /** Contains additional details for INCENTIVE type instruments */\n incentiveDetails?: Maybe;\n /**\n * Available installment options.\n * An Array of Installments types.\n */\n installments?: Maybe>>;\n /**\n * The related institution images\n *\n * Takes optional input for image category, size, and type\n */\n institutionImages?: Maybe>>;\n /**\n * Funding instrument's sub type of it's `type`.\n * (EX: 'CREDIT', 'DEBIT', 'CHECKING', 'SAVINGS', `PPDC`).\n */\n instrumentSubType?: Maybe;\n /** If a funding instrument is preferred by the user */\n isPreferred?: Maybe;\n /** If a funding option is a stcky FI */\n isSticky?: Maybe;\n /**\n * Funding instrument's issuer product description. This is the card issuer's product and brand information. For Example, Chase Sapphire Reserve.\n * @deprecated Replaced by `nameDescription`. `nameDescription` returns `issuerProductDescription` when fi nickname is not present.\n */\n issuerProductDescription?: Maybe;\n /**\n * Funding instrument's mapped name. This can be used as a display name. Currently\n * does not use localization.\n * (Ex: 'BILL_ME_LATER' -> 'PayPal Credit', label: disallowedToallowedMap[name] || name)\n */\n label?: Maybe;\n /** Funding instrument's last 4 digits (Ex: '3071') */\n lastDigits?: Maybe;\n /**\n * Funding instrument's name. This is the raw response, and should be treated more\n * as a code, if the client wants to do some logic based on the specific name of\n * the instrument.\n * (Ex: 'BANK OF AMERICA')\n */\n name?: Maybe;\n /**\n * Funding instrument's nickname to be displayed. If nickname doesn't exist, returns funding instrument's issuer product description which is the card issuer's product and brand information.\n * (Ex: 'My card acc' || 'Chase Sapphire Reserve' )\n */\n nameDescription?: Maybe;\n /** Additional data required to display disclaimers for specific cards (Ex: 'COBRANDED') */\n payerDisclaimer?: Maybe;\n /**\n * The rewards information for a specific card. Rewards can be in the form of points or miles, etc and can be used to fund all or part of the transaction.\n *\n * The rewards info contains:\n * - how many rewards are available for use\n * - what the conversion is from rewards to amount\n * - any constraints such as limits\n */\n rewards?: Maybe;\n /**\n * Funding option's sub type (Ex: 'IACH')\n * @deprecated Subtype as in IACH/DELAYED should be read from `FundingSource.subType`. Subtype as in DEBIT/CREDIT/SAVINGS/CHECKING should be read from `instrumentSubType`.\n */\n subType?: Maybe;\n /** For tokenized cards, the source of where the tokenized card comes from */\n tokenSource?: Maybe;\n /** Funding instrument's type (Ex: 'BANK') */\n type?: Maybe;\n};\n\n\n/**\n * Encapsulates all properties related to a FundingInstrument.\n * Ex: name, type, lastDigits, amount, etc.\n */\nexport type FundingInstrumentImageArgs = {\n size?: InputMaybe;\n type?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a FundingInstrument.\n * Ex: name, type, lastDigits, amount, etc.\n */\nexport type FundingInstrumentInstitutionImagesArgs = {\n category?: InputMaybe;\n size?: InputMaybe;\n type?: InputMaybe;\n};\n\n/** The fiancing properties of selcted funding source */\nexport type FundingInstrumentFinancingInput = {\n /** Identifier of the financing option assocaited to the funding instrument */\n financingCode?: InputMaybe;\n /** Funding instrument's ID (Ex: 'BA8JUE35JC6JBU4') */\n id?: InputMaybe;\n};\n\n/** Delivery Method of Funding Instrument */\nexport enum FundingInstrumentMethodType {\n /**\n * Delayed transfer, also known as PAD. Applies to banks. Funding instrument will\n * be charged after the products are delivered.\n */\n Delayed = 'DELAYED',\n /**\n * E-check. Applies to banks. The amount charged may show up on the funding instrument\n * a few days after the transaction is completed on PayPal's side.\n */\n Echeck = 'ECHECK',\n /** Instant transfer. Funding instrument will be charged immediately. */\n Instant = 'INSTANT',\n /**\n * Manual transfer. User should be given information to bring to the bank token\n * fulfill the payment.\n *\n * This should be a deprecated funding method type - we should not be seeing third_party_response\n * anymore.\n */\n Manual = 'MANUAL'\n}\n\n/** Subtype of Funding Instrument (more descriptive than FundingInstrumentType) */\nexport enum FundingInstrumentSubType {\n /** PayPal Balance */\n Balance = 'BALANCE',\n /** Checking account (Bank) */\n Checking = 'CHECKING',\n /** Credit Card */\n Credit = 'CREDIT',\n /** Cryptocurrency */\n Cryptocurrency = 'CRYPTOCURRENCY',\n /** Debit Card */\n Debit = 'DEBIT',\n /** Honey gold */\n HoneyGold = 'HONEY_GOLD',\n /** Incentive */\n Incentive = 'INCENTIVE',\n /** Merchant Card/Balance */\n Merchant = 'MERCHANT',\n /** Merchant Specific Incentive */\n MerchantSpecificBalance = 'MERCHANT_SPECIFIC_BALANCE',\n /** PayPal Credit */\n Paypal = 'PAYPAL',\n /** PayPal Specific Incentive */\n PaypalSpecificBalance = 'PAYPAL_SPECIFIC_BALANCE',\n /** PayPal Debit Card */\n Ppdc = 'PPDC',\n /** Prepaid Card */\n Prepaid = 'PREPAID',\n /** Savings account (Bank) */\n Savings = 'SAVINGS',\n /** Unknown */\n Unknown = 'UNKNOWN'\n}\n\n/** Type of funding instrument */\nexport enum FundingInstrumentType {\n /** PayPal Balance */\n Balance = 'BALANCE',\n /** Bank */\n Bank = 'BANK',\n /** Credit card */\n Card = 'CARD',\n /** PayPal Credit */\n Credit = 'CREDIT',\n /** Incentive */\n Incentive = 'INCENTIVE',\n /** Standalone reward */\n StandaloneRewards = 'STANDALONE_REWARDS'\n}\n\n/**\n * A funding option encompasses a `fundingInstrument` that can be used to fully\n * cover the transaction, and the different `plans` that use that funding instrument.\n *\n * For details of the funding instrument, like name and lastDigits, query the\n * `fundingInstrument` field.\n *\n * For details of the options for how the funding instrument can be charged, query\n * the `allPlans` field.\n *\n * For more docs on this, refer to docs/samples/FundingOptions.md\n */\nexport type FundingOption = {\n __typename?: 'FundingOption';\n /**\n * Plans that are associated with the funding instrument of this funding option.\n * Each plan is a different option that can be used with the funding instruments\n * in order to pay with the transaction. Each of the plans will contain the\n * funding instrument as a funding source, but may also include other funding\n * sources with different funding instruments as well.\n */\n allPlans?: Maybe>>;\n /**\n * Funding option's amount.\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument\n * and Plans. Amount can change depending on the plan and source used - look\n * at `allPlans.fundingSources.amount` to find the amount charged for each\n * funding source.\n */\n amount?: Maybe;\n /** Available amount of the funding option (currently only applies to PAYPAL_BALANCE) */\n availableAmount?: Maybe;\n /**\n * Funding option's currency conversion information\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument\n * and Plans. Currency conversion can be found at `allPlans.currencyConversion`.\n */\n currencyConversion?: Maybe;\n /**\n * Funding option's formatted type (Ex: 'Bank')\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n formattedType?: Maybe;\n /**\n * The funding option's funding instrument. All plans of this `FundingOption`\n * are based on this funding instrument.\n */\n fundingInstrument: FundingInstrument;\n /**\n * Funding option's ID (Ex: 'BA8JUE35JC6JBU4')\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n fundingOptionId?: Maybe;\n /** The ID of the funding option's `fundingInstrument`. */\n id?: Maybe;\n /**\n * If a funding option is preferred by the user\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n isPreferred?: Maybe;\n /**\n * If a funding option is selected by the user\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument\n * and Plans. Look in `allPlans` for this field, to see which plan is selected.\n */\n isSelected?: Maybe;\n /**\n * Funding option's mapped name (Ex: 'BILL_ME_LATER' -> 'PayPal Credit', label: disallowedToallowedMap[name] || name)\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n label?: Maybe;\n /**\n * Funding option's last 4 digits (Ex: '3071')\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n lastDigits?: Maybe;\n /**\n * Funding option's name (Ex: 'BANK OF AMERICA')\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n name?: Maybe;\n /**\n * Funding option's associated plans\n * @deprecated Migrating this data into allPlans, because return type changed to array of Plans.\n */\n plans?: Maybe;\n /**\n * Funding option's sub type (Ex: 'IACH')\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n subType?: Maybe;\n /**\n * Funding option's type (Ex: 'BANK')\n * @deprecated FundingOption is being repurposed into a container for a FundingInstrument and Plans. Look in `fundingInstrument` for this field.\n */\n type?: Maybe;\n};\n\n/** Instrument types that can be grouped */\nexport enum FundingOptionGroupingType {\n /** Incentive */\n Incentive = 'INCENTIVE'\n}\n\n/**\n * An enumeration of subtypes that FundingOption can have.\n * DELAYED_TRANSFER, ECHECK, INSTANT_TRANSFER or MANUAL_BANK_TRANSFER\n */\nexport enum FundingOptionSubType {\n /** Credit Card */\n Credit = 'CREDIT',\n /** Delayed Transfer, also known as Pay After Delivery (PAD). */\n DelayedTransfer = 'DELAYED_TRANSFER',\n /** E-Check */\n Echeck = 'ECHECK',\n /** Instant Transfer, also known as IACH. */\n InstantTransfer = 'INSTANT_TRANSFER',\n /** Manual Bank Transfer, also known as MEFT. */\n ManualBankTransfer = 'MANUAL_BANK_TRANSFER'\n}\n\n/**\n * An enumeration of types that FundingOption can have.\n * BANK_ACCOUNT, CREDIT_CARD, PAYPAL_BALANCE, PAYPAL_CREDIT, etc.\n */\nexport enum FundingOptionType {\n /** Bank Account */\n BankAccount = 'BANK_ACCOUNT',\n /** Bill Me Later */\n BillMeLater = 'BILL_ME_LATER',\n /** Credit Card */\n CreditCard = 'CREDIT_CARD',\n /** Cryptocurrency */\n Cryptocurrency = 'CRYPTOCURRENCY',\n /** Debit Card */\n DebitCard = 'DEBIT_CARD',\n /** Incentive */\n Incentive = 'INCENTIVE',\n /** PayPal Balance */\n PaypalBalance = 'PAYPAL_BALANCE',\n /** PayPal Credit */\n PaypalCredit = 'PAYPAL_CREDIT',\n /** Pay Later */\n PayLater = 'PAY_LATER',\n /** Pay_Token */\n PayToken = 'PAY_TOKEN',\n /** Private Label Credit Card */\n PrivateLabelCreditCard = 'PRIVATE_LABEL_CREDIT_CARD',\n /** Rewards */\n Rewards = 'REWARDS',\n /** Standalone reward */\n StandaloneRewards = 'STANDALONE_REWARDS'\n}\n\n/** Container type for funding product eligibility */\nexport type FundingProductEligibility = {\n __typename?: 'FundingProductEligibility';\n /** Whether or not a user is eligible for a funding product */\n eligible?: Maybe;\n /** Reasons why a funding product is eligible. This is an internal field and is not accessible for external use */\n reasons?: Maybe>>;\n /** Used to determine the localization source of a funding product */\n variant?: Maybe;\n};\n\n/** Container type for a funding source's child product eligibility */\nexport type FundingProductsEligibility = {\n __typename?: 'FundingProductsEligibility';\n /** Credit */\n credit: FundingProductEligibility;\n /** EZ Pay */\n ezpay: FundingProductEligibility;\n /** Pay After Delivery */\n pad: FundingProductEligibility;\n /** Pay In 3 */\n payIn3: FundingProductEligibility;\n /** Pay In 4 */\n payIn4: FundingProductEligibility;\n /** Pay Later */\n paylater: FundingProductEligibility;\n};\n\n/**\n * A source used in payment. Contains `fundingInstrument`, and information on how\n * the funding instrument will be charged in the payment like the amount charged to\n * the it, currency conversion used by the instrument, or rewards information used\n * by the instrument.\n */\nexport type FundingSource = {\n __typename?: 'FundingSource';\n /** The amount that will be charged to the instrument associated with this funding source */\n amount?: Maybe;\n /** Scheduled date of withdrawal. Example: DELAYED (PAD) bank account */\n delayedPaymentDate?: Maybe;\n /** The funding instrument that will be used */\n fundingInstrument?: Maybe;\n /** The method of how the funding instrument will be charged when this funding source is used */\n fundingMethodType: FundingInstrumentMethodType;\n /** Array of individual funding sources in case of incentives */\n groupedSources?: Maybe>>;\n /** Incentives and their max discount and percent off */\n incentives?: Maybe;\n};\n\n/** Pre-selected funding source type provided by the merchant */\nexport enum FundingSourceType {\n /** Bill Me Later (aka PayPal Credit) */\n Bml = 'BML'\n}\n\n/** Encapsulates all properties related to a GDPR banner for client rendering */\nexport type GdprBanner = {\n __typename?: 'GdprBanner';\n /** A string of CSS properties */\n css: Scalars['String'];\n /** A string of HTML properties */\n html: Scalars['String'];\n /** A string of JavaScript properties */\n js: Scalars['String'];\n};\n\n/** An enumeration of the gender of a user. This is based off of the ISO/IEC5218 standard. */\nexport enum Gender {\n /** Female */\n Female = 'FEMALE',\n /** Male */\n Male = 'MALE',\n /** Not applicable */\n NotApplicable = 'NOT_APPLICABLE',\n /** Not known */\n NotKnown = 'NOT_KNOWN'\n}\n\n/**\n * Encapsulates all properties related to a generic address.\n * Ex: line1, city, state, postalCode, fullAddress, isDefaultBilling, etc.\n */\nexport type GenericAddress = Address & {\n __typename?: 'GenericAddress';\n /** Portable address: An address first line street address */\n addressLine1?: Maybe;\n /** Portable address: An address second line street address */\n addressLine2?: Maybe;\n /** Portable address: An address third line street address */\n addressLine3?: Maybe;\n /** Portable address: An address first line admin area */\n adminArea1?: Maybe;\n /** Portable address: An address second line admin area */\n adminArea2?: Maybe;\n /** Portable address: An address third line admin area */\n adminArea3?: Maybe;\n /** Portable address: An address forth line admin area */\n adminArea4?: Maybe;\n /**\n * An Address city (Ex: 'San Jose')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use adminArea2 instead for portable format.\n */\n city?: Maybe;\n /**\n * An Address two-letter country code (Ex: 'US')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use countryCode instead\n */\n country?: Maybe;\n /** Portable address: An address two-letter country code */\n countryCode?: Maybe;\n /** An Address on a single line (Ex: '2211 North 1st St, Apt 123, San Jose, CA 95131') */\n fullAddress?: Maybe;\n /**\n * An Address first line street address (Ex: '2211 North 1st St')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use addressLine1 instead for portable format.\n */\n line1?: Maybe;\n /**\n * An Address second line street address (Ex: 'Apt 123')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use addressLine2 instead for portable format.\n */\n line2?: Maybe;\n /** An Address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /**\n * An Address state/province (Ex: 'CA')\n * @deprecated Coarse format addresses are being phased out for portable format addresses. Use adminArea1 instead for portable format.\n */\n state?: Maybe;\n};\n\n/** Encapsulates many ways that a date can be formatted. Ex: E, Hm, Ms, etc. */\nexport type GenericDate = {\n __typename?: 'GenericDate';\n /** Fri */\n E?: Maybe;\n /** Fri 14:10 */\n EHm?: Maybe;\n /** Fri 14:10:10 */\n EHms?: Maybe;\n /** 21 Fri */\n Ed?: Maybe;\n /** Fri 2:10 PM */\n Ehm?: Maybe;\n /** Fri 2:10:10 PM */\n Ehms?: Maybe;\n /** 2014 AD */\n Gy?: Maybe;\n /** Mar 2014 AD */\n GyMMM?: Maybe;\n /** Fri, 21 Mar 2014 AD */\n GyMMMEd?: Maybe;\n /** Mar 21, 2014 AD */\n GyMMMd?: Maybe;\n /** 14 */\n H?: Maybe;\n /** 14:10 */\n Hm?: Maybe;\n /** 14:10:10 */\n Hms?: Maybe;\n /** 3 */\n M?: Maybe;\n /** Fri, 3/21 */\n MEd?: Maybe;\n /** Mar */\n MMM?: Maybe;\n /** Fri, Mar 21 */\n MMMEd?: Maybe;\n /** March 21 */\n MMMMd?: Maybe;\n /** March 21 */\n MMMMdd?: Maybe;\n /** Mar 21 */\n MMMd?: Maybe;\n /** Mar 21 */\n MMMdd?: Maybe;\n /** 3/21 */\n Md?: Maybe;\n /** 21 */\n d?: Maybe;\n /** Thursday, September 28, 2017 */\n dateFull?: Maybe;\n /** Thursday, September 28, 2017 at 5:32:00 PM */\n dateFullTimeMedium?: Maybe;\n /** Thursday, September 28, 2017 at 5:32 PM */\n dateFullTimeShort?: Maybe;\n /** September 28, 2017 */\n dateLong?: Maybe;\n /** September 28, 2017 at 5:32 PM */\n dateLongTimeShort?: Maybe;\n /** Sep 28, 2017 */\n dateMedium?: Maybe;\n /** 9/28/17 */\n dateShort?: Maybe;\n /** Thursday, September 28, 2017 at 5:32:00 PM Pacific Daylight Time */\n dateTimeFull?: Maybe;\n /** September 28, 2017 at 5:32:00 PM PDT */\n dateTimeLong?: Maybe;\n /** Sep 28, 2017, 5:32:00 PM */\n dateTimeMedium?: Maybe;\n /** 9/28/17, 5:32 PM */\n dateTimeShort?: Maybe;\n /** 2 PM */\n h?: Maybe;\n /** 2:10 PM */\n hm?: Maybe;\n /** 2:10:10 PM */\n hms?: Maybe;\n /** 10:10 */\n ms?: Maybe;\n /** 5:32:00 PM Pacific Daylight Time */\n timeFull?: Maybe;\n /** 5:32:00 PM PDT */\n timeLong?: Maybe;\n /** 5:32:00 PM */\n timeMedium?: Maybe;\n /** 5:32 PM */\n timeShort?: Maybe;\n /** 2014 */\n y?: Maybe;\n /** 3/2014 */\n yM?: Maybe;\n /** Fri, 3/21/2014 */\n yMEd?: Maybe;\n /** 03/2014 */\n yMM?: Maybe;\n /** Mar 2014 */\n yMMM?: Maybe;\n /** Fri, Mar 21, 2014 */\n yMMMEd?: Maybe;\n /** Mar 21, 2014 */\n yMMMd?: Maybe;\n /** 03/21/2014 */\n yMMdd?: Maybe;\n /** 3/21/2014 */\n yMd?: Maybe;\n /** Q1 2014 */\n yQQQ?: Maybe;\n /** 1st quarter 2014 */\n yQQQQ?: Maybe;\n /** March 2014 */\n yyyyMMMM?: Maybe;\n};\n\n/** Encapsulates all properties related to a generic image. */\nexport type GenericImage = Image & {\n __typename?: 'GenericImage';\n /** An image's height in pixels (number value only) */\n height?: Maybe;\n /** An image's URL. A URL type. */\n url?: Maybe;\n /** An image's width in pixels (number value only) */\n width?: Maybe;\n};\n\n/** Encapsulates all properties related to a locale. GenericLocale should be used for most use cases. CheckoutLocale should be used for Checkout specific use cases. Ex: country, language, directionality, etc. */\nexport type GenericLocale = Locale & {\n __typename?: 'GenericLocale';\n /** A locale's country (Ex: 'US') */\n country?: Maybe;\n /** A locale's culture (Ex: 'en-US') */\n culture?: Maybe;\n /** A locale's directionality (Ex: 'ltr') */\n directionality?: Maybe;\n /** A locale's language (Ex: 'en') */\n language?: Maybe;\n /** A locale's locale (Ex: 'en_US') */\n locale?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a generic phone number.\n * Ex: countryCode, nationalNumber, type, national, international, etc.\n */\nexport type GenericPhone = {\n __typename?: 'GenericPhone';\n /** A country code associated with a phone number (Ex: '1') */\n countryCode?: Maybe;\n /** An E164 representation of a phone number (Ex: '+12015550123') */\n e164?: Maybe;\n /** An international representation of a phone number (Ex: '+1 201-555-0123') */\n international?: Maybe;\n /** Whether or not a phone is marked as active */\n isActive?: Maybe;\n /** Whether or not a phone is marked as primary */\n isPrimary?: Maybe;\n /** A national representation of a phone number (Ex: '(201) 555-0123') */\n national?: Maybe;\n /** A national (obscured) representation of a phone number (Ex: '(2**) ***-0123') */\n nationalObscured?: Maybe;\n /** An unformatted phone number (Ex: '2015550123') */\n number?: Maybe;\n /** An RFC3966 representation of a phone number (Ex: 'tel:+1-201-555-0123') */\n rfc3966?: Maybe;\n /** Type of phone (Ex: 'MOBILE'). See PhoneType enum. */\n type?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a URL.\n * Ex: protocol, host, port, hostname, query, href, etc.\n * See https://nodejs.org/api/url.html#url_class_url for more details.\n */\nexport type GenericUrl = Url & {\n __typename?: 'GenericURL';\n /** Username/password portion of the URL (Ex: user:pass) */\n auth?: Maybe;\n /** Fragment portion of the URL including the leading ASCII hash (#) character. (Ex: #hash) */\n hash?: Maybe;\n /** Full lower-cased host portion of the URL (Ex: google.com:8000) */\n host?: Maybe;\n /** Hostname portion of the URL. Does not contain a port. (Ex: google.com) */\n hostname?: Maybe;\n /** The serialized, full URL with all properties included. (Ex: https://google.com/path?key=value#hash) */\n href?: Maybe;\n /** Path portion of the URL which includes the query string. (Ex: /path?key=value) */\n path?: Maybe;\n /** Path portion of the URL, but does not include the query string. (Ex: /path) */\n pathname?: Maybe;\n /** Numeric port portion of the URL (Ex: 8000) */\n port?: Maybe;\n /** Protocol property of the URL (Ex: https:) */\n protocol?: Maybe;\n /** Query string of the URL. Does not include the leading question mark (?) character. (Ex: key=value) */\n query?: Maybe;\n /** Query params of the URL, as an Object */\n queryParams?: Maybe;\n /** Search property consists of the entire 'query string' portion of the URL, including the leading ASCII question mark (?) character. (Ex: ?key=value) */\n search?: Maybe;\n /** If true, two forward slashes are required following the colon in the protocol */\n slashes?: Maybe;\n};\n\n/**\n * GAAC - Google Address Auto Complete\n * Address fields is the type of field we are expecting google places\n * API to return with every place_id we send in the request\n * This is not all the available options. Refer to google places API\n * documentation if you want to enable more fields\n */\nexport enum GoogleAddressFields {\n /** mostly line1 line2 city state postal_code and country is returned in response */\n AddressComponent = 'ADDRESS_COMPONENT',\n /** html formatted address */\n AdrAddress = 'ADR_ADDRESS',\n /** comma separated full address text */\n FormattedAddress = 'FORMATTED_ADDRESS'\n}\n\n/**\n * An enumeration of all potential allowed auth methods for Card Transactions\n * https://developers.google.com/pay/api/web/reference/request-objects#CardParameters\n */\nexport enum GooglePayAuthMethods {\n /** Cryptogram 3DS */\n Cryptogram_3Ds = 'CRYPTOGRAM_3DS',\n /** Pan Only */\n PanOnly = 'PAN_ONLY'\n}\n\n/**\n * Billing Address Parameters\n *\n * Reference: https://developers.google.com/pay/api/web/reference/request-objects#BillingAddressParameters\n */\nexport type GooglePayBillingAddressParams = {\n __typename?: 'GooglePayBillingAddressParams';\n /** Format */\n format?: Maybe;\n /** Is Phone Number Required */\n phoneNumberRequired?: Maybe;\n};\n\n/**\n * Card Parameters\n * Reference: https://developers.google.com/pay/api/web/reference/request-objects#CardParameters\n */\nexport type GooglePayCardParams = {\n __typename?: 'GooglePayCardParams';\n /** Allow Credit Cards */\n allowCreditCards?: Maybe;\n /** Allow Prepaid Cards */\n allowPrepaidCards?: Maybe;\n /** Allowed Auth Methods */\n allowedAuthMethods: Array;\n /** Allowed Card Networks */\n allowedCardNetworks: Array;\n /** Assurance Details Required */\n assuranceDetailsRequired?: Maybe;\n /** Billing Address Parameters */\n billingAddressParameters?: Maybe;\n /** Billing Address Required */\n billingAddressRequired?: Maybe;\n};\n\n/**\n * GooglePay config data\n * For GooglePay requests\n * Reference: https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest\n */\nexport type GooglePayConfig = {\n __typename?: 'GooglePayConfig';\n /** Allowed Payment Methods */\n allowedPaymentMethods?: Maybe>;\n /** Major version of Google API that PayPal API Supports */\n apiVersion?: Maybe;\n /** Minor version of Google API that PayPal API supports */\n apiVersionMinor?: Maybe;\n /** Merchant Country */\n countryCode?: Maybe;\n /** Specifies if the Merchant is Eligible to Accept GooglePay Payments */\n isEligible: Scalars['Boolean'];\n /** Merchant Information */\n merchantInfo?: Maybe;\n};\n\n/** Gateway Parameters */\nexport type GooglePayGatewayParams = {\n __typename?: 'GooglePayGatewayParams';\n /** Gateway */\n gateway: Scalars['String'];\n /** Gateway Merchant ID */\n gatewayMerchantId: Scalars['String'];\n};\n\n/**\n * Merchant Information\n * Reference: https://developers.google.com/pay/api/web/reference/request-objects#MerchantInfo\n */\nexport type GooglePayMerchantInfo = {\n __typename?: 'GooglePayMerchantInfo';\n /** Auth JWT */\n authJwt: Scalars['String'];\n /** Merchant ID */\n merchantId: Scalars['String'];\n /** Merchant Name */\n merchantName?: Maybe;\n /** Merchant Origin */\n merchantOrigin: Scalars['String'];\n};\n\n/**\n * Schema for Google Pay contact\n * https://developers.google.com/pay/api/web/reference/response-objects#Address\n */\nexport type GooglePayPaymentContact = {\n /** The first line of the address. */\n address1?: InputMaybe;\n /** The second line of the address. */\n address2?: InputMaybe;\n /** The third line of the address. */\n address3?: InputMaybe;\n /** A country subdivision, such as a state or province. */\n administrativeArea?: InputMaybe;\n /** ISO 3166-1 alpha-2 country code. */\n countryCode?: InputMaybe;\n /** City, town, neighborhood, or suburb. */\n locality?: InputMaybe;\n /** The full name of the addressee. */\n name?: InputMaybe;\n /** A telephone number, if phoneNumberRequired is set to true in the PaymentDataRequest. */\n phoneNumber?: InputMaybe;\n /** The postal or ZIP code. */\n postalCode?: InputMaybe;\n /** The sorting code. */\n sortingCode?: InputMaybe;\n};\n\n/**\n * Payment Method Information\n * type - Requires a type as a String\n * Reference: https://developers.google.com/pay/api/web/reference/request-objects#PaymentMethod\n */\nexport type GooglePayPaymentMethod = {\n __typename?: 'GooglePayPaymentMethod';\n /** Card Parameters */\n parameters: GooglePayCardParams;\n /** Tokenization Specification */\n tokenizationSpecification: GooglePayTokenizationSpecification;\n /** Payment Method Type */\n type: Scalars['String'];\n};\n\n/**\n * Google Pay Payment Method Data\n * See: https://developers.google.com/pay/api/web/reference/response-objects#PaymentMethodData\n */\nexport type GooglePayPaymentMethodData = {\n /** Description: User-facing message to describe the payment method that funds this transaction. */\n description?: InputMaybe;\n /** Info: The value of this property depends on the payment method type returned. For CARD will be CardInfo. */\n info?: InputMaybe;\n /** Tokenization Data: Payment tokenization data for the selected payment method. */\n tokenizationData?: InputMaybe;\n /** Type: PaymentMethod type selected in the Google Pay payment sheet. */\n type?: InputMaybe;\n};\n\n/**\n * Google Pay Payment Method Data > Info\n * The value of the info property depends on the payment method type returned. For CARD type the value will be CardInfo.\n * https://developers.google.com/pay/api/web/reference/response-objects#CardInfo\n */\nexport type GooglePayPaymentMethodDataInfo = {\n /** Assurance Details: This object provides information about the validation performed on the returned payment data if assuranceDetailsRequired is set to true in the CardParameters. */\n assuranceDetails?: InputMaybe;\n /** Billing Address: The billing address associated with the provided payment method, if billingAddressRequired is set to true in CardParameters. */\n billingAddress?: InputMaybe;\n /** Card Details: The details about the card. This value is commonly the last four digits of the selected payment account number. */\n cardDetails?: InputMaybe;\n /** Card Network: The payment card network of the selected payment. */\n cardNetwork?: InputMaybe;\n};\n\n/**\n * Google Pay Payment Tokenization Data\n * See: https://developers.google.com/pay/api/web/reference/response-objects#PaymentMethodTokenizationData\n */\nexport type GooglePayTokenizationData = {\n /** Tokenization Data: Payment tokenization data for the selected payment method. */\n token?: InputMaybe;\n /** The type of tokenization to be applied to the selected payment method. This value matches the type set in PaymentMethodTokenizationSpecification. */\n type?: InputMaybe;\n};\n\n/**\n * TokenizationSpecification Parameters\n * Reference: https://developers.google.com/pay/api/web/reference/request-objects#PaymentMethodTokenizationSpecification\n */\nexport type GooglePayTokenizationSpecification = {\n __typename?: 'GooglePayTokenizationSpecification';\n /** Gateway Parameters */\n parameters: GooglePayGatewayParams;\n /** Tokenization Type */\n type: Scalars['String'];\n};\n\n/**\n * GAAC - Google Address Auto Complete\n * Place type is the search criteria for google places API\n * Mostly for PayPal usecase it will be 'address' type\n */\nexport enum GooglePlacesType {\n /** search by precise address */\n Address = 'ADDRESS',\n /** search by locality or administrative_area_level_3 */\n Cities = 'CITIES',\n /** search by business establishment */\n Establishment = 'ESTABLISHMENT',\n /** search places which may not be precise address or establishment */\n Geocode = 'GEOCODE',\n /** search by city postal_code country and few more address fields */\n Regions = 'REGIONS'\n}\n\n/** A container for Griffin Formatted Addresses */\nexport type GriffinFormattedAddresses = {\n __typename?: 'GriffinFormattedAddresses';\n /** The normalized address returned by ANS */\n formattedNormalizedAddress?: Maybe>>;\n /** The address entered by the user */\n formattedOriginalAddress?: Maybe>>;\n};\n\n/** Response wrapper for isGuestMemberBenefitsEligibleResolver. */\nexport type GuestMemberBenefits = {\n __typename?: 'GuestMemberBenefits';\n /** whether the data compared matches */\n isEligible?: Maybe;\n};\n\n/** \"Fields that provide additional information about a Payer\" */\nexport type GuestUserMetadata = {\n __typename?: 'GuestUserMetadata';\n /** \"Whether a provided email address belongs to a User account\" */\n emailHasExistingAccount: Scalars['Boolean'];\n};\n\n/** An enumeration of types that HTTPMethod can have. GET, POST, PUT, DELETE, etc. */\nexport enum HttpMethod {\n /** CONNECT */\n Connect = 'CONNECT',\n /** DELETE */\n Delete = 'DELETE',\n /** GET */\n Get = 'GET',\n /** HEAD */\n Head = 'HEAD',\n /** OPTIONS */\n Options = 'OPTIONS',\n /** PATCH */\n Patch = 'PATCH',\n /** POST */\n Post = 'POST',\n /** PUT */\n Put = 'PUT',\n /** REDIRECT */\n Redirect = 'REDIRECT'\n}\n\n/** IdentityDocumentInput type represents an identification doc to be added to an account */\nexport type IdentityDocumentInput = {\n /** The type of id */\n type: IdentityDocumentType;\n /** The value of the identity document. Ex(S1234567) */\n value: Scalars['String'];\n};\n\n/**\n * An enumeration of types that a Identification Type can be.\n * DRIVERS_LICENSE,NATIONAL_ID, etc.al\n */\nexport enum IdentityDocumentType {\n /** A CNPJ type of Identity Document (used in Brazil by Businesses) */\n Cnpj = 'CNPJ',\n /** A CPF type of Identity Document (used in Brazil) */\n Cpf = 'CPF',\n /** A drivers license type of Identity Document */\n DriversLicense = 'DRIVERS_LICENSE',\n /** A medical insurance id type of Identity Document (used as secondary ID in Russia) */\n MedicalInsuranceId = 'MEDICAL_INSURANCE_ID',\n /** A national id type of Identity Document */\n NationalId = 'NATIONAL_ID',\n /** A passport number type of Identity Document */\n PassportNumber = 'PASSPORT_NUMBER',\n /** A pension fund id type of Identity Document (used as secondary ID in Russia) */\n PensionFundId = 'PENSION_FUND_ID',\n /** A tax identification number type of Identity Document (used as secondary ID in Russia) */\n TaxIdentificationNumber = 'TAX_IDENTIFICATION_NUMBER',\n /** A temporary national id type of Identity Document */\n TemporaryNationalId = 'TEMPORARY_NATIONAL_ID'\n}\n\n/**\n * The Image interface encapsulates all properties related to an image.\n * Ex: url, width, height\n */\nexport type Image = {\n /** The height of the image */\n height?: Maybe;\n /** An Image's URL. */\n url?: Maybe;\n /** The width of the image */\n width?: Maybe;\n};\n\n/**\n * Type of image\n *\n * `jpg`, `png`, etc\n */\nexport enum ImageType {\n /** gif image */\n Gif = 'gif',\n /** jpg image */\n Jpg = 'jpg',\n /** png image */\n Png = 'png'\n}\n\n/** List of types that an Incentives can be. PERCENTAGE, FIXED */\nexport enum Incentives {\n /** Fixed, fixed amount of incentive */\n Fixed = 'FIXED',\n /** Percentage based incentive, has percent off */\n Percentage = 'PERCENTAGE'\n}\n\n/** Encapsulates all properties related to the initial payment info provided for a subscription transaction */\nexport type InitialSubscriptionPaymentInfo = {\n __typename?: 'InitialSubscriptionPaymentInfo';\n /** The currency and amount of the first payment for the subscription transaction */\n firstPayment?: Maybe;\n /** The currency and amount for the setup fee of the subscription transaction */\n setupFee?: Maybe;\n /** The currency and amount for the shipping fee of the subscription transaction */\n shippingAmount?: Maybe;\n /** The tax percentage of the subscription transaction */\n taxPercentage?: Maybe;\n /** The currency and amount for the total fee of the subscription transaction */\n totalAmount?: Maybe;\n};\n\n/** Encapsulates the status of initiate otp confirmation response. */\nexport type InitiateOtpConfirmationResponse = {\n __typename?: 'InitiateOtpConfirmationResponse';\n /** Overall Status of initiate otp call */\n status?: Maybe;\n};\n\n/** Encapsulates all properties related to Inline Checkout eligibility. */\nexport type InlineCheckoutEligibility = {\n __typename?: 'InlineCheckoutEligibility';\n /** Boolean response conveying eligibility for this flow. */\n eligible: Scalars['Boolean'];\n /** Reasons for ineligibility in the case eligibility is false. */\n ineligibilityReason?: Maybe;\n};\n\n/**\n * Encapsulates all data related to a Installment Details.\n * Ex: monthlyPayment, discountAmount, discountPercent, etc.\n */\nexport type InstallmentDetail = {\n __typename?: 'InstallmentDetail';\n /** Discount amount applied to the payment, if any */\n discountAmount?: Maybe;\n /** Discount percentage applied to the payment, if any */\n discountPercent?: Maybe;\n /** Monthly payment value for current Installment term */\n monthlyPayment?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to installment related discounts.\n * Ex: currencySymbol, currencyValue, currencyCode, etc.\n */\nexport type InstallmentDiscount = {\n __typename?: 'InstallmentDiscount';\n /** Amount of discount */\n amount?: Maybe;\n /** Amount of discount's percentage (Ex: '5.0') */\n percentage?: Maybe;\n};\n\n/**\n * Encapsulates all data related to a Installment option.\n * Ex: term, monthly_payment, total, installmentDetail, etc.\n */\nexport type InstallmentOption = {\n __typename?: 'InstallmentOption';\n /** Formatted Value of Discount amount given for the current Installment term */\n formattedDiscountAmount?: Maybe;\n /** Formatted Monthly payment value for current Installment term */\n formattedMonthlyPayment?: Maybe;\n /** Formatted value of Purchase cost + total cost APR + total consumer fee (if any) */\n formattedTotalAmount?: Maybe;\n /** Details for the current Installment term like discountAmount, discountPercent and monthlyPayment */\n installmentDetail?: Maybe;\n /** The term over which to finance the transaction */\n term?: Maybe;\n};\n\n/** Encapsulates all properties related to InstallmentSchedule. */\nexport type InstallmentSchedule = {\n __typename?: 'InstallmentSchedule';\n /** Consumer Fee for the transaction (Ex: '0,20 EUR') */\n consumerFee?: Maybe;\n /** Interest amount on the transaction (Ex: '4,20 EUR') */\n interest?: Maybe;\n /** Payment Date of the transaction (Ex: '27 nov.', '14 Mar') */\n paymentDate?: Maybe;\n /** Order of the payment (Ex: 1 or 2 ..) */\n paymentNumber?: Maybe;\n /** Type of Payment (Ex: 'Down_Payment', 'INSTALLMENT') */\n paymentType?: Maybe;\n /** Principal amount of transaction (Ex: '204,20 EUR') */\n principal?: Maybe;\n /** TotalPayment for the transaction including fee and interest (Ex: '23,01 EUR') */\n totalPayment?: Maybe;\n};\n\n/**\n * An enumeration of Installment Type.\n * SINGLE, MULTIPLE\n */\nexport enum InstallmentType {\n /** Multiple Installments terms */\n Multiple = 'MULTIPLE',\n /** Single Installment term */\n Single = 'SINGLE'\n}\n\n/**\n * Encapsulates all properties related to an individual payment installment option\n * Ex: term, totalCost, discountPercentage\n */\nexport type Installments = {\n __typename?: 'Installments';\n /** Option discount amount */\n discount?: Maybe;\n /** Option interval duration for installment */\n intervalDuration?: Maybe;\n /** Option monthly payment amount */\n monthlyPayment: Amount;\n /** Option term number (Ex: 3) */\n term: Scalars['Int'];\n /** Option total cost amount */\n totalCost: Amount;\n};\n\n/**\n * Allows selecting an installment option for use when paying\n *\n * Used in the `approveMemberPayment` mutation.\n *\n * Example input (with discount):\n * ```\n * \"installmentOption: {\n * term: 1,\n * paymentValue: '237.50',\n * paymentCurrency: 'BRL',\n * discountValue: '12.50',\n * discountCurrency: 'BRL',\n * discountPercentage: '5.0',\n * totalCostValue: '237.50',\n * totalCostCurrency: 'BRL',\n * };\n * ```\n *\n * Example input (without discount):\n * ```\n * \"installmentOption\": {\n * term: 10,\n * paymentValue: '25.00',\n * paymentCurrency: 'BRL',\n * totalCostValue: '250.00',\n * totalCostCurrency: 'BRL',\n * };\n * ```\n */\nexport type InstallmentsInput = {\n /** Currency code for the merchant provided discount (Ex: 'BRL') */\n discountCurrency?: InputMaybe;\n /** Merchant provided discount percentage for the selected installment term (Ex: '5.0') */\n discountPercentage?: InputMaybe;\n /** Value of the merchant provided discount for the selected installment term (Ex: '12.50') */\n discountValue?: InputMaybe;\n /** Monthly payment currency code for selected installment (Ex: 'BRL') */\n paymentCurrency: Scalars['String'];\n /** Monthly payment for the selected installment term (Ex: '25.00') */\n paymentValue: Scalars['String'];\n /** Installment term (Ex: 5) */\n term: Scalars['Int'];\n /** Currency code for the total cost of the purchase (Ex: 'BRL') */\n totalCostCurrency: Scalars['String'];\n /** Total cost of the purchase (Ex: 250.00) */\n totalCostValue: Scalars['String'];\n};\n\n/** Size of an image */\nexport enum InstitutionCategory {\n /** Image category for the FI brand */\n Brand = 'BRAND',\n /** Secondary image category for the FI brand */\n BrandSecondary = 'BRAND_SECONDARY',\n /** Image category for the institution partner */\n Partner = 'PARTNER',\n /** Image category for financial institution */\n Primary = 'PRIMARY',\n /** Image category for reward program */\n Reward = 'REWARD',\n /** Image category for thumbnail display */\n Thumbnail = 'THUMBNAIL',\n /** Image category for financial institution wallet */\n Wallet = 'WALLET'\n}\n\n/** Encapsulates all properties related to card institution images. */\nexport type InstitutionImage = Image & {\n __typename?: 'InstitutionImage';\n /** The image category (e.g. PARTNER, BRAND, REWARD, etc) */\n category?: Maybe;\n /** An image's height in pixels (number value only) */\n height?: Maybe;\n /** An image mime type */\n type?: Maybe;\n /** An image's URL. A URL type. */\n url?: Maybe;\n /** An image's width in pixels (number value only) */\n width?: Maybe;\n};\n\n/** An enumeration of instrument classifications supported by PayPal */\nexport enum InstrumentClassification {\n /** Bank account */\n Bank = 'BANK',\n /** Co-branded credit card */\n CoBrandedCreditCard = 'CO_BRANDED_CREDIT_CARD',\n /** Credit card */\n CreditCard = 'CREDIT_CARD',\n /** Line of credit offered by PayPal */\n CreditLine = 'CREDIT_LINE',\n /** Debit card */\n DebitCard = 'DEBIT_CARD',\n /** External wallet account */\n ExternalWallet = 'EXTERNAL_WALLET',\n /** Gift card */\n GiftCard = 'GIFT_CARD',\n /** Balance */\n Holding = 'HOLDING',\n /** PayPal-issued prepaid card */\n PaypalPrepaidCard = 'PAYPAL_PREPAID_CARD',\n /** Prepaid card */\n PrepaidCard = 'PREPAID_CARD',\n /** Credit card issued by a merchant */\n PrivateLabelCreditCard = 'PRIVATE_LABEL_CREDIT_CARD',\n /** Rewards currency */\n Rewards = 'REWARDS',\n /** Merchant specific balance, pay after delivery, etc. */\n Tab = 'TAB',\n /** UNKNOWN */\n Unknown = 'UNKNOWN'\n}\n\n/** Types of client config integration artifact */\nexport enum IntegrationArtifactType {\n /** Use this when Merchant has integrated with an old version of BRAINTREE_VZERO that does not ingest JS_V3 or V4. */\n BraintreeVzero = 'BRAINTREE_VZERO',\n /** PayPal Javascript SDK v6 */\n JsSdkV6 = 'JS_SDK_V6',\n /** Checkout.js v3 */\n JsV3 = 'JS_V3',\n /** Checkout.js v4 */\n JsV4 = 'JS_V4',\n /** Use this when Merchant has integrated using Future Payments Mobile Integration. */\n NativeSdk = 'NATIVE_SDK',\n /** Integration type is not defined */\n None = 'NONE',\n /** PayPal Javascript SDK */\n PaypalJsSdk = 'PAYPAL_JS_SDK',\n /** PayPal Javascript SDK with Shopper Insights */\n PaypalJsSdkWithShopperInsights = 'PAYPAL_JS_SDK_WITH_SHOPPER_INSIGHTS'\n}\n\n/**\n * Integration Specific SDK Eligibility. Currently we support two kind of integrations\n * 1. Paypal: Paypal Specific SDK eligibility integration\n * 2. Venmo: Venmo Specific SDK eligibility integraion\n */\nexport type IntegrationSdkEligibility = {\n __typename?: 'IntegrationSDKEligibility';\n /** Boolean response conveying eligibility for this flow */\n eligibility: Scalars['Boolean'];\n /** showing ineligiblity reasons error message in the case eligibility raises an error */\n ineligibilityErrorMessage?: Maybe;\n /** showing ineligiblity reasons in the case eligibility returns false */\n ineligibilityReason: Scalars['String'];\n};\n\n/** An enumeration of billing cycle interval units */\nexport enum IntervalUnit {\n /** A daily billing cycle */\n Day = 'DAY',\n /** A monthly billing cycle */\n Month = 'MONTH',\n /** A monthly billing cycle for internal visibilty use */\n SemiMonth = 'SEMI_MONTH',\n /** A weekly billing cycle */\n Week = 'WEEK',\n /** A yearly billing cycle */\n Year = 'YEAR'\n}\n\n/** Encapsulates all properties related to an item's option selection. */\nexport type ItemOptionSelection = {\n __typename?: 'ItemOptionSelection';\n /** The description of the selected value (ex: 'Blue') ' */\n description: Scalars['String'];\n /** The name of option field (ex: 'Color'). */\n name: Scalars['String'];\n};\n\n/** An enumeration of the KYC (KnowYourCustomer) field types that can be required for sign up. */\nexport enum KnowYourCustomerField {\n /** A user's date of birth */\n DateOfBirth = 'DATE_OF_BIRTH',\n /** A user's gender */\n Gender = 'GENDER',\n /** A user's identity document number */\n IdentityDocumentNumber = 'IDENTITY_DOCUMENT_NUMBER',\n /** A user's identity document type */\n IdentityDocumentType = 'IDENTITY_DOCUMENT_TYPE',\n /** A user's nationality */\n Nationality = 'NATIONALITY',\n /** A user's occupation */\n Occupation = 'OCCUPATION',\n /** A user's place of birth */\n PlaceOfBirth = 'PLACE_OF_BIRTH',\n /** A user's secondary identity document number */\n SecondaryIdentityDocumentNumber = 'SECONDARY_IDENTITY_DOCUMENT_NUMBER',\n /** A user's secondary identity document type */\n SecondaryIdentityDocumentType = 'SECONDARY_IDENTITY_DOCUMENT_TYPE'\n}\n\n/**\n * Encapsulates all properties related to a Legal Agreement accepted by the buyer.\n * This definition is based on OAS API definition for create entities endpoint.\n * OAS API Definition: https://ppaas/api/3719176155268672#apiReference (/v1/onboarding/create-entities).\n */\nexport type LegalAgreementInput = {\n /** Agreement major version accepted by the buyer. */\n majorVersion: Scalars['String'];\n /** Agreement minor version accepted by the buyer. */\n minorVersion: Scalars['String'];\n};\n\n/** Encapsulates all properties related to the Legal Agreements accepted by the buyer. */\nexport type LegalAgreementsInput = {\n /** User Agreement accepted by the buyer */\n userAgreement?: InputMaybe;\n};\n\n/** object that includes links to perform additional actions on a token */\nexport type Link = {\n __typename?: 'Link';\n /** encType */\n encType?: Maybe;\n /** href */\n href?: Maybe;\n /** method */\n method?: Maybe;\n /** rel */\n rel?: Maybe;\n};\n\n/**\n * The Locale interface encapsulates all properties related to a locale.\n * Ex: country, language, directionality, etc.\n */\nexport type Locale = {\n /** A locale's country (Ex: 'US') */\n country?: Maybe;\n /** A locale's culture (Ex: 'en-US') */\n culture?: Maybe;\n /** A locale's directionality (Ex: 'ltr') */\n directionality?: Maybe;\n /** A locale's language (Ex: 'en') */\n language?: Maybe;\n /** A locale's locale (Ex: 'en_US') */\n locale?: Maybe;\n};\n\n/** A container type for address input field metadata. */\nexport type LocaleAddressField = {\n __typename?: 'LocaleAddressField';\n /** Whether or not a field is required */\n isRequired?: Maybe;\n /** Maximum length of field - Ex: 5 */\n maxLength?: Maybe;\n /** Minimum length of field - Ex: 1 */\n minLength?: Maybe;\n /** Name of field - Ex: city */\n name?: Maybe;\n /** Validation regex of field */\n regex?: Maybe;\n};\n\n/** A container type for address metadata. */\nexport type LocaleAddressMetadata = {\n __typename?: 'LocaleAddressMetadata';\n /**\n * The address client metadata from Griffin\n *\n * https://github.paypal.com/pages/Globalization-R/griffin-paypal/docs/core-node.html#address-options\n */\n griffinMetadata?: Maybe;\n /** A list of ordered fields to be displayed in an address form */\n layout?: Maybe>>;\n /** A list of ordered portable fields to be displayed in an address form */\n portableLayout?: Maybe>>;\n /** A list of localized content strings to be used for the address input labels */\n strings?: Maybe;\n};\n\n/** A container type for address state labels. */\nexport type LocaleAddressState = {\n __typename?: 'LocaleAddressState';\n /** The display text for a state, EX: California, Buenos Aires (Provincia), etc */\n displayText?: Maybe;\n /** The input value of a state, EX: CA, BUENOS AIRES, etc */\n value?: Maybe;\n};\n\n/** A container type for address string metadata. */\nexport type LocaleAddressStrings = {\n __typename?: 'LocaleAddressStrings';\n /** Label for the city field */\n cityLabel?: Maybe;\n /** Label for the line1 field */\n line1Label?: Maybe;\n /** Label for the line2 field */\n line2Label?: Maybe;\n /** Label for optional address fields */\n optionalLabel?: Maybe;\n /** Label for the postal code field */\n postcodeLabel?: Maybe;\n /** Label for the line2 field */\n selectLabel?: Maybe;\n /** Label for the state field */\n stateLabel?: Maybe;\n /** List of LocaleAddressState types */\n stateList?: Maybe>;\n /** Localized validation error for the postal code */\n validationError?: Maybe;\n};\n\n/** A container type for credit card metadata. */\nexport type LocaleCreditCardMetadata = {\n __typename?: 'LocaleCreditCardMetadata';\n /**\n * Returns a list of formatting and validation metadata for types of credit cards\n * Average SLA response time - 50ms\n *\n * Required Roles: None.\n */\n types: Array>;\n};\n\n/** A container for the metadata pertaining to how a country displays currency */\nexport type LocaleCurrencyMetadata = {\n __typename?: 'LocaleCurrencyMetadata';\n /** Country Currency code */\n code: SupportedCountryCurrencies;\n /**\n * Object map of country currency denomincation to decimal digit length\n * EXAMPLE: USD -> 2\n */\n griffinClientDigitsMetadata: Scalars['Int'];\n /**\n * Object map of country currency denomincation to currency character\n * EXAMPLE: USD -> $\n */\n griffinCurrencySupportedSymbolsMetadata: SupportedCurrencySymbolsMetadata;\n /** A container for metadata pertaining to currency styles */\n styles: LocaleStylesCurrencyMetadata;\n};\n\n/** A container type for date metadata. */\nexport type LocaleDateMetadata = {\n __typename?: 'LocaleDateMetadata';\n /** Date format/pattern for backend use (consistently using letters d, m, y) */\n datePattern?: Maybe;\n /** Format display for the user */\n displayFormat?: Maybe;\n /**\n * The localized label for an expiry date\n *\n * > Example for en_US: *MM/YY*\n */\n expiryDatePatternLabel?: Maybe;\n};\n\n/** Locale type */\nexport type LocaleInput = {\n /** country */\n country?: InputMaybe;\n /** language */\n lang?: InputMaybe;\n};\n\n/** A container type for locale metadata. */\nexport type LocaleMetadata = {\n __typename?: 'LocaleMetadata';\n /** A container type for address metadata. See LocaleAddressMetadata */\n address?: Maybe;\n /** A list of PayPal business regions a given country is part of. Ex: ['LATAM', 'EM'] */\n businessRegions: Array>;\n /** A container type for credit card metadata. See LocaleCreditCardMetadata */\n card?: Maybe;\n /** A container for the metadata pertaining to how a country displays currency */\n currency: LocaleCurrencyMetadata;\n /** The country's three character currency code. Ex: USD */\n currencyCode?: Maybe;\n /** The country's currency symbol. Ex: $ */\n currencySymbol?: Maybe;\n /** A container type for date metadata. See LocaleDateMetadata */\n date?: Maybe;\n /** A container type for directionality based on Language */\n directionality: Scalars['String'];\n /**\n * Fields required for a user to sign up for a full member account in\n * a given country.\n */\n knowYourCustomerFields: Array>;\n /** A container type for name metadata. See LocaleNameMetadata */\n name?: Maybe;\n /** A container type for number metadata. see LocaleNumberMetadata */\n number: LocaleNumberMetadata;\n /** A container type for phone metadata. See LocalePhoneMetadata */\n phone?: Maybe;\n /**\n * Sugguested default language for given country\n *\n * Required auth states: Any\n */\n suggestedDefaultLanguage?: Maybe;\n /** A list of supported languages for a given country. Ex: ['en', 'fr', 'es', 'zh'] */\n supportedLanguages: Array;\n /** A container type for territory metadata. See LocaleTerritoryMetadata */\n territories: Array;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataAddressArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataBusinessRegionsArgs = {\n countryCode: CountryCodes;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataCardArgs = {\n countryCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataCurrencyArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataCurrencyCodeArgs = {\n countryCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataCurrencySymbolArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataDateArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataDirectionalityArgs = {\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataKnowYourCustomerFieldsArgs = {\n countryCode: CountryCodes;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataNameArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataNumberArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataPhoneArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataSuggestedDefaultLanguageArgs = {\n countryCode: CountryCodes;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataSupportedLanguagesArgs = {\n countryCode: CountryCodes;\n};\n\n\n/** A container type for locale metadata. */\nexport type LocaleMetadataTerritoriesArgs = {\n countryCode: CountryCodes;\n languageCode?: InputMaybe;\n};\n\n/** The metadata for a particular name. */\nexport type LocaleNameField = {\n __typename?: 'LocaleNameField';\n /** Indicates whether the name field is required */\n isRequired?: Maybe;\n /** The name of field Ex-givenName */\n name?: Maybe;\n};\n\n/** A container type for date metadata. */\nexport type LocaleNameMetadata = {\n __typename?: 'LocaleNameMetadata';\n /** Object for name griffin metadata */\n griffinMetadata?: Maybe;\n /** A list of ordered fields to be displayed in an name form */\n layout?: Maybe>>;\n /** A list of localized content strings to be used for the name input labels */\n strings?: Maybe;\n};\n\n/** A container type for name string metadata. */\nexport type LocaleNameStrings = {\n __typename?: 'LocaleNameStrings';\n /** Label for the givenName field */\n givenNameLabel?: Maybe;\n /** Label to display optional */\n optionalLabel?: Maybe;\n /** Label for the surname field */\n surnameLabel?: Maybe;\n};\n\n/** A container type for number metadata. */\nexport type LocaleNumberMetadata = {\n __typename?: 'LocaleNumberMetadata';\n /** Character sequence used to signify decimal pattern sign. EXAMPLE: #,##0.### */\n DECIMAL_PATTERN: Scalars['String'];\n /** Character used to signify decimal. EXAMPLE: . */\n DECIMAL_SEP: Scalars['String'];\n /** Character used to signify exponent sign. EXAMPLE: E */\n EXP_SYMBOL: Scalars['String'];\n /** Character used to signify number grouping. EXAMPLE: 1,000 */\n GROUP_SEP: Scalars['String'];\n /** Character used to signify per sign. EXAMPLE: ∞ */\n INFINITY: Scalars['String'];\n /** Character used to signify minus sign. EXAMPLE: - */\n MINUS_SIGN: Scalars['String'];\n /** Character used to signify not a number sign. EXAMPLE: NaN */\n NAN: Scalars['String'];\n /** Character used to signify percent. EXAMPLE: % */\n PERCENT: Scalars['String'];\n /** Character sequence used to signify percent pattern sign. EXAMPLE: #,##0% */\n PERCENT_PATTERN: Scalars['String'];\n /** Character used to signify per mille sign. EXAMPLE: ‰ */\n PERMILL: Scalars['String'];\n /** Character used to signify plus sign. EXAMPLE: + */\n PLUS_SIGN: Scalars['String'];\n /** Character sequence used to signify scientific notation pattern sign. EXAMPLE: #E0 */\n SCIENTIFIC_PATTERN: Scalars['String'];\n /** Character used to signify zero digit. EXAMPLE: 0 */\n ZERO_DIGIT: Scalars['String'];\n /** Object for name griffin metadata */\n griffinMetadata?: Maybe;\n};\n\n/** A container type for input masks for phones. */\nexport type LocalePhoneMasks = {\n __typename?: 'LocalePhoneMasks';\n /** A mask used for input fields -- Ex: 00000 00000 */\n fixed?: Maybe;\n /** A mask used for input fields -- Ex: 0000 000000 */\n mobile?: Maybe;\n};\n\n/** A container type for phone metadata. */\nexport type LocalePhoneMetadata = {\n __typename?: 'LocalePhoneMetadata';\n /** A container type for a phone's input masks. See LocalePhoneMasks */\n masks?: Maybe;\n /** A container type for a phone's input patterns. See LocalePhonePatterns */\n patterns?: Maybe;\n};\n\n/** A container type for input patterns for phones. */\nexport type LocalePhonePatterns = {\n __typename?: 'LocalePhonePatterns';\n /** A default phone pattern -- Ex: '^(0)?((?:00800|1\\d{0,5}|[2-9]\\d\\d)\\d{7})$' */\n default?: Maybe;\n /** A fixed line phone pattern -- Ex: '^(0)?((?:00800|1\\d{0,5}|[2-9]\\d\\d)\\d{7})$' */\n fixed?: Maybe;\n /** A mobile phone pattern -- Ex: '^(0)?((?:00800|1\\d{0,5}|[2-9]\\d\\d)\\d{7})$' */\n mobile?: Maybe;\n};\n\n/** A container for metadata pertaining to currency styles */\nexport type LocaleStylesCurrencyMetadata = {\n __typename?: 'LocaleStylesCurrencyMetadata';\n /** Currency style metadata */\n currency: Scalars['String'];\n /** ISOCurrency style metadata */\n iSOCurrency: Scalars['String'];\n /** SymbolISO Currency style metadata */\n symbolISOCurrency: Scalars['String'];\n};\n\n/** A container type for territory metadata. */\nexport type LocaleTerritoryMetadata = {\n __typename?: 'LocaleTerritoryMetadata';\n /** A two character country code -- Ex: US */\n code?: Maybe;\n /** The international dialing code for the territory -- Ex: 1 */\n internationalDialingCode?: Maybe;\n /** The full name of the territory -- Ex: United States */\n name?: Maybe;\n /**\n * The name of the business region the country belongs to.\n * Canada and the United States return 'NA'\n * Ex: EMEA\n */\n region?: Maybe;\n /** The suggested default language for the territory -- Ex: en */\n suggestedDefaultLanguage?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a Marketing campaign.\n * Ex: advertisementId, advertiserName, etc.\n * Average SLA response time - 50ms\n */\nexport type MarketingCampaign = {\n __typename?: 'MarketingCampaign';\n /** A campaign's advertisement ID. (Ex: '210004') */\n advertisementId?: Maybe;\n /** A campaign's advertiser name. (Ex: 'PayPal') */\n advertiserName?: Maybe;\n /** A campaign's buy item ID. (Ex: '582468') */\n buyItemId?: Maybe;\n /** A campaign's ID. (Ex: '111169') */\n campaignId?: Maybe;\n /** A campaign's creative ID. (Ex: '44871') */\n creativeId?: Maybe;\n};\n\n/**\n * An enumeration of phases that a MarketingOffer can be in.\n * INITIAL, DISPLAYED, CLICKED, CTA_INITIALIZED, etc.\n */\nexport enum MarketingOfferPhase {\n /** MarketingOffer is in a clicked phase */\n Clicked = 'CLICKED',\n /** MarketingOffer is in a call to action completed phase */\n CtaCompleted = 'CTA_COMPLETED',\n /** MarketingOffer is in a call to action initialized phase */\n CtaInitialized = 'CTA_INITIALIZED',\n /** MarketingOffer is in a displayed phase */\n Displayed = 'DISPLAYED',\n /** MarketingOffer is in an initial phase */\n Initial = 'INITIAL',\n /** MarketingOffer is in a payment completed phase */\n PayCompleted = 'PAY_COMPLETED',\n /** MarketingOffer is in a payment initialized phase */\n PayInitialized = 'PAY_INITIALIZED'\n}\n\n/** An enumeration of statuses that a MarketingOffer can be in. VALID or INVALID */\nexport enum MarketingOfferStatus {\n /** MarketingOffer has a status of invalid. */\n Invalid = 'INVALID',\n /** MarketingOffer has a status of valid. */\n Valid = 'VALID'\n}\n\n/**\n * An enumeration of types that a MarketingOffer can be.\n * ADPAL, INFORMATIONAL, FINANCIAL_PRODUCT, or OTHER\n */\nexport enum MarketingOfferType {\n /** An ADPAL type of MarketingOffer */\n Adpal = 'ADPAL',\n /** A financial product type of MarketingOffer */\n FinancialProduct = 'FINANCIAL_PRODUCT',\n /** An informational type of MarketingOffer */\n Informational = 'INFORMATIONAL',\n /** An other type of MarketingOffer */\n Others = 'OTHERS'\n}\n\n/** Encapsulates all properties related to a merchant. Ex: merchantId, email */\nexport type Merchant = {\n __typename?: 'Merchant';\n /** Bill Pay Integrator's name. */\n billPayIntegratorName?: Maybe;\n /** Returns a list of cobrands associated with this merchant */\n cobrands?: Maybe>>;\n /** The country this merchant is located in */\n country?: Maybe;\n /** Merchant descriptor (for bank statements) */\n descriptor: Scalars['String'];\n /** The Funding Instruments that are NOT allowed for a transaction based on merchant's configurations */\n disallowedFundingInstrumentsForMerchant?: Maybe>>;\n /**\n * Merchant's email address.\n * @deprecated Merchant email is PII data & should not be passed to Clients\n */\n email?: Maybe;\n /** Indicates eligibility for trusted beneficiary opt-in experience */\n isEligibleForTrustedBeneficiaryOptIn?: Maybe;\n /** Merchant is gaming and gambling */\n isGambling?: Maybe;\n /** Indicates whether this merchant's charity status has been confirmed by PayPal */\n isPaypalConfirmedCharity?: Maybe;\n /**\n * Indicates whether this merchant has been marked as a trusted beneficiary by the associated user\n * @deprecated Use isEligibleForTrustedBeneficiaryOptIn instead for deciding whether or not to render the Trusted Beneficiary experience\n */\n isTrustedBeneficiary?: Maybe;\n /** The locale of this merchant */\n locale?: Maybe;\n /** Merchant's logo. */\n logo?: Maybe;\n /** Merchant's ID (Ex: '7VJPAEVGH7B6A') */\n merchantId?: Maybe;\n /** Merchant's brand name. */\n name?: Maybe;\n /** The preferences the Merchant has set */\n preferences?: Maybe;\n /** Indicates type of checkout integration */\n solution: CheckoutSolutionType;\n};\n\n/** Encapsulates all properties related to a merchant's preferences. Ex: autoReturn, PDT */\nexport type MerchantPreferences = {\n __typename?: 'MerchantPreferences';\n /** If set to true automatically redirects back to merchant site */\n autoReturnToMerchant?: Maybe;\n /** If set to true enables paymentDataTransfer to merchant */\n enablePaymentDataTransfer?: Maybe;\n /** Return URL of the seller set in auto return setting (different from cart return url) */\n returnUrl?: Maybe;\n};\n\n/** A profile object that contains merchant specific messaging information */\nexport type MerchantProfile = {\n __typename?: 'MerchantProfile';\n /** Time to live for the SDK Bundle serving this Merchant */\n configTTL?: Maybe;\n /** Merchant Configuration Hash */\n hash?: Maybe;\n};\n\n/** Schema to do mobile sdk eligibility */\nexport type MobileSdkEligibility = {\n __typename?: 'MobileSDKEligibility';\n /**\n * Boolean response conveying eligibility for this flow\n * @deprecated Migrating this data into IntegrationSDKEligibility, due to introduction of new mobile SDK integrations, such as Venmo\n */\n eligible: Scalars['Boolean'];\n /**\n * showing ineligibility reasons in the case eligibility is false\n * @deprecated Migrating this data into IntegrationSDKEligibility, due to introduction of new mobile SDK integrations, such as Venmo\n */\n ineligibilityReason: Scalars['String'];\n /** Paypal mobile SDK specific eligibility response */\n paypal: IntegrationSdkEligibility;\n /** Venmo mobile SDK specific eligibility response */\n venmo: IntegrationSdkEligibility;\n};\n\n/** The MobileSdkFeatures is returned to query 'mobileSdkFeatures' with the enabled native SDK features for the client. */\nexport type MobileSdkFeatures = {\n __typename?: 'MobileSdkFeatures';\n /** the elmo experiment with a list of treatments with feature eligibility */\n elmoFeatures: Array>;\n};\n\n/** Utilities for tracking this message and the user's interaction with it. */\nexport type MorsMrTrackingDetails = {\n __typename?: 'MorsMRTrackingDetails';\n /** URL used for click tracking */\n clickUrl?: Maybe;\n /** URL used for dismiss tracking */\n dismissUrl?: Maybe;\n /** Url used for impression tracking */\n impressionUrl?: Maybe;\n};\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type Mutation = {\n __typename?: 'Mutation';\n /**\n * Accept the SEPA Direct Debit Mandate for a given bank account.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n acceptSepaMandate?: Maybe;\n /**\n * Tokenless accept the SEPA Direct Debit Mandate for a given bank account.\n *\n * Required auth states: LOGGEDIN\n */\n acceptSepaMandateWithoutToken?: Maybe;\n /**\n * Add primary/shipping address to User's Profile and return the updated/replanned Checkout Session.\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addAddressToUser?: Maybe;\n /**\n * The addBank mutation will add a new bank account and update checkoutSession fundingOptions based on the newly added bank account.\n * `authorizations` takes any authorization needs to be completed\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addBank?: Maybe;\n /**\n * The addBankAfterStepup mutation is used if the original addBank call throws a RISK_DECLINE_REDIRECT_AUTH_FLOW error from FI due to a SCA\n * requiring stepup. Once the stepup is resolved, the client will call addBankAfterStepup and provide the authContextId they received from\n * xobuyernodeserv in the addBank contingency. The authContextId will be used to grab the original parameters from junonodisk so that the\n * client does not need to re-enter them. Once parameters are grabbed from junonodisk, this operation finishes the addBank steps and adds a\n * new bank account and updates checkoutSession fundingOptions based on the newly added bank account.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addBankAfterStepup?: Maybe;\n /** Add a bank account candidate. */\n addBankCandidate?: Maybe;\n /**\n * The `addBillingAddress` mutation will add a billing address to the Users billing addresses.\n *\n * If an `instrumentId` is passed in, it will associate the billing address with it.\n *\n * - Requires parameters for an address (Ex: line1, line2, etc.).\n * - Optionally accepts an instrumentId param as a String.\n *\n * Returns a CheckoutSession type.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addBillingAddress?: Maybe;\n /**\n * The addCard mutation will do the following depends on how arguments are being\n * passed:\n * - Add a new card\n * - Perform billing address validation if address.id is missing\n * - Update checkoutSession fundingOptions based on the newly added card\n * - paypalRequestId is unique uuid for each add card request. If we don't get it from front end, we generate it using uuid library else we pass whatever came in request.\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addCard?: Maybe;\n /**\n * The addCardWithoutToken mutation will do the following:\n * - Perform billing address validation if address.id is missing\n * - Add a new card\n * Required auth states: LOGGEDIN\n */\n addCardWithoutToken?: Maybe;\n /**\n * The addPotentialCard mutation will do the following\n * passed:\n * - Add a new card to the user wallet\n * - Update checkoutSession fundingOptions based on the newly added card\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addPotentialCard?: Maybe;\n /**\n * The addShippingAddress mutation will add a shipping address to a\n * Users shipping addresses, which can be used when approving the payment transaction.\n * Requires a token param (EC, PAY, or BA token) as a String.\n * Requires additional parameters for an address (Ex: line1, line2, etc.).\n *\n * Optionally accepts a `normalize` parameter that tells us if we need to try to normalize the address.\n * If a corrected address is returned from the Address Normalization Service,\n * then a `ADDRESS_NORMALIZED` Client Contingency is thrown with the normalized address passed down as data.\n *\n * Optionally accepts a `preferredAddress` parameter that tells us if we need to mark the current address\n * as Preferred for the user.\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - 2200ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addShippingAddress?: Maybe;\n /**\n * The addTaxId mutation will add a Tax Identification number to a Brazil User,\n * if the TAX_ID_REQUIRED contingency is triggered as the user has not yet added a tax id.\n *\n * Requires a:\n * token param (EC, PAY, or BA token) as a String.\n * taxId (\"123.123.123-12\" in BR case) as a String.\n * type (CPF or CNPJ in BR case) as a TaxIdType.\n *\n * Returns a CheckoutSession type.\n *\n * Required auth states: LOGGEDIN, REMEMBERED.\n */\n addTaxId?: Maybe;\n /**\n * Adds the current user to the list of users who are known to have viewed the\n * PiX interstitial modal as a Pay Later lapsed user (no Pay Later applications in 90-365 days)\n * Returns a Boolean indicating whether they were successfully added\n */\n addToPayLaterLapsedInterstitialViewedList?: Maybe;\n /**\n * Adds the current user to the list of users who are known to have viewed the\n * PiX interstitial modal\n *\n * Returns a Boolean indicating whether they were successfully added\n */\n addToPiXInterstitialViewedList?: Maybe;\n /**\n * The addUserToCustomerList mutation will add a user to the provided dynamic customer list given the\n * user is present in RPS\n *\n * Requires a dynamic customer list name (Ex: 'CL-6465007365187988655')\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n addUserToCustomerList?: Maybe;\n /**\n * The applyOfferToUser takes the name of an offer\n * and applies an offer to the user.\n * The offer names are whitelisted here:\n * src/graphql/data/Offers/activeOffers.js\n */\n applyOfferToUser?: Maybe;\n /** Approves the Apple Pay payment. */\n approveApplePayPayment?: Maybe;\n /** Approves the Google Pay payment. */\n approveGooglePayPayment?: Maybe;\n /**\n * The approveGuestPaymentWithApplePayToken mutation will approve an Apple Pay tokenized guest payment transaction.\n *\n * Requires an applePayPaymentInput param as an ApplePayPaymentInput\n * Requires a token param (EC, PAY, or BA token) as a String\n *\n * Returns a CheckoutSession type.\n *\n * Required auth states: ANONYMOUS\n */\n approveGuestPaymentWithApplePayToken?: Maybe;\n /**\n * The approveGuestPaymentWithCreditCard mutation will approve a guest payment transaction with credit card.\n *\n * If passed an phone number, it will use that phone number for the transaction. Otherwise it will\n * use the one in mayfly checkout session.\n *\n * If passed an first name, it will use that name for the transaction. Otherwise it will\n * use the one in mayfly checkout session.\n *\n * If passed an last name, it will use that name for the transaction. Otherwise it will\n * use the one in mayfly checkout session.\n *\n * If passed an email, it will use that email for the transaction. Otherwise it will\n * use the one in mayfly checkout session.\n *\n * If passed an billing address, it will use that billing address for the transaction. Otherwise it will\n * use the one in mayfly checkout session.\n *\n * If passed an installmentTerm, payment will be approved with selected installment term. Otherwise it will\n * approve with total payment at once. This is only available for Brazil and Mexico at the moment.\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a card as a CardInput (cardNumber, postalCode, cvv, expirationDate)\n *\n * Optionally accepts an email as a String\n * Optionally accepts a fist name as a String\n * Optionally accepts a last name as a String\n * Optionally accepts a phone as a String\n * Optionally accepts a billingAddress as a InputAddress\n * Optionally accepts an installmentTerm\n * Optionally accepts an identityDocument\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - 13000ms\n *\n * Required auth states: ANONYMOUS\n */\n approveGuestPaymentWithCreditCard?: Maybe;\n /**\n * The approveGuestSignUpPayment mutation will approve a payment transaction for a signup/guest flow\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - 500ms\n *\n * Required auth states: LOGGEDIN, IDENTIFIED\n */\n approveGuestSignUpPayment?: Maybe;\n /**\n * The approveMemberPayment mutation will approve a payment for PayPal members.\n *\n * This interface uses funding option IDs, rather than plan IDs.\n *\n * Requires `token`, the EC, PAY or BA token used for this payment.\n *\n * Requires `primaryFundingOptionId`, which is the primary funding option ID used to fund the payment.\n * Optionally accepts `secondaryFundingOptionIds`, which is an Array of funding option IDs.\n * Optionally accepts `rewards`, which is an Object, containing the rewards ID, amount, and currency code.\n *\n * approveMemberPayment will attempt to find the associated plan given those funding option IDs\n * approveMemberPayment will complete a payment for a WPS Payment.\n *\n * If passed `selectedAddressId`, it will select that address for the payment.\n * If passed `preferredFundingOptionId`, it will select that funding option as preferred for future payments.\n * If passed `preferredShippingAddressId`, it will select that address as preferred for future payments.\n * If passed `preAuthorizationRequired`, it will collect Credit Card status from the issuer to check if its valid (Expired Card, Insufficient funds, etc).\n * If passed `cardCvvValue`, it will resolve cvv value for the currently selected card (primaryFundingOptionId).\n * If passed `card3DSResolve3DSCode`, it will resolve 3DS for the currently selected card (primaryFundingOptionId).\n * If passed `legalAgreements`, it will record user legal consent (User Agreement) data on Notice & Consent API.\n *\n * Returns a CheckoutSession type.\n *\n * Please query for state field to get status of checkoutSession when using this Mutation.\n * If successful, state will change to APPROVED.\n * If not successful, check the PaymentContingencies field to see issues that need to be resolved first.\n *\n * Average SLA response time - 2500ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n approveMemberPayment?: Maybe;\n /**\n * This handles the patch and approval process when a user attempts to process a split payment transaction\n * through the Split Tender interface.\n *\n * Returns a CheckoutSession type\n *\n * Required auth states: LOGGEDIN\n */\n approveMemberPaymentWithSplitFundingOptions?: Maybe;\n /**\n * The approvePayment mutation will approve a payment transaction.\n * If passed an planId, it will select that plan for the transaction.\n * If passed an addressId, it will select that address for the transaction.\n * First, plans will be selected, then addresses will be selected, then the\n * payment will be approved.\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a planId as a String\n * Optionally accepts an addressId as a String\n *\n * Returns a CheckoutSession type.\n *\n * Please query for state field to get status of checkoutSession when using this Mutation.\n * If successful, state will change to APPROVED.\n * If not successful, check the PaymentContingencies field to see issues that need to be resolved first.\n *\n * Average SLA response time - 2500ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n approvePayment?: Maybe;\n /**\n * Approve suggested donation\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n approveSuggestedDonation?: Maybe;\n /**\n * The attemptSetStickyFi mutation will set the sticky/primary funding instrument for\n * 1. Billing Agreements on the Signup flow\n * 2. EC Subscriptions on both Guest and Signup flows\n *\n * Returns a CheckoutSession type.\n *\n * Required auth states: LOGGEDIN, IDENTIFIED\n */\n attemptSetStickyFi?: Maybe;\n /**\n * checkoutGuestWithMemberBenefits mutation will take parameters similar to\n * isMemberBenefitsEligible query and trys to checkout a guest user as a\n * member (by generating member security context on xobuyer)\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a firstName (\"John\") as a String\n * Requires a lastName (\"Smith\") as a String\n * Requires a email (\"example@paypal.com\") as a String\n * Requires a phoneNumber (\"800-888-8888\") as a String\n * Requires a country (\"US\") as a String\n *\n * Optionally pass a billingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a currencyConversionType\n * Optionally pass a shippingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a card as a CardInput (cardNumber, postalCode, cvv, expirationDate)\n * Optionally pass a bank as a BankAccountInput (type, iban, accountNumber, routingNumber)\n *\n * Returns checkoutsession\n *\n * Required auth states: ANONYMOUS\n */\n checkoutGuestWithMemberBenefits?: Maybe;\n /**\n * The clearCheckoutSessionCreditFinancingOption mutation will delete the credit financing option\n * (deprecated, use updateCheckoutSessionCreditFinancingOption instead)\n * @deprecated use updateCheckoutSessionCreditFinancingOption instead\n */\n clearCheckoutSessionCreditFinancingOption?: Maybe;\n /**\n * The clearCreditFinancingOption mutation will delete the credit financing option\n * (deprecated, use updateCheckoutSessionCreditFinancingOption instead)\n * @deprecated use updateCheckoutSessionCreditFinancingOption instead\n */\n clearCreditFinancingOption?: Maybe;\n /**\n * Clear the real time balance contingency(needRealTimeBalanceForBankAccount) to either allow or disallow\n * the payment in case the user has indicated they want to use this bank .\n *\n * Requires the fundingOption Id of the bank and the EC token\n */\n clearRealTimeBalanceContingency?: Maybe;\n /** The completeOtpConfirmation mutation will complete the one-time-password flow for a card account. */\n completeOtpConfirmation?: Maybe;\n /** Authorize or capture payment using v2/orders/authorize or capture endpoints given intent */\n completePayment?: Maybe;\n /**\n * Marks strongCustomerAuthenticationRequired payment contingency as completed, and removes the contingency from the Checkout Session.\n * Note that a different contingency may be returned after clearing the strongCustomerAuthenticationRequired contingency,\n * so clients should still query for paymentContingencies that are supported.\n */\n completeStrongCustomerAuthentication?: Maybe;\n /**\n * The confirmCreditCardCvv mutation will attach the cvv to the user's funding source on PAPS\n *\n * Requires ConfirmedCreditCardCvvInput as an input type, see schema for reference.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n confirmCreditCardCvv?: Maybe;\n /** Confirm phone confirmation */\n confirmTwoFactorPhoneConfirmation?: Maybe;\n /** Create Credit key in Mayfly before redirecting to CAPE */\n createCapeMayflyPayload?: Maybe;\n /**\n * createMemberAccount mutation will take a user's information and password and attempt to create an account\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a firstName (\"John\") as a String\n * Requires a lastName (\"Smith\") as a String\n *\n * Optionally pass a password (\"example123\") as a String\n * Optionally pass an email (\"example@gmail.com\") as a String\n * Optionally pass a billingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a phoneNumber (\"800-888-8888\") as a String\n * Optionally pass a shippingAddress as an AddressInput (country, postalCode, state)\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - 2290ms\n *\n * Required auth states: ANONYMOUS\n */\n createMemberAccount?: Maybe;\n /** createOnboardingPaymentPlan mutation will take a user's shipping information and currencyConversionType and attempt to create a checkout session */\n createOnboardingPaymentPlan?: Maybe;\n /**\n * Creates a new Low Scoped accessToken from the provided merchant access token (merchantLSAT)\n * Low Scope Access Token (LSAT) is produced from a client_id without a secret\n * And then it upgrades the lsat thus generated to an upgraded access token using the buyerAccessToken and Order ID\n * Returns the new upgraded access token that will provide access to GET/PATCH on v2/order and POST v2/order/capture and v2/order/authorize checkout APIs\n */\n createUpgradedLowScopeAccessToken?: Maybe;\n /**\n * The deleteShippingAddress mutation will delete a shipping address from a Users\n * shipping addresses, so it cannot be used when approving a payment transaction.\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires an addressId param as a String Returns a CheckoutSession type.\n *\n * Average SLA response time - 900ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n deleteShippingAddress?: Maybe;\n /**\n * The deleteVault mutation will remove an existing funding source from the vault\n *\n * Required auth states: IDENTIFIED\n */\n deleteVault?: Maybe;\n /**\n * The eConsent mutation will update user's edelivery consent\n * E-Sign consent is the process by which US consumers consent to have their notifications and statements delivered electronically\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n eConsent?: Maybe;\n /**\n * The enableVault mutation will patch in to cart with the client token (containing a customer id), to transform\n * the existing checkout session into a billing agreement / vault session.\n * Also will patch in client configuration to the BA session\n *\n * Required auth states: ANONYMOUS\n */\n enableVault?: Maybe;\n /**\n * Increments the current user's interstitial viewed count rps attribute\n * Returns a Boolean indicating whether they were successfully added\n */\n incrementPiXInterstitialViewedCount?: Maybe;\n /** The initiateOtpConfirmation mutation will initiate the one-time-password flow for a card account. */\n initiateOtpConfirmation?: Maybe;\n /** Init phone confirmation */\n initiateTwoFactorPhoneConfirmation?: Maybe;\n /** Invalidate Checkout Session Plan to force replanning next time the Checkout Session is queried */\n invalidateCheckoutSessionPlan?: Maybe;\n /**\n * onboardGuest mutation will take a user's billing information and attempt to create an account\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a card as a CardInput (cardNumber, postalCode, cvv, expirationDate)\n * Requires a firstName (\"John\") as a String\n * Requires a lastName (\"Smith\") as a String\n *\n * Optionally pass an email (\"example@gmail.com\") as a String\n * Optionally pass a billingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a phoneNumber (\"800-888-8888\") as a String\n * Optionally pass a shippingAddress as an AddressInput (country, postalCode, state)\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - 2350ms\n *\n * Required auth states: ANONYMOUS\n */\n onboardGuest?: Maybe;\n /**\n * onboardGuestForInlineXO mutation will take a user's billing information and attempt to create an account\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a card as a CardInput (cardNumber, postalCode, cvv, expirationDate)\n * Requires a firstName (\"John\") as a String\n * Requires a lastName (\"Smith\") as a String\n *\n * Optionally pass an email (\"example@gmail.com\") as a String\n * Optionally pass a billingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a phoneNumber (\"800-888-8888\") as a String\n * Optionally pass a shippingAddress as an AddressInput (country, postalCode, state)\n *\n * Returns a CheckoutSession type.\n *\n * Required auth states: ANONYMOUS\n */\n onboardGuestForInlineXO?: Maybe;\n /**\n * The oneClickPayment mutation will plan and approve a payment in one go.\n * Any contingencies will result in launching the full checkout flow\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n oneClickPayment?: Maybe;\n /**\n * The optOutWebLLS mutation will unenroll the user from the autologin aka WebLLS feature\n * Mutation will read the assetValue from cookies unless passed directly\n */\n optOutWebLLS?: Maybe;\n /**\n * Preauthorize plan by calling XOPG from SignupLite\n *\n * Required auth states: LOGGEDIN, IDENTIFIED\n */\n preAuthorizePayment?: Maybe;\n /** Patch cart with credit installment and update FI. */\n processCapeReturn?: Maybe;\n /**\n * The processCreditApplyPortableResponse mutation will decrypt the payload received from CAP and provide with\n * the selectedOffer, Repayment instruments and other required credit information\n * which can be used when selecting the Payment option.\n *\n * Requires a encrypted payload as a String.\n * Optionally accepts token as a String.\n *\n * Returns a CheckoutSession type.\n */\n processCreditApplyPortableResponse?: Maybe;\n /** Remove the constraint on the declined funding instrument */\n removeConstraintOnFI?: Maybe;\n /**\n * The replaceCard mutation will do the following depends on how arguments are being\n * passed:\n * - Replace a new card\n * - Perform billing address validation if address.id is missing\n * - Update checkoutSession fundingOptions\n * - fundingOptionId is required for each replace card request, it is acquired from fundingOptionId from declinedInstrument and sent from front end\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n replaceCard?: Maybe;\n /**\n * The resolveNeedPhoneContingency mutation will add a phone number to a User,\n * which is needed to complete a transaction, if a merchant requires a phone number from the customer.\n * An additional call will be made to paymentapiplatformserv to\n * clear the PHONE_NUMBER_REQUIRED contingency from the checkout session.\n *\n * If the consentContentId string is passed, it will be used to update the user notification preferences.\n * The consentContentId string is not mandatory because it is only required for US based users.\n *\n * Returns a CheckoutSession type.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n resolveNeedPhoneContingency?: Maybe;\n /**\n * Clear 3DS (2.0) contingency. This mutation can be consumed by any other client apps without\n * including any other checkout related business logic\n */\n resolveThreeDsContingency?: Maybe;\n /** Read Credit key in Mayfly after redirecting from CAPE and update PPC data to GPL cache. */\n retrieveCapeMayflyResponse?: Maybe;\n /**\n * Save shared card Consent\n * Check to see if Secondary user has given consent for sharing details with Primary card user\n */\n saveSharedCardConsent?: Maybe;\n /**\n * signupNewMember mutation will take a user's billing information and password and attempt to create an account\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a card as a CardInput (cardNumber, postalCode, cvv, expirationDate)\n * Requires a firstName (\"John\") as a String\n * Requires a lastName (\"Smith\") as a String\n *\n * Optionally pass a password (\"example123\") as a String\n * Optionally pass an email (\"example@gmail.com\") as a String\n * Optionally pass a billingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a phoneNumber (\"800-888-8888\") as a String\n * Optionally pass a shippingAddress as an AddressInput (country, postalCode, state)\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - 2350ms\n *\n * Required auth states: ANONYMOUS\n */\n signUpNewMember?: Maybe;\n /**\n * 3DS Authenticate endpoint through inbound Switch (switchpaymentsapiserv) used to handle 3DS at transaction time\n * URL: /v1/payment-networks/card-three-d-secure-authentications/${threeDsServerTransactionId}/authenticate\n * Purpose: This API is the last call in 3ds 2.0 resolution process\n * This API is called soon after cardinal calls (after OTP is entered by user) a return url on paypal app.\n * After this call returns success application continue authorize checkout session. Upon failure errors needs to handle\n * at client side(for ex: Incase of xoonboardingnodeweb, error is show on billing page).\n */\n threeDSAuthenticate?: Maybe;\n /**\n * 3DS 2.0 FI service handle contingency during addCard:\n * - Updates a confirmation resource for a given card confirmation respource\n * - Updates a post-planning Checkout Session with the funding option ID that went through 3DS 2.0 authentication successfully\n * URL:\n * - filifecycleserv: /v1/wallet/card-accounts/{card_account_id}/confirmations/{confirmation_id}/update\n * - paymentapiplatserv: /v1/payments/checkout-sessions/{token}/funding-options\n * card-account.update-confirmation\n * Purpose:\n * The FI API call is the last call in 3ds 2.0 resolution process, it is called soon after cardinal calls (after OTP is entered by user) a return url on paypal app\n * After this call returns success we continue to call the PAPS API to update the funding options with checkout session, so that this FI will be avaiable for user to proceed checkout.\n * Upon failure we redirect user to checkout review page, or we show relevant error messaging on UI\n */\n threeDSConfirmationWithUpdateFundingOption?: Maybe;\n /**\n * 3DS lookup endpoint through inbound switch (switchpaymentsapiserv) used to handle 3DS at transaction time\n * URL: /v1/payment-networks/card-three-d-secure-authentications\n * Purpose: when Symphony throws 3ds 2.0 contingency upon planning call, we need to call this API to start the 3ds 2.0\n * resolution process. This is the first call to make, after Device Data Collection(DDC) is triggered in UI.\n * In response of this API we get the urls needed for cardinal iframe to enter OTP.\n */\n threeDSLookUp?: Maybe;\n /**\n * 3DS 2.0 FI service to handle contingency during addCard: Creates a confirmation resource for a given card\n * URL: /v1/wallet/card-accounts/{card_account_id}/confirmations\n * card-account.create-confirmation\n * Purpose: when fi throws 3ds 2.0 contingency upon addCard call, we need to call this API to start the 3ds 2.0\n * resolution process. This is the first call to make, after Device Data Collection(DDC) is triggered in UI.\n * In response of this API we get the urls needed for cardinal iframe to enter OTP (response key step_up_url)\n */\n threedsCreateConfirmation?: Maybe;\n /**\n * 3DS 2.0 FI service handle contingency during addCard: Updates a confirmation resource for a given card confirmation respource\n * URL: /v1/wallet/card-accounts/{card_account_id}/confirmations/{confirmation_id}/update\n * card-account.update-confirmation\n * Purpose: This API is the last call in 3ds 2.0 resolution process\n * This API is called soon after cardinal calls (after OTP is entered by user) a return url on paypal app\n * After this call returns success we continue to call create checkout session. Upon failure we redirect to hermes from xoon, or\n * we show relevant error messaging on hermes\n * @deprecated use threeDSConfirmationWithUpdateFundingOption instead\n */\n threedsUpdateConfirmation?: Maybe;\n /** trigger post on checkoutSession after user clicks Ready to Continue */\n triggerReplan?: Maybe;\n /**\n * The updateCallbackOptions mutation will update call back shipping methods\n * in to cart. This mutation is for callback url/ instant update api flows.\n *\n * Requires a token param (EC, WPS, PAY, or BA token) as a String\n * Requires shipping options source (FALLBACK/ CALLBACK/ PROFILE ) as a String\n * Optionally accepts shipping methods as an array of objects.\n *\n * Returns a CheckoutSession type.\n */\n updateCallbackOptions?: Maybe;\n /**\n * The updateCard mutation will do the following depends on how arguments are being\n * passed:\n * - Update a new card\n * - Perform billing address validation if address.id is missing\n * - Update checkoutSession fundingOptions\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n updateCard?: Maybe;\n /**\n * The updateCardWithoutToken mutation will do the following depending on how arguments are being\n * passed:\n * - Update a new card\n * - Perform billing address validation if address.id is missing\n * Required auth states: LOGGEDIN\n */\n updateCardWithoutToken?: Maybe;\n /**\n * The updateCheckoutSessionCreditFinancingOption mutation will update(add or remove)\n * the credit financing options for a given session\n */\n updateCheckoutSessionCreditFinancingOption?: Maybe;\n /**\n * Update a post-planning Checkout Session with a funding option ID that was externally updated (eg. through an FI api or some other mutation that does not affect CheckoutSession)\n * @deprecated use threeDSConfirmationWithUpdateFundingOption instead\n */\n updateCheckoutSessionFundingOptions?: Maybe;\n /**\n * The updateClientConfig mutation will patch in client configuration to the checkout session, to identify\n * the selected funding source, integration type, etc.\n *\n * Required auth states: ANONYMOUS\n */\n updateClientConfig?: Maybe;\n /**\n * The updateCurrencyConversionType mutation will update a currency conversion type\n * (Ex: \"PAYPAL\" or \"VENDOR\").\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a conversionType (Ex: \"PAYPAL\" or \"VENDOR\") See CheckoutCurrencyConversionType.\n *\n * Average SLA response time - 115ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n updateCurrencyConversionType?: Maybe;\n /**\n * The updateProfileShippingOptions mutation will update profile shipping methods\n * in to cart.\n *\n * Requires a token param (EC, WPS, PAY, or BA token) as a String\n * Requires shipping options source (FALLBACK/ CALLBACK/ PROFILE ) as a String\n * Optionally accepts shipping methods as an array of objects.\n * Optionally accept profileOverrideAllowed (this is from the response from SnT which help with shipping calculations) as a boolean\n * Optionally accept hideShipping (this value will help determine the shipping calculations) as a boolean\n *\n * Returns a CheckoutSession type.\n */\n updateProfileShippingOptions?: Maybe;\n /**\n * The updateShipping mutation will update shipping options and amount in\n * the cart, or add them if they do not exist.\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Required shipping methods as an array of objects.\n *\n * Returns a CheckoutSession type.\n */\n updateShipping?: Maybe;\n /**\n * The updateShippingAddress mutation will update a shipping address in a Users\n * shipping addresses, which can be used when approving the payment transaction.\n * Requires a token param (EC, PAY, or BA token) as a String.\n * Requires an addressId param as a String.\n * Requires additional parameters for an address (Ex: line1, city, countryCode).\n * Optionally accepts additional parameters to be updated (Ex: givenName, line2, etc.).\n *\n * This mutation does NOT PATCH/DELETE the previous record, rather it adds a new one entirely with a newly created addressId\n *\n * [//]: # (refer to https://github.paypal.com/ApiSpecifications-R/payments.CommonComponentSpecification/blob/v1.3/v1/schema/address.json for required address fields)\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - 2300ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n updateShippingAddress?: Maybe;\n /**\n * The updateShippingMethods mutation will update shipping options in the cart, or add\n * them if they do not exist\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires an shippingMethods param as a CartShippingMethod\n * Optionally accepts additional parameters to be updated (Ex: givenName, line2, etc.)\n *\n * Returns a CheckoutSession type.\n *\n * Average SLA response time - TBDms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n updateShippingMethods?: Maybe;\n /**\n * The updateShippingMethodsForGuest mutation will update shipping options in\n * the cart, or add them if they do not exist.\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Required shipping methods as an array of objects.\n *\n * Returns a CheckoutSession type.\n */\n updateShippingMethodsForGuest?: Maybe;\n /** Mutation to modify attributes on a user address. */\n updateUserAddressAttributes?: Maybe;\n /**\n * update vault setup token\n *\n * v3/vault/setup-tokens/:id/update is a private endpoint only accessible by internal PayPal services\n * This mutation allows client-side code access to this endpoint while the vault team works on exposing\n * this endpoint externally\n *\n * Oauth2 scope(s): https://uri.paypal.com/services/vault/payment-tokens/read\n */\n updateVaultSetupToken?: Maybe;\n /**\n * upgradeGuestToMember mutation takes data from a completed transaction\n * as guest user and upgrades to consumer member account\n *\n * Required auth states: IDENTIFIED\n */\n upgradeGuestToMember?: Maybe;\n /**\n * Upgrade a Low Scope Access Token (LSAT) produced from a client_id without a secret to an upgraded access token\n * that will provide access to GET/PATCH on v2/order and POST v2/order/capture and v2/order/authorize checkout APIs\n * @deprecated use createUpgradedLowScopeAccessToken instead\n */\n upgradeLowScopeAccessToken?: Maybe;\n /**\n * To create/fetch the Venmo Guest Account information to proceed with Checkout\n * @deprecated Venmo guest flow no longer in use, so this should no longer be getting called.\n */\n venmoCredentialExchange?: Maybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAcceptSepaMandateArgs = {\n bankId: Scalars['String'];\n planId?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAcceptSepaMandateWithoutTokenArgs = {\n bankId: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddAddressToUserArgs = {\n addressLine1?: InputMaybe;\n addressLine2?: InputMaybe;\n addressLine3?: InputMaybe;\n addressType?: InputMaybe;\n adminArea1?: InputMaybe;\n adminArea2?: InputMaybe;\n adminArea3?: InputMaybe;\n adminArea4?: InputMaybe;\n amsMatchingScope?: InputMaybe;\n city?: InputMaybe;\n countryCode: CountryCodes;\n familyName?: InputMaybe;\n givenName?: InputMaybe;\n line1?: InputMaybe;\n line2?: InputMaybe;\n nonblockingOnPostCodeUpdates?: InputMaybe;\n nonblockingOnStandardUpdates?: InputMaybe;\n normalizationStatus?: InputMaybe;\n normalize?: InputMaybe;\n postalCode?: InputMaybe;\n primary?: InputMaybe;\n replacedAddressId?: InputMaybe;\n setDefault?: InputMaybe;\n state?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddBankArgs = {\n authorizations?: InputMaybe;\n bank: BankAccountInput;\n beneficiary?: InputMaybe;\n countryCode: CountryCodes;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddBankAfterStepupArgs = {\n authContextId: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddBankCandidateArgs = {\n bank: BankAccountInput;\n beneficiary?: InputMaybe;\n billingAddress?: InputMaybe;\n countryCode: CountryCodes;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddBillingAddressArgs = {\n addressLine1?: InputMaybe;\n addressLine2?: InputMaybe;\n addressLine3?: InputMaybe;\n adminArea1?: InputMaybe;\n adminArea2?: InputMaybe;\n adminArea3?: InputMaybe;\n adminArea4?: InputMaybe;\n city?: InputMaybe;\n countryCode: CountryCodes;\n instrumentId?: InputMaybe;\n line1?: InputMaybe;\n line2?: InputMaybe;\n postalCode: Scalars['String'];\n state?: InputMaybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddCardArgs = {\n address?: InputMaybe;\n card: AddCardInput;\n cardType?: InputMaybe;\n isPartialBillingAddress?: InputMaybe;\n paypalRequestId?: InputMaybe;\n token: Scalars['String'];\n user: AddCardUserInput;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddCardWithoutTokenArgs = {\n address: AddCardBillingAddressInput;\n card: AddCardInput;\n cardType?: InputMaybe;\n isPartialBillingAddress?: InputMaybe;\n user: AddCardUserInput;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddPotentialCardArgs = {\n address?: InputMaybe;\n card: PotentialCardInput;\n cardType?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddShippingAddressArgs = {\n addressLine1?: InputMaybe;\n addressLine2?: InputMaybe;\n addressLine3?: InputMaybe;\n adminArea1?: InputMaybe;\n adminArea2?: InputMaybe;\n adminArea3?: InputMaybe;\n adminArea4?: InputMaybe;\n city?: InputMaybe;\n countryCode: CountryCodes;\n familyName: Scalars['String'];\n givenName: Scalars['String'];\n line1?: InputMaybe;\n line2?: InputMaybe;\n normalize?: InputMaybe;\n postalCode?: InputMaybe;\n preferredAddress?: InputMaybe;\n state?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddTaxIdArgs = {\n taxId: Scalars['String'];\n token: Scalars['String'];\n type: TaxIdType;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAddUserToCustomerListArgs = {\n listName: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApplyOfferToUserArgs = {\n token: Scalars['String'];\n type: OfferPrograms;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveApplePayPaymentArgs = {\n billingContact: ApplePayPaymentContact;\n clientID: Scalars['String'];\n merchantID?: InputMaybe>>;\n orderID: Scalars['String'];\n productFlow?: InputMaybe;\n shippingContact?: InputMaybe;\n token: ApplePayPaymentToken;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveGooglePayPaymentArgs = {\n clientID: Scalars['String'];\n email?: InputMaybe;\n orderID: Scalars['String'];\n paymentMethodData: GooglePayPaymentMethodData;\n productFlow?: InputMaybe;\n shippingAddress?: InputMaybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveGuestPaymentWithApplePayTokenArgs = {\n applePayPaymentInput: ApplePayPaymentInput;\n isSntSupported?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveGuestPaymentWithCreditCardArgs = {\n billingAddress?: InputMaybe;\n card: CardInput;\n currencyConversionType?: InputMaybe;\n email?: InputMaybe;\n firstName?: InputMaybe;\n identityDocument?: InputMaybe;\n installmentTerm?: InputMaybe;\n lastName?: InputMaybe;\n phoneNumber?: InputMaybe;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveGuestSignUpPaymentArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveMemberPaymentArgs = {\n balancePreference?: InputMaybe;\n card3DSResolve3DSCode?: InputMaybe;\n cardCvvValue?: InputMaybe;\n cryptocurrencyQuoteId?: InputMaybe;\n fullWalletOptIn?: InputMaybe;\n fundingMethodType?: InputMaybe;\n legalAgreements?: InputMaybe;\n paycodeEncrypted?: InputMaybe;\n preAuthorizationRequired?: InputMaybe;\n preferredFundingOptionId?: InputMaybe;\n preferredShippingAddressId?: InputMaybe;\n primaryFundingOptionId?: InputMaybe;\n rewards?: InputMaybe;\n secondaryFundingOptionIds?: InputMaybe>;\n selectedAddressId?: InputMaybe;\n selectedInstallmentOption?: InputMaybe;\n setStickyFiRequired?: InputMaybe;\n shareAddressWithDonatee?: InputMaybe;\n strongCustomerAuthenticationCompleted?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveMemberPaymentWithSplitFundingOptionsArgs = {\n fullWalletOptIn?: InputMaybe;\n preferredShippingAddressId?: InputMaybe;\n selectedAddressId?: InputMaybe;\n splitFundingOptions: Array>;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApprovePaymentArgs = {\n preferredFundingOptionId?: InputMaybe;\n preferredShippingAddressId?: InputMaybe;\n selectedAddressId?: InputMaybe;\n selectedPlanId: Scalars['String'];\n strongCustomerAuthenticationCompleted?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationApproveSuggestedDonationArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationAttemptSetStickyFiArgs = {\n instrumentId?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCheckoutGuestWithMemberBenefitsArgs = {\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n country: CountryCodes;\n currencyConversionType?: InputMaybe;\n email: Scalars['String'];\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n phone: PhoneInput;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationClearCheckoutSessionCreditFinancingOptionArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationClearCreditFinancingOptionArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationClearRealTimeBalanceContingencyArgs = {\n bankId: Scalars['String'];\n error?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCompleteOtpConfirmationArgs = {\n card: CompleteCardOtpConfirmationInput;\n fundingInstrumentId: Scalars['String'];\n phone: PhoneInput;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCompletePaymentArgs = {\n buyerAccessToken: Scalars['String'];\n clientID: Scalars['String'];\n partnerAttributionId?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCompleteStrongCustomerAuthenticationArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationConfirmCreditCardCvvArgs = {\n input?: InputMaybe;\n planId?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationConfirmTwoFactorPhoneConfirmationArgs = {\n pin: Scalars['String'];\n verificationId: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCreateCapeMayflyPayloadArgs = {\n cartAmount?: InputMaybe;\n cartCurrency?: InputMaybe;\n creditFundingInstrumentId: Scalars['String'];\n creditIncentiveDetails?: InputMaybe;\n isCreditSecondButton?: InputMaybe;\n isCrossCurrencyTransaction?: InputMaybe;\n isPPCInstallments?: InputMaybe;\n isPPCReuse?: InputMaybe;\n pageContext: Scalars['String'];\n returnUriBase: Scalars['String'];\n token: Scalars['String'];\n userSelectedAddressId: Scalars['String'];\n userSelectedPreferredShippingAddressId: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCreateMemberAccountArgs = {\n billingAddress?: InputMaybe;\n contentIdentifier?: InputMaybe;\n country: CountryCodes;\n countryOfResidence?: InputMaybe;\n crsData?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email?: InputMaybe;\n firstName: Scalars['String'];\n gender?: InputMaybe;\n identityDocument?: InputMaybe;\n lastName: Scalars['String'];\n legalAgreements?: InputMaybe;\n marketingOptOut?: InputMaybe;\n middleName?: InputMaybe;\n nationality?: InputMaybe;\n occupation?: InputMaybe;\n password?: InputMaybe;\n phone?: InputMaybe;\n placeOfBirth?: InputMaybe;\n residentialAddress?: InputMaybe;\n secondaryIdentityDocument?: InputMaybe;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCreateOnboardingPaymentPlanArgs = {\n currencyConversionType?: InputMaybe;\n cvv?: InputMaybe;\n encryptedCardLoginAccountNumber?: InputMaybe;\n fundingInstrumentId: Scalars['String'];\n shareAddressWithDonatee?: InputMaybe;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n userType: OnboardingExperienceType;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationCreateUpgradedLowScopeAccessTokenArgs = {\n buyerAccessToken: Scalars['String'];\n merchantLSAT: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationDeleteShippingAddressArgs = {\n addressId: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationDeleteVaultArgs = {\n paymentMethodID: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationEnableVaultArgs = {\n clientConfig?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationInitiateOtpConfirmationArgs = {\n fundingInstrumentId: Scalars['String'];\n phone: PhoneInput;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationInitiateTwoFactorPhoneConfirmationArgs = {\n locale?: InputMaybe;\n phoneCountry?: InputMaybe;\n phoneNumber: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationInvalidateCheckoutSessionPlanArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationOnboardGuestArgs = {\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n country?: InputMaybe;\n currencyConversionType?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email?: InputMaybe;\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n phone?: InputMaybe;\n shareAddressWithDonatee?: InputMaybe;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationOnboardGuestForInlineXoArgs = {\n billingAddress?: InputMaybe;\n billingType?: InputMaybe;\n card?: InputMaybe;\n country?: InputMaybe;\n currencyConversionType?: InputMaybe;\n email?: InputMaybe;\n firstName: Scalars['String'];\n isChangeShippingAddressAllowed?: InputMaybe;\n lastName: Scalars['String'];\n phone?: InputMaybe;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationOneClickPaymentArgs = {\n selectedInstrumentId: Scalars['String'];\n selectedInstrumentType: Scalars['String'];\n selectedPlanId?: InputMaybe;\n token: Scalars['String'];\n useExistingPlanning?: InputMaybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationOptOutWebLlsArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationPreAuthorizePaymentArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationProcessCapeReturnArgs = {\n financialInstrumentDetails?: InputMaybe;\n financialInstrumentId: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationProcessCreditApplyPortableResponseArgs = {\n encryptedPayload: Scalars['String'];\n skipFiContingency?: InputMaybe;\n token: Scalars['String'];\n type?: InputMaybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationRemoveConstraintOnFiArgs = {\n fundingOptionId: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationReplaceCardArgs = {\n address: AddCardBillingAddressInput;\n card: AddCardInput;\n fundingOptionId: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationResolveNeedPhoneContingencyArgs = {\n consentContentId?: InputMaybe;\n country: CountryCodes;\n phone: PhoneInput;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationResolveThreeDsContingencyArgs = {\n authId: Scalars['String'];\n creditCardId: Scalars['String'];\n planId?: InputMaybe;\n referenceId: Scalars['String'];\n status: ResolveThreeDsContingencyStatus;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationRetrieveCapeMayflyResponseArgs = {\n mayflyKey: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationSaveSharedCardConsentArgs = {\n sharedConsent: Scalars['Boolean'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationSignUpNewMemberArgs = {\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n collectedConsents?: InputMaybe>>;\n contentIdentifier?: InputMaybe;\n country?: InputMaybe;\n countryOfResidence?: InputMaybe;\n crsData?: InputMaybe;\n currencyConversionType?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email?: InputMaybe;\n firstName: Scalars['String'];\n gender?: InputMaybe;\n identityDocument?: InputMaybe;\n isSignupIncentiveOptIn?: InputMaybe;\n isSignupIncentiveOptInStretch?: InputMaybe;\n lastName: Scalars['String'];\n legalAgreements?: InputMaybe;\n marketingOptOut?: InputMaybe;\n middleName?: InputMaybe;\n nationality?: InputMaybe;\n occupation?: InputMaybe;\n password?: InputMaybe;\n phone?: InputMaybe;\n placeOfBirth?: InputMaybe;\n residentialAddress?: InputMaybe;\n secondaryIdentityDocument?: InputMaybe;\n selectedInstallmentOption?: InputMaybe;\n shareAddressWithDonatee?: InputMaybe;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationThreeDsAuthenticateArgs = {\n amount: AmountInput;\n authenticatePayload: ThreedsLookUpPayload;\n paymentAuthenticationRequest: Scalars['String'];\n productDetails?: InputMaybe;\n threeDsServerTransactionId: Scalars['String'];\n token?: InputMaybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationThreeDsConfirmationWithUpdateFundingOptionArgs = {\n confirmationId: Scalars['String'];\n confirmationMethod: ThreedsConfirmationMethod;\n confirmationStatus?: InputMaybe;\n cvv: Scalars['String'];\n fiId: Scalars['String'];\n referenceId: Scalars['String'];\n token: Scalars['String'];\n transactionId: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationThreeDsLookUpArgs = {\n amount: AmountInput;\n browserInfo?: InputMaybe;\n nativeSDK?: InputMaybe;\n partnerDetails?: InputMaybe;\n productDetails?: InputMaybe;\n threedsLookUpPayload: ThreedsLookUpPayload;\n token?: InputMaybe;\n traRiskDetails?: InputMaybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationThreedsCreateConfirmationArgs = {\n bypassConfirmationProcess?: InputMaybe;\n confirmationMethod: ThreedsConfirmationMethod;\n cvv?: InputMaybe;\n fiId?: InputMaybe;\n referenceId?: InputMaybe;\n senderContext: ThreedsSenderContextInput;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationThreedsUpdateConfirmationArgs = {\n confirmationId: Scalars['String'];\n confirmationMethod: ThreedsConfirmationMethod;\n confirmationStatus?: InputMaybe;\n cvv: Scalars['String'];\n fiId: Scalars['String'];\n referenceId: Scalars['String'];\n transactionId: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationTriggerReplanArgs = {\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateCallbackOptionsArgs = {\n callbackShippingMethods?: InputMaybe>>;\n shippingOptionsSource?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateCardArgs = {\n address?: InputMaybe;\n card: AddCardInput;\n cardType?: InputMaybe;\n fundingOptionId: Scalars['String'];\n token: Scalars['String'];\n user: AddCardUserInput;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateCardWithoutTokenArgs = {\n address: AddCardBillingAddressInput;\n card: AddCardInput;\n cardType?: InputMaybe;\n fundingOptionId: Scalars['String'];\n user: AddCardUserInput;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateCheckoutSessionCreditFinancingOptionArgs = {\n fundingInstrumentFinancingDetail?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateCheckoutSessionFundingOptionsArgs = {\n fundingOptionId: Scalars['String'];\n threeDSResolved?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateClientConfigArgs = {\n buttonSessionID?: InputMaybe;\n buyerIntent?: InputMaybe;\n channel?: InputMaybe;\n fundingSource?: InputMaybe;\n integrationArtifact?: InputMaybe;\n productCode?: InputMaybe;\n productFeature?: InputMaybe;\n productFlow?: InputMaybe;\n token: Scalars['String'];\n userExperienceFlow?: InputMaybe;\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateCurrencyConversionTypeArgs = {\n conversionType: CheckoutCurrencyConversionType;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateProfileShippingOptionsArgs = {\n hideShipping?: InputMaybe;\n profileOverrideAllowed?: InputMaybe;\n profileShippingMethods?: InputMaybe>>;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateShippingArgs = {\n clientID: Scalars['String'];\n patch: Array>;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateShippingAddressArgs = {\n addressId: Scalars['String'];\n addressLine1?: InputMaybe;\n addressLine2?: InputMaybe;\n addressLine3?: InputMaybe;\n adminArea1?: InputMaybe;\n adminArea2?: InputMaybe;\n adminArea3?: InputMaybe;\n adminArea4?: InputMaybe;\n city?: InputMaybe;\n countryCode: CountryCodes;\n familyName?: InputMaybe;\n givenName?: InputMaybe;\n line1?: InputMaybe;\n line2?: InputMaybe;\n postalCode?: InputMaybe;\n state?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateShippingMethodsArgs = {\n shippingMethods: Array>;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateShippingMethodsForGuestArgs = {\n shippingMethods: Array>;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateUserAddressAttributesArgs = {\n addressId: Scalars['String'];\n normalizationStatus?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpdateVaultSetupTokenArgs = {\n clientId: Scalars['String'];\n idToken?: InputMaybe;\n paymentSource?: InputMaybe;\n vaultSetupToken: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpgradeGuestToMemberArgs = {\n billingAddress?: InputMaybe;\n contentIdentifier?: InputMaybe;\n country?: InputMaybe;\n countryOfResidence?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email?: InputMaybe;\n firstName: Scalars['String'];\n gender?: InputMaybe;\n identityDocument?: InputMaybe;\n lastName: Scalars['String'];\n legalAgreements?: InputMaybe;\n marketingOptOut?: InputMaybe;\n middleName?: InputMaybe;\n nationality?: InputMaybe;\n occupation?: InputMaybe;\n password?: InputMaybe;\n phone?: InputMaybe;\n placeOfBirth?: InputMaybe;\n residentialAddress?: InputMaybe;\n secondaryIdentityDocument?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationUpgradeLowScopeAccessTokenArgs = {\n buyerAccessToken: Scalars['String'];\n merchantLSAT: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Mutation root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type MutationVenmoCredentialExchangeArgs = {\n email: Scalars['String'];\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n orderID: Scalars['String'];\n phone: Scalars['String'];\n tspCommonId: Scalars['String'];\n};\n\n/**\n * This enum declares several different types of privileges we may allow for\n * first party vetted host apps on iOS and Android.\n */\nexport enum NativeSdkPrivilege {\n /**\n * Allows the host app to integrate with FireBase and or listen in to the\n * payloads being sent back and forth over that bus.\n */\n FullFirebase = 'FULL_FIREBASE',\n /**\n * Allows the host app to inject networking events on either the inbound or\n * outbound network passes. This would allow talking to the host apps'\n * internal network calls\n */\n FullIoCustomization = 'FULL_IO_CUSTOMIZATION',\n /** Allows the host app to adjust the experience from a UI perspective */\n FullUiCustomization = 'FULL_UI_CUSTOMIZATION'\n}\n\n/**\n * The NativeSDKPrivilegedResponse is returned from a query to the field\n * `isPrivilegedHostApp`. The clientId sent to that query as a parameter denotes\n * whether or not the\n */\nexport type NativeSdkPrivilegedResponse = {\n __typename?: 'NativeSDKPrivilegedResponse';\n /** At least one elevated privilege was found for this host */\n allowed: Scalars['Boolean'];\n /** A list of NativeSDKPrivilege values denoting the capability of the host app */\n privileges: Array>;\n /** Should the `allowed` field return false, this field endeavors to explain why */\n reasoning?: Maybe;\n};\n\n/** Encapsulates all properties related to an individual credit offer for non members. */\nexport type NonMemberCreditOffer = {\n __typename?: 'NonMemberCreditOffer';\n /** APR rate for the offer */\n apr?: Maybe;\n /** Credit type (e.g. INST for installment, NI for no interest, PUI for pay upon invoice, etc) */\n creditOfferType?: Maybe;\n /** Unique identifier representing the credit product being offered */\n creditProductIdentifier?: Maybe;\n /** Encapsulates all properties related to the offer's down payment */\n downPayment?: Maybe;\n /** Estimated installments for a credit offer that has installments */\n estimatedInstallments?: Maybe>>;\n /** Flag indicating if the offer is eligible */\n isEligible?: Maybe;\n /**\n * Flag indicating if there are additional offers with the same APR, same credit type,\n * and same eligibility\n */\n isMultipleApr?: Maybe;\n /**\n * Flag indicating if the option's credit fee is funded by PayPal.\n * If false it is funded by the merchant\n */\n isPayPalSubsidy?: Maybe;\n /** The monthly percentage rate of the credit offer */\n monthlyPercentageRate?: Maybe;\n /** The annualized rate - calculated as the monthly rate multiplied by 12 */\n nominalRate?: Maybe;\n /** The currency and amount for a financial transaction, such as a balance or payment due. */\n periodicPayment?: Maybe;\n /** The total cost, including principal and interest, of the financed transaction */\n totalCost?: Maybe;\n /** The amount of interest to be paid over the course of the financed transaction */\n totalInterest?: Maybe;\n /** The total term of the credit offer */\n totalNumberOfPayments?: Maybe;\n};\n\n/** Encapsulates all properties related credit offers for non-members. */\nexport type NonMemberCreditOffers = {\n __typename?: 'NonMemberCreditOffers';\n /** All the eligible non-member offers for a particular transaction */\n allOffers?: Maybe>>;\n};\n\n/** Encapsulates all properties we want to extract from a normalized address. Ex: line1, city, postalCode */\nexport type NormalizedAddress = {\n __typename?: 'NormalizedAddress';\n /** It returns true if the input address is same as normalized address returned by ANS */\n alreadyNormalized?: Maybe;\n /** A normalized billing address city (Ex: 'San Jose') */\n city?: Maybe;\n /** A normalized billing address two-letter country code (Ex: 'US') */\n country?: Maybe;\n /** A container for addresses that have been formatted by Griifin for display on the UI */\n griffinFormattedAddresses?: Maybe;\n /** A noramlized billing address first line street address (Ex: '2211 North 1st St') */\n line1?: Maybe;\n /** A normalized billing address second line street address (Ex: 'Apt 123') */\n line2?: Maybe;\n /** A normalized billing address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /** A normalized billing address state/province (Ex: 'CA') */\n state?: Maybe;\n};\n\n/** An enumeration of all occupations that a user can select */\nexport enum Occupation {\n /** Accounting */\n Accounting = 'ACCOUNTING',\n /** Administration */\n Administration = 'ADMINISTRATION',\n /** Arts, Culture */\n ArtsAndCulture = 'ARTS_AND_CULTURE',\n /** Business */\n Business = 'BUSINESS',\n /**\n * Items below are a new set for occupancy list, currently in A/B test\n * Experiment: FEATURE_SIGNUP_OCCUPATION_LIST\n *\n * Business Management - Accountant\n */\n BusMgmtAccountant = 'BUS_MGMT_ACCOUNTANT',\n /** Business Management - Accounts Payables/Receivables */\n BusMgmtAcctsPayRecv = 'BUS_MGMT_ACCTS_PAY_RECV',\n /** Business Management - Analyst */\n BusMgmtAnalyst = 'BUS_MGMT_ANALYST',\n /** Business Management - Benefits Administrator */\n BusMgmtBenefitsAdmin = 'BUS_MGMT_BENEFITS_ADMIN',\n /** Business Management - Board Member */\n BusMgmtBoardMember = 'BUS_MGMT_BOARD_MEMBER',\n /** Business Management - Chief Executive Officer */\n BusMgmtCeo = 'BUS_MGMT_CEO',\n /** Business Management - Chief Financial Officer */\n BusMgmtCfo = 'BUS_MGMT_CFO',\n /** Business Management - Chief Marketing Officer */\n BusMgmtCmo = 'BUS_MGMT_CMO',\n /** Business Management - Consultant */\n BusMgmtConsultant = 'BUS_MGMT_CONSULTANT',\n /** Business Management - Chief Operating Officer */\n BusMgmtCoo = 'BUS_MGMT_COO',\n /** Business Management - Corporate Auditor */\n BusMgmtCorpAuditor = 'BUS_MGMT_CORP_AUDITOR',\n /** Business Management - Chief Risk Officer */\n BusMgmtCro = 'BUS_MGMT_CRO',\n /** Business Management - Executive */\n BusMgmtExecutive = 'BUS_MGMT_EXECUTIVE',\n /** Business Management - HR Administrator */\n BusMgmtHrAdmin = 'BUS_MGMT_HR_ADMIN',\n /** Business Management - Inside Sales */\n BusMgmtInsideSales = 'BUS_MGMT_INSIDE_SALES',\n /** Business Management - Mergers & Acquisitions */\n BusMgmtMa = 'BUS_MGMT_MA',\n /** Business Management - Others */\n BusMgmtOthers = 'BUS_MGMT_OTHERS',\n /** Business Management - Outside Sales */\n BusMgmtOutsideSales = 'BUS_MGMT_OUTSIDE_SALES',\n /** Business Management - Payroll Administrator */\n BusMgmtPayrollAdmin = 'BUS_MGMT_PAYROLL_ADMIN',\n /** Business Management - President */\n BusMgmtPresident = 'BUS_MGMT_PRESIDENT',\n /** Business Management - Project Manager */\n BusMgmtProjectMgr = 'BUS_MGMT_PROJECT_MGR',\n /** Business Management - Records Manager */\n BusMgmtRecordsMgr = 'BUS_MGMT_RECORDS_MGR',\n /** Business Management - Recruiter */\n BusMgmtRecruiter = 'BUS_MGMT_RECRUITER',\n /** Business Management - Secretary */\n BusMgmtSecretary = 'BUS_MGMT_SECRETARY',\n /** Business Management - Strategy */\n BusMgmtStrategy = 'BUS_MGMT_STRATEGY',\n /** Business Management - Telemarketing */\n BusMgmtTelemarketing = 'BUS_MGMT_TELEMARKETING',\n /** Business Management - Training */\n BusMgmtTraining = 'BUS_MGMT_TRAINING',\n /** Business Management - Treasurer */\n BusMgmtTreasurer = 'BUS_MGMT_TREASURER',\n /** Communications */\n Communications = 'COMMUNICATIONS',\n /** Construction - Apprentice */\n ConstructionApprentice = 'CONSTRUCTION_APPRENTICE',\n /** Construction - Carpenter */\n ConstructionCarpenter = 'CONSTRUCTION_CARPENTER',\n /** Construction - Drywall */\n ConstructionDrywall = 'CONSTRUCTION_DRYWALL',\n /** Construction - Electrician */\n ConstructionElectrician = 'CONSTRUCTION_ELECTRICIAN',\n /** Construction - Floor Installer */\n ConstructionFloorInstaller = 'CONSTRUCTION_FLOOR_INSTALLER',\n /** Construction - Framer */\n ConstructionFramer = 'CONSTRUCTION_FRAMER',\n /** Construction - Heating/HVAC */\n ConstructionHeatingHvac = 'CONSTRUCTION_HEATING_HVAC',\n /** Construction - Ironworker */\n ConstructionIronworker = 'CONSTRUCTION_IRONWORKER',\n /** Construction - Landscaper */\n ConstructionLandscaper = 'CONSTRUCTION_LANDSCAPER',\n /** Construction - Mason */\n ConstructionMason = 'CONSTRUCTION_MASON',\n /** Construction - Metal Fabrication */\n ConstructionMetalFabrication = 'CONSTRUCTION_METAL_FABRICATION',\n /** Construction - Others */\n ConstructionOthers = 'CONSTRUCTION_OTHERS',\n /** Construction - Painter */\n ConstructionPainter = 'CONSTRUCTION_PAINTER',\n /** Construction - Plumber */\n ConstructionPlumber = 'CONSTRUCTION_PLUMBER',\n /** Construction - Roofer */\n ConstructionRoofer = 'CONSTRUCTION_ROOFER',\n /** Construction - Supervisor */\n ConstructionSupervisor = 'CONSTRUCTION_SUPERVISOR',\n /** Construction - Surveyor */\n ConstructionSurveyor = 'CONSTRUCTION_SURVEYOR',\n /** Construction - Tile Installer */\n ConstructionTileInstaller = 'CONSTRUCTION_TILE_INSTALLER',\n /** Creative - Advertising Executive */\n CreativeAdvertisingExec = 'CREATIVE_ADVERTISING_EXEC',\n /** Creative - Advertising Sales */\n CreativeAdvertisingSales = 'CREATIVE_ADVERTISING_SALES',\n /** Creative - Artist */\n CreativeArtist = 'CREATIVE_ARTIST',\n /** Creative - Author */\n CreativeAuthor = 'CREATIVE_AUTHOR',\n /** Creative - Blogger */\n CreativeBlogger = 'CREATIVE_BLOGGER',\n /** Creative - Computer Animator */\n CreativeComputerAnimator = 'CREATIVE_COMPUTER_ANIMATOR',\n /** Creative - Content Creator */\n CreativeContentCreator = 'CREATIVE_CONTENT_CREATOR',\n /** Creative - Fashion Designer */\n CreativeFashionDesigner = 'CREATIVE_FASHION_DESIGNER',\n /** Creative - Industrial Design */\n CreativeIndustrialDesign = 'CREATIVE_INDUSTRIAL_DESIGN',\n /** Creative - Interior Designer */\n CreativeInteriorDesigner = 'CREATIVE_INTERIOR_DESIGNER',\n /** Creative - Musician */\n CreativeMusician = 'CREATIVE_MUSICIAN',\n /** Creative - Others */\n CreativeOthers = 'CREATIVE_OTHERS',\n /** Creative - Photographer */\n CreativePhotographer = 'CREATIVE_PHOTOGRAPHER',\n /** Creative - Publisher */\n CreativePublisher = 'CREATIVE_PUBLISHER',\n /** Creative - Sculptor */\n CreativeSculptor = 'CREATIVE_SCULPTOR',\n /** Creative - Sound Technician */\n CreativeSoundTechnician = 'CREATIVE_SOUND_TECHNICIAN',\n /** Creative - Web Designer */\n CreativeWebDesigner = 'CREATIVE_WEB_DESIGNER',\n /** Customer Service */\n CustomerService = 'CUSTOMER_SERVICE',\n /** Education */\n Education = 'EDUCATION',\n /** Education - Administrator */\n EducationAdministrator = 'EDUCATION_ADMINISTRATOR',\n /** Education - Adult Educator */\n EducationAdultEducator = 'EDUCATION_ADULT_EDUCATOR',\n /** Education - Early Child Development */\n EducationEarlyChildDevt = 'EDUCATION_EARLY_CHILD_DEVT',\n /** Education - Librarian */\n EducationLibrarian = 'EDUCATION_LIBRARIAN',\n /** Education - Others */\n EducationOthers = 'EDUCATION_OTHERS',\n /** Education - Principal/Director */\n EducationPrincipalVp = 'EDUCATION_PRINCIPAL_VP',\n /** Education - Professor */\n EducationProfessor = 'EDUCATION_PROFESSOR',\n /** Education - Software Trainer */\n EducationSoftwareTrainer = 'EDUCATION_SOFTWARE_TRAINER',\n /** Education - Special Education */\n EducationSpecialEducation = 'EDUCATION_SPECIAL_EDUCATION',\n /** Education - Teacher-College/University */\n EducationTeacherCollUniv = 'EDUCATION_TEACHER_COLL_UNIV',\n /** Education - Teacher-Elementary */\n EducationTeacherElementary = 'EDUCATION_TEACHER_ELEMENTARY',\n /** Education - Teacher-Pre School */\n EducationTeacherPreSchool = 'EDUCATION_TEACHER_PRE_SCHOOL',\n /** Education - Teacher-Secondary */\n EducationTeacherSecondary = 'EDUCATION_TEACHER_SECONDARY',\n /** Education - Teaching Assistant */\n EducationTeachingAssistant = 'EDUCATION_TEACHING_ASSISTANT',\n /** Energy, Utilities */\n EnergyAndUtilities = 'ENERGY_AND_UTILITIES',\n /** Engineering */\n Engineering = 'ENGINEERING',\n /** Engineer - Aeronautic */\n EngineerAeronautic = 'ENGINEER_AERONAUTIC',\n /** Engineer - Architect */\n EngineerArchitect = 'ENGINEER_ARCHITECT',\n /** Engineer - Bio-Engineering */\n EngineerBioEngineering = 'ENGINEER_BIO_ENGINEERING',\n /** Engineer - Chemical */\n EngineerChemical = 'ENGINEER_CHEMICAL',\n /** Engineer - Civil */\n EngineerCivil = 'ENGINEER_CIVIL',\n /** Engineer - Drafting/CAD */\n EngineerDraftingCad = 'ENGINEER_DRAFTING_CAD',\n /** Engineer - Electrical */\n EngineerElectrical = 'ENGINEER_ELECTRICAL',\n /** Engineer - Energy */\n EngineerEnergy = 'ENGINEER_ENERGY',\n /** Engineer - Environmental/Geology */\n EngineerEnviroGeo = 'ENGINEER_ENVIRO_GEO',\n /** Engineer - Industrial */\n EngineerIndustrial = 'ENGINEER_INDUSTRIAL',\n /** Engineer - Marine */\n EngineerMarine = 'ENGINEER_MARINE',\n /** Engineer - Mechanical */\n EngineerMechanical = 'ENGINEER_MECHANICAL',\n /** Engineer - Others */\n EngineerOthers = 'ENGINEER_OTHERS',\n /** Engineer - Process */\n EngineerProcess = 'ENGINEER_PROCESS',\n /** Engineer - Town/City Planning */\n EngineerTownCityPlanning = 'ENGINEER_TOWN_CITY_PLANNING',\n /** Engineer - Urban Planner */\n EngineerUrbanPlanner = 'ENGINEER_URBAN_PLANNER',\n /** Finance */\n Finance = 'FINANCE',\n /** Financial - Accountant */\n FinancialAccountant = 'FINANCIAL_ACCOUNTANT',\n /** Financial - Actuarial Analysis */\n FinancialActuarialAnalysis = 'FINANCIAL_ACTUARIAL_ANALYSIS',\n /** Financial - Administrator/Executive Support */\n FinancialAdminExecSupport = 'FINANCIAL_ADMIN_EXEC_SUPPORT',\n /** Financial - Advisor */\n FinancialAdvisor = 'FINANCIAL_ADVISOR',\n /** Financial - Analysis/Research */\n FinancialAnalysisResearch = 'FINANCIAL_ANALYSIS_RESEARCH',\n /** Financial - Bank Manager */\n FinancialBankManager = 'FINANCIAL_BANK_MANAGER',\n /** Financial - Bank Teller */\n FinancialBankTeller = 'FINANCIAL_BANK_TELLER',\n /** Financial - Bookkeeper */\n FinancialBookkeeper = 'FINANCIAL_BOOKKEEPER',\n /** Financial - Consultant */\n FinancialConsultant = 'FINANCIAL_CONSULTANT',\n /** Financial - Credit Analyst */\n FinancialCreditAnalyst = 'FINANCIAL_CREDIT_ANALYST',\n /** Financial - Credit Manager */\n FinancialCreditManager = 'FINANCIAL_CREDIT_MANAGER',\n /** Financial - Cust Service Representative */\n FinancialCustServiceRep = 'FINANCIAL_CUST_SERVICE_REP',\n /** Financial - Data Entry */\n FinancialDataEntry = 'FINANCIAL_DATA_ENTRY',\n /** Financial - Debt Collections */\n FinancialDebtCollections = 'FINANCIAL_DEBT_COLLECTIONS',\n /** Financial - Economist */\n FinancialEconomist = 'FINANCIAL_ECONOMIST',\n /** Financial - Fund Accounting */\n FinancialFundAccounting = 'FINANCIAL_FUND_ACCOUNTING',\n /** Financial - Insurance Broker */\n FinancialInsuranceBroker = 'FINANCIAL_INSURANCE_BROKER',\n /** Financial - Insurance Claims */\n FinancialInsuranceClaims = 'FINANCIAL_INSURANCE_CLAIMS',\n /** Financial - Investment Analyst */\n FinancialInvestmentAnalyst = 'FINANCIAL_INVESTMENT_ANALYST',\n /** Financial - Investment Broker */\n FinancialInvestmentBroker = 'FINANCIAL_INVESTMENT_BROKER',\n /** Financial - Loan Officer */\n FinancialLoanOfficer = 'FINANCIAL_LOAN_OFFICER',\n /** Financial - Manager */\n FinancialManager = 'FINANCIAL_MANAGER',\n /** Financial - Others */\n FinancialOthers = 'FINANCIAL_OTHERS',\n /** Financial Services */\n FinancialServices = 'FINANCIAL_SERVICES',\n /** Government */\n Government = 'GOVERNMENT',\n /** Health */\n Health = 'HEALTH',\n /** Health - Anesthesiologist */\n HealthAnesthesiologist = 'HEALTH_ANESTHESIOLOGIST',\n /** Health - Dental Hygienist */\n HealthDentalHygienist = 'HEALTH_DENTAL_HYGIENIST',\n /** Health - Dentist */\n HealthDentist = 'HEALTH_DENTIST',\n /** Health - Dietary Specialist */\n HealthDietarySpecialist = 'HEALTH_DIETARY_SPECIALIST',\n /** Health - Doctor - General */\n HealthDoctorGeneral = 'HEALTH_DOCTOR_GENERAL',\n /** Health - Doctor - Specialist */\n HealthDoctorSpecialist = 'HEALTH_DOCTOR_SPECIALIST',\n /** Health - EMT/Paramedic */\n HealthEmtParamedic = 'HEALTH_EMT_PARAMEDIC',\n /** Health - Healthcare Aid */\n HealthHealthcareAid = 'HEALTH_HEALTHCARE_AID',\n /** Health - Hospital Management */\n HealthHospitalMgmt = 'HEALTH_HOSPITAL_MGMT',\n /** Health - Imaging Technician */\n HealthImagingTechnician = 'HEALTH_IMAGING_TECHNICIAN',\n /** Health - Lab Tech/Pathology */\n HealthLabTechPathology = 'HEALTH_LAB_TECH_PATHOLOGY',\n /** Health - Medical Practitioner */\n HealthMedicalPractitioner = 'HEALTH_MEDICAL_PRACTITIONER',\n /** Health - Nurse */\n HealthNurse = 'HEALTH_NURSE',\n /** Health - Occupational Therapy */\n HealthOccupationalTherapy = 'HEALTH_OCCUPATIONAL_THERAPY',\n /** Health - Office Manager */\n HealthOfficeManager = 'HEALTH_OFFICE_MANAGER',\n /** Health - Optical Specialist */\n HealthOpticalSpecialist = 'HEALTH_OPTICAL_SPECIALIST',\n /** Health - Others */\n HealthOthers = 'HEALTH_OTHERS',\n /** Health - Pharmacist */\n HealthPharmacist = 'HEALTH_PHARMACIST',\n /** Health - Physiotherapist */\n HealthPhysiotherapist = 'HEALTH_PHYSIOTHERAPIST',\n /** Health - Psychiatrist */\n HealthPsychiatrist = 'HEALTH_PSYCHIATRIST',\n /** Health - Psychologist */\n HealthPsychologist = 'HEALTH_PSYCHOLOGIST',\n /** Health - Public Health Administrator */\n HealthPublicHealthAdmin = 'HEALTH_PUBLIC_HEALTH_ADMIN',\n /** Health - Radiologist */\n HealthRadiologist = 'HEALTH_RADIOLOGIST',\n /** Health - Social Services */\n HealthSocialServices = 'HEALTH_SOCIAL_SERVICES',\n /** Health - Sports Medicine Specialist */\n HealthSportsMedSpecialist = 'HEALTH_SPORTS_MED_SPECIALIST',\n /** Health - Surgeon */\n HealthSurgeon = 'HEALTH_SURGEON',\n /** Health - Veterinary */\n HealthVeterinary = 'HEALTH_VETERINARY',\n /** Hospitality */\n Hospitality = 'HOSPITALITY',\n /** Hospitality - Bartender */\n HospitalityBartender = 'HOSPITALITY_BARTENDER',\n /** Hospitality - Chef/Cook */\n HospitalityChefCook = 'HOSPITALITY_CHEF_COOK',\n /** Hospitality - Concierge */\n HospitalityConcierge = 'HOSPITALITY_CONCIERGE',\n /** Hospitality - Dishwasher */\n HospitalityDishwasher = 'HOSPITALITY_DISHWASHER',\n /** Hospitality - Event Planner */\n HospitalityEventPlanner = 'HOSPITALITY_EVENT_PLANNER',\n /** Hospitality - Food Services */\n HospitalityFoodServices = 'HOSPITALITY_FOOD_SERVICES',\n /** Hospitality - Guest Services */\n HospitalityGuestServices = 'HOSPITALITY_GUEST_SERVICES',\n /** Hospitality - Host/Hostess */\n HospitalityHostHostess = 'HOSPITALITY_HOST_HOSTESS',\n /** Hospitality - Hotel Management */\n HospitalityHotelManagement = 'HOSPITALITY_HOTEL_MANAGEMENT',\n /** Hospitality - Janitor */\n HospitalityJanitor = 'HOSPITALITY_JANITOR',\n /** Hospitality - Laundry */\n HospitalityLaundry = 'HOSPITALITY_LAUNDRY',\n /** Hospitality - Others */\n HospitalityOthers = 'HOSPITALITY_OTHERS',\n /** Hospitality - Pilot */\n HospitalityPilot = 'HOSPITALITY_PILOT',\n /** Hospitality - Reception */\n HospitalityReception = 'HOSPITALITY_RECEPTION',\n /** Hospitality - Restaurant Management */\n HospitalityRestaurantMgmt = 'HOSPITALITY_RESTAURANT_MGMT',\n /** Hospitality - Room Service */\n HospitalityRoomService = 'HOSPITALITY_ROOM_SERVICE',\n /** Hospitality - Ship Captain */\n HospitalityShipCaptain = 'HOSPITALITY_SHIP_CAPTAIN',\n /** Hospitality - Tour Guide */\n HospitalityTourGuide = 'HOSPITALITY_TOUR_GUIDE',\n /** Hospitality - Tour Operator */\n HospitalityTourOperator = 'HOSPITALITY_TOUR_OPERATOR',\n /** Hospitality - Travel Agent */\n HospitalityTravelAgent = 'HOSPITALITY_TRAVEL_AGENT',\n /** Hospitality - Waiter/Server */\n HospitalityWaiterServer = 'HOSPITALITY_WAITER_SERVER',\n /** Hospitality - Wine Steward */\n HospitalityWineSteward = 'HOSPITALITY_WINE_STEWARD',\n /** Human Resources */\n HumanResources = 'HUMAN_RESOURCES',\n /** Install/Repair - Electrician */\n InstallRepairElectrician = 'INSTALL_REPAIR_ELECTRICIAN',\n /** Install/Repair - Equipment */\n InstallRepairEquipment = 'INSTALL_REPAIR_EQUIPMENT',\n /** Install/Repair - Facility Manager */\n InstallRepairFacilityMgr = 'INSTALL_REPAIR_FACILITY_MGR',\n /** Install/Repair - Locksmith */\n InstallRepairLocksmith = 'INSTALL_REPAIR_LOCKSMITH',\n /** Install/Repair - Others */\n InstallRepairOthers = 'INSTALL_REPAIR_OTHERS',\n /** Install/Repair - Plumber */\n InstallRepairPlumber = 'INSTALL_REPAIR_PLUMBER',\n /** Install/Repair - Small Engine */\n InstallRepairSmallEngine = 'INSTALL_REPAIR_SMALL_ENGINE',\n /** Internet */\n Internet = 'INTERNET',\n /** Legal */\n Legal = 'LEGAL',\n /** Legal - Bailiff */\n LegalBailiff = 'LEGAL_BAILIFF',\n /** Legal - Bylaw Enforcement */\n LegalBylawEnforcement = 'LEGAL_BYLAW_ENFORCEMENT',\n /** Legal - Court Administrator */\n LegalCourtAdministrator = 'LEGAL_COURT_ADMINISTRATOR',\n /** Legal - Court Reporter */\n LegalCourtReporter = 'LEGAL_COURT_REPORTER',\n /** Legal - Customs Officer */\n LegalCustomsOfficer = 'LEGAL_CUSTOMS_OFFICER',\n /** Legal - Judge */\n LegalJudge = 'LEGAL_JUDGE',\n /** Legal - Lawyer */\n LegalLawyer = 'LEGAL_LAWYER',\n /** Legal - Lawyer - Criminal */\n LegalLawyerCriminal = 'LEGAL_LAWYER_CRIMINAL',\n /** Legal - Lawyer - Family */\n LegalLawyerFamily = 'LEGAL_LAWYER_FAMILY',\n /** Legal - Lawyer - Labour */\n LegalLawyerLabour = 'LEGAL_LAWYER_LABOUR',\n /** Legal - Lawyer - Patent/IP */\n LegalLawyerPatentIp = 'LEGAL_LAWYER_PATENT_IP',\n /** Legal - Lawyer - Real Estate */\n LegalLawyerRealEstate = 'LEGAL_LAWYER_REAL_ESTATE',\n /** Legal - Lawyer - Tax */\n LegalLawyerTax = 'LEGAL_LAWYER_TAX',\n /** Legal - Others */\n LegalOthers = 'LEGAL_OTHERS',\n /** Legal - Paralegal/Law Clerk */\n LegalParalegalLawClerk = 'LEGAL_PARALEGAL_LAW_CLERK',\n /** Legal - Police Officer */\n LegalPoliceOfficer = 'LEGAL_POLICE_OFFICER',\n /** Legal - Prison Guard */\n LegalPrisonGuard = 'LEGAL_PRISON_GUARD',\n /** Legal - Regulation Compliance */\n LegalRegCompliance = 'LEGAL_REG_COMPLIANCE',\n /** Legal - Secretary */\n LegalSecretary = 'LEGAL_SECRETARY',\n /** Logistics - Bike Courier */\n LogisticsBikeCourier = 'LOGISTICS_BIKE_COURIER',\n /** Logistics - Cargo Handler */\n LogisticsCargoHandler = 'LOGISTICS_CARGO_HANDLER',\n /** Logistics - Courier */\n LogisticsCourier = 'LOGISTICS_COURIER',\n /** Logistics - Customs Broker */\n LogisticsCustomsBroker = 'LOGISTICS_CUSTOMS_BROKER',\n /** Logistics - Dispatcher */\n LogisticsDispatcher = 'LOGISTICS_DISPATCHER',\n /** Logistics - Driver */\n LogisticsDriver = 'LOGISTICS_DRIVER',\n /** Logistics - Hazardous Materials Handler */\n LogisticsHazMatHandler = 'LOGISTICS_HAZ_MAT_HANDLER',\n /** Logistics - Import/Export */\n LogisticsImportExport = 'LOGISTICS_IMPORT_EXPORT',\n /** Logistics - Inventory Management */\n LogisticsInventoryMgmt = 'LOGISTICS_INVENTORY_MGMT',\n /** Logistics - Machine Operator */\n LogisticsMachineOperator = 'LOGISTICS_MACHINE_OPERATOR',\n /** Logistics - Mail Carrier */\n LogisticsMailCarrier = 'LOGISTICS_MAIL_CARRIER',\n /** Logistics - Mail Room */\n LogisticsMailRoom = 'LOGISTICS_MAIL_ROOM',\n /** Logistics - Others */\n LogisticsOthers = 'LOGISTICS_OTHERS',\n /** Logistics - Rail Operator */\n LogisticsRailOperator = 'LOGISTICS_RAIL_OPERATOR',\n /** Logistics - Shipper/Receiver */\n LogisticsShipperReceiver = 'LOGISTICS_SHIPPER_RECEIVER',\n /** Logistics - Ship Captain */\n LogisticsShipCaptain = 'LOGISTICS_SHIP_CAPTAIN',\n /** Logistics - Vendor Management */\n LogisticsVendorMgmt = 'LOGISTICS_VENDOR_MGMT',\n /** Manufacturing */\n Manufacturing = 'MANUFACTURING',\n /** Marketing */\n Marketing = 'MARKETING',\n /** Natural Resources - Arborist */\n NatResourcesArborist = 'NAT_RESOURCES_ARBORIST',\n /** Natural Resources - Biologic Research */\n NatResourcesBioResearch = 'NAT_RESOURCES_BIO_RESEARCH',\n /** Natural Resources - Chemist */\n NatResourcesChemist = 'NAT_RESOURCES_CHEMIST',\n /** Natural Resources - Consultant */\n NatResourcesConsultant = 'NAT_RESOURCES_CONSULTANT',\n /** Natural Resources - Engineer */\n NatResourcesEngineer = 'NAT_RESOURCES_ENGINEER',\n /** Natural Resources - Environmental Analyst */\n NatResourcesEnviroAnalyst = 'NAT_RESOURCES_ENVIRO_ANALYST',\n /** Natural Resources - Environmental Science */\n NatResourcesEnviroScience = 'NAT_RESOURCES_ENVIRO_SCIENCE',\n /** Natural Resources - Farmer */\n NatResourcesFarmer = 'NAT_RESOURCES_FARMER',\n /** Natural Resources - Fisherman */\n NatResourcesFisherman = 'NAT_RESOURCES_FISHERMAN',\n /** Natural Resources - Land Surveyor */\n NatResourcesLandSurveyor = 'NAT_RESOURCES_LAND_SURVEYOR',\n /** Natural Resources - Logger */\n NatResourcesLogger = 'NAT_RESOURCES_LOGGER',\n /** Natural Resources - Metallurgist */\n NatResourcesMetallurgist = 'NAT_RESOURCES_METALLURGIST',\n /** Natural Resources - Miner */\n NatResourcesMiner = 'NAT_RESOURCES_MINER',\n /** Natural Resources - Oil Worker */\n NatResourcesOilWorker = 'NAT_RESOURCES_OIL_WORKER',\n /** Natural Resources - Others */\n NatResourcesOthers = 'NAT_RESOURCES_OTHERS',\n /** Natural Resources - Project Manager */\n NatResourcesProjectMgr = 'NAT_RESOURCES_PROJECT_MGR',\n /** Non-profit */\n NonProfit = 'NON_PROFIT',\n /** Others */\n Others = 'OTHERS',\n /** Public Service - City Counselor */\n PublicSvcCityCounselor = 'PUBLIC_SVC_CITY_COUNSELOR',\n /** Public Service - Federal Member of Parliament */\n PublicSvcFederalMp = 'PUBLIC_SVC_FEDERAL_MP',\n /** Public Service - Firefighter */\n PublicSvcFirefighter = 'PUBLIC_SVC_FIREFIGHTER',\n /** Public Service - Imam */\n PublicSvcImam = 'PUBLIC_SVC_IMAM',\n /** Public Service - Municipal Clerk */\n PublicSvcMunicipalClerk = 'PUBLIC_SVC_MUNICIPAL_CLERK',\n /** Public Service - Nun */\n PublicSvcNun = 'PUBLIC_SVC_NUN',\n /** Public Service - Others */\n PublicSvcOthers = 'PUBLIC_SVC_OTHERS',\n /** Public Service - Police Officer */\n PublicSvcPoliceOfficer = 'PUBLIC_SVC_POLICE_OFFICER',\n /** Public Service - Politician */\n PublicSvcPolitician = 'PUBLIC_SVC_POLITICIAN',\n /** Public Service - Priest */\n PublicSvcPriest = 'PUBLIC_SVC_PRIEST',\n /** Public Service - Provincial MPP */\n PublicSvcProvincialMpp = 'PUBLIC_SVC_PROVINCIAL_MPP',\n /** Public Service - Rabbi */\n PublicSvcRabbi = 'PUBLIC_SVC_RABBI',\n /** Public Service - Spiritual Leader */\n PublicSvcSpiritualLeader = 'PUBLIC_SVC_SPIRITUAL_LEADER',\n /** Public Service - Waste Removal */\n PublicSvcWasteRemoval = 'PUBLIC_SVC_WASTE_REMOVAL',\n /** Recreation */\n Recreation = 'RECREATION',\n /** Religion */\n Religion = 'RELIGION',\n /** Research */\n Research = 'RESEARCH',\n /** Retail - Buyer */\n RetailBuyer = 'RETAIL_BUYER',\n /** Retail - Cashier */\n RetailCashier = 'RETAIL_CASHIER',\n /** Retail - Executive */\n RetailExecutive = 'RETAIL_EXECUTIVE',\n /** Retail - Franchisee */\n RetailFranchisee = 'RETAIL_FRANCHISEE',\n /** Retail - Franchisor */\n RetailFranchisor = 'RETAIL_FRANCHISOR',\n /** Retail - Marketing */\n RetailMarketing = 'RETAIL_MARKETING',\n /** Retail - Merchandiser */\n RetailMerchandiser = 'RETAIL_MERCHANDISER',\n /** Retail - Night Crew */\n RetailNightCrew = 'RETAIL_NIGHT_CREW',\n /** Retail - Others */\n RetailOthers = 'RETAIL_OTHERS',\n /** Retail - Pharmacist */\n RetailPharmacist = 'RETAIL_PHARMACIST',\n /** Retail - Stock Room */\n RetailStockRoom = 'RETAIL_STOCK_ROOM',\n /** Retail - Store Manager */\n RetailStoreManager = 'RETAIL_STORE_MANAGER',\n /** Retail - Travel Agent */\n RetailTravelAgent = 'RETAIL_TRAVEL_AGENT',\n /** Retired */\n Retired = 'RETIRED',\n /** Sales */\n Sales = 'SALES',\n /** Sports, Fitness */\n SportsAndFitness = 'SPORTS_AND_FITNESS',\n /** Student */\n Student = 'STUDENT',\n /** Technology */\n Technology = 'TECHNOLOGY',\n /** Technology - Chief Information Officer */\n TechCio = 'TECH_CIO',\n /** Technology - Code Developer */\n TechCodeDeveloper = 'TECH_CODE_DEVELOPER',\n /** Technology - Database Administrator */\n TechDatabaseAdmin = 'TECH_DATABASE_ADMIN',\n /** Technology - Information Security */\n TechInformationSecurity = 'TECH_INFORMATION_SECURITY',\n /** Technology - Infrastructure Administrator */\n TechInfrastructureAdmin = 'TECH_INFRASTRUCTURE_ADMIN',\n /** Technology - Network Architect */\n TechNetworkArchitect = 'TECH_NETWORK_ARCHITECT',\n /** Technology - Others */\n TechOthers = 'TECH_OTHERS',\n /** Technology - Project Manager */\n TechProjectManager = 'TECH_PROJECT_MANAGER',\n /** Technology - Quality Analyst */\n TechQualityAnalyst = 'TECH_QUALITY_ANALYST',\n /** Technology - Support Analyst */\n TechSupportAnalyst = 'TECH_SUPPORT_ANALYST',\n /** Technology - Systems Analyst */\n TechSystemsAnalyst = 'TECH_SYSTEMS_ANALYST',\n /** Technology - Systems Architect */\n TechSystemsArchitect = 'TECH_SYSTEMS_ARCHITECT',\n /** Technology - Technical Writer */\n TechTechnicalWriter = 'TECH_TECHNICAL_WRITER',\n /** Technology - Telecom Administrator */\n TechTelecomAdmin = 'TECH_TELECOM_ADMIN',\n /** Technology - Website Developer */\n TechWebsiteDeveloper = 'TECH_WEBSITE_DEVELOPER',\n /** Trade */\n Trade = 'TRADE',\n /** Transportation */\n Transportation = 'TRANSPORTATION',\n /** Travel */\n Travel = 'TRAVEL',\n /** Unemployed */\n Unemployed = 'UNEMPLOYED'\n}\n\n/** Encapsulates offer details */\nexport type Offer = {\n __typename?: 'Offer';\n /** Indicates type of an offer's balance. Example: PSB, MSB, etc */\n balanceType?: Maybe;\n /** offer id */\n id: Scalars['String'];\n /** max discount based on percent offer */\n maxDiscount?: Maybe;\n /** int value of a percent off of a offer */\n percentOff?: Maybe;\n /** descriptive name for the offer */\n shortTitle?: Maybe;\n /** type of Incentives, etc: PERCENTAGE or FIXED */\n type?: Maybe;\n};\n\n/** An enumeration of white-listed offer programs */\nexport enum OfferPrograms {\n /**\n * Split Tender (inactive)\n * @deprecated Offer program budget reached, inactive offer\n */\n SplitTender = 'SPLIT_TENDER'\n}\n\n/** An enumeration of Checkout onboarding experiences */\nexport enum OnboardingExperienceType {\n /** Optional guest experience */\n Guest = 'GUEST',\n /** Forced sign up */\n SignUp = 'SIGN_UP'\n}\n\n/** Encapsulates all properties related to open banking contingency */\nexport type OpenBankingContingency = {\n __typename?: 'OpenBankingContingency';\n /** The contigency reasons for the RTB contingencies */\n contingencyReasons?: Maybe>>;\n /** The open banking contingency type: need consent or real time balance */\n contingencyType?: Maybe;\n /** The bank id or the funding option id of the bank which has the RTB contingencies[either fetch real time balance or get user consent] */\n encryptedId: Scalars['String'];\n};\n\n/** An enumeration of OpenBanking contingency types */\nexport enum OpenBankingContingencyType {\n /** need Consent For Bank Account Info Retrieval */\n NeedConsentForBankAccount = 'NEED_CONSENT_FOR_BANK_ACCOUNT',\n /** need RealTime Balance For Bank Account */\n NeedRealtimeBalanceForBankAccount = 'NEED_REALTIME_BALANCE_FOR_BANK_ACCOUNT'\n}\n\n/**\n * AuthProviderContext\n * Login Context for UL OTP\n */\nexport type OtpLoginContext = {\n __typename?: 'OtpLoginContext';\n /** Stringified context for IWC */\n context: Scalars['String'];\n};\n\n/** Partner Details */\nexport type PartnerDetails = {\n /** Partner / facilitator Account Number */\n accountNumber?: InputMaybe;\n /** account status */\n accountStatus?: InputMaybe;\n /** account type */\n accountType?: InputMaybe;\n /** Business information */\n businessInformation?: InputMaybe;\n /** email address */\n emailAddress?: InputMaybe;\n /** party id */\n partyId?: InputMaybe;\n /** phone info */\n phoneInfo?: InputMaybe;\n /** is restricted account */\n restrictedAccount?: InputMaybe;\n};\n\n/** An enumeration of PayPal business regions */\nexport enum PayPalBusinessRegions {\n /** Asia Pacific */\n Apac = 'APAC',\n /** Emerging Market */\n Em = 'EM',\n /** Europe, Middle East, and Africa */\n Emea = 'EMEA',\n /** Latin America */\n Latam = 'LATAM',\n /** North America */\n Na = 'NA'\n}\n\n/** Encapsulates all properties related to a PaycodeContingency type */\nexport type PaycodeContingency = {\n __typename?: 'PaycodeContingency';\n /** Number of attempts to clear the paycode contingency */\n attempts?: Maybe;\n /** Resolution cause for current contingency (Ex: 'NEED_3D_SECURE_AUTHENTICATION') */\n causeName: Scalars['String'];\n /** Resolution contingency name (Ex: 'PAYER_ACTION_REQUIRED') */\n name?: Maybe;\n};\n\n/** Data, Ex: merchantId, email of all payees in a cart\" */\nexport type Payee = {\n __typename?: 'Payee';\n /** Merchant's email address */\n email?: Maybe;\n /** Merchant's ID (Ex: '7VJPAEVGH7B6A') */\n merchantId?: Maybe;\n};\n\n/** Payer Disclaimer values */\nexport enum PayerDisclaimer {\n /** Cobranded type */\n Cobranded = 'COBRANDED'\n}\n\n/**\n * Encapsulates all data related to a Checkout session's payment contingencies\n * Ex: threeDomainSecure, cvvConfirm, etc.\n */\nexport type PaymentContingencies = {\n __typename?: 'PaymentContingencies';\n /**\n * A checkout session's payment contingency cvv confirmation related data.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n confirmCreditCardCvvData?: Maybe;\n /** A checkout session's payment contingency to get payer consent for fetching the real time bank balance information. */\n needConsentForBankAccountInfoRetrieval?: Maybe;\n /** A checkout session's payment contingency on fetching the real time bank balance information */\n needRealTimeBalanceForBankAccount?: Maybe;\n /**\n * Indicates that paycode is required.\n * Contains the information needed to pass on to auth modules to resolve this contingency.\n */\n paycodeRequired?: Maybe;\n /**\n * A checkout session's SEPA mandate contingency related data.\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n sepaMandateAcceptanceNeeded?: Maybe;\n /**\n * Indicates that Strong Customer Authentication is required.\n * Contains the information needed to pass on to auth modules to resolve this contingency.\n */\n strongCustomerAuthenticationRequired?: Maybe;\n /**\n * A Checkout session's payment contingency for 3DS (2.0)\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n threeDSContingencyData?: Maybe;\n /**\n * A Checkout session's payment contingency ThreeDomainSecure related data.\n * Average SLA response time: 2050ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n threeDomainSecure?: Maybe;\n};\n\n\n/**\n * Encapsulates all data related to a Checkout session's payment contingencies\n * Ex: threeDomainSecure, cvvConfirm, etc.\n */\nexport type PaymentContingenciesThreeDomainSecureArgs = {\n experiences?: InputMaybe>>;\n};\n\n/** Container type for payment eligibility flags for EPM (eligible payment methods) */\nexport type PaymentEligibility = {\n __typename?: 'PaymentEligibility';\n /** whether the payment method is branded or not */\n branded?: Maybe;\n /** Whether or not a user is eligible for a payment type (Ex: VENMO) */\n eligible?: Maybe;\n /** Child products for a given funding source */\n products: FundingProductsEligibility;\n /** Reasons why a payment is eligible */\n reasons: Array>;\n /** Whether or not payment type is vaultable */\n vaultable?: Maybe;\n /** Vaulted Instruments for payment method */\n vaultedInstruments?: Maybe>>;\n};\n\n/**\n * Encapsulates all properties related to a plan.\n * Ex: planId, primaryFundingOption, secondaryFundingOption, isSelected, etc.\n *\n * DEPRECATE: Use Plan instead of PaymentPlan, to avoid duplication\n */\nexport type PaymentPlan = {\n __typename?: 'PaymentPlan';\n /** Backup funding instrument. */\n backupFundingOption?: Maybe;\n /** Currency conversion information */\n currencyConversion?: Maybe;\n /**\n * Whether or not a PaymentPlan is selected. If you are listing out plans in a UI,\n * and need to show that a plan is selected, use this property.\n */\n isSelected?: Maybe;\n /** ID (Ex: '716015457e394cebb555f9804fb22227') */\n planId?: Maybe;\n /** Primary funding instrument. */\n primaryFundingOption?: Maybe;\n /** Secondary funding instrument. */\n secondaryFundingOption?: Maybe;\n};\n\n/** Payment Source object to store in vault. Currently only supporting Card but will also accept paypal, venmo, and apple pay */\nexport type PaymentSource = {\n /** card */\n card?: InputMaybe;\n};\n\n/**\n * For tokenized cards, the source that the payment token came from\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v4/schema/json/openapi-2.0/wallet_instrument/token_source.json\n */\nexport enum PaymentTokenSource {\n /** Payment token is from Apple Pay */\n ApplePay = 'APPLE_PAY'\n}\n\n/**\n * Encapsulates all properties related to a person's name.\n * Ex: givenName, middleName, familyName, fullName, etc.\n */\nexport type PersonName = {\n __typename?: 'PersonName';\n /** A person's family name, or last name (Ex: 'Doe') */\n familyName?: Maybe;\n /** A person's full name (Ex: 'Mr. William Alan Doe, Jr.') */\n fullName?: Maybe;\n /** A person's given name, or first name (Ex: 'William') */\n givenName?: Maybe;\n /** A person's informal name (Ex: 'Javier') */\n informalName?: Maybe;\n /** A person's middle name (Ex: 'Alan') */\n middleName?: Maybe;\n /** A person's salutation (Ex: 'Mr') */\n salutation?: Maybe;\n /** A person's suffix (Ex: 'Jr') */\n suffix?: Maybe;\n};\n\n/** Phone confirmation response */\nexport type PhoneConfirmationResponse = {\n __typename?: 'PhoneConfirmationResponse';\n /** Verification ID from identity2faserv */\n id?: Maybe;\n /** Phone confirmation state */\n state?: Maybe;\n /** Expiry of the phone confirmation session */\n validUntil?: Maybe;\n};\n\n/** Phone confirmation state */\nexport enum PhoneConfirmationState {\n /** CONFIRMED */\n Confirmed = 'CONFIRMED',\n /** PENDING */\n Pending = 'PENDING',\n /** UNKNOWN */\n Unknown = 'UNKNOWN'\n}\n\n/** Buyer's phone contact information (number, countryCode, etc) */\nexport type PhoneInput = {\n /** A phone country code (Ex: '1') */\n countryCode: Scalars['String'];\n /** A phone number (Ex: '8058881234') */\n number: Scalars['String'];\n /** An phone type (Ex: 'Work', 'Cell', etc) */\n type?: InputMaybe;\n};\n\n/** Phone contact \"types\" */\nexport enum PhoneInputType {\n /** Business phone number */\n Business = 'BUSINESS',\n /** Customer service phone number */\n CustomerService = 'CUSTOMER_SERVICE',\n /** Home phone number */\n Home = 'HOME',\n /** Mobile phone number */\n Mobile = 'MOBILE',\n /** Work phone number */\n Work = 'WORK'\n}\n\n/** An enumeration of types that an Phone can be. MAIN, WORK, MOBILE, FAX, OTHER */\nexport enum PhoneType {\n /** Phone is a fax phone */\n Fax = 'FAX',\n /** Phone is a main phone */\n Main = 'MAIN',\n /** Phone is a mobile phone */\n Mobile = 'MOBILE',\n /** Phone is another type of phone */\n Other = 'OTHER',\n /** Phone is a work phone */\n Work = 'WORK'\n}\n\n/**\n * A plan describes a way that the user can pay for a transaction. It includes the\n * list of funding sources that will be used, and optionally, backup or currency\n * conversion options that apply to using the plan.\n */\nexport type Plan = {\n __typename?: 'Plan';\n /**\n * Plan's backup funding instrument, that will be charged if the `fundingSources`\n * are unable to fund the transaction. Applies to plans with banks.\n */\n backupFundingInstrument?: Maybe;\n /**\n * Plan's backup funding option. Applies to banks.\n * @deprecated Renamed to `backupFundingInstrument` for consistent naming of funding instrument types.\n */\n backupFundingOption?: Maybe;\n /** Plan's currency conversion options, if any. */\n currencyConversion?: Maybe;\n /** A plan's funding contingencies */\n fundingContingencies: Array>;\n /**\n * The array of funding sources that will be used to fund the payment in the plan,\n * and details about how those sources will be charged.\n */\n fundingSources?: Maybe>>;\n /** Plan's ID (Ex: '716015457e394cebb555f9804fb22227') */\n id?: Maybe;\n /**\n * A Plan is selected. If you are listing out plans in a UI,\n * and need to show that a plan is selected, use this property.\n */\n isSelected?: Maybe;\n /**\n * Plan's ID (Ex: '716015457e394cebb555f9804fb22227')\n * @deprecated Renamed to use `id` instead to better match good graphQL schema practices.\n */\n planId?: Maybe;\n /**\n * Plan's pre authorization data. The type and amount that needs to be used for pre-authorization\n * during the `approveMemberPayment` mutation.\n */\n preAuthorizationData?: Maybe;\n /**\n * Plan's primary funding option.\n * @deprecated Mappings improved to separate the instrument and the details about the fundingSource - see fundingSources instead\n */\n primaryFundingOption?: Maybe;\n /**\n * Plan's secondary funding option.\n * @deprecated Use `secondaryFundingOptions` instead - there may be more than one secondary option in this plan.\n */\n secondaryFundingOption?: Maybe;\n /**\n * Plan's secondary funding options.\n * @deprecated Mappings improved to separate the instrument and the details about the fundingSource - see fundingSources instead\n */\n secondaryFundingOptions?: Maybe>>;\n /** Total values of each currency in the plan. */\n totalsPerCurrency?: Maybe>>;\n};\n\n/**\n * Encapsulates solo plans and split plans.\n * A solo plan is one that only is associated with one primary funding option.\n * A split plan is one that has secondary funding options.\n */\nexport type PlanTypes = {\n __typename?: 'PlanTypes';\n /** A plan with one funding option. */\n soloPlan?: Maybe;\n /** A plan with more than one funding option. */\n splitPlans?: Maybe>>;\n};\n\n/** Encapsulates details of the potential funding instrument */\nexport type PotentialCard = {\n __typename?: 'PotentialCard';\n /** Expiration date of a card (Ex: '02/2021') */\n expirationDate?: Maybe;\n /** Potential card's uuid (Ex: '3d799230-b198-11ea-b3de-0242ac130004') */\n id?: Maybe;\n /**\n * The card art image\n *\n * Takes optional input for image size and type\n */\n image?: Maybe;\n /**\n * Funding instrument's sub type of it's `type`.\n * (EX: 'CREDIT', 'DEBIT', 'CHECKING', 'SAVINGS').\n */\n instrumentSubType?: Maybe;\n /** Funding instrument's issuer product description. This is the card issuer's product and brand information. For Example, Chase Sapphire Reserve. */\n issuerProductDescription?: Maybe;\n /** Last digits of a credit card */\n lastDigits?: Maybe;\n /** Funding option's brand (Ex: 'AMEX') */\n name?: Maybe;\n /** Source variable indicates which flow the user used the card in like, guest or xoom, etc.,. */\n source?: Maybe;\n /** Indicates the type of the funding instrument */\n type?: Maybe;\n};\n\n\n/** Encapsulates details of the potential funding instrument */\nexport type PotentialCardImageArgs = {\n size?: InputMaybe;\n type?: InputMaybe;\n};\n\n/** PotentialCard input type represents a card to be added to an account */\nexport type PotentialCardInput = {\n /** 3 or 4 digits security code of the given card (Ex: '123' or '3456') depends on the type of credit card */\n cardVerificationCode: Scalars['String'];\n /** potential card uuid (Ex: 'uuid1234'). Unique identifier of the potential card. */\n id: Scalars['String'];\n};\n\n/** Encapsulates pre authorization data for a funding instrument */\nexport type PreAuthorizationData = {\n __typename?: 'PreAuthorizationData';\n /** Amount indicates the amount the authorization is to be done for, depending on the currency and the local currencyValue */\n amount?: Maybe;\n /** Type of Authorization to be done on the card, 'PARTIAL' indicates a $1 auth, 'FULL' indicates the full auth */\n authType?: Maybe;\n};\n\n/**\n * The channel (type of browser/device) that the user is coming from\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v4/schema/json/openapi-2.0/product_experience.json#L232\n */\nexport enum ProductChannel {\n /** A native app on a mobile device. */\n MobileApp = 'MOBILE_APP',\n /** A browser on a mobile device. */\n MobileWeb = 'MOBILE_WEB',\n /** A browser on a PC. */\n Web = 'WEB'\n}\n\n/** An enumeration of possible PayPal product code */\nexport enum ProductCode {\n /** invoicing */\n Invoicing = 'INVOICING',\n /** website_payments_standard */\n WebsitePaymentsStandard = 'WEBSITE_PAYMENTS_STANDARD'\n}\n\n/**\n * Types of client config product code\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v4/schema/json/openapi-2.0/client_configuration.json#L9\n */\nexport enum ProductCodeType {\n /** The payment acceptance solution is a billing agreement. */\n BillingAgreements = 'BILLING_AGREEMENTS',\n /** Billing plan and subcription solution */\n BillingSubscriptions = 'BILLING_SUBSCRIPTIONS',\n /** The payment acceptance solution is credit card. */\n DirectCreditCard = 'DIRECT_CREDIT_CARD',\n /** The payment acceptance solution is express checkout. */\n ExpressCheckout = 'EXPRESS_CHECKOUT',\n /** The payment acceptance solution is website payment standard. */\n WebsitePaymentsStandard = 'WEBSITE_PAYMENTS_STANDARD'\n}\n\n/** Product Details */\nexport type ProductDetails = {\n /** Api */\n api?: InputMaybe;\n /** Entry Point */\n entryPoint?: InputMaybe;\n /** Integration Artifact */\n integrationArtifact?: InputMaybe;\n /** Payment Method - reused entry point */\n paymentMethod?: InputMaybe;\n /** Product code */\n productCode?: InputMaybe;\n /** Product Feature */\n productFeature?: InputMaybe;\n /** Product Flow */\n productFlow?: InputMaybe;\n /** Experience */\n userExperienceFlow?: InputMaybe;\n};\n\n/**\n * Types of product feature\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v4/schema/json/openapi-2.0/client_configuration.json#L163\n */\nexport enum ProductFeatureType {\n /** The payment product features a payment for donations. */\n Donation = 'DONATION'\n}\n\n/**\n * Types of client config product flow\n * https://github.paypal.com/ApiSpecifications-R/CommonComponentsSpecification/blob/master/v4/schema/json/openapi-2.0/product_experience.json#L305\n */\nexport enum ProductFlowType {\n /** Accelerated Checkout Flow */\n AcceleratedCheckout = 'ACCELERATED_CHECKOUT',\n /** A buyer signing up for a billing agreement. */\n BuyerApprovalBillingAgreementCreate = 'BUYER_APPROVAL_BILLING_AGREEMENT_CREATE',\n /** A purchase flow which buyer also approves creation of a billing agreement. */\n BuyerApprovalBillingAgreementWithPurchase = 'BUYER_APPROVAL_BILLING_AGREEMENT_WITH_PURCHASE',\n /** A buyer signing up for a Subscription. */\n BuyerApprovalSubscriptionsCreate = 'BUYER_APPROVAL_SUBSCRIPTIONS_CREATE',\n /** An applicant applies for a credit product from a checkout session. */\n CreditAppliedAtCheckout = 'CREDIT_APPLIED_AT_CHECKOUT',\n /** Identifies transactions to a crowdfunded money pool. */\n CrowdfundingCampaigns = 'CROWDFUNDING_CAMPAIGNS',\n /** Flow identifier for donation collected as crowd funding for a charity. */\n CrowdfundingCampaignsCharities = 'CROWDFUNDING_CAMPAIGNS_CHARITIES',\n /** Flow identifier to say donation flow from button code we share with merchant. */\n DonateButton = 'DONATE_BUTTON',\n /** Flow identifier to say crowd funding donation flow from button code we share with merchant. */\n DonateButtonCampaign = 'DONATE_BUTTON_CAMPAIGN',\n /** Flow identifier to say donation flow in regualar internal from button code shared with merchant. */\n DonateButtonRecurring = 'DONATE_BUTTON_RECURRING',\n /** Flow identifier to say donation collected through PayPal Giving Fund. */\n FundraiserDirect = 'FUNDRAISER_DIRECT',\n /** Flow identifier to say donation collected through PayPal Giving Fund for a partner. */\n FundraiserPartner = 'FUNDRAISER_PARTNER',\n /** A web application handles the user's checkout interaction. */\n Hermes = 'HERMES',\n /** A purchase flow where buyer is redirected from Hosted Sole Solution checkout application */\n HostedSoleSolution = 'HOSTED_SOLE_SOLUTION',\n /** The application handles the PayPal Plus flow. */\n PaypalPlus = 'PAYPAL_PLUS',\n /** Smart Payment Buttons */\n SmartPaymentButtons = 'SMART_PAYMENT_BUTTONS'\n}\n\n/**\n * Encapsulates all properties related to a profile image.\n * Ex: url, profileImageType, width, height\n */\nexport type ProfileImage = Image & {\n __typename?: 'ProfileImage';\n /** A profile image's height */\n height?: Maybe;\n /** A profile image's type. A ProfileImageType type. */\n type?: Maybe;\n /** A profile image's URL. A URL type. */\n url?: Maybe;\n /** A profile image's width */\n width?: Maybe;\n};\n\n/**\n * An enumeration of types that ProfileImage can have.\n *\n * See: https://engineering.paypalcorp.com/confluence/display/PayPalMediaService/Image+Request+Metadata+Data#ImageRequestMetadataData-ImageIds\n */\nexport enum ProfileImageType {\n /** 300x300 */\n L = 'L',\n /** 200x200 */\n M = 'M',\n /** 96x96 */\n S = 'S',\n /** 96x96 */\n Size_0 = 'SIZE_0',\n /** 400x400 */\n Size_1 = 'SIZE_1',\n /** 200x200 */\n Size_2 = 'SIZE_2',\n /** 800x800 */\n Size_3 = 'SIZE_3',\n /** 640x480 */\n Size_4 = 'SIZE_4',\n /** 100x75 */\n Size_5 = 'SIZE_5',\n /** 70x70 */\n Size_6 = 'SIZE_6',\n /** 150x150 */\n Size_7 = 'SIZE_7',\n /** 400x300 */\n Size_8 = 'SIZE_8',\n /** 200x150 */\n Size_9 = 'SIZE_9',\n /** 9999x9999 */\n Size_10 = 'SIZE_10',\n /** 310x90 */\n Size_11 = 'SIZE_11',\n /** 500x500 */\n Size_12 = 'SIZE_12',\n /** 120x42 */\n Size_13 = 'SIZE_13',\n /** 64x64 */\n Size_14 = 'SIZE_14',\n /** 225x125 */\n Size_15 = 'SIZE_15',\n /** 400x300 */\n Size_16 = 'SIZE_16',\n /** 80x80 */\n Size_17 = 'SIZE_17',\n /** 800x600 */\n Size_20 = 'SIZE_20',\n /** 60x60 */\n Size_22 = 'SIZE_22',\n /** 80x80 */\n Size_23 = 'SIZE_23',\n /** 298x298 */\n Size_24 = 'SIZE_24',\n /** 140x140 */\n Size_26 = 'SIZE_26',\n /** 180x60 */\n Size_28 = 'SIZE_28',\n /** 900x300 */\n Size_29 = 'SIZE_29',\n /** 300x115 */\n Size_30 = 'SIZE_30',\n /** 300x225 */\n Size_31 = 'SIZE_31',\n /** 1600x1600 */\n Size_32 = 'SIZE_32',\n /** 48x48 */\n Size_33 = 'SIZE_33',\n /** 50x50 */\n Size_34 = 'SIZE_34',\n /** 300x300 */\n Size_35 = 'SIZE_35',\n /** 150x40 */\n Size_36 = 'SIZE_36',\n /** 175x175 */\n Size_37 = 'SIZE_37',\n /** 115x115 */\n Size_38 = 'SIZE_38',\n /** 32x32 */\n Size_39 = 'SIZE_39',\n /** 80x60 */\n Size_40 = 'SIZE_40',\n /** 467x467 */\n Size_41 = 'SIZE_41',\n /** 225x70 */\n Size_42 = 'SIZE_42',\n /** 221x330 */\n Size_43 = 'SIZE_43',\n /** 425x34 */\n Size_44 = 'SIZE_44',\n /** 1200x1200 */\n Size_45 = 'SIZE_45',\n /** 623x290 */\n Size_47 = 'SIZE_47',\n /** 1024x1024 */\n Size_48 = 'SIZE_48',\n /** 200x170 */\n Size_49 = 'SIZE_49',\n /** 100x85 */\n Size_50 = 'SIZE_50',\n /** 90x90 */\n Size_51 = 'SIZE_51',\n /** 132x123 */\n Size_52 = 'SIZE_52',\n /** 190x100 */\n Size_53 = 'SIZE_53',\n /** 122x122 */\n Size_54 = 'SIZE_54',\n /** 286x214 */\n Size_55 = 'SIZE_55',\n /** 100x100 */\n Size_56 = 'SIZE_56',\n /** 1600x1600 */\n Size_57 = 'SIZE_57',\n /** 640x640 */\n Size_58 = 'SIZE_58',\n /** 960x960 */\n Size_59 = 'SIZE_59',\n /** 225x225 */\n Size_62 = 'SIZE_62',\n /** 300x120 */\n Size_65 = 'SIZE_65',\n /** 82x35 */\n Size_66 = 'SIZE_66',\n /** 728x90 */\n Size_67 = 'SIZE_67',\n /** 256x35 */\n Size_68 = 'SIZE_68',\n /** 120x60 */\n Size_69 = 'SIZE_69',\n /** 64x35 */\n Size_70 = 'SIZE_70',\n /** 55x55 */\n Size_71 = 'SIZE_71',\n /** 500x375 */\n Size_72 = 'SIZE_72',\n /** 65x65 */\n Size_73 = 'SIZE_73',\n /** 135x115 */\n Size_74 = 'SIZE_74',\n /** 430x325 */\n Size_75 = 'SIZE_75',\n /** 400x320 */\n Size_76 = 'SIZE_76',\n /** 72x54 */\n Size_77 = 'SIZE_77',\n /** 75x56 */\n Size_78 = 'SIZE_78',\n /** 320x240 */\n Size_79 = 'SIZE_79',\n /** 600x450 */\n Size_80 = 'SIZE_80',\n /** 92x72 */\n Size_81 = 'SIZE_81',\n /** 147x147 */\n Size_82 = 'SIZE_82',\n /** 358x358 */\n Size_83 = 'SIZE_83',\n /** 498x498 */\n Size_84 = 'SIZE_84',\n /** 726x726 */\n Size_85 = 'SIZE_85',\n /** 70x53 */\n Size_87 = 'SIZE_87',\n /** 175x130 */\n Size_88 = 'SIZE_88',\n /** 600x500 */\n Size_89 = 'SIZE_89',\n /** 220x220 */\n Size_90 = 'SIZE_90',\n /** 276x276 */\n Size_91 = 'SIZE_91',\n /** 560x420 */\n Size_92 = 'SIZE_92',\n /** 360x480 */\n Size_93 = 'SIZE_93',\n /** 280x210 */\n Size_94 = 'SIZE_94',\n /** 180x240 */\n Size_95 = 'SIZE_95',\n /** 205x75 */\n Size_96 = 'SIZE_96',\n /** 90x90 */\n Size_97 = 'SIZE_97',\n /** 180x170 */\n Size_98 = 'SIZE_98',\n /** 650x412 */\n Size_100 = 'SIZE_100',\n /** 107x88 */\n Size_101 = 'SIZE_101',\n /** 247x187 */\n Size_102 = 'SIZE_102',\n /** 180x180 */\n Size_103 = 'SIZE_103',\n /** 720x215 */\n Size_104 = 'SIZE_104',\n /** 980x340 */\n Size_105 = 'SIZE_105',\n /** 160x160 */\n Size_106 = 'SIZE_106',\n /** 1000x1000 */\n Size_107 = 'SIZE_107',\n /** 250x90 */\n Size_109 = 'SIZE_109',\n /** 462x360 */\n Size_110 = 'SIZE_110',\n /** 225x155 */\n Size_111 = 'SIZE_111',\n /** 225x195 */\n Size_112 = 'SIZE_112',\n /** 450x450 */\n Size_113 = 'SIZE_113',\n /** 67x67 */\n Size_114 = 'SIZE_114',\n /** 216x216 */\n Size_115 = 'SIZE_115',\n /** 250x250 */\n Size_116 = 'SIZE_116',\n /** 190x190 */\n Size_117 = 'SIZE_117',\n /** 275x275 */\n Size_118 = 'SIZE_118',\n /** 110x110 */\n Size_119 = 'SIZE_119',\n /** 170x170 */\n Size_120 = 'SIZE_120',\n /** 135x135 */\n Size_121 = 'SIZE_121',\n /** 440x420 */\n Size_134 = 'SIZE_134',\n /** 275x375 */\n Size_135 = 'SIZE_135',\n /** 120x80 */\n Size_136 = 'SIZE_136',\n /** 200x64 */\n Size_137 = 'SIZE_137',\n /** 200x42 */\n Size_138 = 'SIZE_138',\n /** 380x380 */\n Size_139 = 'SIZE_139',\n /** 1134x700 */\n Size_140 = 'SIZE_140',\n /** 156x156 */\n Size_141 = 'SIZE_141',\n /** 112x76 */\n Size_142 = 'SIZE_142',\n /** 400x400 */\n Xl = 'XL',\n /** 64x64 */\n Xs = 'XS',\n /** 500x500 */\n Xxl = 'XXL',\n /** 32x32 */\n Xxs = 'XXS',\n /** 800x800 */\n Xxxl = 'XXXL'\n}\n\n/** Shipping methods to display to the buyer */\nexport type ProfileShippingMethodInput = {\n /** Default shipping method returned from cart/profile/callback url */\n default: Scalars['Boolean'];\n /** Unique UUID for this input */\n id?: InputMaybe;\n /** Custom label to display to the buyer for this method */\n label?: InputMaybe;\n /** Whether or not this is the selected method */\n selected: Scalars['Boolean'];\n /** Shipping Amount value for this method */\n shippingAmount?: InputMaybe;\n /** Shipping method that is mapped over to get the value passed to payload */\n shippingMethodType?: InputMaybe;\n /** Tax Amount value for this method */\n taxAmount?: InputMaybe;\n};\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type Query = {\n __typename?: 'Query';\n /**\n * GAAC - Google Address Auto Complete\n *\n * Make Google api call to get address auto suggestion based on line1 of address field\n *\n * count - number of results to return\n * countries - array of countries in which user typed partial address should be matched\n * input - whatever user typed in line1 of address field (partial line1 address field)\n * language - the returned address suggestions language\n * location - latitude,longitude (it is a scalar with validation)\n * offset - Integer which decides the number of letters to look for from first word of input\n * radius - radius around location provided, but not a strictBound to this region\n * sessionId - is a unique key generated by frontend to keep the billing for\n * google API billing needs. Session ID makes sure google bills paypal per user basis and\n * not per API call\n * strictBounds - bound the address returned to location + radius region, which is like drawing\n * a circle around the location (lat,long) with radius length of X meters and return matching\n * address only within the circle\n * types - look for a address or business establishment - refer google docs on places API\n *\n * Required Roles: None\n */\n addressAutoComplete?: Maybe;\n /**\n * GAAC - Google Address Auto Complete\n *\n * Make Google api call to get normalized address using a place_id we get from addressAutoComplete api call\n *\n * language - the returned address suggestions language\n * placeId - placeId got from addressAutoComplete api call\n * region - The region code (us, ca), specified as a ccTLD (country code top-level domain)\n * more details - https://developers.google.com/places/web-service/details\n * sessionId - is a unique key generated by frontend to keep the billing for\n * google API billing needs. Session ID makes sure google bills paypal per user basis and\n * not per API call\n * normalize - if this flag is true, the returned address will be normalized with AMS.\n *\n * Required Roles: None\n */\n addressFromAutoCompletePlaceId?: Maybe;\n /**\n * Allows you to query for a formatted address based on the information passed\n * to us by the user during a checkout session\n *\n * Requires a pay/EC token: (Ex: \"EC-1R520585JJ019435S\")\n */\n addressNormalization?: Maybe;\n /**\n * Allows you to query for a formatted address and shows which fields are incorrect\n * Please use either of the 2 format as a set.\n * 1. Old Coarse fields ( line1, line2, city, state, country, postalCode) soon to be deprecated\n * 2. New portable address fields (addressLine1, addressLine2, addressLine3, adminArea1, adminArea2, adminArea3,\n * adminArea4, countryCode, postalCode)\n */\n addressValidation?: Maybe;\n /**\n * Allows you to fetch html, css, and js information necessary to display the app download banner\n * on the client.\n *\n * App download banner endpoint in commonutilsnodeserv expects device details to be passed in the request.\n * Client applications querying for app download banner from xobuernodeserv should pass below parameters to\n * show the banner on the client.\n *\n * App download banner works on logged in and non-logged in state.\n *\n * If the request is not eligible for app download banner, all 3 response object keys (css, js and html) will\n * return with empty string\n *\n * deviceType - Possible values are DESKTOP, TABLET, MOBILE\n * deviceOS - Example values are iOS, Android\n * isMobile - if the device is a mobile\n * deviceOSVersion: OS version of the device, xo-gears device api can be use to fetch this data, pass 'Unknown' if the value is not present\n * flow - flow name that is making the graphql call, used in PS for message config. Non mandatory\n */\n appDownloadBanner?: Maybe;\n /**\n * Determines if the merchant is an eligible Apple Pay merchant and\n * returns the Apple Pay session\n *\n * The field useRealWallet is only applicable in the Sandbox environment.\n * In other environments, it will be ignored.\n */\n applePayMerchantSession?: Maybe;\n /**\n * Returns an Apple Pay Merchant session created when PayPal as a Merchant\n *\n *\n * If passed a domain URL, it will use that domain for creating the Merchant Session.\n * Otherwise it will default to \"www.paypal.com\" in production env.\n *\n * Required auth states: ANONYMOUS\n */\n applePayMerchantSessionForPayPal?: Maybe;\n /** Returns supported networks (FIs) and merchant country code for Apple Pay requests */\n applepayConfig?: Maybe;\n /**\n * Auth token exchange\n *\n * This query is used to get a token by providing another kind of token.\n * The conversions available right now are:\n * 1) idToken -> accessToken,\n * 2) accessToken -> authCode\n */\n auth?: Maybe;\n /** Returns burnable rewards for the specified transaction */\n burnableRewards: BurnableRewards;\n /** Calclate Shipping and Taxes */\n calculateShippingAndTaxes?: Maybe;\n /**\n * Allows you to query for card definitions.\n *\n * cardNumber - a partial or full card number for which to retrieve definitions\n * countryCode - a country code that represents the user's country (e.g. 'US')\n *\n * If a countryCode is not provided, it will be detected based on the request.\n *\n * Required Roles: None\n * @deprecated Moved to cardMeta\n */\n cardDefinitions: Array>;\n /** Allows you to query for card metadata */\n cardMeta: CardMeta;\n /** Allows you to fetch customization for elements (eg: tagline in an SPB) in checkout flow */\n checkoutCustomization?: Maybe;\n /** Returns propensity score for different xo products */\n checkoutPropensityScore?: Maybe;\n /**\n * checkoutSession query returns a CheckoutSession type.\n * Requires a token param (EC, PAY, or BA token) as a String\n * Average SLA response time - 1750ms\n *\n * if enableCache is passed as true. Any successful plan will be cached for one time use only.\n *\n * flows, productName, and dcvv are optional and are used for the create checkout session payload\n *\n * Required Roles: See CheckoutSession\n */\n checkoutSession?: Maybe;\n /**\n * Allows you to query for a Consumer(Tesla) Signup flow id\n *\n * Requires a redirectUrl which will be used by the\n * Consumer flow to redirect the buyer after going through the\n * Consumer flow.\n */\n consumerFlowId?: Maybe;\n /**\n * Allows you to fetch html, css, and js information necessary to display the cookie banner\n * on the client. Determined by locale headers/cookies on the request.\n *\n * If cookie banner is not necessary, empty strings will be returned.\n */\n cookieBanner?: Maybe;\n /**\n * Allows you to query for currency conversion rates and metadata\n * between two currencies (Ex: \"USD\" and \"SGD\")\n *\n * Requires a sourceCurrency (Ex: \"USD\")\n * Requires a sourceValue (Ex: \"1.00\"\n * Requires a targetCurrency (Ex: \"SGD\")\n * Requires a countryCode that represents the user's country code(Ex: \"US\")\n *\n * Required Roles: None.\n */\n currencyConversion?: Maybe;\n /**\n * Allows you to query for currency conversion rates and metadata\n * from a token and a credit card number\n *\n * Requires a PAY/EC token (Ex: \"EC-5NY05678GP2575040\")\n * Requires a credit card number (Ex: '4111111111111111')\n * Optional country code (Ex: \"US\")\n * Optional card brand (Ex: \"VISA\")\n *\n * If neither the card brand or country code are passed then they will\n * be derived from a card bin API call\n *\n * Required Roles: None.\n */\n currencyConversionFromCreditCard?: Maybe;\n /**\n * Allows for evaluating a dynamic segment using dynsegmentationserv\n *\n * Requires a segment name (Ex: \"ALL_20200101_Something\")\n *\n * Required Roles: LOGGEDIN, REMEMBERED, or IDENTIFIED\n */\n dynamicSegmentEvaluation?: Maybe;\n /** Returns earnable rewards for the specified transaction */\n earnableRewards?: Maybe;\n /**\n * Allows you to fetch eligible Installments based on merchant preferences.\n * If cardNumber is passed, installments will be fetched for the given card.\n *\n * Requires a payToken (Ex: \"EC-1R520585JJ019435S\")\n *\n * Optional cardNumber (Ex: \"4111111111111111\")\n */\n eligibleInstallments?: Maybe;\n /**\n * Allows querying elmo for treatments\n * app - Optional name of the Component/pool field in the Elmo UI (Ex: \"checkoutuinodeweb\")\n * filters - Optional array of filters to pass to Elmo (Ex: [{ key: \"Country\", value: \"US\" }]).\n * This list of filters will be compiled to an object - { \"filters.Country\": \"US\" }\n * experimentNameSubstring - Optional string. If provided, the list of treatments in the result\n * will be limited to treatments whose experiment name containts this string.\n * res - Resource name, can pass a comma separated list (Ex: \"checkout:landing::features\")\n * uid - Optional unique identifier\n */\n elmoExperiment: ElmoExperiment;\n /**\n * Allows querying elmo for treatments by using values from an API call as filter\n * app - Optional name of the Component/pool field in the Elmo UI (Ex: \"checkoutuinodeweb\")\n * filters - Optional array of filters to pass to Elmo (Ex: [{ key: \"Country\", value: \"US\" }]).\n * This list of filters will be compiled to an object - { \"filters.Country\": \"US\" }\n * realTimeFilters - required field which consists of key valu pair [{key: \"accoun_id\", value: MERCHANT_ID }]\n * where the value is substituted with a value returned from an API call\n * You can find the API configuration in data/Experimentation/constants.js\n * token - required field as the basic checkout session API calls require token\n * res - Resource name, can pass a comma separated list (Ex: \"checkout:landing::features\")\n * uid - Optional unique identifier\n */\n elmoExperimentWithRealTimeFilters: ElmoExperiment;\n /**\n * The pxpTests query returns an Array of Experiment types.\n * See the 'pxpTest' query for more information on parameters.\n *\n * Average SLA response time - 42ms\n * @deprecated PXP experiments are deprecated. Use elmo experiments instead and query for elmoExperiment\n */\n experiments?: Maybe>>;\n /** Interface with the firebase api */\n firebase: FireBase;\n /** Returns whether the flow is eligible for signup or guest */\n flowEligibility?: Maybe;\n /**\n * Allows you to fetch eligible funding sources based on different criteria\n *\n * Optional clientID\n * Optional currency (Ex: \"USD\")\n * Optional country (Ex: \"US\")\n * Requires a language (Ex: \"en\")\n * Requires an intent (Ex: SALE)\n * Requires commit\n * Requires vault\n * Requires disableFunding (Ex: [EPS]\n * Optional merchantID\n * Optional cookies\n * Optional ip\n * Optional userAgent\n * Optional buttonSessionId\n */\n fundingEligibility?: Maybe;\n /**\n * Allows you to fetch html, css, and js information related if GDPR related banner\n * is required for a client. Determined by locale headers/cookies on the request.\n *\n * If GDPR banner is not necessary, empty strings will be returned.\n * @deprecated Moved to cookieBanner\n */\n gdprBanner?: Maybe;\n /**\n * issuerBasedInstallments query returns installments options for a given card and buyer country.\n * Requires a token param (EC token) as a String\n * CC number is optional for BR flows, but required for MX flows.\n * Requires a buyer country as a String\n * card type is optional for MX flows, but required for BR flows.\n *\n * Required Roles: None.\n */\n getInstallmentsForOnboardingFlows?: Maybe>>;\n /**\n * getInstallmentsForVaultedToken query allows you to query installments based on Vaulted Token.\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a vaultedToken as a String. It is a tokenized credit card passed in from MX UCC flows.\n *\n * Required Roles: None.\n */\n getInstallmentsForVaultedToken?: Maybe>>;\n /** GooglePayConfig */\n googlePayConfig: GooglePayConfig;\n /** Boolean value indicating whether user has previously had a GPL loan */\n hasPreviousGplLoan?: Maybe;\n /** Determines flow eligibility for Inline Checkout. */\n inlineCheckoutEligibility?: Maybe;\n /**\n * PayPal Provisioning Platform is P3 which helps users to add their card to PayPal through partners or issuers.\n * More on P3 https://engineering.paypalcorp.com/confluence/display/PAYM/P3+@+XO\n * Institutions provides details of available financial institution that are supporting for P3 experience.\n */\n institutions: Array;\n /**\n * Boolean value indicating whether the user should see a splash page\n * upon entering the US Pay Monthly flow (or Long Term, LT)\n */\n isEligibleForLTSplashPage?: Maybe;\n /**\n * Whether or not the current user is eligible to see the PiX Interstitial modal when\n * appropriate.\n */\n isEligibleForPiXInterstitial?: Maybe;\n /**\n * isMemberBenefitsEligible query will take some attributes of guest user and try to\n * match it with existing member account fetched based on guest user's email\n *\n * Requires a token param (EC, PAY, or BA token) as a String\n * Requires a firstName (\"John\") as a String\n * Requires a lastName (\"Smith\") as a String\n * Requires a email (\"example@paypal.com\") as a String\n * Requires a phoneNumber (\"800-888-8888\") as a String\n * Requires a country (\"US\") as a String\n *\n * Optionally pass a billingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a shippingAddress as an AddressInput (country, postalCode, state)\n * Optionally pass a card as a CardInput (cardNumber, postalCode, cvv, expirationDate)\n * Optionally pass a bank as a BankAccountInput (type, iban, accountNumber, routingNumber)\n *\n * Returns a Boolean type.\n *\n * Required auth states: ANONYMOUS\n */\n isGuestMemberBenefitsEligible?: Maybe;\n /** Whether or not a guest is eligible for upgrade to member. A Boolean. */\n isGuestUpgradeableToMember?: Maybe;\n /**\n * Determine if a given clientID is vetted for use with the native mobile\n * checkout SDK as a privileged host.\n *\n * - clientId: the client id registered at developer.paypal.com for your\n * development needs.\n */\n isPrivilegedHost?: Maybe;\n /**\n * Metadata specific to a locale\n *\n * If a country is not provided, it will be derived using default locale resolution rules (Ex: `checkoutSession.locale`)\n *\n * Required auth states: Any\n */\n localeMetadata?: Maybe;\n /**\n * Determines flow eligibility for the Web to Mobile SDK integration. The query takes in a set\n * number of parameters to determine eligibility for two main usecases.\n *\n * When no EC token is present, we'll take in paramteters form the Smart Payment Buttons to determine\n * eligibility at the moment of rendering the buttons\n *\n * When the EC token is present, we'll inspect the checkout session to determin transaction eligibility at\n * the moment of fallback, or when going to native SDK in case there's a buyer specific reason\n */\n mobileSDKEligibility?: Maybe;\n /**\n * This query is used by native SDK team to fetch the elmo experiment which\n * tells the client the feature eligibility for IOS and Android flows.\n * resourceName - Elmo Resource name used to retrieve the corresponding experiments (Ex: \"mxo:android::preauth\")\n * deviceLocale - The mobile divice locale\n * nativeSdkVersion - the native SDK version, will pass as the App version in elmo filter\n * merchantAppVersion - the merchant app version\n */\n mobileSdkFeatures?: Maybe;\n /** Retrieves login context for UL OTP */\n otpLoginContext?: Maybe;\n /** Retrieves login context for UL OTP (Weasley) */\n otpLoginContextForSignup?: Maybe;\n /** Funding instruments from user's guest checkout experience. */\n potentialCards?: Maybe>>;\n /** Returns PPC Approvability Score for current user */\n ppcApprovabilityScore?: Maybe;\n /**\n * Smart Wallet Lookup\n *\n * If passed an payment method nonce, it will use that nonce to pull in vaulted card details from Braintree. Otherwise it will\n * use PayPal vaulted cards. The branded flag must be set to true for nonce detokenization, otherwise it will default to PayPal\n * vaulted cards.\n */\n smartWallet?: Maybe;\n /**\n * Get a signed JsonWebToken for threeDS new stack (2.0 with inbound switch integration)\n * We need JWT token for two reasons:\n * 1. Device Data Collection needs a set of key values to be signed by key from keymaker and the\n * entire signed string value is posted to DDC iframe\n * 2. Challenge Iframe needs a JWT value to be posted to trigger a OTP popup iframe\n * NOTE: Basically this API will sign whatever allowed keys you pass in request. There is no differentiation\n * in business logic of this API based on above two cases.\n *\n * referenceId - Unique ID generated by this API. This is populated only when 3DS is required and request is not in transactional context.\n * Only applicable for 3DS\n * cardBin - first 9 digits of credit card - it returned as part of contingency data from FI.\n * This parameter is optional for Switch api's.\n * jwtIssuer - JWT issuer returned from contingency data.\n * jwtOrgUnitId - JWT org unit ID returned from contingency data.\n * redirectUrl - url returned by ACS(Access Control Server) part of initial 3ds call\n * which needs to send it to cardinal before loading challenge page.\n * returnUrl - call back route on frontend app to which cardinal can return after OTP is submitted by user.\n * transactionId = The ID of the transaction that is associated with this 3D Secure authentication. Only applicable for 3DS\n * paymentAuthenticationRequest - The encoded payment request generated by Centinel.\n * authenticationProvider - Payment Authentication provider\n *\n * Required auth states: any\n */\n threeDSJwt?: Maybe;\n /** The context object shared between Unified Login and Checkout */\n unifiedLoginContext?: Maybe;\n /** Given a payerID and optionally a merchantId, returns information about a merchant messaging profile. */\n upstreamMessaging?: Maybe;\n /**\n * Allows you to fetch fields for a User.\n *\n * *NOTE* This is for the currently logged in user. In the future,\n * this query *could* allow you to pass a user ID to retrieve another user\n * such as in a student account use case where a parent is permitted to see\n * a child/student account information.\n *\n * Average SLA response time - 30ms\n *\n * Required Roles: LOGGEDIN, REMEMBERED, IDENTIFIED\n */\n user?: Maybe;\n /**\n * Allows you to fetch User Agreement's data necessary to display the correct version\n * and link for the User Agreement on the client. Determined by Consent API response.\n *\n * If Consent API provides no data, empty strings will be returned.\n *\n * flow - CHECKOUT => for member use cases and ONBOARDING => for guest and sign up use cases\n */\n userAgreement?: Maybe;\n /**\n * Validates an address, including city/state/zip combinations.\n *\n * No EC token is required.\n */\n validateAddress?: Maybe;\n /**\n * Validate the payees on an order (by token)\n * Ensures that the merchantIds match the order's payees\n */\n validatePayees?: Maybe;\n /**\n * Retrieves data from wallet\n *\n * Required Roles: LOGGEDIN\n */\n wallet: Wallet;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryAddressAutoCompleteArgs = {\n count?: InputMaybe;\n countries?: InputMaybe>>;\n input: Scalars['String'];\n language?: InputMaybe;\n location?: InputMaybe;\n offset?: InputMaybe;\n radius?: InputMaybe;\n sessionId: Scalars['String'];\n strictBounds?: InputMaybe;\n types?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryAddressFromAutoCompletePlaceIdArgs = {\n language?: InputMaybe;\n normalize?: InputMaybe;\n placeId: Scalars['ID'];\n region?: InputMaybe;\n sessionId: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryAddressNormalizationArgs = {\n city?: InputMaybe;\n country?: InputMaybe;\n line1?: InputMaybe;\n line2?: InputMaybe;\n postalCode?: InputMaybe;\n processMode?: InputMaybe;\n scope?: InputMaybe;\n state?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryAddressValidationArgs = {\n addressLine1?: InputMaybe;\n addressLine2?: InputMaybe;\n addressLine3?: InputMaybe;\n adminArea1?: InputMaybe;\n adminArea2?: InputMaybe;\n adminArea3?: InputMaybe;\n adminArea4?: InputMaybe;\n city?: InputMaybe;\n country?: InputMaybe;\n countryCode?: InputMaybe;\n line1?: InputMaybe;\n line2?: InputMaybe;\n postalCode?: InputMaybe;\n state?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryAppDownloadBannerArgs = {\n deviceOS: Scalars['String'];\n deviceOSVersion: Scalars['String'];\n deviceType: DeviceType;\n flow?: InputMaybe;\n isMobile: Scalars['Boolean'];\n nonce: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryApplePayMerchantSessionArgs = {\n clientID: Scalars['String'];\n displayName?: InputMaybe;\n merchantDomain: Scalars['String'];\n merchantID?: InputMaybe>>;\n orderID?: InputMaybe;\n url: Scalars['String'];\n useRealWallet?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryApplePayMerchantSessionForPayPalArgs = {\n merchantDomain?: InputMaybe;\n orderID?: InputMaybe;\n productCode: ProductCode;\n url: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryApplepayConfigArgs = {\n buyerCountry?: InputMaybe;\n clientId: Scalars['String'];\n merchantId: Array>;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryAuthArgs = {\n accessToken?: InputMaybe;\n authCode?: InputMaybe;\n clientId?: InputMaybe;\n idToken?: InputMaybe;\n refreshToken?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryBurnableRewardsArgs = {\n buyerId: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCalculateShippingAndTaxesArgs = {\n locale: LocaleInput;\n shippingAddress: AddressInput;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCardDefinitionsArgs = {\n cardNumber: Scalars['String'];\n countryCode?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCardMetaArgs = {\n cardNumber: Scalars['String'];\n countryCode?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCheckoutCustomizationArgs = {\n buttonLabel?: InputMaybe;\n buttonSessionId?: InputMaybe;\n buttonSize?: InputMaybe;\n buyerCountry?: InputMaybe;\n clientId?: InputMaybe;\n commit?: InputMaybe;\n cookies?: InputMaybe;\n creditRiskVerified?: InputMaybe;\n currency?: InputMaybe;\n deviceInfo?: InputMaybe;\n domain?: InputMaybe;\n installmentPeriod?: InputMaybe;\n intent?: InputMaybe;\n ip?: InputMaybe;\n layout?: InputMaybe;\n locale: LocaleInput;\n merchantId?: InputMaybe>>;\n renderedButtons?: InputMaybe>>;\n taglineEnabled?: InputMaybe;\n userAgent?: InputMaybe;\n vault?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCheckoutPropensityScoreArgs = {\n country: CountryCodes;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCheckoutSessionArgs = {\n dcvv?: InputMaybe;\n enableCache?: InputMaybe;\n flows?: InputMaybe;\n productName?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryConsumerFlowIdArgs = {\n redirectUrl: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCookieBannerArgs = {\n nonce?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCurrencyConversionArgs = {\n countryCode: CountryCodes;\n language: Scalars['String'];\n sourceCurrency: SupportedCountryCurrencies;\n sourceValue: Scalars['String'];\n targetCurrency: SupportedCountryCurrencies;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryCurrencyConversionFromCreditCardArgs = {\n cardBrand?: InputMaybe;\n cardNumber: Scalars['String'];\n country?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryDynamicSegmentEvaluationArgs = {\n segmentName: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryEarnableRewardsArgs = {\n buyerAccountNumber: Scalars['String'];\n buyerCountryCode: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryEligibleInstallmentsArgs = {\n cardNumber?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryElmoExperimentArgs = {\n app?: InputMaybe;\n experimentNameSubstring?: InputMaybe;\n filters?: InputMaybe>>;\n res: Scalars['String'];\n uid?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryElmoExperimentWithRealTimeFiltersArgs = {\n app?: InputMaybe;\n filters?: InputMaybe>>;\n realTimeFilters: Array;\n res: Scalars['String'];\n token: Scalars['String'];\n uid?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryExperimentsArgs = {\n tests?: InputMaybe>>;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryFlowEligibilityArgs = {\n merchantCountry: CountryCodes;\n merchantId: Scalars['String'];\n token: Scalars['String'];\n transactionCountry: CountryCodes;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryFundingEligibilityArgs = {\n allowed?: InputMaybe>>;\n buttonSessionId?: InputMaybe;\n buyerCountry?: InputMaybe;\n clientId?: InputMaybe;\n commit?: InputMaybe;\n cookies?: InputMaybe;\n currency?: InputMaybe;\n disableCard?: InputMaybe>>;\n disableFunding?: InputMaybe>>;\n domain?: InputMaybe;\n enableFunding?: InputMaybe>>;\n intent?: InputMaybe;\n ip?: InputMaybe;\n merchantId?: InputMaybe>>;\n userAgent?: InputMaybe;\n vault?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryGdprBannerArgs = {\n nonce?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryGetInstallmentsForOnboardingFlowsArgs = {\n buyerCountry: CountryCodes;\n cardNumber?: InputMaybe;\n cardType?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryGetInstallmentsForVaultedTokenArgs = {\n token: Scalars['String'];\n vaultedToken: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryGooglePayConfigArgs = {\n buyerCountry?: InputMaybe;\n clientId: Scalars['String'];\n merchantId: Array>;\n merchantOrigin?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryInlineCheckoutEligibilityArgs = {\n clientId: Scalars['String'];\n merchantId?: InputMaybe>>;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryIsEligibleForLtSplashPageArgs = {\n token?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryIsEligibleForPiXInterstitialArgs = {\n token?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryIsGuestMemberBenefitsEligibleArgs = {\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n country: CountryCodes;\n email: Scalars['String'];\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n phone: PhoneInput;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryIsGuestUpgradeableToMemberArgs = {\n billingAddress: AddressInput;\n card: CardInput;\n country: CountryCodes;\n email: Scalars['String'];\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryIsPrivilegedHostArgs = {\n clientId: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryMobileSdkEligibilityArgs = {\n buttonSessionID?: InputMaybe;\n buyerAccessToken?: InputMaybe;\n buyerCountry?: InputMaybe;\n buyerLanguage?: InputMaybe;\n cookies?: InputMaybe;\n currency?: InputMaybe;\n domain?: InputMaybe;\n enableFunding?: InputMaybe>>;\n facilitatorClientID?: InputMaybe;\n fundingSource?: InputMaybe;\n intent?: InputMaybe;\n isBillingAgreementSupported?: InputMaybe;\n isCryptoPaymentsSupported?: InputMaybe;\n merchantID?: InputMaybe;\n nativeAppVersion?: InputMaybe;\n nativeSdkVersion?: InputMaybe;\n os?: InputMaybe;\n sdkjsVersion?: InputMaybe;\n shippingCallbackEnabled?: InputMaybe;\n skipElmo?: InputMaybe;\n stickinessID?: InputMaybe;\n token?: InputMaybe;\n userAgent?: InputMaybe;\n vault?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryMobileSdkFeaturesArgs = {\n additionalFilters?: InputMaybe>>;\n clientId: Scalars['String'];\n deviceLocale?: InputMaybe;\n merchantAppVersion?: InputMaybe;\n nativeSdkVersion?: InputMaybe;\n resourceName: Scalars['String'];\n token?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryOtpLoginContextArgs = {\n integrationType: Scalars['String'];\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryOtpLoginContextForSignupArgs = {\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryPotentialCardsArgs = {\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QuerySmartWalletArgs = {\n allowBillingPayments?: InputMaybe;\n amount?: InputMaybe;\n branded?: InputMaybe;\n clientId: Scalars['String'];\n currency?: InputMaybe;\n merchantId?: InputMaybe>;\n orderID?: InputMaybe;\n paymentMethodNonce?: InputMaybe;\n userAccessToken?: InputMaybe;\n userIdToken?: InputMaybe;\n userRefreshToken?: InputMaybe;\n vetted?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryThreeDsJwtArgs = {\n authenticationProvider?: InputMaybe;\n cardBin?: InputMaybe;\n cardType?: InputMaybe;\n jwtIssuer: Scalars['String'];\n jwtOrgUnitId?: InputMaybe;\n paymentAuthenticationRequest?: InputMaybe;\n redirectUrl?: InputMaybe;\n referenceId: Scalars['String'];\n returnUrl?: InputMaybe;\n transactionId?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryUnifiedLoginContextArgs = {\n token: Scalars['String'];\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryUpstreamMessagingArgs = {\n clientId?: InputMaybe;\n merchantId?: InputMaybe>>;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryUserAgreementArgs = {\n flow: EvalPolicyFlowType;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryValidateAddressArgs = {\n city?: InputMaybe;\n countryCode?: InputMaybe;\n line1?: InputMaybe;\n line2?: InputMaybe;\n postalCode?: InputMaybe;\n state?: InputMaybe;\n};\n\n\n/** Query root type. See https://graphql.org/learn/execution/#root-fields-resolvers */\nexport type QueryValidatePayeesArgs = {\n merchantIds: Array;\n token: Scalars['String'];\n};\n\n/** Encapsulates all properties related to a rate (i.e. a percentage). */\nexport type Rate = {\n __typename?: 'Rate';\n /** Number formatted to the localized style (e.g. 0,25) */\n formattedNumber?: Maybe;\n /** Number as a percentage formatted to the localized style (e.g. 0,25 %) */\n formattedNumberAsPercentage?: Maybe;\n /** Unformatted number (e.g. 0.25) */\n unformattedNumber?: Maybe;\n};\n\n/** Allowed statuses for resolveThreeDsContingency status */\nexport enum ResolveThreeDsContingencyStatus {\n /** 3DS resolution flow failed due to error or decline */\n Failure = 'FAILURE',\n /** 3DS resolution flow was successful */\n Success = 'SUCCESS'\n}\n\n/** Encapsulates all properties related to Rewards for a funding instrument */\nexport type Rewards = {\n __typename?: 'Rewards';\n /** The available rewards value and its equivalent monetary value */\n availableRewards?: Maybe;\n /** Rewards that can be converted to currency equivalent or not */\n balance?: Maybe;\n /** The minimum and maximum constraints on how rewards can be used */\n constraints?: Maybe;\n /** The necessary metadata to convert rewards to monetary value and vice versa */\n conversionMetadata?: Maybe;\n /** The ID for Rewards */\n id?: Maybe;\n /**\n * The rewards image\n *\n * Takes optional input for image size and type\n */\n image?: Maybe;\n /** The card issuer rewards details */\n issuer?: Maybe;\n /** The rewards redemption type */\n redemptionType?: Maybe;\n /** The related card ID */\n relatedCardId?: Maybe;\n /**\n * The reward type (i.e. `CHASE_REWARDS_POINTS`)\n *\n * This is used to determine what _type_ of rewards that's shown to the user. This is the combination of rewards issuer name and the issuer instrument type from the issuer data.\n * @deprecated Instead of using the rewardType, the reward content and behavior are determined by the redemptionType, the issuer name and denominationTypeDescription\n */\n rewardType?: Maybe;\n /** The rewards terms and conditions url */\n termsUrl?: Maybe;\n};\n\n\n/** Encapsulates all properties related to Rewards for a funding instrument */\nexport type RewardsImageArgs = {\n size?: InputMaybe;\n type?: InputMaybe;\n};\n\n/** Encapsulates all properties related to Rewards Balance */\nexport type RewardsBalance = {\n __typename?: 'RewardsBalance';\n /** If the rewards can be converted to the currency equivalent */\n isConvertable?: Maybe;\n /** Currency to which rewards can be converted */\n targetCurrencyCode?: Maybe;\n};\n\n/** Encapsulates all properties related to Rewards constraints */\nexport type RewardsConstraints = {\n __typename?: 'RewardsConstraints';\n /** The maximum amount the user can spend when using rewards */\n maximumSpend?: Maybe;\n /** The maximum usable rewards */\n maximumUsable?: Maybe;\n /** The minimum amount the user can spend when using rewards */\n minimumSpend?: Maybe;\n};\n\n/** Encapsulates all properties related to Rewards conversion */\nexport type RewardsConversionMetadata = {\n __typename?: 'RewardsConversionMetadata';\n /** Conversion factor when converting from rewards to monetary value */\n conversionFactor?: Maybe;\n /** The decimal precisions when converting from from rewards to monetary value and vice versa */\n decimalPrecision?: Maybe;\n /** The rounding modes when converting from from rewards to monetary value and vice versa */\n roundingMode?: Maybe;\n};\n\n/** The type of Rewards conversion */\nexport enum RewardsConversionType {\n /** Converting from amount to rewards */\n AmountToRewards = 'AMOUNT_TO_REWARDS',\n /** Converting from rewards to amount */\n RewardsToAmount = 'REWARDS_TO_AMOUNT'\n}\n\n/** The decimal precision for Rewards conversion */\nexport type RewardsDecimalPrecision = {\n __typename?: 'RewardsDecimalPrecision';\n /** Decimal precision for conversion from rewards to amount */\n toAmount?: Maybe;\n /** Decimal precision for conversion from amount to rewards */\n toRewards?: Maybe;\n};\n\n/**\n * Rewards input when paying with rewards.\n *\n * Used in the `approveMemberPayment` mutation.\n *\n * Example input:\n * ```\n * \"rewards\": {\n * \"id\": \"GI-XXXXXXXXXXXXX\",\n * \"amount\": \"20\",\n * \"currency\": \"USD\"\n * }\n * ```\n */\nexport type RewardsInput = {\n /** Rewards amount to use toward the transaction */\n amount: Scalars['String'];\n /** Rewards currency code */\n currency: Scalars['String'];\n /** Rewards funding source ID */\n id: Scalars['String'];\n};\n\n/**\n * The card issuer rewards details\n *\n * This contains the name of the issuer, type of rewards instrument, and the name of the rewards product (i.e. `Ultimate Rewards® Points`)\n */\nexport type RewardsIssuer = {\n __typename?: 'RewardsIssuer';\n /**\n * The type of rewards\n * @deprecated Instead of using the instrumentType, the reward content and behavior are determined by the redemptionType, the issuer name and denominationTypeDescription\n */\n instrumentType?: Maybe;\n /** The name of the rewards product like `Ultimate Rewards® Points` */\n issuerProductDescription?: Maybe;\n /** The name of the rewards issuer */\n name?: Maybe;\n};\n\n/** The Rewards redemption type */\nexport enum RewardsRedemptionType {\n /** Rewards are deducted from the rewards balance */\n RealTime = 'REAL_TIME',\n /** Rewards are used for a statement credit */\n StatementCredit = 'STATEMENT_CREDIT',\n /** Rewards are used with a specified dollar amount applied as a statement credit toward the purchase */\n StatementCreditWithAmountChoice = 'STATEMENT_CREDIT_WITH_AMOUNT_CHOICE'\n}\n\n/** The rounding modes when converting a Rewards value */\nexport type RewardsRoundingMode = {\n __typename?: 'RewardsRoundingMode';\n /** Rounding mode for conversion from rewards to amount */\n toAmount?: Maybe;\n /** Rounding mode for conversion from amount to rewards */\n toRewards?: Maybe;\n};\n\n/**\n * The mode of Rewards rounding\n *\n * https://docs.oracle.com/javase/7/docs/api/java/math/RoundingMode.html\n */\nexport enum RewardsRoundingModeType {\n /** Rounding mode to round towards zero. */\n Down = 'DOWN',\n /** Rounding mode to round towards _nearest neighbor_ unless both neighbors are equidistant, in which case round down. */\n HalfDown = 'HALF_DOWN',\n /** Rounding mode to round towards the _nearest neighbor_ unless both neighbors are equidistant, in which case, round towards the even neighbor. */\n HalfEven = 'HALF_EVEN',\n /** Rounding mode to round towards _nearest neighbor_ unless both neighbors are equidistant, in which case round up. */\n HalfUp = 'HALF_UP',\n /** Rounding is unnecessary */\n Unnecessary = 'UNNECESSARY',\n /** Rounding mode to round away from zero. */\n Up = 'UP'\n}\n\n/** An enumeration of possible RPS customer list that can be used in xobuyer */\nexport enum RpsCustomerList {\n /** weasley - optional guest merchant list */\n OptionalGuestMerchantList = 'OPTIONAL_GUEST_MERCHANT_LIST'\n}\n\n/** An enumeration of possible RPS customer list that can be used in xobuyer */\nexport enum RpsSegmentName {\n /** weasley - optional guest merchant list */\n OptionalGuestMerchantsSegment = 'OPTIONAL_GUEST_MERCHANTS_SEGMENT',\n /** weasley - real money gaming merchant list */\n RmgMerchantsSegment = 'RMG_MERCHANTS_SEGMENT',\n /** weasley - signup incentives safe merchant list */\n SignupIncentivesSafeMerchantsSegment = 'SIGNUP_INCENTIVES_SAFE_MERCHANTS_SEGMENT'\n}\n\n/** Provides the user's current SCA status and exemption reason, if any */\nexport type SecureCustomerAuthenticationContext = {\n __typename?: 'SecureCustomerAuthenticationContext';\n /** The reason the buyer was exempted from SCA (if any) */\n exemptReason?: Maybe;\n /** The buyer's current SCA status */\n status?: Maybe;\n};\n\n/** An enumeration of possible SecureCustomerAuthenticationContext statuses */\nexport enum SecureCustomerAuthenticationExemptReason {\n /** Exempt as the buyer is not present */\n BuyerNotPresent = 'BUYER_NOT_PRESENT',\n /** Exempt from SCA as the cart total is below the threshold */\n LowValueTransaction = 'LOW_VALUE_TRANSACTION',\n /** Exempt as this is a reference transaction */\n ReferenceTransaction = 'REFERENCE_TRANSACTION',\n /** Exempt as user has marked the merchant as a trusted beneficiary */\n TrustedBeneficiary = 'TRUSTED_BENEFICIARY'\n}\n\n/** An enumeration of possible SecureCustomerAuthenticationContext statuses */\nexport enum SecureCustomerAuthenticationStatus {\n /** User has completed SCA */\n Complete = 'COMPLETE',\n /** User is exempt from SCA */\n Exempt = 'EXEMPT',\n /** User has provided at most one factor of authentication */\n InProgress = 'IN_PROGRESS'\n}\n\n/**\n * Encapsulates all properties related to a credit as FI offer for the RYI page that a user selected.\n * Average SLA response time - 50ms - (This might change)\n */\nexport type SelectedCrcOffer = {\n /** Offer ID for the offer returned by crcofferserv */\n crcOfferId?: InputMaybe;\n /** Financing code is the id for a particular offer returned by credit financing serv. */\n financingCode?: InputMaybe;\n};\n\n/**\n * Encapsulates all properties related to the pre-selected FI from Mors/EDS component for Pi30 flows\n * Average SLA response time - 50ms - (This might change)\n */\nexport type SelectedCrCfi = {\n /** Id of the FI as a string (ex: 'BA-DSJODJSISDNALSD') */\n id: Scalars['String'];\n /** The last four digits of the user's fi number as a String (Ex: '7062') */\n lastFourDigits: Scalars['String'];\n /** The name associated to the fi (Ex: 'Deutsche Bank') */\n name: Scalars['String'];\n};\n\n/** Encapsulates all properties related to a SepaMandateAcceptenceNeededContingency type */\nexport type SepaMandateAcceptenceNeededContingency = {\n __typename?: 'SepaMandateAcceptenceNeededContingency';\n /** bankAccount related to contingency */\n bankAccount?: Maybe;\n};\n\n/** Encapsulates all properties related to a ShippingAndTaxCharges from shiptaxcalcserv. */\nexport type ShippingAndTaxCharges = {\n __typename?: 'ShippingAndTaxCharges';\n /** Unique UUID */\n id?: Maybe;\n /** Shipping charges */\n shipping?: Maybe;\n /** Tax charges */\n tax?: Maybe;\n};\n\n/** Encapsulates all properties related to a ShippingAndTaxes from shiptaxcalcserv. */\nexport type ShippingAndTaxes = {\n __typename?: 'ShippingAndTaxes';\n /** List of shipping and tax charges */\n charges: Array;\n /** Whether shipping is supported for this region */\n isShippingRegionSupported: Scalars['Boolean'];\n /** Whether tax is required for shipping */\n isTaxOnShippingRequired: Scalars['Boolean'];\n /** Whether profile override is allowed */\n profileOverrideAllowed?: Maybe;\n /** Shipping options source ('PROFILE' or 'CALLBACK' or 'FALLBACK') */\n shippingOptionsSource: ShippingOptionsSource;\n /** Whether shipping options are shown */\n shouldShowShippingOptions: Scalars['Boolean'];\n};\n\n/** Encapsulates all properties related to a ShippingCharges from shiptaxcalcserv. */\nexport type ShippingCharges = {\n __typename?: 'ShippingCharges';\n /** Duration for delivery to arrive (Ex: 3-5 business days) */\n deliveryTime?: Maybe;\n /** Whether insurance option is offered */\n hasInsurance: Scalars['Boolean'];\n /** Unique identifier for the shipping option */\n id: Scalars['String'];\n /** Insurance amount for this shipping option */\n insuranceAmount?: Maybe;\n /** Default shipping option */\n isDefaultShippingOption: Scalars['Boolean'];\n /** Display name for shipping option */\n label?: Maybe;\n /** Shipping amount for this shipping option */\n shippingAmount: Amount;\n /** Type of shipping method needed to update selected shipping method to update the cart */\n shippingMethodType?: Maybe;\n /** Type of shipping method ('SHIPPING' or 'PICKUP') */\n type: ShippingMethodType;\n};\n\n/** Shipping methods to display to the buyer */\nexport type ShippingMethodInput = {\n /** Amount value for this method */\n amount: AmountInput;\n /** Unique ID which represents this option */\n id: Scalars['String'];\n /** Custom label to display to the buyer for this method */\n label: Scalars['String'];\n /** Whether or not this is the selected method */\n selected: Scalars['Boolean'];\n /** Type of shipping method (Ex: 'SHIPPING') */\n type: ShippingMethodType;\n};\n\n/** Types, or categories for ShippingMethods to have. */\nexport enum ShippingMethodType {\n /** Pick up at location */\n Pickup = 'PICKUP',\n /** Ship to home address */\n Shipping = 'SHIPPING'\n}\n\n/** The shipping options source type */\nexport enum ShippingOptionsSource {\n /** Shipping options are from callback url */\n Callback = 'CALLBACK',\n /** Fallback to button param if calling external url fails */\n Fallback = 'FALLBACK',\n /** Shipping charges are calculated from profile or button params */\n Profile = 'PROFILE'\n}\n\n/** Lists possible transaction Signature status identifier. */\nexport enum SignatureVerificationStatus {\n /** Indicates that the PARes could not be validated. */\n No = 'NO',\n /** Indicates that the signature of the PARes (Payment Authentication Response) has been validated successfully and the message contents can be trusted */\n Yes = 'YES'\n}\n\n/**\n * Get a recognized user's smart wallet. This api works:\n *\n * - 1. Can be used using a orderID and buyer access token from a login session.\n * - 2. With either an existing buyer access token, billing agreement, or vault\n * - Returns both branded and unbranded FIs\n */\nexport type SmartWallet = {\n __typename?: 'SmartWallet';\n /** Card Smart Funding */\n card: SmartWalletFunding;\n /** Credit Smart Funding */\n credit: SmartWalletFunding;\n /** PayPal Smart Funding */\n paypal: SmartWalletFunding;\n /** Venmo Smart Funding */\n venmo: SmartWalletFunding;\n};\n\n/** An funding type within a buyer's smart wallet */\nexport type SmartWalletFunding = {\n __typename?: 'SmartWalletFunding';\n /** List of Smart Wallet funding instruments */\n instruments: Array;\n};\n\n/** An instrument within a buyer's smart wallet */\nexport type SmartWalletInstrument = {\n __typename?: 'SmartWalletInstrument';\n /** Buyer access token to use to approve the payment on checkout rails */\n accessToken?: Maybe;\n /** Funding source is branded or unbranded */\n branded?: Maybe;\n /** Instrument ID to use when paying on checkout rails */\n instrumentID?: Maybe;\n /** Issuer Product Description */\n issuerProductDescription?: Maybe;\n /** Label to show for the FI (last-4 / email) */\n label?: Maybe;\n /** Logo to show for the FI (e.g. card art url) */\n logoUrl?: Maybe;\n /** Can the payment be made in one click */\n oneClick?: Maybe;\n /** PlanID associated with this instrument. */\n planID?: Maybe;\n /** Secondary instruments associated */\n secondaryInstruments?: Maybe>;\n /** Token ID to use when paying on vault rails */\n tokenID?: Maybe;\n /** Instrument type. card / bank / credit / balance */\n type?: Maybe;\n /** Card vendor */\n vendor?: Maybe;\n};\n\n/** A secondary instrument associated with an instrument during planning */\nexport type SmartWalletSecondaryInstrument = {\n __typename?: 'SmartWalletSecondaryInstrument';\n /** Instrument ID to use when paying on checkout rails */\n instrumentID?: Maybe;\n /** Label to show for the FI (last-4 / email) */\n label?: Maybe;\n /** Logo to show for the FI (e.g. card art url) */\n logoUrl?: Maybe;\n /** Instrument type card / bank / credit / balance */\n type?: Maybe;\n};\n\n/** Encapsulates the Split Funding Option object item */\nexport type SplitFundingOptions = {\n __typename?: 'SplitFundingOptions';\n /** Highlights the maxiumum amount for this funding instrument if there is a limit */\n availableAmount?: Maybe;\n /** Determines whether user can edit the amount in the UX */\n canEditAmount: Scalars['Boolean'];\n /** List of Funding Instrument IDs this funding option can split with */\n canSplitWith: Array>;\n /** Funding Instrument Object */\n fundingInstrument: FundingInstrument;\n /** Funding Instrument ID */\n id: Scalars['ID'];\n /** Determines eligibility for a Primary/Backup funding instrument */\n isEligibleForPrimaryInstrument: Scalars['Boolean'];\n /** Determine if user must use the full amount for this instrument like INCENTIVEs */\n mustUseFullAmount: Scalars['Boolean'];\n};\n\n/** Represents the data required for completing an Approve Payment for Split Tender */\nexport type SplitFundingOptionsInput = {\n /** Amount to apply to Funding Instrument */\n amount: AmountInput;\n /** Funding Instrument Type */\n fundingInstrumentType: FundingInstrumentType;\n /** Funding Instrument ID */\n id: Scalars['ID'];\n /** User Selected Instrument to be the Backup/Primary - must have one in the list */\n isPrimaryInstrument: Scalars['Boolean'];\n};\n\n/** Size of an image */\nexport enum SquareImageSize {\n /** Large 300x300 px */\n L = 'L',\n /** Medium 200x200 px */\n M = 'M',\n /** Small 96x96 px */\n S = 'S',\n /** Extra large 400x400 px */\n Xl = 'XL',\n /** Extra small 50x50 px */\n Xs = 'XS',\n /** Extra extra large 500x500 px */\n Xxl = 'XXL',\n /** Extra extra small 32x32 px */\n Xxs = 'XXS',\n /** Extra extra extra large 800x800 px */\n Xxxl = 'XXXL'\n}\n\n/** status of token */\nexport enum Status {\n /** Setup token is ready to be vaulted. If a buyer approval contigency was returned, it is has been approved */\n Approved = 'APPROVED',\n /** A setup token is initialized with minimal information, more data must be added to the setup-token to be vaulted */\n Created = 'CREATED',\n /** buyer contingency */\n PayerActionRequired = 'PAYER_ACTION_REQUIRED',\n /** A vaulted payment method token has been tokenized for short term (one time) use */\n Tokenized = 'TOKENIZED',\n /** The payment token has been vaulted */\n Vaulted = 'VAULTED'\n}\n\n/**\n * Data required to resolve the Strong Customer Authentication (SCA) Contingency.\n * Before completing checkout or updating any account related info, user needs to complete another auth flow.\n */\nexport type StrongCustomerAuthenticationRequiredContingency = {\n __typename?: 'StrongCustomerAuthenticationRequiredContingency';\n /** ID to be passed to the auth flow that will be collecting the user's auth, as part of the arguments. */\n contextId?: Maybe;\n};\n\n/** Encapsulates all properties related to the billing cycles for a subscription transaction */\nexport type SubscriptionBillingCycles = {\n __typename?: 'SubscriptionBillingCycles';\n /** The currency and amount for a financial transaction, such as a balance or payment due */\n fixedPrice?: Maybe;\n /** Frequency of the billing cycle */\n frequency?: Maybe;\n /** Number of times the billing cycle should be executed */\n totalCycles?: Maybe;\n};\n\n/** Encapsulates all properties related to a new or current subscription plan. */\nexport type SubscriptionDetails = {\n __typename?: 'SubscriptionDetails';\n /** Initial Payment Details for the agreement token */\n initialPaymentInfo?: Maybe;\n /** Plan Details */\n plan?: Maybe;\n};\n\n/** Encapsulates all properties related to a subscription plan's details. */\nexport type SubscriptionPlanDetails = {\n __typename?: 'SubscriptionPlanDetails';\n /** An array of billing cycles for trial and regular billing */\n billingCycles?: Maybe>>;\n /** The PayPal-generated unique ID for the plan resource. (Ex: 'P-5ML4271244454362WXNWU5NQ') */\n id?: Maybe;\n /** Name of the plan (Ex: 'Netflix Plan 17012019') */\n name?: Maybe;\n /** The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). */\n startTime?: Maybe;\n};\n\n/** Encapsulates all properties related to a subscription plan's tax details. */\nexport type SubscriptionTaxDetails = {\n __typename?: 'SubscriptionTaxDetails';\n /** Description of the tax */\n description?: Maybe;\n /** Whether tax is already included in the billing amount - defaults to false */\n inclusive?: Maybe;\n /** Taxation represented as a fixed-point, signed decimal number percentage */\n percentage?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a SuggestedDonationfor the RYI page.\n * Average SLA response time - 50ms\n */\nexport type SuggestedDonation = {\n __typename?: 'SuggestedDonation';\n /** A suggested donation content, a JSON object includes suggested charity details, donation amount and UI content. */\n content?: Maybe;\n /** A suggested donation reference ID. */\n id?: Maybe;\n /** Uitilities for tracking this suggested donation and the user's interaction with it. */\n trackingDetails?: Maybe;\n};\n\n/** Encapsulates all properties related to a SuggestedDonationContent. */\nexport type SuggestedDonationContent = {\n __typename?: 'SuggestedDonationContent';\n /** suggested donation amount */\n amount?: Maybe;\n /** title message showing at give at checkout feature */\n donateMessage: Scalars['String'];\n /** donation purpose message showing at give at checkout email receipt and transaction details */\n donationPurpose?: Maybe;\n /** legal message body (array) showing at give at checkout feature */\n legalDisclaimerBodyMessage?: Maybe>>;\n /** legal message header showing at give at checkout feature */\n legalDisclaimerHeaderMessage?: Maybe;\n /** the suggested nonprofit/charity model id */\n modelId?: Maybe;\n /** model score assigned to this suggested nonprofit */\n modelScore?: Maybe;\n /** nonprofit id defined by cause */\n nonprofitId: Scalars['ID'];\n /** nonprofit logo url */\n nonprofitLogoUrl: GenericUrl;\n /** nonprofit name */\n nonprofitName: Scalars['String'];\n /** nonprofit paypal id (aka payer_id) */\n nonprofitPayPalId?: Maybe;\n /** promotional message showing at give at checkout feature (optional) */\n promoMessage?: Maybe;\n};\n\n/** Encapsulates all supplementary data present in the Cart. */\nexport type Supplementary = {\n __typename?: 'Supplementary';\n /** The initiation intent for this cart */\n initiationIntent?: Maybe;\n};\n\n/** User's associated information passed by the merchant\" */\nexport type SuppliedUserInfo = {\n __typename?: 'SuppliedUserInfo';\n /** Cart's associated email passed by the merchant */\n email?: Maybe;\n /** Metadata related to the information passed by the merchant */\n evaluatedUserData?: Maybe;\n /** Cart's associated name passed by the merchant */\n name?: Maybe;\n /** Cart's associated phone passed by the merchant */\n phone?: Maybe;\n /** Cart's associated tax information passed by the merchant */\n taxInfo?: Maybe;\n};\n\n/** Supported card vendors */\nexport enum SupportedCardsType {\n /** AMERICAN EXPRESS */\n Amex = 'AMEX',\n /** CUP */\n Cup = 'CUP',\n /** DINERS */\n Diners = 'DINERS',\n /** DISCOVER */\n Discover = 'DISCOVER',\n /** ELO */\n Elo = 'ELO',\n /** HIPER */\n Hiper = 'HIPER',\n /** JCB */\n Jcb = 'JCB',\n /** MAESTRO */\n Maestro = 'MAESTRO',\n /** MASTERCARD */\n Mastercard = 'MASTERCARD',\n /** VISA */\n Visa = 'VISA'\n}\n\n/** An enumeration of supported country currencies that CurrencyConversion query allows */\nexport enum SupportedCountryCurrencies {\n /** United Arab Emirates Dirham (AED) */\n Aed = 'AED',\n /** Afghan Afghani (AFN) */\n Afn = 'AFN',\n /** Albania Lek (ALL) */\n All = 'ALL',\n /** Armenian Dram (AMD) */\n Amd = 'AMD',\n /** Netherlands Antillian Guilder (ANG) */\n Ang = 'ANG',\n /** Angolian Kwanza (AOA) */\n Aoa = 'AOA',\n /** Argentine Peso (ARS) */\n Ars = 'ARS',\n /** Australian Dollar (AUD) */\n Aud = 'AUD',\n /** Aruban Guilder (AWG) */\n Awg = 'AWG',\n /** Azerbaijan Manat (AZN) */\n Azn = 'AZN',\n /** Bosnian Convertible Mark (BAM) */\n Bam = 'BAM',\n /** Barbados Dollar (BBD) */\n Bbd = 'BBD',\n /** Bangladeshi Taka (BDT) */\n Bdt = 'BDT',\n /** Bulgarian Lev (BGN) */\n Bgn = 'BGN',\n /** Bahraini Dinar (BHD) */\n Bhd = 'BHD',\n /** Burundi Franc (BIF) */\n Bif = 'BIF',\n /** Bermudian Dollar (BMD) */\n Bmd = 'BMD',\n /** Brunei Dollar (BND) */\n Bnd = 'BND',\n /** Bolivian Boliviano (BNB) */\n Bob = 'BOB',\n /** Brazilian Real (BRL) */\n Brl = 'BRL',\n /** Bahamian Dollar (BSD) */\n Bsd = 'BSD',\n /** Bhutan Ngultrum (BTN) */\n Btn = 'BTN',\n /** Botswana Pula (BWP) */\n Bwp = 'BWP',\n /** Belarusian Ruble (BYN) */\n Byn = 'BYN',\n /** Belize Dollar (BZD) */\n Bzd = 'BZD',\n /** Canadian Dollar (CAD) */\n Cad = 'CAD',\n /** Dem. Republic, Congo Franc Congolais (CDF) */\n Cdf = 'CDF',\n /** Swiss Franc (CHF) */\n Chf = 'CHF',\n /** Chilean Peso (CLP) */\n Clp = 'CLP',\n /** Chinese Yuan Renminbi (CNY) */\n Cny = 'CNY',\n /** Colombian Peso (COP) */\n Cop = 'COP',\n /** Costa Rican Colon (CRC) */\n Crc = 'CRC',\n /** Cuban Convertible Peso (CUC) */\n Cuc = 'CUC',\n /** Cuban Peso (CUP) */\n Cup = 'CUP',\n /** Cape Verde Escudo (CVE) */\n Cve = 'CVE',\n /** Czech Koruna (CZK) */\n Czk = 'CZK',\n /** Djibouti Franc (DJF) */\n Djf = 'DJF',\n /** Danish Krone (DKK) */\n Dkk = 'DKK',\n /** Dominican Peso (DOP) */\n Dop = 'DOP',\n /** Algerian Dinar (DZD) */\n Dzd = 'DZD',\n /** Estonian Kroon (EEK) */\n Eek = 'EEK',\n /** Egyptian Pound (EGP) */\n Egp = 'EGP',\n /** Eritrean Nakfa (ERN) */\n Ern = 'ERN',\n /** Ethiopian Birr (ETB) */\n Etb = 'ETB',\n /** Euro (EUR) */\n Eur = 'EUR',\n /** Fiji Dollar (FJD) */\n Fjd = 'FJD',\n /** Falkland Islands Pound (FKP) */\n Fkp = 'FKP',\n /** Pound Sterling (GBP) */\n Gbp = 'GBP',\n /** Georgian Lari (GEL) */\n Gel = 'GEL',\n /** Ghanaian Cedi (GHS) */\n Ghs = 'GHS',\n /** Gibraltar Pound (GIP) */\n Gip = 'GIP',\n /** Gambian Dalasi (GMD) */\n Gmd = 'GMD',\n /** Guinea Franc (GNF) */\n Gnf = 'GNF',\n /** Guatemalan Quetzal (GTQ) */\n Gtq = 'GTQ',\n /** Guyana Dollar (GYD) */\n Gyd = 'GYD',\n /** Hong Kong Dollar (HKD) */\n Hkd = 'HKD',\n /** Honduran Lempira (HNL) */\n Hnl = 'HNL',\n /** Croatian Kuna (HRK) */\n Hrk = 'HRK',\n /** Haitian gourde (HTG) */\n Htg = 'HTG',\n /** Hungarian Forint (HUF) */\n Huf = 'HUF',\n /** Indonesian Rupiah (IDR) */\n Idr = 'IDR',\n /** New Israeli Shekel (ILS) */\n Ils = 'ILS',\n /** Indian Rupee (INR) */\n Inr = 'INR',\n /** Iraqi Dinar (IQD) */\n Iqd = 'IQD',\n /** Iranian rial (IRR) */\n Irr = 'IRR',\n /** Iceland Krona (ISK) */\n Isk = 'ISK',\n /** Jamaican Dollar (JMD) */\n Jmd = 'JMD',\n /** Jordanian Dinar (JOD) */\n Jod = 'JOD',\n /** Japanese Yen (JPY) */\n Jpy = 'JPY',\n /** Kenyan Shilling (KES) */\n Kes = 'KES',\n /** Kyrgyzstani Som (KGS) */\n Kgs = 'KGS',\n /** Cambodian Riel (KHR) */\n Khr = 'KHR',\n /** Comoro Franc (KMF) */\n Kmf = 'KMF',\n /** North Korean Won (KPW) */\n Kpw = 'KPW',\n /** South Korean Won (KRW) */\n Krw = 'KRW',\n /** Kuwaiti Dinar (KWD) */\n Kwd = 'KWD',\n /** Cayman Islands Dollar (KYD) */\n Kyd = 'KYD',\n /** Kazahstan Tenge (KYD) */\n Kzt = 'KZT',\n /** Lao Kip (LAK) */\n Lak = 'LAK',\n /** Lebanese Pound (LBP) */\n Lbp = 'LBP',\n /** Sri Lanka Rupee (LKR) */\n Lkr = 'LKR',\n /** Liberian Dollar (LRD) */\n Lrd = 'LRD',\n /** Lesotho Loti (LSL) */\n Lsl = 'LSL',\n /** Lithuanian Litas (LTL) */\n Ltl = 'LTL',\n /** Latvian Lats (LVL) */\n Lvl = 'LVL',\n /** Libyan Dinar (LYD) */\n Lyd = 'LYD',\n /** Malagasy Franc (MAD) */\n Mad = 'MAD',\n /** Moldovan Leu (MDL) */\n Mdl = 'MDL',\n /** Malagasy Ariary (MGA) */\n Mga = 'MGA',\n /** Macedonian Denar (MKD) */\n Mkd = 'MKD',\n /** Myanmar Kyat (MMK) */\n Mmk = 'MMK',\n /** Mongolian Tugrik / Tugrug (MNT) */\n Mnt = 'MNT',\n /** Macanese Pataca (MOP) */\n Mop = 'MOP',\n /** Mauritanian Ouguiya (MRO) */\n Mro = 'MRO',\n /** Mauritanian Ouguiya (MRU) */\n Mru = 'MRU',\n /** Mauritius Rupee (MUR) */\n Mur = 'MUR',\n /** Maldivian Rufiyaa (MVR) */\n Mvr = 'MVR',\n /** Malawi Kwacha (MWK) */\n Mwk = 'MWK',\n /** Mexican Peso (MXN) */\n Mxn = 'MXN',\n /** Malaysian Ringgit (MYR) */\n Myr = 'MYR',\n /** Mozambican metical (MZN) */\n Mzn = 'MZN',\n /** Namibia Dollar (Rand) */\n Nad = 'NAD',\n /** Nigerian Naira (NGN) */\n Ngn = 'NGN',\n /** Nicaraguan Cordoba Oro (NIO) */\n Nio = 'NIO',\n /** Norwegian Krone (NOK) */\n Nok = 'NOK',\n /** Nepalese Rupee (NPR) */\n Npr = 'NPR',\n /** New Zealand Dollar (NZD) */\n Nzd = 'NZD',\n /** Omani Rial (OMR) */\n Omr = 'OMR',\n /** Panamanian Balboa (PAB) */\n Pab = 'PAB',\n /** Peruvian Nuevo Sol (PEN) */\n Pen = 'PEN',\n /** Papua New Guinean Kina (PGK) */\n Pgk = 'PGK',\n /** Philippine Peso (PHP) */\n Php = 'PHP',\n /** Pakistani Rupee (PKR) */\n Pkr = 'PKR',\n /** Zloty (PLN) */\n Pln = 'PLN',\n /** Paraguay Guarani (PYG) */\n Pyg = 'PYG',\n /** Qatari Rial (QAR) */\n Qar = 'QAR',\n /** Romanian New Leu (RON) */\n Ron = 'RON',\n /** Serbian Dinar (RSD) */\n Rsd = 'RSD',\n /** Russian Rubble (RUB) */\n Rub = 'RUB',\n /** Russian Ruble (RUR) */\n Rur = 'RUR',\n /** Rwandan Franc (RWF) */\n Rwf = 'RWF',\n /** Saudi Riyal (SAR) */\n Sar = 'SAR',\n /** Solomon Islands Dollar (SBD) */\n Sbd = 'SBD',\n /** Seychellois Rupee (SCR) */\n Scr = 'SCR',\n /** Sudanese Pound (SDG) */\n Sdg = 'SDG',\n /** Swedish Krona (SEK) */\n Sek = 'SEK',\n /** Singapore Dollar (SGD) */\n Sgd = 'SGD',\n /** Saint Helena Pound (SHP) */\n Shp = 'SHP',\n /** Sierra Leone Leone (SLL) */\n Sll = 'SLL',\n /** Somali Shilling (SOS) */\n Sos = 'SOS',\n /** Surinamese Dollar (SRD) */\n Srd = 'SRD',\n /** South Sudanese Pound (SSP) */\n Ssp = 'SSP',\n /** Sao Tome and Principe Dobra (STD) */\n Std = 'STD',\n /** Sao Tome and Principe Dobra (STN) */\n Stn = 'STN',\n /** Salvadoran Colon (SVC) */\n Svc = 'SVC',\n /** Syrian Pound (SYP) */\n Syp = 'SYP',\n /** Swaziland Lilangeni (SZL) */\n Szl = 'SZL',\n /** Baht (THB) */\n Thb = 'THB',\n /** Tajikistan Somoni (TJS) */\n Tjs = 'TJS',\n /** Turkish Lira (TL) */\n Tl = 'TL',\n /** Turkmen Manat (TMT) */\n Tmt = 'TMT',\n /** Tunisian Dinar (TND) */\n Tnd = 'TND',\n /** Tongan Paʻanga (TOP) */\n Top = 'TOP',\n /** New Turkish Lira (TRY) */\n Try = 'TRY',\n /** Trinidad and Tobago Dollar (TTD) */\n Ttd = 'TTD',\n /** New Taiwan Dollar (TWD) */\n Twd = 'TWD',\n /** Tanzanian Shilling (TZS) */\n Tzs = 'TZS',\n /** Ukrainian Hryvnia (UAH) */\n Uah = 'UAH',\n /** Uganda Shilling (UGX) */\n Ugx = 'UGX',\n /** US Dollar (USD) */\n Usd = 'USD',\n /** Uruguayan Peso Uruguayo (UYU) */\n Uyu = 'UYU',\n /** Uzbekistani Som (UZS) */\n Uzs = 'UZS',\n /** Venezuelan Bolivar Fuerte (VEF) */\n Vef = 'VEF',\n /** Venezuelan Bolivar Soberano (VES) */\n Ves = 'VES',\n /** Vietnamese Dong (VND) */\n Vnd = 'VND',\n /** Vanuatu Vatu (VUV) */\n Vuv = 'VUV',\n /** Samoan Tala (WST) */\n Wst = 'WST',\n /** CFA Franc BEAC (XAF) */\n Xaf = 'XAF',\n /** East Caribbean Dollar (XCD) */\n Xcd = 'XCD',\n /** West African CFA Franc (XOF) */\n Xof = 'XOF',\n /** CFP Franc (XPF) */\n Xpf = 'XPF',\n /** Yemeni Rial (YER) */\n Yer = 'YER',\n /** South African Rand (ZAR) */\n Zar = 'ZAR',\n /** Zambian Kwacha (ZMW) */\n Zmw = 'ZMW'\n}\n\n/** An enumeration of types that currency could have. International, code, plural etc. */\nexport type SupportedCurrencySymbolsMetadata = {\n __typename?: 'SupportedCurrencySymbolsMetadata';\n /** A pattern which represents the code of current country (Ex: $ for an en-US locale) */\n code: Scalars['String'];\n /** A pattern which represent the currency international */\n international: Scalars['String'];\n /** A pattern for indicating what represent (Ex: 'Plural 1 -> en-US' */\n plural: Scalars['String'];\n /** The separator according to the current locale */\n separator: Scalars['String'];\n /** A symbol according to the current locale */\n symbol: Scalars['String'];\n};\n\n/** Supported funding sources returned by IDS(Instrument Definition Service) */\nexport type SupportedFundingSource = {\n __typename?: 'SupportedFundingSource';\n /** Brand name of the funding source(Ex: 'VISA', 'AMEX', 'MASTER_CARD', 'DISCOVER') */\n brand?: Maybe;\n /** Logo image of the funding source brand */\n brandLogoUrl?: Maybe;\n /** Issuers of the funding source brand */\n issuers?: Maybe>>;\n};\n\n/** Issuers of a funding source's brand returned by IDS */\nexport type SupportedFundingSourceIssuer = {\n __typename?: 'SupportedFundingSourceIssuer';\n /** Issuer's logo image url */\n issuerLogoUrl?: Maybe;\n /** Issuer's name */\n name?: Maybe;\n /** Issuer's priority rank to show */\n rank?: Maybe;\n /** Issuer's possible subtypes(Ex: 'CREDIT', 'DEBIT') */\n usage?: Maybe>>;\n};\n\n/** Supported payment methods */\nexport enum SupportedPaymentMethodsType {\n /** Apple Pay -- [Link](https://en.wikipedia.org/wiki/Apple_Pay) */\n Applepay = 'APPLEPAY',\n /** BANCONTACT -- Used typically in Belgium -- [Link](https://www.bancontact.com/en/what-does-bancontact-stand-for) */\n Bancontact = 'BANCONTACT',\n /** Blik -- Used in poland -- [Link](ask product) */\n Blik = 'BLIK',\n /** Boleto -- Used in Brazil -- [Link](https://en.wikipedia.org/wiki/Boleto) */\n Boleto = 'BOLETO',\n /** Boletobancario -- Used in Brazil -- [Link](https://en.wikipedia.org/wiki/Boleto) */\n Boletobancario = 'BOLETOBANCARIO',\n /** Credit card */\n Card = 'CARD',\n /** PayPal Credit */\n Credit = 'CREDIT',\n /** ELV -- Used typically in Europe -- [Link](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) */\n Elv = 'ELV',\n /** EPS -- Used typically in Austria -- [Link](https://www.adyen.com/payment-methods/eps) */\n Eps = 'EPS',\n /** GIROPAY -- Used typically in Germany -- [Link](https://en.wikipedia.org/wiki/Giropay) */\n Giropay = 'GIROPAY',\n /** IDEAL -- Used in the Netherlands -- [Link](https://www.ideal.nl/en/consumers/what-is-ideal/) */\n Ideal = 'IDEAL',\n /** Itau */\n Itau = 'ITAU',\n /** Maxima -- Used in Lithuania -- [Link](https://docs.paymentwall.com/payment-method/maxima) */\n Maxima = 'MAXIMA',\n /** Mercadopgo -- Used in brazil and mexico -- [Link](https://www.mercadopago.com.ar/) */\n Mercadopago = 'MERCADOPAGO',\n /** Multibanco -- Used in portugal -- [Link](https://en.wikipedia.org/wiki/multibanco) */\n Multibanco = 'MULTIBANCO',\n /** MYBANK -- Used typically in Italy -- [Link](https://www.mybank.eu/) */\n Mybank = 'MYBANK',\n /** OXXO -- Used in Mexico -- [Link](https://www.allpago.com/our-services/mexican-payment-processing/) */\n Oxxo = 'OXXO',\n /** P24 -- Used typically in Poland -- [Link](https://stripe.com/docs/sources/p24) */\n P24 = 'P24',\n /** Paidy -- Used in Japan -- [Link](https://en.wikipedia.org/wiki/Paidy) */\n Paidy = 'PAIDY',\n /** PayPal Pay Later */\n Paylater = 'PAYLATER',\n /** Payu -- Used in poland -- [Link](ask product) */\n Payu = 'PAYU',\n /** Satispay -- Used in multiple European countries -- -- [Link](https://www.satispay.com/it-it/) */\n Satispay = 'SATISPAY',\n /** SEPA -- Used typically in Europe -- [Link](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) */\n Sepa = 'SEPA',\n /** SOFORT -- Used typically in Germany -- [Link](https://www.adyen.com/payment-methods/sofort) */\n Sofort = 'SOFORT',\n /** Trustly -- Used in poland -- [Link](ask product) */\n Trustly = 'TRUSTLY',\n /** Venmo */\n Venmo = 'VENMO',\n /** WeChat Pay -- Used in China -- [Link](https://stripe.com/docs/sources/wechat-pay) */\n Wechatpay = 'WECHATPAY',\n /** Zimpler -- Used typically for gambling -- [Link](https://www.zimpler.com/) */\n Zimpler = 'ZIMPLER'\n}\n\n/** Encapsulates all properties related to a TaxCharges from shiptaxcalcserv. */\nexport type TaxCharges = {\n __typename?: 'TaxCharges';\n /** Tax on item amount */\n item?: Maybe;\n /** Tax on total amount */\n total?: Maybe;\n};\n\n/** Encapsulates all additional information the user needs to present when paying taxes in another country */\nexport type TaxDetailsInput = {\n /** A two character country code -- Ex: AU */\n countryCode: CountryCodes;\n /** Reasons to why an user does not have a Taxpayer ID */\n noTaxPayerIdReason?: InputMaybe;\n /** The value that is associated with the taxpayer ID -- Ex: SSN: 999-323-1234 */\n taxPayerIdValue?: InputMaybe;\n};\n\n/**\n * An enumeration of Tax Id types.\n * CPF, CNPJ\n */\nexport enum TaxIdType {\n /** Tax Id for BR business accounts */\n Cnpj = 'CNPJ',\n /** Tax Id for BR personal accounts */\n Cpf = 'CPF'\n}\n\n/** Tax information of the payer\" */\nexport type TaxInfo = {\n __typename?: 'TaxInfo';\n /** Tax id (Ex: '65864757322') */\n taxId?: Maybe;\n /** The type of Tax id(Ex: CPF) */\n taxIdType?: Maybe;\n};\n\n/** Encapsulates all properties related to a ThreeDSLookUp. */\nexport type ThreeDsAuthenticateResponse = {\n __typename?: 'ThreeDSAuthenticateResponse';\n /** Unique transaction identifier assigned by the Access Control Server (ACS) to identify a single transaction. */\n accessControlServerTransactionId?: Maybe;\n /** Indicates the exemptions applied for the given transaction. */\n acquirerScaExemptionIndicators?: Maybe>>;\n /** Provides additional information as to why the transaction status result has the specific value. */\n authStatusReasonRaw?: Maybe;\n /**\n * The outcome of the issuer's authentication.\n * Possible values are: Y: Successful; merchant is protected. N: Failed; no protection.\n * U: Unable to complete; no protection. A: Successful; merchant is protected.\n */\n authenticationThreeDSStatus?: Maybe;\n /**\n * Indicates the type of authentication that was used to challenge the card holder.\n * Possible Enums values are\n * \"STATIC\": \"Indicates Fixed Password.\"\n * \"DYNAMIC\": \"Indicates One Time Password, could be single step or multi step.\"\n * \"OUT_OF_BAND\": \"Indicates Biometric, over the phone.\"\n * \"DECOUPLED\": \"Indicates decoupled authentication.\"\n */\n authenticationType?: Maybe;\n /** The card financial instrument (FI) brand. */\n cardBrandProcessed?: Maybe;\n /**\n * The CAVV value is a cryptographic value calculated by the issuer.\n * The CAVV is unique to the cardholder and to the transaction that was authenticated.\n * Also known as CAVV for Visa VbV and JCB JSecure.\n */\n cavv?: Maybe;\n /** Indicates the algorithm used to generate the CAVV/AAV value. */\n cavvAlgorithm?: Maybe;\n /** Indicates the challenge cancelation reason. This field gives information on why the authentication was canceled. */\n challengeCanceledReason?: Maybe;\n /** Unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction. */\n dsTransactionId?: Maybe;\n /**\n * The Electronic Commerce Indicator (ECI).\n * MasterCard: 01: Merchant Liability 02: Issuer Liability Visa: 05: Issuer Liability 06: Issuer Liability 07: Merchant Liability.\n * Possible Enums values are\n * \"NO_SECURITY\": \"No security. This matches the raw ECI flag of 00 or 07.\"\n * \"CHANNEL_ENCRYPTION\": \"Channel encryption.\"\n * \"RECURRING_TRANSACTION\": \"Recurring transaction.\"\n * \"APPROVED_AUTHENTICATION\": \"Approved authentication. This matches the raw ECI flag of 02 or 05.\"\n * \"SINGLE_PAYMENT_TRANSACTION\": \"Single payment transaction.\"\n * \"INSTALLMENT_PAYMENT\": \"Installment payment.\"\n * \"ATTEMPTED_AUTHENTICATION\": \"Attempted authentication. This matches the raw ECI flag of 01 or 06.\"\n * \"SECURITY_NO_AUTHENTICATION\": \"Security no authentication.\"\n */\n eciIndicator?: Maybe;\n /**\n * Status of authentication eligibility. If not Y, then the cardholder is not eligible for authentication.\n * Possible values are: Y: Enrolled N: Not enrolled U: Cardholder authentication unavailable.\n */\n enrollmentStatus?: Maybe;\n /** Indicates liability of 3DS transaction is shifted to issuer. */\n liabilityShift?: Maybe;\n /** Pares Status */\n paresStatus?: Maybe;\n /** The PayPal acquiring BIN to be used for authorization. */\n paypalAcquiringBin?: Maybe;\n /** The PayPal acquiring MID to be used for authorization. */\n paypalAcquiringMid?: Maybe;\n /**\n * Transaction Signature status identifier.\n * Possible Enums values are\n * \"YES\": \"Indicates that the signature of the PARes has been validated successfully and the message contents can be trusted\"\n * \"NO\": \"Indicates that the PARes could not be validated.\"\n */\n signatureVerificationStatus?: Maybe;\n /** This flag is an indicator whether to throw 3DS contingency or not. */\n skipThreeDSEnforcement?: Maybe;\n /**\n * This is the raw value received from the external source.\n * This should be passed on the authorization transaction to the Gateway/Processor.\n */\n threeDSEcommerceIndicator?: Maybe;\n /**\n * This is the raw value received from the external source. Transaction Signature status identifier.\n * Possible Enums values are\n * \"Y\": \"Successful - Signature validation is successful.\"\n * \"N\": \"Failed - Indicates that the payload could not be validated.\"\n */\n threeDSSignatureStatus?: Maybe;\n /**\n * Overall 3DS status of the transaction.\n * Possible Enums values are\n * \"UNKNOWN\": \"The 3DS transaction status is unknown.\"\n * \"SUCCESS\": \"The 3DS transaction is approved or accepted.\"\n * \"DECLINE\": \"The 3DS transaction is declined by external entity or per internal business rules.\"\n * \"SYSTEM_ERROR\": \"The 3DS transaction is error due to external or internal system issues.\"\n * \"CHALLENGE_REQUIRED\": \"Indicates 3DS challenge required.\"\n */\n threeDSStatus?: Maybe;\n /** The transaction handle, transaction ID, and instruction ID. */\n threeDSTransactionId?: Maybe;\n /**\n * This is the raw value received from the external source.\n * Universal Cardholder Authentication Field (UCAF) Indicator value provided by the issuer.\n * Possible Enums values are\n * \"0\": \"Non-SecureCode transaction, bypassed by the Merchant.\"\n * \"1\": \"Merchant-Only SecureCode transaction.\"\n * \"2\": \"Fully authenticated SecureCode transaction.\"\n */\n threeDSUcafIndicator?: Maybe;\n /**\n * The 3D Secure authentication version that was used to process the transaction.\n * (e.g. 1.0.2 or 2.1.0) It is usually an output from Cardinal authentication APIs.\n */\n threeDSVersion?: Maybe;\n /** Provides additional information as to why the transaction status result has the specific value. */\n threeDsAuthenticationReason?: Maybe;\n /**\n * Universal cardholder presence indicator (e.g. whether UCAF is supported, whether it is populated, etc.).\n * Possible Enums values are\n * \"NOT_SUPPORTED\": \"Not supported.\"\n * \"SUPPORTED_NOT_POPULATED\": \"Supported, not populated.\"\n * \"SUPPORTED_POPULATED\": \"supported and populated.\"\n * \"SUPPORTED_STATIC_AVV_POPULATED\": \"Supported static avv populated.\"\n * \"ISSUER_RISK_DECISION\": \"Issuer risk decision.\"\n * \"MERCHANT_RISK_DECISION\": \"Merchant risk decision.\"\n * \"PARTIAL_SHIPMENT_OR_RECURRING_PAYMENT\": \"Partial shipment Or Recurring payment.\"\n */\n ucafIndicator?: Maybe;\n /** Xid field contains the vsec transaction ID (XID) that is a unique number generated by the merchant server to identify the transaction. */\n xid?: Maybe;\n};\n\n/** Encapsulates all properties related to a ThreeDSContingencyContextData type */\nexport type ThreeDsContingencyContextData = {\n __typename?: 'ThreeDSContingencyContextData';\n /** Payment Authentication provider (Ex: 'CARDINAL', 'PAYPAL', 'UNKNOWN') */\n authenticationProvider?: Maybe;\n /**\n * Cardinal commerce url to launch for device data collection from the client\n * (Ex: 'https://centinelapistag.cardinalcommerce.com/V1/Cruise/Collect')\n */\n deviceDataCollectionUrl?: Maybe;\n /**\n * JWT related information which contains issuer, orgUnitId, validity & type\n * This is required for the subsequent JWT token creation\n */\n jwtSpecification?: Maybe;\n /** Reason for 3DS (2.0) contingency (Ex: 'PAYPAL_POLICY') */\n reason?: Maybe;\n /**\n * Unique ID for 3DS (2.0) transaction, each transaction will have a unique referenceId\n * generated by paymentsetupapiserv (Ex: '20200336306496587')\n */\n referenceId: Scalars['String'];\n /** Card source (Ex: 'CARD_STATE') */\n source?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a ThreeDSJwtSpecification which\n * include the issuer and validity algorithem & etc\n */\nexport type ThreeDsJwtSpecification = {\n __typename?: 'ThreeDSJwtSpecification';\n /** JWT validity duration (Ex: 'PT1H') */\n jwtDuration: Scalars['String'];\n /** JWT issuer returned from contingency data (Ex: '5cb5d0582ee58f1f8c35c33e') */\n jwtIssuer: Scalars['String'];\n /** JWT org unit ID returned from contingency data (Ex: '5d0c1e91031e732650d22a25') */\n jwtOrgUnitId: Scalars['String'];\n /** Encryption type (Ex: 'JWT') */\n type?: Maybe;\n};\n\n/** Encapsulates all properties related to a ThreeDSLookUpResponse. */\nexport type ThreeDsLookUpResponse = {\n __typename?: 'ThreeDSLookUpResponse';\n /** Unique transaction identifier assigned by the Access Control Server (ACS) to identify a single transaction. */\n accessControlServerTransactionId?: Maybe;\n /** Indicates the exemptions applied for the given transaction. */\n acquirerScaExemptionIndicators?: Maybe>>;\n /** Clients embed access control server (ACS) URL in payload while redirecting to complete 3DS challenge with issuer. */\n acsURL?: Maybe;\n /** Provides additional information as to why the transaction status result has the specific value. */\n authStatusReasonRaw?: Maybe;\n /** Payment Authentication provider (Ex: 'CARDINAL', 'PAYPAL', 'UNKNOWN') */\n authenticationProvider?: Maybe;\n /** The outcome of the issuer's authentication. */\n authenticationThreeDSStatus?: Maybe;\n /** The card financial instrument (FI) brand. */\n cardBrandProcessed?: Maybe;\n /**\n * The CAVV value is a cryptographic value calculated by the issuer.\n * The CAVV is unique to the cardholder and to the transaction that was authenticated.\n * Also known as CAVV for Visa VbV and JCB JSecure.\n */\n cavv?: Maybe;\n /** Indicates the algorithm used to generate the CAVV/AAV value. */\n cavvAlgorithm?: Maybe;\n /** Unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction. */\n dsTransactionId?: Maybe;\n /**\n * Status of authentication eligibility. If not Y, then the cardholder is not eligible for authentication.\n * Possible values are: Y: Enrolled N: Not enrolled U: Cardholder authentication unavailable.\n */\n enrollmentStatus?: Maybe;\n /** Indicates liability of 3DS transaction is shifted to issuer. */\n liabilityShift?: Maybe;\n /** Pares Status */\n paresStatus?: Maybe;\n /** The payment authentication parameter to send to the third-party URL during redirect. */\n paymentAuthenticationRequest?: Maybe;\n /** The PayPal acquiring BIN to be used for authorization. */\n paypalAcquiringBin?: Maybe;\n /** The PayPal acquiring MID to be used for authorization. */\n paypalAcquiringMid?: Maybe;\n /** The third-party URL to which to redirect the card holder to complete the 3D Secure authentication. */\n redirectURL?: Maybe;\n /**\n * Transaction Signature status identifier.\n * Possible Enums values are\n * \"YES\": \"Indicates that the signature of the PARes has been validated successfully and the message contents can be trusted\"\n * \"NO\": \"Indicates that the PARes could not be validated.\"\n */\n signatureVerificationStatus?: Maybe;\n /**\n * This is the raw value received from the external source.\n * This should be passed on the authorization transaction to the Gateway/Processor.\n */\n threeDSEcommerceIndicator?: Maybe;\n /** Overall 3DS status of the transaction */\n threeDSStatus?: Maybe;\n /** Universal cardholder presence indicator (e.g. whether UCAF is supported, whether it is populated, etc.). */\n threeDSUcafIndicator?: Maybe;\n /**\n * The 3D Secure authentication version that was used to process the transaction.\n * (e.g. 1.0.2 or 2.1.0) It is usually an output from Cardinal authentication APIs.\n */\n threeDSVersion?: Maybe;\n /** Provides additional information as to why the transaction status result has the specific value. */\n threeDsAuthenticationReason?: Maybe;\n /** The processor trace number. */\n threeDsProcessorTraceNumber?: Maybe;\n /** Unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction. */\n threeDsServerTransactionId?: Maybe;\n /** The transaction handle, transaction ID, and instruction ID. */\n transactionId?: Maybe;\n /** The normalized description for the transaction status. */\n transactionStatusCode?: Maybe;\n /** The response message. */\n transactionStatusMessage?: Maybe;\n /** Xid field contains the vsec transaction ID (XID) that is a unique number generated by the merchant server to identify the transaction. */\n xid?: Maybe;\n};\n\n/** Represents the data required for completing 3DS verification */\nexport type ThreeDsParamsInput = {\n /** The type of the response param */\n key?: InputMaybe;\n /** Value of the response param */\n value?: InputMaybe;\n};\n\n/** Encapsulates all properties related to a ThreeDSPaymentCardData type */\nexport type ThreeDsPaymentCardData = {\n __typename?: 'ThreeDSPaymentCardData';\n /** Name of the account owner */\n accountOwnerName?: Maybe;\n /** Bank identification number for given payment card */\n bankIdentificationNumber?: Maybe;\n /** Associated billing address for given payment cared */\n billingAddress?: Maybe;\n /** Product class the current funding instrument (Ex: 'CREDIT') */\n cardProductClass?: Maybe;\n /** Currency code for the current funding instrument (Ex: 'EUR') */\n currencyCode?: Maybe;\n /** Encrypted version of the lat four digits (Ex: 'ABcK1jYv.0IWASX72C-UCE-09crt3uFbkQwhWpnIC.jYt4yRFQjBvw') */\n encryptedNumber: Scalars['String'];\n /** Expire month for the current funding instrument (Ex: '01') */\n expireMonth?: Maybe;\n /** Expire year for the current funding instrument (Ex: '2022') */\n expireYear?: Maybe;\n /** Funding instrument's ID (Ex: 'CC-Q9E5QAHF4ESLJ') */\n id?: Maybe;\n /** Last four digits for the given funding instrument (Ex: '2431') */\n number: Scalars['String'];\n /** Flag indicates is a partial_fpan or not */\n partialFpan?: Maybe;\n /** Card issuer for the current funding instrument (Ex: 'MASTER_CARD') */\n type: CardIssuerType;\n};\n\n/** List of supported experiences for 3DS verification */\nexport enum ThreeDsPaymentExperience {\n /**\n * Hopfree 3DS experience\n * - The 3DS Pin is entered in an input field on the Paypal's Checkout Page\n */\n Hopfree = 'HOPFREE',\n /**\n * 3DS within IFrame\n * - The 3DS Bank page is loaded in an iframe within Paypal's Checkout page\n */\n Iframe = 'IFRAME',\n /**\n * Full-page redirect experience\n * - The User is redirected to 3DS Bank Page from Paypal's Checkout Page\n */\n Redirect = 'REDIRECT'\n}\n\n/** Encapsulates everything related to request params provided by bank for completing 3DS verification */\nexport type ThreeDsRequestParams = {\n __typename?: 'ThreeDSRequestParams';\n /** The type of the request param */\n key?: Maybe;\n /** Value of the request param */\n value?: Maybe;\n};\n\n/** Encapsulates all properties related to a ThreeDSResolution type */\nexport type ThreeDsResolution = {\n __typename?: 'ThreeDSResolution';\n /**\n * Details information in regards to current 3DS contingency which encapusates JWT & cardinal\n * related information\n */\n contingencyContext?: Maybe;\n /**\n * Details information in regards to current selected funding instrument for resolving\n * 3DS (2.0) contingency\n */\n paymentCard?: Maybe;\n /** Resolution name for the current selected funding instrument (Ex: 'RESOLVE_3D_SECURE_AUTHENTICATION') */\n resolutionName: Scalars['String'];\n /** (Ex: 'PAYMENT_CARD') */\n type?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to ACS Data\n * Ex: redirectUrl, method, status, etc.\n */\nexport type ThreeDomainSecureContingency = {\n __typename?: 'ThreeDomainSecureContingency';\n /** The encrypted id of the user's credit card */\n encryptedId: Scalars['String'];\n /** The experience for the 3DS verfication (iframe/redirect/hopfree) */\n experience?: Maybe;\n /** The method that is used to redirect the card holder to third-party site for 3D secure confirmation (Ex: 'GET') */\n method?: Maybe;\n /** The payment authentication parameter to send to the third-party URL during redirect */\n parameter?: Maybe;\n /** The third-party URL to which to redirect the card holder to complete the 3D Secure authentication (Ex: 'https//www.example.com') */\n redirectUrl?: Maybe;\n /** The parameters required to be passed to the bank page for completing 3DS verification */\n requestParams?: Maybe>>;\n /** The 3D Secure API call status */\n status?: Maybe;\n};\n\n/** Encapsulates all properties related to a ThreeDomainSecureResolutionContingency type */\nexport type ThreeDomainSecureResolutionContingency = {\n __typename?: 'ThreeDomainSecureResolutionContingency';\n /** Resolution cause for current contingency (Ex: 'NEED_3D_SECURE_AUTHENTICATION') */\n causeName: Scalars['String'];\n /** Resolution contingency name (Ex: 'PAYER_ACTION_REQUIRED') */\n name?: Maybe;\n /** Actual 3DS (2.0) contingency resolution for the current selected funding instrument */\n resolution?: Maybe;\n};\n\n/** 3DS new switch inbound service: browser details for 3ds FI create-confirmation call */\nexport type ThreedsBrowserDetailsInput = {\n /** Indicates browser color used during the transaction - UNKNOWN,1_BIT,4_BITS,8_BITS,15_BITS,16_BITS,24_BITS,32_BITS,48_BITS - getting it as Int and form internally */\n colorDepth: Scalars['Int'];\n /** Indicates if browser is Java enabled or not */\n javaEnabled?: InputMaybe;\n /** Indicates browser language set during the transaction */\n language?: InputMaybe;\n /** Indicates browser screen height set during the transaction */\n screenHeight: Scalars['Int'];\n /** Indicates browser screen width set during the transaction */\n screenWidth: Scalars['Int'];\n /** Indicates Time Zone used during the transaction */\n timeZoneOffset: Scalars['Int'];\n /** user agent - used during transaction to override the header value */\n userAgent?: InputMaybe;\n /** window size - FULL_PAGE */\n windowSize?: InputMaybe;\n};\n\n/**\n * An enumeration of confirmation methods in 3DS 2.0 stack.\n * ONLINE_SECURE_AUTHENTICATION, ONE_RANDOM_CHARGE_CONFIRMATION, TWO_RANDOM_CHARGE_CONFIRMATION\n */\nexport enum ThreedsConfirmationMethod {\n /** possible enum value, do not use for hermes, xoon */\n OneRandomChargeConfirmation = 'ONE_RANDOM_CHARGE_CONFIRMATION',\n /** Used in all web flows - hermes xoon etc. */\n OnlineSecureAuthentication = 'ONLINE_SECURE_AUTHENTICATION',\n /** possible enum value, do not use for hermes, xoon */\n TwoRandomChargeConfirmation = 'TWO_RANDOM_CHARGE_CONFIRMATION'\n}\n\n/** Types for threeDS contingency reason. */\nexport enum ThreedsContingencyReasonType {\n /** Merchant Requested */\n MerchantRequested = 'MERCHANT_REQUESTED',\n /** PayPal Policy */\n PaypalPolicy = 'PAYPAL_POLICY',\n /** Regulatory mandate */\n RegulatoryMandate = 'REGULATORY_MANDATE',\n /** Soft Decline */\n SoftDecline = 'SOFT_DECLINE',\n /** Unknown */\n Unknown = 'UNKNOWN'\n}\n\n/** Types for threeDS contingency source. */\nexport enum ThreedsContingencySourceType {\n /** threeDs because of authorization requirement */\n Authorization = 'AUTHORIZATION',\n /** threeDs contingency for third start card (card added at profile but not resolved contingency) */\n CardState = 'CARD_STATE',\n /** payment context - at transaction */\n PaymentContext = 'PAYMENT_CONTEXT',\n /** paypal risk triggers this */\n PaypalRisk = 'PAYPAL_RISK',\n /** Unknown */\n Unknown = 'UNKNOWN'\n}\n\n/**\n * 3DS new switch inbound service: Creates a confirmation resource for a given card\n * URL: /v1/wallet/card-accounts/{card_account_id}/confirmations\n * card-account.create-confirmation\n */\nexport type ThreedsCreateConfirmationResponse = {\n __typename?: 'ThreedsCreateConfirmationResponse';\n /** Brand of the Card */\n brand?: Maybe;\n /** FI confirmation ID */\n confirmationId?: Maybe;\n /** FI confirmation method - ONLINE_SECURE_AUTHENTICATION ONE_RANDOM_CHARGE_CONFIRMATION TWO_RANDOM_CHARGE_CONFIRMATION */\n confirmationMethod?: Maybe;\n /** The encoded payment request generated by Centinel. */\n payload?: Maybe;\n /** Indicates whether online authentication is required or not. Only applicable for 3DS */\n redirectUrl?: Maybe;\n /** Unique ID generated by this API. This is populated only when 3DS is required and request is not in transactional context. Only applicable for 3DS */\n referenceId?: Maybe;\n /** Over all 3DS Status - SUCCESS, FAILED */\n status?: Maybe;\n /** The fully qualified URL to redirect the Consumer to complete the Consumer Authentication transaction using the Cardinal Cruise API integration. */\n stepUpUrl?: Maybe;\n /** The ID of the transaction that is associated with this 3D Secure authentication. Only applicable for 3DS */\n transactionId?: Maybe;\n /** 3DS version 1.0/2.0. Only applicable for 3DS */\n version?: Maybe;\n};\n\n/** An enumeration of Product entry point in 3DS 2.0 stack. */\nexport enum ThreedsEntryPoint {\n /** Alternate Payment - The transaction is initiated from Alternative Payment AliPay. */\n PayWithAltpayAlipay = 'PAY_WITH_ALTPAY_ALIPAY',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Bancontact. */\n PayWithAltpayBancontact = 'PAY_WITH_ALTPAY_BANCONTACT',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Boleto. */\n PayWithAltpayBoleto = 'PAY_WITH_ALTPAY_BOLETO',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Boletobancario. */\n PayWithAltpayBoletobancario = 'PAY_WITH_ALTPAY_BOLETOBANCARIO',\n /** Alternate Payment - The transaction is initiated from Alternative Payment EPS. */\n PayWithAltpayEps = 'PAY_WITH_ALTPAY_EPS',\n /** Alternate Payment - The transaction is initiated from Alternative Payment iDeal. */\n PayWithAltpayIdeal = 'PAY_WITH_ALTPAY_IDEAL',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Multibanco. */\n PayWithAltpayMultibanco = 'PAY_WITH_ALTPAY_MULTIBANCO',\n /** Alternate Payment - The transaction is initiated from Alternative Payment MyBank. */\n PayWithAltpayMybank = 'PAY_WITH_ALTPAY_MYBANK',\n /** Alternate Payment - The transaction is initiated from Alternative Payment OXXO. */\n PayWithAltpayOxxo = 'PAY_WITH_ALTPAY_OXXO',\n /** Alternate Payment - The transaction is initiated from Alternative Payment P24. */\n PayWithAltpayP24 = 'PAY_WITH_ALTPAY_P24',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Paidy. */\n PayWithAltpayPaidy = 'PAY_WITH_ALTPAY_PAIDY',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Satispay. */\n PayWithAltpaySatispay = 'PAY_WITH_ALTPAY_SATISPAY',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Sofort. */\n PayWithAltpaySofort = 'PAY_WITH_ALTPAY_SOFORT',\n /** Alternate Payment - The transaction is initiated from Alternative Payment WeChatPay. */\n PayWithAltpayWechatpay = 'PAY_WITH_ALTPAY_WECHATPAY',\n /** Alternate Payment - The transaction is initiated from Alternative Payment Zimpler. */\n PayWithAltpayZimpler = 'PAY_WITH_ALTPAY_ZIMPLER',\n /** Card - The transaction is initiated from a credit card. */\n PayWithCard = 'PAY_WITH_CARD',\n /** PayPal - The transaction is initiated from PayPal. */\n PayWithPaypal = 'PAY_WITH_PAYPAL',\n /** Credit - The transaction is initiated from PayPal credit. */\n PayWithPaypalCredit = 'PAY_WITH_PAYPAL_CREDIT',\n /** Venmo - The transaction is initiated from Venmo. */\n PayWithVenmo = 'PAY_WITH_VENMO',\n /** Unknown */\n Unknown = 'UNKNOWN'\n}\n\n/** An enumeration of Product integration artifact in 3DS 2.0 stack. */\nexport enum ThreedsIntegrationArtifacts {\n /** BT VZERO */\n BraintreeVzero = 'BRAINTREE_VZERO',\n /** SPB V3 */\n JsV3 = 'JS_V3',\n /** SPB V4 */\n JsV4 = 'JS_V4',\n /** Native SDK */\n NativeSdk = 'NATIVE_SDK',\n /** None */\n None = 'NONE',\n /** PayPal sdk */\n PaypalJsSdk = 'PAYPAL_JS_SDK'\n}\n\n/** An enumeration of paymentMode in 3DS 2.0 stack. */\nexport enum ThreedsPaymentDevice {\n /** pass when the device is a Computer */\n Computer = 'COMPUTER',\n /** pass when the device is Mobile */\n Mobile = 'MOBILE',\n /** pass when the device is a Tablet */\n Tablet = 'TABLET',\n /** pass when the device type is not known */\n Unknown = 'UNKNOWN'\n}\n\n/** An enumeration of Product Code in 3DS 2.0 stack. */\nexport enum ThreedsProductCode {\n /** BA */\n BillingAgreements = 'BILLING_AGREEMENTS',\n /** SUBSCRIPTIONS */\n BillingSubscriptions = 'BILLING_SUBSCRIPTIONS',\n /** DCC */\n DirectCreditCard = 'DIRECT_CREDIT_CARD',\n /** Express Checkout */\n ExpressCheckout = 'EXPRESS_CHECKOUT',\n /** Masspay */\n Payouts = 'PAYOUTS',\n /** WPS */\n WebsitePaymentStandard = 'WEBSITE_PAYMENT_STANDARD'\n}\n\n/** An enumeration of Product feature in 3DS 2.0 stack. */\nexport enum ThreedsProductFeature {\n /** Direct Credit Card (DCC / UCC) */\n DirectCreditCardApi = 'DIRECT_CREDIT_CARD_API',\n /** None */\n None = 'NONE',\n /** Orders */\n Orders = 'ORDERS',\n /** PayPal Complete Payments */\n PaypalCompletePayments = 'PAYPAL_COMPLETE_PAYMENTS'\n}\n\n/** An enumeration of Product flow in 3DS 2.0 stack. */\nexport enum ThreedsProductFlow {\n /** BA Create - A buyer signing up for a billing agreement */\n BuyerApprovalBillingAgreementCreate = 'BUYER_APPROVAL_BILLING_AGREEMENT_CREATE',\n /** BA with purchase - A purchase flow which buyer also approves creation of a billing agreement */\n BuyerApprovalBillingAgreementWithPurchase = 'BUYER_APPROVAL_BILLING_AGREEMENT_WITH_PURCHASE',\n /** Subscriptions Create- A buyer signing up for a Subscription. */\n BuyerApprovalSubscriptionsCreate = 'BUYER_APPROVAL_SUBSCRIPTIONS_CREATE',\n /** BA Modify - A billing agreement modification flow intiated by consumer on paypal.com */\n ConsumerExpBillingAgreementModify = 'CONSUMER_EXP_BILLING_AGREEMENT_MODIFY',\n /** Subscriptions Modify - A subscription modification flow intiated by consumer on paypal.com. */\n ConsumerExpSubscriptionsModify = 'CONSUMER_EXP_SUBSCRIPTIONS_MODIFY',\n /** Hermes - A web application handles the user's checkout interaction. */\n Hermes = 'HERMES',\n /** HSS */\n HostedSoleSolution = 'HOSTED_SOLE_SOLUTION',\n /** HSS Payflow */\n HostedSoleSolutionPayFlow = 'HOSTED_SOLE_SOLUTION_PAY_FLOW',\n /** Legacy Checkout API Flow */\n Legacy = 'LEGACY',\n /** PP+ */\n PaypalPlus = 'PAYPAL_PLUS',\n /** Prox - An eBay application handles the user's PayPal checkout experience. */\n Prox = 'PROX',\n /** SPB */\n SmartPaymentButtons = 'SMART_PAYMENT_BUTTONS'\n}\n\n/** 3DS new switch inbound service: sender context for 3ds FI create-confirmation call */\nexport type ThreedsSenderContextInput = {\n /** Indicates Header Information of the browser used during the transaction */\n browserDetails: ThreedsBrowserDetailsInput;\n /** Indicates channel of the device - SDK,BROWSER,3RI */\n deviceChannel: Scalars['String'];\n /** Channel where 3DS is performed - MOBILE, COMPUTER, TABLET, UNKNOWN */\n paymentMode: ThreedsPaymentDevice;\n};\n\n/**\n * 3DS new switch inbound service: Updates a confirmation resource for a given card confirmation respource\n * URL: /v1/wallet/card-accounts/{card_account_id}/confirmations/{confirmation_id}/update\n * card-account.update-confirmation\n */\nexport type ThreedsUpdateConfirmationResponse = {\n __typename?: 'ThreedsUpdateConfirmationResponse';\n /** FI confirmation method - ONLINE_SECURE_AUTHENTICATION ONE_RANDOM_CHARGE_CONFIRMATION TWO_RANDOM_CHARGE_CONFIRMATION */\n confirmationMethod?: Maybe;\n /** Over all 3DS Status */\n status?: Maybe;\n /** 3DS version 1.0/2.0. Only applicable for 3DS */\n version?: Maybe;\n};\n\n/** An enumeration of Product experience flow in 3DS 2.0 stack. */\nexport enum ThreedsUserExperienceFlow {\n /** Full Page - The buyer interacts with PayPal by opening PayPal.com directly on browser */\n FullPage = 'FULL_PAGE',\n /** Full Page - The consumer's browser does a 302 redirect to paypal.com from the third-party site. */\n FullPageRedirect = 'FULL_PAGE_REDIRECT',\n /** InContext - The buyer interacts with paypal.com in an iframe or pop up window, which is a modal that is outside or hovers over the existing merchant experience. */\n Incontext = 'INCONTEXT',\n /** Inline - The buyer interacts with paypal.com through an iframe on the merchant site, and is in line with the existing merchant experience. */\n Inline = 'INLINE',\n /** Native - The buyer interacts with PayPal through PayPal's native SDK. */\n Native = 'NATIVE'\n}\n\n/** An enumeration of Product api in 3DS 2.0 stack. */\nexport enum Threedsapi {\n /** Billing V1 */\n BillingV1 = 'BILLING_V1',\n /** Legacy Billing apis */\n LegacyBillingApi = 'LEGACY_BILLING_API',\n /** Legacy apis */\n LegacyCheckoutApi = 'LEGACY_CHECKOUT_API',\n /** Legacy RP */\n LegacyRecurringPayments = 'LEGACY_RECURRING_PAYMENTS',\n /** None */\n None = 'NONE',\n /** Order V1 */\n OrderV1 = 'ORDER_V1',\n /** Order V2 */\n OrderV2 = 'ORDER_V2',\n /** Payment V1 */\n PaymentsV1 = 'PAYMENTS_V1',\n /** RP */\n RecurringPaymentsV1 = 'RECURRING_PAYMENTS_V1',\n /** Subscriptions V1 */\n SubscriptionsV1 = 'SUBSCRIPTIONS_V1'\n}\n\n/** Transaction Risk Analysis (TRA) decision details */\nexport type TraRiskDetails = {\n /** Converted currency code Risk TRA (Ex: 'USD') */\n currencyCode?: InputMaybe;\n /** Converted currency value Risk TRA(Ex: '0.01') */\n currencyValue?: InputMaybe;\n /** TRA exemption threshold */\n threshold?: InputMaybe;\n /** TRA exemption decision */\n traDecision?: InputMaybe;\n};\n\n/** URLs for tracking the message and the user's interaction with it. */\nexport type TrackingDetails = {\n __typename?: 'TrackingDetails';\n /** URL used for click tracking */\n clickUrl?: Maybe;\n /** Url used for impression tracking */\n impressionUrl?: Maybe;\n};\n\n/** Encapsulates everything related to a TrackingTag. Ex: type, values, stringValue */\nexport type TrackingTag = {\n __typename?: 'TrackingTag';\n /** The values of the TrackingTag, represented as a String (Ex: '6496,2252,1234') */\n stringValue?: Maybe;\n /** The type of the TrackingTag (Ex: 'qc') */\n type?: Maybe;\n /** The values of the TrackingTag, represented as an Array (Ex: [6496, 2252, 1234]) */\n values?: Maybe>>;\n};\n\n/**\n * An enumeration of types that TrackingTag can have. qe, qt, qc, qp, etc\n * The meaning of these tags have been lost over time\n * Not even the PXP team knows what they are ;-)\n * But, they're useful for clients who want to log these values to FPTI.\n * See https://github.paypal.com/Experimentation-R/pxpexecserv/blob/8c511074aee6cbd8a0177c4013e14487774ca380/ExperimentationExecution/src/main/java/com/paypal/experimentation/domain/core/common/TagNames.java#L3\n */\nexport enum TrackingTagType {\n /** Nobody knows what this means */\n Ct = 'CT',\n /** Nobody knows what this means */\n Exoe = 'EXOE',\n /** Nobody knows what this means */\n Exos = 'EXOS',\n /** Nobody knows what this means */\n Exot = 'EXOT',\n /** Nobody knows what this means */\n Oe = 'OE',\n /** Nobody knows what this means */\n Os = 'OS',\n /** Nobody knows what this means */\n Ot = 'OT',\n /** Nobody knows what this means */\n Pxpm = 'PXPM',\n /** Nobody knows what this means */\n Pxpmg = 'PXPMG',\n /** Nobody knows what this means */\n Pxpmu = 'PXPMU',\n /** Qualified Context */\n Qc = 'QC',\n /** Qualified Experiment */\n Qe = 'QE',\n /** Nobody knows what this means */\n Qp = 'QP',\n /** Qualified Treatment */\n Qt = 'QT',\n /** Nobody knows what this means */\n Se = 'SE',\n /** Nobody knows what this means */\n St = 'ST',\n /** Nobody knows what this means */\n Upe = 'UPE',\n /** Nobody knows what this means */\n Upt = 'UPT',\n /** Nobody knows what this means */\n Uqc = 'UQC',\n /** Nobody knows what this means */\n Uqp = 'UQP',\n /** Nobody knows what this means */\n Uqt = 'UQT',\n /** Nobody knows what this means */\n Xt = 'XT'\n}\n\n/**\n * An enumeration of states that a Transaction can be in.\n * PENDING, COMPLETED, REFUNDED, PARTIALLY_REFUNDED or DENIED\n */\nexport enum TransactionState {\n /** Transaction authorized */\n Authorized = 'AUTHORIZED',\n /** The transaction has successfully completed. */\n Completed = 'COMPLETED',\n /** PayPal has declined to process this transaction. */\n Denied = 'DENIED',\n /** The transaction was partially refunded. */\n PartiallyRefunded = 'PARTIALLY_REFUNDED',\n /** The transaction is pending. */\n Pending = 'PENDING',\n /** The transaction was fully refunded. */\n Refunded = 'REFUNDED'\n}\n\n/** Encapsulates everything related to a Treatment. Ex: treatmentId, name, factors */\nexport type Treatment = {\n __typename?: 'Treatment';\n /** An Array of Factor types, which are key/value pairs associated with this experiment. */\n factors?: Maybe>>;\n /** Name of the treatment */\n name?: Maybe;\n /** ID of the treatment */\n treatmentId?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a URL.\n * Ex: protocol, host, port, hostname, query, href, etc.\n * See https://nodejs.org/api/url.html#url_class_url for more details.\n */\nexport type Url = {\n /** Username/password portion of the URL (Ex: user:pass) */\n auth?: Maybe;\n /** Fragment portion of the URL including the leading ASCII hash (#) character. (Ex: #hash) */\n hash?: Maybe;\n /** Full lower-cased host portion of the URL (Ex: google.com:8000) */\n host?: Maybe;\n /** Hostname portion of the URL. Does not contain a port. (Ex: google.com) */\n hostname?: Maybe;\n /** The serialized, full URL with all properties included. (Ex: https://google.com/path?key=value#hash) */\n href?: Maybe;\n /** Path portion of the URL which includes the query string. (Ex: /path?key=value) */\n path?: Maybe;\n /** Path portion of the URL, but does not include the query string. (Ex: /path) */\n pathname?: Maybe;\n /** Numeric port portion of the URL (Ex: 8000) */\n port?: Maybe;\n /** Protocol property of the URL (Ex: https:) */\n protocol?: Maybe;\n /** Query string of the URL. Does not include the leading question mark (?) character. (Ex: key=value) */\n query?: Maybe;\n /** Query params of the URL, as an Object */\n queryParams?: Maybe;\n /** Search property consists of the entire 'query string' portion of the URL, including the leading ASCII question mark (?) character. (Ex: ?key=value) */\n search?: Maybe;\n /** If true, two forward slashes are required following the colon in the protocol */\n slashes?: Maybe;\n};\n\n/** Encapsulates the data shared between Unified Login and Checkout */\nexport type UnifiedLoginContext = {\n __typename?: 'UnifiedLoginContext';\n /** Metadata about the transaction's Checkout experience */\n experienceMetadata?: Maybe;\n};\n\n/** Encapsulates the metadata relating to Checkout experience from Unified Login */\nexport type UnifiedLoginContextExperienceMetadata = {\n __typename?: 'UnifiedLoginContextExperienceMetadata';\n /** Metadata about onboarding experience if the user sees that flow */\n onboardingData?: Maybe;\n};\n\n/** Encapsulates the data relating to onboarding from Unified Login */\nexport type UnifiedLoginContextOnboardingData = {\n __typename?: 'UnifiedLoginContextOnboardingData';\n /** Indicates if the Apple Pay button was shown to the user */\n applePayButtonSeen?: Maybe;\n /** Email a user entered on the login page */\n email?: Maybe;\n /** Whether or not a user already has a full member account */\n hasExistingAccount?: Maybe;\n /** Indicates what type of login method a user was presented with on UL */\n loginMethod?: Maybe;\n /** Experience the user selected on the log in page (EX: SIGN_UP, GUEST) */\n userIntent?: Maybe;\n};\n\n/** Upstream Messaging related properties */\nexport type UpstreamMessaging = {\n __typename?: 'UpstreamMessaging';\n /** Merchant Profile for upstream messaging */\n merchantProfile?: Maybe;\n};\n\n/**\n * Encapsulates all properties related to a User.\n * Ex: Name, Addresses, Profile Photos, etc.\n * Average SLA response time - 70ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\nexport type User = {\n __typename?: 'User';\n /**\n * A User's addresses, an Array of UserAddress types.\n * Optionally, you can query by address type (AddressType).\n * Otherwise, all addresses are returned.\n * Average SLA response time - 70ms\n */\n addresses?: Maybe>>;\n /**\n * Encapsulates all properties related to a User's auth status.\n * Ex: Access token\n */\n auth?: Maybe;\n /**\n * An Array of CheckoutBillingAddress types.\n *\n * Average SLA response time -- 30ms\n */\n billingAddresses?: Maybe>>;\n /**\n * A User's edelivery consent (true - eConsent is required and missing, false - eConsent is already completed)\n * E-Sign consent is the process by which US consumers consent to have their notifications and statements delivered electronically\n */\n eConsent?: Maybe;\n /** If a user is eligible to hold paypal balance or not */\n eligibleToHoldBalance?: Maybe;\n /** A User's email address. Average SLA response time - 70ms */\n email?: Maybe;\n /** A user's locale. Average SLA response time - 70ms */\n locale?: Maybe;\n /** A User's name. Average SLA response time - 70ms */\n name?: Maybe;\n /**\n * A User's phone numbers, an Array of GenericPhone types.\n * Optionally, you can query by phone type (PhoneType).\n * Otherwise, all phone numbers are returned.\n * Average SLA response time - 70ms\n */\n phones?: Maybe>>;\n /**\n * A User's profile image, a ProfileImage type.\n * You can query by width, height, or type (ProfileImageType).\n * Average SLA response time - 80ms\n */\n profileImage?: Maybe;\n /**\n * A User's profile images, an Array of ProfileImage types.\n * Average SLA response time - 80ms\n */\n profileImages?: Maybe>>;\n /** User ID (or an encrypted account number) Average SLA response time - 70ms */\n userId?: Maybe;\n};\n\n\n/**\n * Encapsulates all properties related to a User.\n * Ex: Name, Addresses, Profile Photos, etc.\n * Average SLA response time - 70ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\nexport type UserAddressesArgs = {\n type?: InputMaybe;\n};\n\n\n/**\n * Encapsulates all properties related to a User.\n * Ex: Name, Addresses, Profile Photos, etc.\n * Average SLA response time - 70ms\n *\n * Required auth states: LOGGEDIN, REMEMBERED or IDENTIFIED\n */\nexport type UserProfileImageArgs = {\n height?: InputMaybe;\n type?: InputMaybe;\n width?: InputMaybe;\n};\n\n/**\n * Encapsulates all properties related to a user's address.\n * Ex: line1, city, state, postalCode, fullAddress, isDefaultBilling, etc.\n */\nexport type UserAddress = Address & {\n __typename?: 'UserAddress';\n /** An Address ID (Ex: '285166') */\n addressId?: Maybe;\n /** An Address city (Ex: 'San Jose') */\n city?: Maybe;\n /** An Address two-letter country code (Ex: 'US') */\n country?: Maybe;\n /** An Address on a single line (Ex: '2211 North 1st St, Apt 123, San Jose, CA 95131') */\n fullAddress?: Maybe;\n /** If an Address is the default billing address */\n isDefaultBilling?: Maybe;\n /** If an Address is the default shipping address */\n isDefaultShipping?: Maybe;\n /** If an Address is the primary address */\n isPrimary?: Maybe;\n /** An Address is selected. If you are listing out addresses in a UI, and need to show that an address is selected, use this property. */\n isSelected?: Maybe;\n /** An Address first line street address (Ex: '2211 North 1st St') */\n line1?: Maybe;\n /** An Address second line street address (Ex: 'Apt 123') */\n line2?: Maybe;\n /** An Address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /** An Address state/province (Ex: 'CA') */\n state?: Maybe;\n /** Type of Address (Ex: 'SHIPPING'). See AddressType enum. */\n type?: Maybe;\n};\n\n/** Enumeration for address normalization_status set to user profile */\nexport enum UserAddressNormalizationStatus {\n /** The user rejected the normalized version of the address in favor of this address */\n NormalizationRejected = 'NORMALIZATION_REJECTED',\n /** Address is normalized */\n Normalized = 'NORMALIZED',\n /** It is unclear whether this address is normalized */\n Unknown = 'UNKNOWN'\n}\n\n/** Encapsulates all properties related to the Consent API response related to user legal consent */\nexport type UserAgreement = {\n __typename?: 'UserAgreement';\n /** A string of the active url of the User Agreement. Signup flows use activeUrl */\n activeUrl: Scalars['String'];\n /** A string of the mayor version of the User Agreement */\n majorVersion: Scalars['String'];\n /** A string of the minor version of the User Agreement */\n minorVersion: Scalars['String'];\n /** A string of the url of the Upcoming Policies. Member flows use upcomingUrl */\n upcomingUrl: Scalars['String'];\n};\n\n/** User rewards campaign details */\nexport type UserEstimatedReward = {\n __typename?: 'UserEstimatedReward';\n /** Unique identifier of the rewards campaign */\n campaignId?: Maybe;\n /** Long description of the campaign */\n campaignLongDescription?: Maybe;\n /** Short description of the campaign, eg Feb. StoreA Cashback Campaign */\n campaignShortDescription?: Maybe;\n /** List of associated rewards offers */\n estimatedRewards?: Maybe>>;\n /** Time that a campaign will expire, formatted according to https://tools.ietf.org/html/rfc3339#section-5.6 */\n expirationTime?: Maybe;\n /** Merchant details associated with the rewards campaign */\n merchantDetails?: Maybe;\n /** The percent back that a campaign will provide */\n percent?: Maybe;\n /** Reward Tag based on the Leap attribution */\n tags?: Maybe>>;\n /** Term Link for the Reward */\n termsLink?: Maybe;\n};\n\n/** Types of client config user experience */\nexport enum UserExperienceFlowType {\n /** The consumer's browser does a 302 redirect to paypal.com from the third-party site. */\n FullPageRedirect = 'FULL_PAGE_REDIRECT',\n /** The flow is initated via Honey modal */\n HoneyModal = 'HONEY_MODAL',\n /** Incontext window */\n Incontext = 'INCONTEXT',\n /** Inline iframe */\n Inline = 'INLINE',\n /** Native SDK */\n Native = 'NATIVE',\n /** The flow is initiated via Paypal Consumer app */\n PaypalConsumerApp = 'PAYPAL_CONSUMER_APP',\n /** Implicit login on web channel */\n WebLls = 'WEB_LLS'\n}\n\n/** A User's auth type/role */\nexport enum UserRole {\n /** Guest */\n Identified = 'IDENTIFIED',\n /** Logged in PayPal Member */\n Loggedin = 'LOGGEDIN',\n /** Partially logged in PayPal Member w/ 'Remember me' */\n Remembered = 'REMEMBERED'\n}\n\n/** Response wrapper for validateAddress. */\nexport type ValidateAddressResponse = {\n __typename?: 'ValidateAddressResponse';\n /** Whether or not an address is valid */\n success?: Maybe;\n};\n\n/** Error Response for Validate Payees */\nexport type ValidatePayeesError = {\n __typename?: 'ValidatePayeesError';\n /** An optional description of the error */\n description?: Maybe;\n /** The string value of the error */\n error: Scalars['String'];\n /** Severity of the error - either Error or Warning */\n severity: Scalars['String'];\n};\n\n/** Response wrapper for ValidatePayees. */\nexport type ValidatePayeesResponse = {\n __typename?: 'ValidatePayeesResponse';\n /** The validation error for the call */\n error?: Maybe;\n /** Whether or not the Payees are valid */\n success?: Maybe;\n};\n\n/** Encapsulates all properties we want to extract from a validated address. Ex: line1, city, postalCode */\nexport type ValidatedAddress = {\n __typename?: 'ValidatedAddress';\n /** Portable address: An address first line street address */\n addressLine1?: Maybe;\n /** Portable address: An address second line street address */\n addressLine2?: Maybe;\n /** Portable address: An address third line street address */\n addressLine3?: Maybe;\n /** Address Type */\n addressType?: Maybe;\n /** Portable address: An address first line admin area */\n adminArea1?: Maybe;\n /** Portable address: An address second line admin area */\n adminArea2?: Maybe;\n /** Portable address: An address third line admin area */\n adminArea3?: Maybe;\n /** Portable address: An address forth line admin area */\n adminArea4?: Maybe;\n /** Metadata returned by AMS. A structure representing information about the address elements itself after the verification process. This includes how similar the value is to the input and what changes were made to the value. */\n amsMetadata?: Maybe;\n /** Shows which fields need fixing from the user. */\n badFields: AddressFieldBools;\n /** A billing address city (Ex: 'San Jose') */\n city?: Maybe;\n /** A billing address two-letter country code (Ex: 'US') */\n country?: Maybe;\n /** Portable address: An address two-letter country code */\n countryCode?: Maybe;\n /** Shows the original and reformatted address in an array of address parts as formatted by Griffin */\n formatAddressHistory?: Maybe;\n /** Shows the full address in multiple lines that is formatted by AMS */\n formattedAddress: Array>;\n /** Returns true if the address was reformatted */\n isReformatted?: Maybe;\n /** Returns true if the address is valid */\n isValidAddress?: Maybe;\n /** A billing address first line street address (Ex: '2211 North 1st St') */\n line1?: Maybe;\n /** A billing address second line street address (Ex: 'Apt 123') */\n line2?: Maybe;\n /** Shows the degree of confidence with respect to the mailability of the address. */\n mailability?: Maybe;\n /** A billing address postal code (Ex: '95131') */\n postalCode?: Maybe;\n /** A billing address state/province (Ex: 'CA') */\n state?: Maybe;\n /** AMS status, value is one of 'INVALID', 'CORRECTED', 'VERIFIED' */\n status?: Maybe;\n};\n\n/** Data for vaulted instrument */\nexport type VaultInstrumentData = {\n __typename?: 'VaultInstrumentData';\n /** id representing the vaulted instrument */\n id?: Maybe;\n /** label representing the vaulted instrument */\n label?: Maybe;\n};\n\n/** Label Info for Vaulted Instrument */\nexport type VaultInstrumentLabelInfo = {\n __typename?: 'VaultInstrumentLabelInfo';\n /** Description for the vaulted instrument (Ex: PayPal for foo.bar.com) */\n description?: Maybe;\n};\n\n/** response object from the v3/vault/setup-token endpoint. This particular object is a token definition */\nexport type VaultSetupTokenResponse = {\n __typename?: 'VaultSetupTokenResponse';\n /** customer */\n customer?: Maybe;\n /** id of the setup token */\n id?: Maybe;\n /** links */\n links?: Maybe>>;\n /** status of token */\n status?: Maybe;\n};\n\n/** Venmo Shadow Guest account details needed for Checkout */\nexport type VenmoGuestUser = {\n __typename?: 'VenmoGuestUser';\n /** Venmo Guest Account Access Token */\n accessToken?: Maybe;\n /** The digital CVV of an Open Loop Token instrument */\n dcvv?: Maybe;\n /** Venmo User's email as shown on ther Venmo app profile */\n email?: Maybe;\n /** The paypal Instrument ID associated to the Venmo Guest Account */\n instrumentID?: Maybe;\n /** Venmo User's full name */\n name?: Maybe;\n};\n\n/** Interface for wallet API */\nexport type Wallet = {\n __typename?: 'Wallet';\n /**\n * Retrieve the details for a bank account.\n *\n * Required Roles: LOGGEDIN\n */\n bank: BankAccount;\n /**\n * Retrieve the details from a credit card.\n *\n * Required Roles: LOGGEDIN\n */\n card: CardDetails;\n /**\n * Provides a quicker way to query eligibility data based on a users wallet instruments\n *\n * Required Roles: LOGGEDIN\n */\n flags: WalletFlags;\n};\n\n\n/** Interface for wallet API */\nexport type WalletBankArgs = {\n bankId: Scalars['String'];\n};\n\n\n/** Interface for wallet API */\nexport type WalletCardArgs = {\n cardId: Scalars['String'];\n};\n\n/** Eligibility flags from the Wallet API */\nexport type WalletFlags = {\n __typename?: 'WalletFlags';\n /** Indicates whether the wallet contains rewards accounts */\n areRewardsPresent: Scalars['Boolean'];\n /** Indicates whether the user is opt in into full wallet */\n fullWalletOptStatus: FullWalletStatus;\n};\n\n/** Three DS LookUp payload */\nexport type ThreedsLookUpPayload = {\n /** Account identifier of partner or its sub-organization/entity, which has a direct relation with Acquirer */\n acquirerAssociatedAccountId?: InputMaybe;\n /** billing address of card */\n billingAddress?: InputMaybe;\n /** The card financial instrument (FI) brand. */\n cardBrand?: InputMaybe;\n /** @Deprecated: This value is determined based on data in the checkout session */\n cardTransactionCharacteristics?: InputMaybe;\n /** card usage - possible values CREDIT or DEBIT */\n cardUsage?: InputMaybe;\n /** credit card Id - PayPal internal credit card id */\n creditCardId?: InputMaybe;\n /** indicates whether cvv is provided in the request */\n cvvPresenceIndicator?: InputMaybe;\n /** email address */\n email?: InputMaybe;\n /** encrypted card number that needs to be passed to ACE which is returned in 3DS contingency from post of checkoutsession */\n encryptedCardNumber: Scalars['String'];\n /** expiration month */\n expirationMonth: Scalars['String'];\n /** expiration year - 4 digit year */\n expirationYear: Scalars['String'];\n /** clients identification for downstream services. EX: HERMES, HELIOS, etc */\n flowId: Scalars['String'];\n /** merchant category code */\n merchantCategoryCode?: InputMaybe;\n /** phone information of the payer */\n phoneInfo?: InputMaybe>>;\n /** shipping address of the purchase */\n shippingAddress?: InputMaybe;\n /** shipping phone of the purchase */\n shippingPhone?: InputMaybe;\n /** Reason for 3DS contingency */\n threeDSContingencyReason?: InputMaybe;\n /** Source for 3DS contingency */\n threeDSContingencySource?: InputMaybe;\n /** reference ID for the 3DS of the Card */\n threeDSReferenceId: Scalars['String'];\n /** Unbranded Payment Indicator */\n unbrandedPaymentIndicator?: InputMaybe;\n};\n\nexport type AddressAutocompleteQueryQueryVariables = Exact<{\n count?: InputMaybe;\n countries?: InputMaybe> | InputMaybe>;\n input: Scalars['String'];\n language?: InputMaybe;\n location?: InputMaybe;\n radius?: InputMaybe;\n sessionId: Scalars['String'];\n}>;\n\n\nexport type AddressAutocompleteQueryQuery = { __typename?: 'Query', addressAutoComplete?: { __typename?: 'AddressAutoComplete', suggestions?: Array<{ __typename?: 'AddressAutoCompleteElement', addressText?: string | null, mainText?: string | null, placeId?: string | null, secondaryText?: string | null } | null> | null } | null };\n\nexport type AddressAutocompleteFromPostalCodeQueryQueryVariables = Exact<{\n postalCode: Scalars['String'];\n token: Scalars['String'];\n country?: InputMaybe;\n}>;\n\n\nexport type AddressAutocompleteFromPostalCodeQueryQuery = { __typename?: 'Query', addressNormalization?: { __typename?: 'NormalizedAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null } | null };\n\nexport type AddressFromAutocompletePlaceIdQueryQueryVariables = Exact<{\n language?: InputMaybe;\n placeId: Scalars['ID'];\n sessionId: Scalars['String'];\n}>;\n\n\nexport type AddressFromAutocompletePlaceIdQueryQuery = { __typename?: 'Query', addressFromAutoCompletePlaceId?: { __typename?: 'AddressForPlaceId', address?: { __typename?: 'GenericAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null, country?: string | null } | null } | null };\n\nexport type CheckoutSessionDataQueryQueryVariables = Exact<{\n token: Scalars['String'];\n}>;\n\n\nexport type CheckoutSessionDataQueryQuery = { __typename?: 'Query', checkoutSession?: { __typename?: 'CheckoutSession', allowedCardIssuers?: Array | null, checkoutSessionType?: CheckoutSessionType | null, cart?: { __typename?: 'Cart', soldoutUrl?: string | null, showSoldoutPage?: boolean | null, description?: string | null, intent?: CartIntent | null, noteToBuyer?: string | null, formattedPhoneNumber?: string | null, phoneNumber?: string | null, billingAddress?: { __typename?: 'CartAddress', city?: string | null, country?: CountryCodes | null, line1?: string | null, line2?: string | null, postalCode?: string | null, state?: string | null, formattedFullAddress?: string | null } | null, cancelUrl?: { __typename?: 'GenericURL', href?: string | null } | null, email?: { __typename?: 'Email', stringValue?: string | null } | null, payer?: { __typename?: 'SuppliedUserInfo', name?: { __typename?: 'PersonName', familyName?: string | null, givenName?: string | null } | null } | null, shippingAddress?: { __typename?: 'CartShippingAddress', city?: string | null, country?: CountryCodes | null, firstName?: string | null, isStoreAddress?: boolean | null, lastName?: string | null, line1?: string | null, line2?: string | null, postalCode?: string | null, state?: string | null, formattedFullAddress?: string | null } | null, amounts?: { __typename?: 'CartAmounts', discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingAndHandling?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingDiscount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencySymbol?: string | null } | null } | null, items?: Array<{ __typename?: 'CartItem', description?: string | null, details?: any | null, name?: string | null, quantity?: number | null, total?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, unitPrice?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null } | null> | null, totalAllowedOverCaptureAmount?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null } | null, subscriptionDetails?: { __typename: 'SubscriptionDetails', initialPaymentInfo?: { __typename: 'InitialSubscriptionPaymentInfo', taxPercentage?: string | null, setupFee?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, firstPayment?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, shippingAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, totalAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null, plan?: { __typename: 'SubscriptionPlanDetails', id?: string | null, name?: string | null, startTime?: string | null, billingCycles?: Array<{ __typename: 'SubscriptionBillingCycles', totalCycles?: string | null, fixedPrice?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, frequency?: { __typename: 'BillingCycleFrequency', intervalUnit?: IntervalUnit | null, intervalCount?: number | null } | null } | null> | null } | null } | null, shippingMethods?: Array<{ __typename?: 'CartShippingMethod', id?: string | null, type?: ShippingMethodType | null, label?: string | null, selected?: boolean | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null> | null } | null, merchant: { __typename?: 'Merchant', country?: CountryCodes | null, merchantId?: string | null, name?: string | null } } | null };\n\nexport type ConsumerFlowIdQueryQueryVariables = Exact<{\n redirectUrl: Scalars['String'];\n}>;\n\n\nexport type ConsumerFlowIdQueryQuery = { __typename?: 'Query', consumerFlowId?: { __typename?: 'ConsumerFlowId', flowId: string } | null };\n\nexport type FetchPhoneMetadataQueryQueryVariables = Exact<{\n countryCode: CountryCodes;\n}>;\n\n\nexport type FetchPhoneMetadataQueryQuery = { __typename?: 'Query', localeMetadata?: { __typename?: 'LocaleMetadata', phone?: { __typename?: 'LocalePhoneMetadata', masks?: { __typename?: 'LocalePhoneMasks', mobile?: string | null } | null, patterns?: { __typename?: 'LocalePhonePatterns', default?: string | null } | null } | null } | null };\n\nexport type BuyerFragment = { __typename?: 'CheckoutSession', buyer?: { __typename?: 'User', userId?: string | null, auth?: { __typename?: 'Auth', accessToken?: string | null } | null } | null };\n\nexport type FundingOptionsFragment = { __typename?: 'CheckoutSession', fundingOptions?: Array<{ __typename?: 'FundingOption', allPlans?: Array<{ __typename?: 'Plan', fundingSources?: Array<{ __typename?: 'FundingSource', fundingInstrument?: { __typename?: 'FundingInstrument', id?: string | null } | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null } | null> | null } | null> | null, fundingInstrument: { __typename?: 'FundingInstrument', id?: string | null, lastDigits?: string | null, name?: string | null, nameDescription?: string | null, type?: FundingOptionType | null } } | null> | null };\n\nexport type ThreeDsContingencyDataFragment = { __typename?: 'PaymentContingencies', threeDSContingencyData?: { __typename?: 'ThreeDomainSecureResolutionContingency', name?: string | null, causeName: string, resolution?: { __typename?: 'ThreeDSResolution', type?: string | null, resolutionName: string, paymentCard?: { __typename?: 'ThreeDSPaymentCardData', expireYear?: string | null, expireMonth?: string | null, currencyCode?: string | null, cardProductClass?: FundingInstrumentSubType | null, id?: string | null, encryptedNumber: string, type: CardIssuerType, number: string, bankIdentificationNumber?: string | null, billingAddress?: { __typename?: 'CheckoutBillingAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, country?: string | null, postalCode?: string | null } | null } | null, contingencyContext?: { __typename?: 'ThreeDSContingencyContextData', reason?: ThreedsContingencyReasonType | null, referenceId: string, source?: ThreedsContingencySourceType | null, deviceDataCollectionUrl?: { __typename?: 'GenericURL', href?: string | null } | null, jwtSpecification?: { __typename?: 'ThreeDSJwtSpecification', jwtDuration: string, jwtIssuer: string, jwtOrgUnitId: string, type?: string | null } | null } | null } | null } | null };\n\nexport type ThreeDomainSecureFragment = { __typename?: 'PaymentContingencies', threeDomainSecure?: { __typename?: 'ThreeDomainSecureContingency', status?: ApiCallStatus | null, method?: HttpMethod | null, parameter?: string | null, experience?: ThreeDsPaymentExperience | null, redirectUrl?: { __typename?: 'GenericURL', href?: string | null } | null, requestParams?: Array<{ __typename?: 'ThreeDSRequestParams', key?: string | null, value?: string | null } | null> | null } | null };\n\nexport type IsGuestMemberBenefitsEligibleQueryQueryVariables = Exact<{\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n country: CountryCodes;\n email: Scalars['String'];\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n phone: PhoneInput;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n}>;\n\n\nexport type IsGuestMemberBenefitsEligibleQueryQuery = { __typename?: 'Query', isGuestMemberBenefitsEligible?: { __typename?: 'GuestMemberBenefits', isEligible?: boolean | null } | null };\n\nexport type ApproveOnboardPaymentMutationMutationVariables = Exact<{\n token: Scalars['String'];\n instrumentId?: InputMaybe;\n isBillingAgreement: Scalars['Boolean'];\n}>;\n\n\nexport type ApproveOnboardPaymentMutationMutation = { __typename?: 'Mutation', attemptSetStickyFi?: { __typename?: 'CheckoutSession', buyer?: { __typename?: 'User', userId?: string | null } | null } | null, approveGuestSignUpPayment?: { __typename?: 'CheckoutSession', buyer?: { __typename?: 'User', userId?: string | null, email?: { __typename?: 'Email', stringValue?: string | null } | null, name?: { __typename?: 'PersonName', fullName?: string | null } | null } | null, fundingOptions?: Array<{ __typename?: 'FundingOption', fundingInstrument: { __typename?: 'FundingInstrument', id?: string | null, lastDigits?: string | null, name?: string | null, nameDescription?: string | null, type?: FundingOptionType | null } } | null> | null, merchant: { __typename?: 'Merchant', name?: string | null, preferences?: { __typename?: 'MerchantPreferences', autoReturnToMerchant?: boolean | null, enablePaymentDataTransfer?: boolean | null, returnUrl?: string | null } | null }, shippingAddresses?: Array<{ __typename?: 'CheckoutShippingAddress', fullAddress?: string | null, name?: { __typename?: 'PersonName', fullName?: string | null } | null } | null> | null, cart?: { __typename?: 'Cart', paymentId?: string | null, intent?: CartIntent | null, returnUrl?: { __typename?: 'GenericURL', href?: string | null, pathname?: string | null } | null, cancelUrl?: { __typename?: 'GenericURL', href?: string | null, pathname?: string | null } | null, items?: Array<{ __typename?: 'CartItem', quantity?: number | null, name?: string | null, sku?: string | null, unitPrice?: { __typename?: 'Amount', currencyValue?: string | null, currencyFormat?: string | null } | null, itemOptionSelections?: Array<{ __typename?: 'ItemOptionSelection', name: string, description: string } | null> | null } | null> | null, amounts?: { __typename?: 'CartAmounts', subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null } | null } | null, completedPaymentInfo?: { __typename?: 'CompletedPaymentInfo', transactionId?: string | null, transactionState?: TransactionState | null, receiptId?: string | null, softDescriptor?: string | null, postbackData?: any | null } | null } | null };\n\nexport type CreateMemberAccountMutationMutationVariables = Exact<{\n billingAddress?: InputMaybe;\n contentIdentifier?: InputMaybe;\n country: CountryCodes;\n crsData?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email: Scalars['String'];\n firstName: Scalars['String'];\n gender?: InputMaybe;\n identityDocument?: InputMaybe;\n lastName: Scalars['String'];\n marketingOptOut?: InputMaybe;\n nationality?: InputMaybe;\n occupation?: InputMaybe;\n password?: InputMaybe;\n phone: PhoneInput;\n placeOfBirth?: InputMaybe;\n secondaryIdentityDocument?: InputMaybe;\n shippingAddress?: InputMaybe;\n token: Scalars['String'];\n residentialAddress?: InputMaybe;\n legalAgreements?: InputMaybe;\n}>;\n\n\nexport type CreateMemberAccountMutationMutation = { __typename?: 'Mutation', onboardAccount?: { __typename?: 'CheckoutSession', buyer?: { __typename?: 'User', userId?: string | null, auth?: { __typename?: 'Auth', accessToken?: string | null } | null } | null } | null };\n\nexport type CreateOnboardingPaymentPlanMutationMutationVariables = Exact<{\n currencyConversionType?: InputMaybe;\n cvv?: InputMaybe;\n encryptedCardLoginAccountNumber?: InputMaybe;\n fundingInstrumentId: Scalars['String'];\n shareAddressWithDonatee?: InputMaybe;\n shippingAddress?: InputMaybe;\n supportedThreeDsExperiences?: InputMaybe> | InputMaybe>;\n token: Scalars['String'];\n userType: OnboardingExperienceType;\n}>;\n\n\nexport type CreateOnboardingPaymentPlanMutationMutation = { __typename?: 'Mutation', createOnboardingPaymentPlan?: { __typename?: 'CheckoutSession', flags?: { __typename?: 'CheckoutSessionFlags', is3DSecureRequired?: boolean | null } | null, paymentContingencies?: { __typename?: 'PaymentContingencies', threeDomainSecure?: { __typename?: 'ThreeDomainSecureContingency', status?: ApiCallStatus | null, method?: HttpMethod | null, parameter?: string | null, experience?: ThreeDsPaymentExperience | null, redirectUrl?: { __typename?: 'GenericURL', href?: string | null } | null, requestParams?: Array<{ __typename?: 'ThreeDSRequestParams', key?: string | null, value?: string | null } | null> | null } | null, threeDSContingencyData?: { __typename?: 'ThreeDomainSecureResolutionContingency', name?: string | null, causeName: string, resolution?: { __typename?: 'ThreeDSResolution', type?: string | null, resolutionName: string, paymentCard?: { __typename?: 'ThreeDSPaymentCardData', expireYear?: string | null, expireMonth?: string | null, currencyCode?: string | null, cardProductClass?: FundingInstrumentSubType | null, id?: string | null, encryptedNumber: string, type: CardIssuerType, number: string, bankIdentificationNumber?: string | null, billingAddress?: { __typename?: 'CheckoutBillingAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, country?: string | null, postalCode?: string | null } | null } | null, contingencyContext?: { __typename?: 'ThreeDSContingencyContextData', reason?: ThreedsContingencyReasonType | null, referenceId: string, source?: ThreedsContingencySourceType | null, deviceDataCollectionUrl?: { __typename?: 'GenericURL', href?: string | null } | null, jwtSpecification?: { __typename?: 'ThreeDSJwtSpecification', jwtDuration: string, jwtIssuer: string, jwtOrgUnitId: string, type?: string | null } | null } | null } | null } | null } | null, buyer?: { __typename?: 'User', userId?: string | null, auth?: { __typename?: 'Auth', accessToken?: string | null } | null } | null, fundingOptions?: Array<{ __typename?: 'FundingOption', allPlans?: Array<{ __typename?: 'Plan', fundingSources?: Array<{ __typename?: 'FundingSource', fundingInstrument?: { __typename?: 'FundingInstrument', id?: string | null } | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null } | null> | null } | null> | null, fundingInstrument: { __typename?: 'FundingInstrument', id?: string | null, lastDigits?: string | null, name?: string | null, nameDescription?: string | null, type?: FundingOptionType | null } } | null> | null } | null };\n\nexport type OnboardGuestMutationMutationVariables = Exact<{\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n country?: InputMaybe;\n currencyConversionType?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email?: InputMaybe;\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n phone?: InputMaybe;\n shareAddressWithDonatee?: InputMaybe;\n shippingAddress?: InputMaybe;\n supportedThreeDsExperiences?: InputMaybe> | InputMaybe>;\n token: Scalars['String'];\n}>;\n\n\nexport type OnboardGuestMutationMutation = { __typename?: 'Mutation', onboardAccount?: { __typename?: 'CheckoutSession', buyer?: { __typename?: 'User', userId?: string | null, auth?: { __typename?: 'Auth', accessToken?: string | null } | null } | null, flags?: { __typename?: 'CheckoutSessionFlags', is3DSecureRequired?: boolean | null } | null, paymentContingencies?: { __typename?: 'PaymentContingencies', threeDomainSecure?: { __typename?: 'ThreeDomainSecureContingency', status?: ApiCallStatus | null, method?: HttpMethod | null, parameter?: string | null, experience?: ThreeDsPaymentExperience | null, redirectUrl?: { __typename?: 'GenericURL', href?: string | null } | null, requestParams?: Array<{ __typename?: 'ThreeDSRequestParams', key?: string | null, value?: string | null } | null> | null } | null, threeDSContingencyData?: { __typename?: 'ThreeDomainSecureResolutionContingency', name?: string | null, causeName: string, resolution?: { __typename?: 'ThreeDSResolution', type?: string | null, resolutionName: string, paymentCard?: { __typename?: 'ThreeDSPaymentCardData', expireYear?: string | null, expireMonth?: string | null, currencyCode?: string | null, cardProductClass?: FundingInstrumentSubType | null, id?: string | null, encryptedNumber: string, type: CardIssuerType, number: string, bankIdentificationNumber?: string | null, billingAddress?: { __typename?: 'CheckoutBillingAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, country?: string | null, postalCode?: string | null } | null } | null, contingencyContext?: { __typename?: 'ThreeDSContingencyContextData', reason?: ThreedsContingencyReasonType | null, referenceId: string, source?: ThreedsContingencySourceType | null, deviceDataCollectionUrl?: { __typename?: 'GenericURL', href?: string | null } | null, jwtSpecification?: { __typename?: 'ThreeDSJwtSpecification', jwtDuration: string, jwtIssuer: string, jwtOrgUnitId: string, type?: string | null } | null } | null } | null } | null } | null, fundingOptions?: Array<{ __typename?: 'FundingOption', allPlans?: Array<{ __typename?: 'Plan', fundingSources?: Array<{ __typename?: 'FundingSource', fundingInstrument?: { __typename?: 'FundingInstrument', id?: string | null } | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null } | null> | null } | null> | null, fundingInstrument: { __typename?: 'FundingInstrument', id?: string | null, lastDigits?: string | null, name?: string | null, nameDescription?: string | null, type?: FundingOptionType | null } } | null> | null } | null };\n\nexport type PreAuthorizePaymentMutationMutationVariables = Exact<{\n token: Scalars['String'];\n}>;\n\n\nexport type PreAuthorizePaymentMutationMutation = { __typename?: 'Mutation', preAuthorizePayment?: { __typename?: 'CheckoutSession', declinedInstruments?: Array<{ __typename?: 'DeclinedInstrument', id?: string | null, name?: string | null, normalizedProcessorResponse?: string | null } | null> | null } | null };\n\nexport type SignUpNewMemberMutationMutationVariables = Exact<{\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n contentIdentifier?: InputMaybe;\n country?: InputMaybe;\n crsData?: InputMaybe;\n currencyConversionType?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email: Scalars['String'];\n firstName: Scalars['String'];\n gender?: InputMaybe;\n identityDocument?: InputMaybe;\n lastName: Scalars['String'];\n marketingOptOut?: InputMaybe;\n nationality?: InputMaybe;\n occupation?: InputMaybe;\n password?: InputMaybe;\n phone: PhoneInput;\n placeOfBirth?: InputMaybe;\n secondaryIdentityDocument?: InputMaybe;\n selectedInstallmentOption?: InputMaybe;\n shareAddressWithDonatee?: InputMaybe;\n shippingAddress?: InputMaybe;\n supportedThreeDsExperiences?: InputMaybe> | InputMaybe>;\n token: Scalars['String'];\n residentialAddress?: InputMaybe;\n isSignupIncentiveOptIn?: InputMaybe;\n isSignupIncentiveOptInStretch?: InputMaybe;\n legalAgreements?: InputMaybe;\n collectedConsents?: InputMaybe> | InputMaybe>;\n}>;\n\n\nexport type SignUpNewMemberMutationMutation = { __typename?: 'Mutation', onboardAccount?: { __typename?: 'CheckoutSession', flags?: { __typename?: 'CheckoutSessionFlags', is3DSecureRequired?: boolean | null } | null, paymentContingencies?: { __typename?: 'PaymentContingencies', threeDomainSecure?: { __typename?: 'ThreeDomainSecureContingency', status?: ApiCallStatus | null, method?: HttpMethod | null, parameter?: string | null, experience?: ThreeDsPaymentExperience | null, redirectUrl?: { __typename?: 'GenericURL', href?: string | null } | null, requestParams?: Array<{ __typename?: 'ThreeDSRequestParams', key?: string | null, value?: string | null } | null> | null } | null, threeDSContingencyData?: { __typename?: 'ThreeDomainSecureResolutionContingency', name?: string | null, causeName: string, resolution?: { __typename?: 'ThreeDSResolution', type?: string | null, resolutionName: string, paymentCard?: { __typename?: 'ThreeDSPaymentCardData', expireYear?: string | null, expireMonth?: string | null, currencyCode?: string | null, cardProductClass?: FundingInstrumentSubType | null, id?: string | null, encryptedNumber: string, type: CardIssuerType, number: string, bankIdentificationNumber?: string | null, billingAddress?: { __typename?: 'CheckoutBillingAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, country?: string | null, postalCode?: string | null } | null } | null, contingencyContext?: { __typename?: 'ThreeDSContingencyContextData', reason?: ThreedsContingencyReasonType | null, referenceId: string, source?: ThreedsContingencySourceType | null, deviceDataCollectionUrl?: { __typename?: 'GenericURL', href?: string | null } | null, jwtSpecification?: { __typename?: 'ThreeDSJwtSpecification', jwtDuration: string, jwtIssuer: string, jwtOrgUnitId: string, type?: string | null } | null } | null } | null } | null } | null, buyer?: { __typename?: 'User', userId?: string | null, auth?: { __typename?: 'Auth', accessToken?: string | null } | null } | null, fundingOptions?: Array<{ __typename?: 'FundingOption', allPlans?: Array<{ __typename?: 'Plan', fundingSources?: Array<{ __typename?: 'FundingSource', fundingInstrument?: { __typename?: 'FundingInstrument', id?: string | null } | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null } | null> | null } | null> | null, fundingInstrument: { __typename?: 'FundingInstrument', id?: string | null, lastDigits?: string | null, name?: string | null, nameDescription?: string | null, type?: FundingOptionType | null } } | null> | null } | null };\n\nexport type AddressNormalizationFragmentFragment = { __typename?: 'NormalizedAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null, alreadyNormalized?: boolean | null, griffinFormattedAddresses?: { __typename?: 'GriffinFormattedAddresses', formattedOriginalAddress?: Array | null, formattedNormalizedAddress?: Array | null } | null };\n\nexport type GetAddressNormalizationQueryQueryVariables = Exact<{\n city?: InputMaybe;\n country?: InputMaybe;\n line1?: InputMaybe;\n line2?: InputMaybe;\n postalCode?: InputMaybe;\n state?: InputMaybe;\n token: Scalars['String'];\n}>;\n\n\nexport type GetAddressNormalizationQueryQuery = { __typename?: 'Query', addressNormalization?: { __typename?: 'NormalizedAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null, alreadyNormalized?: boolean | null, griffinFormattedAddresses?: { __typename?: 'GriffinFormattedAddresses', formattedOriginalAddress?: Array | null, formattedNormalizedAddress?: Array | null } | null } | null };\n\nexport type GetNormalizedAddressesQueryQueryVariables = Exact<{\n shippingcity?: InputMaybe;\n shippingcountry?: InputMaybe;\n shippingline1?: InputMaybe;\n shippingline2?: InputMaybe;\n shippingpostalCode?: InputMaybe;\n shippingstate?: InputMaybe;\n billingcity?: InputMaybe;\n billingcountry?: InputMaybe;\n billingline1?: InputMaybe;\n billingline2?: InputMaybe;\n billingpostalCode?: InputMaybe;\n billingstate?: InputMaybe;\n token: Scalars['String'];\n}>;\n\n\nexport type GetNormalizedAddressesQueryQuery = { __typename?: 'Query', shippingAddress?: { __typename?: 'NormalizedAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null, alreadyNormalized?: boolean | null, griffinFormattedAddresses?: { __typename?: 'GriffinFormattedAddresses', formattedOriginalAddress?: Array | null, formattedNormalizedAddress?: Array | null } | null } | null, billingAddress?: { __typename?: 'NormalizedAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null, alreadyNormalized?: boolean | null, griffinFormattedAddresses?: { __typename?: 'GriffinFormattedAddresses', formattedOriginalAddress?: Array | null, formattedNormalizedAddress?: Array | null } | null } | null };\n\nexport type SoldOutPageQueryVariables = Exact<{\n token: Scalars['String'];\n}>;\n\n\nexport type SoldOutPageQuery = { __typename?: 'Query', checkoutSession?: { __typename?: 'CheckoutSession', cart?: { __typename?: 'Cart', soldoutUrl?: string | null, showSoldoutPage?: boolean | null, items?: Array<{ __typename?: 'CartItem', name?: string | null, quantity?: number | null } | null> | null } | null, merchant: { __typename?: 'Merchant', name?: string | null } } | null };\n\nexport type CheckoutGuestWithMemberBenefitsMutationMutationVariables = Exact<{\n bank?: InputMaybe;\n billingAddress?: InputMaybe;\n card?: InputMaybe;\n country: CountryCodes;\n currencyConversionType?: InputMaybe;\n email: Scalars['String'];\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n phone: PhoneInput;\n shippingAddress?: InputMaybe;\n supportedThreeDsExperiences?: InputMaybe> | InputMaybe>;\n token: Scalars['String'];\n}>;\n\n\nexport type CheckoutGuestWithMemberBenefitsMutationMutation = { __typename?: 'Mutation', checkoutGuestWithMemberBenefits?: { __typename?: 'CheckoutSession', flags?: { __typename?: 'CheckoutSessionFlags', is3DSecureRequired?: boolean | null } | null, paymentContingencies?: { __typename?: 'PaymentContingencies', threeDomainSecure?: { __typename?: 'ThreeDomainSecureContingency', status?: ApiCallStatus | null, method?: HttpMethod | null, parameter?: string | null, experience?: ThreeDsPaymentExperience | null, redirectUrl?: { __typename?: 'GenericURL', href?: string | null } | null, requestParams?: Array<{ __typename?: 'ThreeDSRequestParams', key?: string | null, value?: string | null } | null> | null } | null, threeDSContingencyData?: { __typename?: 'ThreeDomainSecureResolutionContingency', name?: string | null, causeName: string, resolution?: { __typename?: 'ThreeDSResolution', type?: string | null, resolutionName: string, paymentCard?: { __typename?: 'ThreeDSPaymentCardData', expireYear?: string | null, expireMonth?: string | null, currencyCode?: string | null, cardProductClass?: FundingInstrumentSubType | null, id?: string | null, encryptedNumber: string, type: CardIssuerType, number: string, bankIdentificationNumber?: string | null, billingAddress?: { __typename?: 'CheckoutBillingAddress', line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, country?: string | null, postalCode?: string | null } | null } | null, contingencyContext?: { __typename?: 'ThreeDSContingencyContextData', reason?: ThreedsContingencyReasonType | null, referenceId: string, source?: ThreedsContingencySourceType | null, deviceDataCollectionUrl?: { __typename?: 'GenericURL', href?: string | null } | null, jwtSpecification?: { __typename?: 'ThreeDSJwtSpecification', jwtDuration: string, jwtIssuer: string, jwtOrgUnitId: string, type?: string | null } | null } | null } | null } | null } | null, buyer?: { __typename?: 'User', userId?: string | null, auth?: { __typename?: 'Auth', accessToken?: string | null } | null } | null, fundingOptions?: Array<{ __typename?: 'FundingOption', allPlans?: Array<{ __typename?: 'Plan', fundingSources?: Array<{ __typename?: 'FundingSource', fundingInstrument?: { __typename?: 'FundingInstrument', id?: string | null } | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null } | null> | null } | null> | null, fundingInstrument: { __typename?: 'FundingInstrument', id?: string | null, lastDigits?: string | null, name?: string | null, nameDescription?: string | null, type?: FundingOptionType | null } } | null> | null } | null };\n\nexport type ConfirmOneTimePasswordConfirmationMutationMutationVariables = Exact<{\n card: CompleteCardOtpConfirmationInput;\n fundingInstrumentId: Scalars['String'];\n phone: PhoneInput;\n}>;\n\n\nexport type ConfirmOneTimePasswordConfirmationMutationMutation = { __typename?: 'Mutation', completeOtpConfirmation?: { __typename?: 'CompleteOtpConfirmationResponse', status?: string | null } | null };\n\nexport type InitiateOneTimePasswordConfirmationMutationMutationVariables = Exact<{\n fundingInstrumentId: Scalars['String'];\n phone: PhoneInput;\n}>;\n\n\nexport type InitiateOneTimePasswordConfirmationMutationMutation = { __typename?: 'Mutation', initiateOtpConfirmation?: { __typename?: 'InitiateOtpConfirmationResponse', status?: string | null } | null };\n\nexport type ConfirmTwoFactorPhoneConfirmationMutationMutationVariables = Exact<{\n pin: Scalars['String'];\n verificationId: Scalars['String'];\n}>;\n\n\nexport type ConfirmTwoFactorPhoneConfirmationMutationMutation = { __typename?: 'Mutation', confirmTwoFactorPhoneConfirmation?: { __typename?: 'PhoneConfirmationResponse', id?: string | null, state?: PhoneConfirmationState | null, validUntil?: { __typename?: 'GenericDate', timeMedium?: string | null } | null } | null };\n\nexport type InitiateTwoFactorPhoneConfirmationMutationMutationVariables = Exact<{\n phoneNumber: Scalars['String'];\n locale: LocaleInput;\n phoneCountry: CountryCodes;\n}>;\n\n\nexport type InitiateTwoFactorPhoneConfirmationMutationMutation = { __typename?: 'Mutation', initiateTwoFactorPhoneConfirmation?: { __typename?: 'PhoneConfirmationResponse', id?: string | null, state?: PhoneConfirmationState | null, validUntil?: { __typename?: 'GenericDate', timeMedium?: string | null } | null } | null };\n\nexport type UpgradeGuestToMemberMutationMutationVariables = Exact<{\n billingAddress?: InputMaybe;\n contentIdentifier?: InputMaybe;\n country?: InputMaybe;\n dateOfBirth?: InputMaybe;\n email: Scalars['String'];\n firstName: Scalars['String'];\n gender?: InputMaybe;\n identityDocument?: InputMaybe;\n lastName: Scalars['String'];\n marketingOptOut?: InputMaybe;\n nationality?: InputMaybe;\n occupation?: InputMaybe;\n password?: InputMaybe;\n phone: PhoneInput;\n placeOfBirth?: InputMaybe;\n secondaryIdentityDocument?: InputMaybe;\n token: Scalars['String'];\n residentialAddress?: InputMaybe;\n legalAgreements?: InputMaybe;\n}>;\n\n\nexport type UpgradeGuestToMemberMutationMutation = { __typename?: 'Mutation', upgradeGuestToMember?: { __typename?: 'CheckoutSession', buyer?: { __typename?: 'User', userId?: string | null, auth?: { __typename?: 'Auth', accessToken?: string | null } | null } | null } | null };\n\nexport type SuggestedDefaultLanguagesQueryQueryVariables = Exact<{\n countryCode: CountryCodes;\n languageCode: CheckoutContentLanguageCode;\n}>;\n\n\nexport type SuggestedDefaultLanguagesQueryQuery = { __typename?: 'Query', localeMetadata?: { __typename?: 'LocaleMetadata', territories: Array<{ __typename?: 'LocaleTerritoryMetadata', code?: CountryCodes | null, suggestedDefaultLanguage?: CheckoutContentLanguageCode | null }> } | null };\n\nexport type CookieBannerQueryQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type CookieBannerQueryQuery = { __typename?: 'Query', cookieBanner?: { __typename?: 'CookieBanner', js: string, css: string, html: string } | null };\n\nexport type BankCurrencyConversionQueryQueryVariables = Exact<{\n countryCode: CountryCodes;\n language: Scalars['String'];\n sourceCurrency: SupportedCountryCurrencies;\n sourceValue: Scalars['String'];\n targetCurrency: SupportedCountryCurrencies;\n}>;\n\n\nexport type BankCurrencyConversionQueryQuery = { __typename?: 'Query', currencyConversion?: { __typename?: 'CheckoutCurrencyConversion', spread?: string | null, from?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null } | null, issuedDate?: { __typename?: 'GenericDate', dateTimeShort?: string | null } | null, to?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null } | null } | null };\n\nexport type SupportedFundingSourcesQueryQueryVariables = Exact<{\n token: Scalars['String'];\n userCountry?: InputMaybe;\n}>;\n\n\nexport type SupportedFundingSourcesQueryQuery = { __typename?: 'Query', checkoutSession?: { __typename?: 'CheckoutSession', supportedFundingSources?: Array<{ __typename?: 'SupportedFundingSource', issuers?: Array<{ __typename?: 'SupportedFundingSourceIssuer', name?: string | null, usage?: Array | null, rank?: number | null, issuerLogoUrl?: { __typename?: 'GenericURL', href?: string | null } | null } | null> | null } | null> | null } | null };\n\nexport type CardMetaQueryQueryVariables = Exact<{\n cardNumber: Scalars['String'];\n countryCode?: InputMaybe;\n shouldGetCardCobrand: Scalars['Boolean'];\n shouldGetCardDefinitions: Scalars['Boolean'];\n}>;\n\n\nexport type CardMetaQueryQuery = { __typename?: 'Query', cardMeta: { __typename?: 'CardMeta', cobrand?: string | null, definitions?: Array<{ __typename?: 'CardDefinition', brand: CardIssuerType, classifications: Array, confirmationMethods: Array, countryCode?: CountryCodes | null } | null> } };\n\nexport type InstallmentOptionsQueryQueryVariables = Exact<{\n buyerCountry: CountryCodes;\n cardNumber: Scalars['String'];\n cardType?: InputMaybe;\n token: Scalars['String'];\n}>;\n\n\nexport type InstallmentOptionsQueryQuery = { __typename?: 'Query', getInstallmentsForOnboardingFlows?: Array<{ __typename?: 'Installments', term: number, discount?: { __typename?: 'InstallmentDiscount', percentage?: string | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencySymbol?: string | null, currencyValue?: string | null } | null } | null, monthlyPayment: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencySymbol?: string | null, currencyValue?: string | null }, totalCost: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencySymbol?: string | null, currencyValue?: string | null } } | null> | null };\n\nexport type UpdateCallbackOptionsMutationMutationVariables = Exact<{\n callbackShippingMethods?: InputMaybe> | InputMaybe>;\n shippingOptionsSource?: InputMaybe;\n token: Scalars['String'];\n}>;\n\n\nexport type UpdateCallbackOptionsMutationMutation = { __typename?: 'Mutation', updateCallbackOptions?: { __typename?: 'CheckoutSession', cart?: { __typename?: 'Cart', amounts?: { __typename?: 'CartAmounts', discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingAndHandling?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingDiscount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencySymbol?: string | null } | null } | null } | null } | null };\n\nexport type UpdateProfileShippingOptionsMutationMutationVariables = Exact<{\n hideShipping: Scalars['Boolean'];\n profileOverrideAllowed: Scalars['Boolean'];\n profileShippingMethods?: InputMaybe> | InputMaybe>;\n token: Scalars['String'];\n}>;\n\n\nexport type UpdateProfileShippingOptionsMutationMutation = { __typename?: 'Mutation', updateProfileShippingOptions?: { __typename?: 'CheckoutSession', cart?: { __typename?: 'Cart', shippingAddress?: { __typename?: 'CartShippingAddress', firstName?: string | null, lastName?: string | null, line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null, country?: CountryCodes | null } | null, amounts?: { __typename?: 'CartAmounts', discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingAndHandling?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingDiscount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencySymbol?: string | null } | null } | null } | null } | null };\n\nexport type CalcShippingAndTaxesQueryQueryVariables = Exact<{\n token: Scalars['String'];\n locale: LocaleInput;\n shippingAddress: AddressInput;\n}>;\n\n\nexport type CalcShippingAndTaxesQueryQuery = { __typename?: 'Query', calculateShippingAndTaxes?: { __typename?: 'ShippingAndTaxes', isShippingRegionSupported: boolean, shippingOptionsSource: ShippingOptionsSource, isTaxOnShippingRequired: boolean, shouldShowShippingOptions: boolean, profileOverrideAllowed?: boolean | null, charges: Array<{ __typename?: 'ShippingAndTaxCharges', id?: string | null, shipping?: { __typename?: 'ShippingCharges', id: string, type: ShippingMethodType, isDefaultShippingOption: boolean, hasInsurance: boolean, label?: string | null, deliveryTime?: string | null, shippingMethodType?: string | null, shippingAmount: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null }, insuranceAmount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null, tax?: { __typename?: 'TaxCharges', item?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null }> } | null };\n\nexport type ProfileShippingOptionsQueryQueryVariables = Exact<{\n token: Scalars['String'];\n}>;\n\n\nexport type ProfileShippingOptionsQueryQuery = { __typename?: 'Query', checkoutSession?: { __typename?: 'CheckoutSession', cart?: { __typename?: 'Cart', shippingAddress?: { __typename?: 'CartShippingAddress', firstName?: string | null, lastName?: string | null, line1?: string | null, line2?: string | null, city?: string | null, state?: string | null, postalCode?: string | null, country?: CountryCodes | null } | null, amounts?: { __typename?: 'CartAmounts', discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingAndHandling?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingDiscount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencySymbol?: string | null } | null } | null } | null } | null };\n\nexport type CreateBankAccountCandidateMutationVariables = Exact<{\n bank: BankAccountInput;\n beneficiary?: InputMaybe;\n billingAddress?: InputMaybe;\n countryCode: CountryCodes;\n}>;\n\n\nexport type CreateBankAccountCandidateMutation = { __typename?: 'Mutation', addBankCandidate?: { __typename?: 'BankAccount', accountNumber: string, accountNumberShort: string, bankIdentifierCode: string, currencyCode: string, id: string, nickname?: string | null, routingNumber: string, type: BankAccountType, beneficiaries: Array<{ __typename?: 'BankAccountBeneficiary', fullName: string } | null>, billingAddress?: { __typename?: 'GenericAddress', city?: string | null, fullAddress?: string | null } | null, creditor?: { __typename?: 'BankAccountCreditor', id: string, name: string, address?: { __typename?: 'GenericAddress', fullAddress?: string | null } | null } | null, issuer?: { __typename?: 'BankAccountIssuer', branchLocation?: string | null, city: string, country: CountryCodes, name: string } | null } | null };\n\nexport type InitialDataQueryQueryVariables = Exact<{\n channel: Scalars['String'];\n countryCode: CountryCodes;\n countryCodeAsString: Scalars['String'];\n isBaslAsString: Scalars['String'];\n languageCode: CheckoutContentLanguageCode;\n token: Scalars['String'];\n fundingSource?: InputMaybe;\n}>;\n\n\nexport type InitialDataQueryQuery = { __typename?: 'Query', checkoutSession?: { __typename: 'CheckoutSession', allowedCardIssuers?: Array | null, cardProductClasses: Array, checkoutSessionType?: CheckoutSessionType | null, userAction: CheckoutUserAction, cart?: { __typename: 'Cart', billingType?: BillingType | null, consentCode?: string | null, intent?: CartIntent | null, formattedPhoneNumber?: string | null, phoneNumber?: string | null, soldoutUrl?: string | null, showSoldoutPage?: boolean | null, amounts?: { __typename: 'CartAmounts', hideAmountDetails?: boolean | null, discount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, handlingFee?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, insurance?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, insuranceAndHandling?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, shipping?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, shippingAndShippingDiscount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, shippingDiscount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, subtotal?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, tax?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null } | null, total?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyValue?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyFormat?: string | null, currencySymbol?: string | null } | null } | null, billingAddress?: { __typename: 'CartAddress', city?: string | null, country?: CountryCodes | null, line1?: string | null, line2?: string | null, postalCode?: string | null, state?: string | null, formattedFullAddress?: string | null } | null, cancelUrl?: { __typename: 'GenericURL', href?: string | null } | null, email?: { __typename: 'Email', stringValue?: string | null } | null, items?: Array<{ __typename: 'CartItem', name?: string | null, quantity?: number | null } | null> | null, payer?: { __typename: 'SuppliedUserInfo', evaluatedUserData?: { __typename: 'GuestUserMetadata', emailHasExistingAccount: boolean } | null, name?: { __typename: 'PersonName', familyName?: string | null, givenName?: string | null } | null } | null, totalAllowedOverCaptureAmount?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null } | null, shippingAddress?: { __typename: 'CartShippingAddress', city?: string | null, country?: CountryCodes | null, firstName?: string | null, isStoreAddress?: boolean | null, lastName?: string | null, line1?: string | null, line2?: string | null, postalCode?: string | null, state?: string | null, formattedFullAddress?: string | null } | null, shippingMethods?: Array<{ __typename: 'CartShippingMethod', id?: string | null, type?: ShippingMethodType | null, label?: string | null, selected?: boolean | null, amount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null> | null, subscriptionDetails?: { __typename: 'SubscriptionDetails', initialPaymentInfo?: { __typename: 'InitialSubscriptionPaymentInfo', taxPercentage?: string | null, setupFee?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, firstPayment?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, shippingAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, totalAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null, plan?: { __typename: 'SubscriptionPlanDetails', id?: string | null, name?: string | null, startTime?: string | null, billingCycles?: Array<{ __typename: 'SubscriptionBillingCycles', totalCycles?: string | null, fixedPrice?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, frequency?: { __typename: 'BillingCycleFrequency', intervalUnit?: IntervalUnit | null, intervalCount?: number | null } | null } | null> | null } | null } | null } | null, creditMeta: { __typename: 'CreditMeta', upstreamCreditPresentment: boolean }, flags?: { __typename: 'CheckoutSessionFlags', blockNonDomesticPayer?: boolean | null, blockNonDomesticShipping?: boolean | null, blockNonDomesticCards?: boolean | null, hasPayLaterIntent?: boolean | null, hideShipping?: boolean | null, isBillingAgreement?: boolean | null, isChangeShippingAddressAllowed?: boolean | null, isDebitRequired?: boolean | null, isDonation?: boolean | null, isGuestEligible?: boolean | null, isInvoiceFlow?: boolean | null, isOptionallyShareAddress?: boolean | null, isShippingAddressRequired?: boolean | null, isSntSupported?: boolean | null, isSignupIncentiveEligible?: boolean | null, isSignupIncentiveEligibleStretchRewards?: boolean | null, isWPS?: boolean | null, isWpsAutobilling?: boolean | null, isWpsInstallmentPlan?: boolean | null, isWpsSubscription?: boolean | null } | null, merchant: { __typename: 'Merchant', cobrands?: Array | null, country?: CountryCodes | null, merchantId?: string | null, name?: string | null, billPayIntegratorName?: string | null, logo?: { __typename: 'GenericURL', href?: string | null } | null, preferences?: { __typename: 'MerchantPreferences', autoReturnToMerchant?: boolean | null, enablePaymentDataTransfer?: boolean | null } | null }, nonMemberCreditOffers?: { __typename: 'NonMemberCreditOffers', allOffers?: Array<{ __typename: 'NonMemberCreditOffer', creditProductIdentifier?: CreditProductType | null, isEligible?: boolean | null } | null> | null } | null } | null, elmoExperimentWithRealTimeFilters: { __typename: 'ElmoExperiment', treatments: Array<{ __typename: 'ElmoTreatment', experimentId: string, experimentName: string, treatmentId: string, treatmentName: string, factors?: Array<{ __typename: 'ElmoTreatmentFactor', key: string, value: string } | null> | null } | null> }, localeMetadata?: { __typename: 'LocaleMetadata', businessRegions: Array, currencyCode?: SupportedCountryCurrencies | null, currencySymbol?: string | null, suggestedDefaultLanguage?: CheckoutContentLanguageCode | null, supportedLanguages: Array, date?: { __typename: 'LocaleDateMetadata', displayFormat?: string | null, datePattern?: string | null } | null, phone?: { __typename: 'LocalePhoneMetadata', masks?: { __typename: 'LocalePhoneMasks', mobile?: string | null } | null, patterns?: { __typename: 'LocalePhonePatterns', default?: string | null } | null } | null } | null, unifiedLoginContext?: { __typename: 'UnifiedLoginContext', experienceMetadata?: { __typename: 'UnifiedLoginContextExperienceMetadata', onboardingData?: { __typename: 'UnifiedLoginContextOnboardingData', applePayButtonSeen?: boolean | null, loginMethod?: string | null, hasExistingAccount?: boolean | null, userIntent?: OnboardingExperienceType | null, email?: { __typename: 'Email', stringValue?: string | null } | null } | null } | null } | null, userAgreement?: { __typename?: 'UserAgreement', minorVersion: string, majorVersion: string, activeUrl: string } | null };\n\nexport type DeferredFeatureQueryVariables = Exact<{\n channel: Scalars['String'];\n countryCodeAsString: Scalars['String'];\n isBaslAsString: Scalars['String'];\n isForcedGuest: Scalars['String'];\n token: Scalars['String'];\n integrationType: Scalars['String'];\n}>;\n\n\nexport type DeferredFeatureQuery = { __typename?: 'Query', otpLoginContext?: { __typename: 'OtpLoginContext', context: string } | null, elmoExperiment: { __typename: 'ElmoExperiment', treatments: Array<{ __typename: 'ElmoTreatment', experimentId: string, experimentName: string, treatmentId: string, treatmentName: string, factors?: Array<{ __typename: 'ElmoTreatmentFactor', key: string, value: string } | null> | null } | null> } };\n\nexport type AddressMetadataFragment = { __typename?: 'LocaleAddressMetadata', layout?: Array<{ __typename?: 'LocaleAddressField', maxLength?: number | null, minLength?: number | null, isRequired?: boolean | null, name?: string | null, regex?: string | null } | null> | null, strings?: { __typename?: 'LocaleAddressStrings', cityLabel?: string | null, line1Label?: string | null, line2Label?: string | null, optionalLabel?: string | null, postcodeLabel?: string | null, stateLabel?: string | null, stateList?: Array<{ __typename?: 'LocaleAddressState', displayText?: string | null, value?: string | null }> | null } | null };\n\nexport type CartAmountsFragment = { __typename?: 'Cart', amounts?: { __typename?: 'CartAmounts', discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingAndHandling?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingDiscount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencySymbol?: string | null } | null } | null };\n\nexport type CartDonePageFragment = { __typename?: 'CheckoutSession', cart?: { __typename?: 'Cart', paymentId?: string | null, intent?: CartIntent | null, returnUrl?: { __typename?: 'GenericURL', href?: string | null, pathname?: string | null } | null, cancelUrl?: { __typename?: 'GenericURL', href?: string | null, pathname?: string | null } | null, items?: Array<{ __typename?: 'CartItem', quantity?: number | null, name?: string | null, sku?: string | null, unitPrice?: { __typename?: 'Amount', currencyValue?: string | null, currencyFormat?: string | null } | null, itemOptionSelections?: Array<{ __typename?: 'ItemOptionSelection', name: string, description: string } | null> | null } | null> | null, amounts?: { __typename?: 'CartAmounts', subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null } | null } | null };\n\nexport type CartItemsFragment = { __typename?: 'Cart', items?: Array<{ __typename?: 'CartItem', description?: string | null, details?: any | null, name?: string | null, quantity?: number | null, total?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, unitPrice?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null } | null> | null };\n\nexport type CartOvercaptureFragment = { __typename?: 'Cart', totalAllowedOverCaptureAmount?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null } | null };\n\nexport type SubscriptionDetailsFragment = { __typename?: 'Cart', subscriptionDetails?: { __typename: 'SubscriptionDetails', initialPaymentInfo?: { __typename: 'InitialSubscriptionPaymentInfo', taxPercentage?: string | null, setupFee?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, firstPayment?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, shippingAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, totalAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null, plan?: { __typename: 'SubscriptionPlanDetails', id?: string | null, name?: string | null, startTime?: string | null, billingCycles?: Array<{ __typename: 'SubscriptionBillingCycles', totalCycles?: string | null, fixedPrice?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, frequency?: { __typename: 'BillingCycleFrequency', intervalUnit?: IntervalUnit | null, intervalCount?: number | null } | null } | null> | null } | null } | null };\n\nexport type CompletedPaymentInfoFragment = { __typename?: 'CheckoutSession', completedPaymentInfo?: { __typename?: 'CompletedPaymentInfo', transactionId?: string | null, transactionState?: TransactionState | null, receiptId?: string | null, softDescriptor?: string | null, postbackData?: any | null } | null };\n\nexport type ShippingMethodsFragment = { __typename?: 'Cart', shippingMethods?: Array<{ __typename?: 'CartShippingMethod', id?: string | null, type?: ShippingMethodType | null, label?: string | null, selected?: boolean | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null> | null };\n\nexport type AddressMetadataQueryQueryVariables = Exact<{\n countryCode: CountryCodes;\n languageCode: CheckoutContentLanguageCode;\n}>;\n\n\nexport type AddressMetadataQueryQuery = { __typename?: 'Query', localeMetadata?: { __typename?: 'LocaleMetadata', address?: { __typename?: 'LocaleAddressMetadata', layout?: Array<{ __typename?: 'LocaleAddressField', maxLength?: number | null, minLength?: number | null, isRequired?: boolean | null, name?: string | null, regex?: string | null } | null> | null, strings?: { __typename?: 'LocaleAddressStrings', cityLabel?: string | null, line1Label?: string | null, line2Label?: string | null, optionalLabel?: string | null, postcodeLabel?: string | null, stateLabel?: string | null, stateList?: Array<{ __typename?: 'LocaleAddressState', displayText?: string | null, value?: string | null }> | null } | null } | null } | null };\n\nexport type AppDownloadBannerQueryQueryVariables = Exact<{\n deviceOS: Scalars['String'];\n deviceOSVersion: Scalars['String'];\n deviceType: DeviceType;\n isMobile: Scalars['Boolean'];\n nonce: Scalars['String'];\n flow?: InputMaybe;\n}>;\n\n\nexport type AppDownloadBannerQueryQuery = { __typename?: 'Query', appDownloadBanner?: { __typename: 'AppDownloadBanner', css: string, html: string, js: string } | null };\n\nexport type ShowApplePayButtonQueryVariables = Exact<{\n countryCodeAsString: Scalars['String'];\n token: Scalars['String'];\n}>;\n\n\nexport type ShowApplePayButtonQuery = { __typename?: 'Query', elmoExperimentWithRealTimeFilters: { __typename: 'ElmoExperiment', treatments: Array<{ __typename: 'ElmoTreatment', experimentId: string, experimentName: string, treatmentId: string, treatmentName: string, factors?: Array<{ __typename: 'ElmoTreatmentFactor', key: string, value: string } | null> | null } | null> } };\n\nexport type CheckoutSessionQueryQueryVariables = Exact<{\n token: Scalars['String'];\n}>;\n\n\nexport type CheckoutSessionQueryQuery = { __typename?: 'Query', checkoutSession?: { __typename?: 'CheckoutSession', cart?: { __typename?: 'Cart', amounts?: { __typename?: 'CartAmounts', discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingAndHandling?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, shippingDiscount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencySymbol?: string | null } | null } | null, items?: Array<{ __typename?: 'CartItem', description?: string | null, details?: any | null, name?: string | null, quantity?: number | null, total?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, unitPrice?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null, currencyFormat?: string | null } | null } | null> | null, totalAllowedOverCaptureAmount?: { __typename?: 'Amount', currencyFormatSymbolISOCurrency?: string | null } | null, shippingMethods?: Array<{ __typename?: 'CartShippingMethod', id?: string | null, type?: ShippingMethodType | null, label?: string | null, selected?: boolean | null, amount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null> | null, subscriptionDetails?: { __typename: 'SubscriptionDetails', initialPaymentInfo?: { __typename: 'InitialSubscriptionPaymentInfo', taxPercentage?: string | null, setupFee?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, firstPayment?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, shippingAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, totalAmount?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null, plan?: { __typename: 'SubscriptionPlanDetails', id?: string | null, name?: string | null, startTime?: string | null, billingCycles?: Array<{ __typename: 'SubscriptionBillingCycles', totalCycles?: string | null, fixedPrice?: { __typename: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, frequency?: { __typename: 'BillingCycleFrequency', intervalUnit?: IntervalUnit | null, intervalCount?: number | null } | null } | null> | null } | null } | null } | null } | null };\n\nexport type CurrencyConversionFromCreditCardQueryQueryVariables = Exact<{\n cardBrand?: InputMaybe;\n cardNumber: Scalars['String'];\n country?: InputMaybe;\n token: Scalars['String'];\n}>;\n\n\nexport type CurrencyConversionFromCreditCardQueryQuery = { __typename?: 'Query', currencyConversionFromCreditCard?: { __typename?: 'CheckoutCurrencyConversion', canChangeConversionType?: boolean | null, feeRateFormatted?: string | null, spread?: string | null, type?: CheckoutCurrencyConversionType | null, from?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null } | null, to?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null } | null };\n\nexport type GriffinMetadataQueryQueryVariables = Exact<{\n countryCode: CountryCodes;\n languageCode: CheckoutContentLanguageCode;\n shippingCountryCode: CountryCodes;\n}>;\n\n\nexport type GriffinMetadataQueryQuery = { __typename?: 'Query', localeMetadata?: { __typename?: 'LocaleMetadata', currencyCode?: SupportedCountryCurrencies | null, address?: { __typename?: 'LocaleAddressMetadata', layout?: Array<{ __typename?: 'LocaleAddressField', maxLength?: number | null, minLength?: number | null, isRequired?: boolean | null, name?: string | null, regex?: string | null } | null> | null, strings?: { __typename?: 'LocaleAddressStrings', cityLabel?: string | null, line1Label?: string | null, line2Label?: string | null, optionalLabel?: string | null, postcodeLabel?: string | null, stateLabel?: string | null, stateList?: Array<{ __typename?: 'LocaleAddressState', displayText?: string | null, value?: string | null }> | null } | null } | null, shippingAddress?: { __typename?: 'LocaleAddressMetadata', layout?: Array<{ __typename?: 'LocaleAddressField', maxLength?: number | null, minLength?: number | null, isRequired?: boolean | null, name?: string | null, regex?: string | null } | null> | null, strings?: { __typename?: 'LocaleAddressStrings', cityLabel?: string | null, line1Label?: string | null, line2Label?: string | null, optionalLabel?: string | null, postcodeLabel?: string | null, stateLabel?: string | null, stateList?: Array<{ __typename?: 'LocaleAddressState', displayText?: string | null, value?: string | null }> | null } | null } | null, date?: { __typename?: 'LocaleDateMetadata', displayFormat?: string | null, datePattern?: string | null } | null, phone?: { __typename?: 'LocalePhoneMetadata', masks?: { __typename?: 'LocalePhoneMasks', mobile?: string | null } | null, patterns?: { __typename?: 'LocalePhonePatterns', default?: string | null } | null } | null, territories: Array<{ __typename?: 'LocaleTerritoryMetadata', code?: CountryCodes | null, internationalDialingCode?: number | null, name?: string | null, region?: string | null, suggestedDefaultLanguage?: CheckoutContentLanguageCode | null }> } | null };\n\nexport type GuestUpgradeableToMemberQueryVariables = Exact<{\n token: Scalars['String'];\n billingAddress: AddressInput;\n card: CardInput;\n country: CountryCodes;\n email: Scalars['String'];\n firstName: Scalars['String'];\n lastName: Scalars['String'];\n}>;\n\n\nexport type GuestUpgradeableToMemberQuery = { __typename?: 'Query', isGuestUpgradeableToMember?: boolean | null };\n\nexport type WpsDonePageQueryQueryVariables = Exact<{\n token: Scalars['String'];\n}>;\n\n\nexport type WpsDonePageQueryQuery = { __typename?: 'Query', checkoutSession?: { __typename?: 'CheckoutSession', merchant: { __typename?: 'Merchant', name?: string | null, preferences?: { __typename?: 'MerchantPreferences', autoReturnToMerchant?: boolean | null, enablePaymentDataTransfer?: boolean | null, returnUrl?: string | null } | null }, buyer?: { __typename?: 'User', userId?: string | null, email?: { __typename?: 'Email', stringValue?: string | null } | null, name?: { __typename?: 'PersonName', fullName?: string | null } | null } | null, fundingOptions?: Array<{ __typename?: 'FundingOption', fundingInstrument: { __typename?: 'FundingInstrument', lastDigits?: string | null, name?: string | null, nameDescription?: string | null, type?: FundingOptionType | null } } | null> | null, shippingAddresses?: Array<{ __typename?: 'CheckoutShippingAddress', fullAddress?: string | null, name?: { __typename?: 'PersonName', fullName?: string | null } | null } | null> | null, cart?: { __typename?: 'Cart', paymentId?: string | null, intent?: CartIntent | null, returnUrl?: { __typename?: 'GenericURL', href?: string | null, pathname?: string | null } | null, cancelUrl?: { __typename?: 'GenericURL', href?: string | null, pathname?: string | null } | null, items?: Array<{ __typename?: 'CartItem', quantity?: number | null, name?: string | null, sku?: string | null, unitPrice?: { __typename?: 'Amount', currencyValue?: string | null, currencyFormat?: string | null } | null, itemOptionSelections?: Array<{ __typename?: 'ItemOptionSelection', name: string, description: string } | null> | null } | null> | null, amounts?: { __typename?: 'CartAmounts', subtotal?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, tax?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, shipping?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, insurance?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, handlingFee?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null, total?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyFormatSymbolISOCurrency?: string | null, currencyValue?: string | null } | null, discount?: { __typename?: 'Amount', currencyCode?: SupportedCountryCurrencies | null, currencyFormat?: string | null, currencyValue?: string | null } | null } | null } | null, completedPaymentInfo?: { __typename?: 'CompletedPaymentInfo', transactionId?: string | null, transactionState?: TransactionState | null, receiptId?: string | null, softDescriptor?: string | null, postbackData?: any | null } | null } | null };\n\nexport type WeasleyEligibilityQueryVariables = Exact<{\n channel: Scalars['String'];\n countryCodeAsString: Scalars['String'];\n res: Scalars['String'];\n token: Scalars['String'];\n}>;\n\n\nexport type WeasleyEligibilityQuery = { __typename?: 'Query', elmoExperimentWithRealTimeFilters: { __typename: 'ElmoExperiment', treatments: Array<{ __typename: 'ElmoTreatment', experimentId: string, experimentName: string, treatmentId: string, treatmentName: string, factors?: Array<{ __typename: 'ElmoTreatmentFactor', key: string, value: string } | null> | null } | null> } };\n","// External libraries\n// @ts-expect-error\nimport { isObject, isString } from '@checkout/react-components';\n\n// Internal modules\nimport type { ValueOf } from '@/types';\nimport { logger } from '../logger';\nimport { getGeoRegion, getGlobals, getLocale } from '../globals';\nimport { isDev } from '../utils/env';\nimport type { ConfigKey, ConfigType } from './config';\nimport type { FeaturesType } from './features';\nimport type { GlobalsType } from '@/lib/globals';\n\ninterface GetPropOrDefaultBaseParam {\n config: ConfigType;\n featureName: T;\n}\n\ntype GetPropOrDefault = {\n ({\n config,\n featureName,\n propNames,\n }: { propNames: K } & GetPropOrDefaultBaseParam):\n | ConfigType[T][K]\n | null\n | undefined;\n ({\n config,\n featureName,\n propNames,\n }: { propNames: K } & GetPropOrDefaultBaseParam):\n | ConfigType[T][K[number]]\n | null\n | undefined;\n};\n\nconst getPropOrDefault: GetPropOrDefault = <\n T extends ConfigKey,\n K extends keyof ConfigType[T] | (keyof ConfigType[T])[],\n>({\n config,\n featureName,\n propNames,\n}: { propNames: K } & GetPropOrDefaultBaseParam):\n | ValueOf\n | null\n | undefined => {\n const featureConfig = config[featureName];\n\n if (!isObject(featureConfig)) {\n logger.warn(`feature_${featureName}_not_found_on_config`);\n return null;\n }\n\n const keys: (keyof ConfigType[T] | 'DEFAULT')[] = [\n ...(Array.isArray(propNames) ? propNames : [propNames]),\n 'DEFAULT',\n ];\n\n const featureKey = keys.find(key => featureConfig.hasOwnProperty(key));\n\n // @ts-expect-error - We know 'DEFAULT' may not be in it\n const featureValue = featureKey ? featureConfig[featureKey] : undefined;\n\n logger.info('client_feature_resolution', {\n featureKey,\n featureName,\n featureValue,\n });\n\n return featureValue;\n};\n\n// Defining return type is huge and haven't found a way to pass generic\nconst getCountryConfigValue = (\n featureName: T,\n config: ConfigType,\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n) => {\n const { country } = getLocale();\n const geoRegion = getGeoRegion();\n\n return getPropOrDefault({\n config,\n featureName,\n // @ts-expect-error\n // We may get back undefined, but not altering prod code for TS migration\n propNames: [country, geoRegion],\n });\n};\n\nconst getExperiment = (\n featureName: T,\n): GlobalsType['experiments'][T] => {\n return getGlobals().experiments[featureName];\n};\n\n// TODO: Return type will be know when globalUtils formatter is typed\nconst getFactors = (featureName: string): any => {\n const feature = getExperiment(featureName);\n return feature?.factors || null;\n};\n\nconst getTreatment = (featureName: string): string | null => {\n const feature = getExperiment(featureName);\n return feature?.treatmentName || null;\n};\n\nconst hasExactTreatment = ({\n feature,\n treatment,\n}: {\n feature: string;\n treatment: string;\n}): boolean => {\n const treatmentName = getTreatment(feature);\n return Boolean(treatmentName) && treatmentName === treatment;\n};\n\nconst hasTreatment = (feature: string): boolean => {\n const treatment = getTreatment(feature);\n return isString(treatment) && treatment?.startsWith('Trmt_');\n};\n\nconst includesTreatment = ({\n feature,\n treatment,\n}: {\n feature: string;\n treatment: string;\n}): boolean => {\n const treatmentName = getTreatment(feature);\n return isString(treatmentName) && treatmentName?.includes(treatment);\n};\n\n/**\n * @Example\n * feature - FEATURE_POMA_BUTTON_CONTENT\n * if the feature has treatment name as\n * Trmt_FEATURE_POMA_BUTTON_CONTENT_CONTINUE_AND_CREATE_ACCOUNT\n * then returned variant will be - CONTINUE_AND_CREATE_ACCOUNT\n */\nconst getVariantFromTreatmentName = ({\n feature,\n defaultVariant = '',\n}: {\n feature: string;\n defaultVariant?: string;\n}): string => {\n const treatmentName = getTreatment(feature) || '';\n const [, variant = ''] = treatmentName.split(`_${feature}_`);\n return variant || defaultVariant;\n};\n\n/**\n * Need to maintain the order in which the checks are made, otherwise\n * we will be logging wrong values to FPTI\n */\nconst getFptiFlowName = ({\n clientFeatures = {},\n}: {\n clientFeatures: Partial;\n}): string =>\n (clientFeatures.isWpsGuestUpgradeEligible &&\n !clientFeatures.isPOMAEligible &&\n 'WPSGuestUpgrade') ||\n (clientFeatures.isWps &&\n clientFeatures.isOptionalSignup &&\n 'WPSOptionalGuest') ||\n (clientFeatures.isWps &&\n clientFeatures.isForcedSignUp &&\n 'WPSForcedSignup') ||\n (clientFeatures.isForcedGuest && 'ForcedGuest') ||\n (clientFeatures.isOptionalSignup && 'OptionalGuest') ||\n (clientFeatures.isPOMAEligible && 'PasswordlessOptionalGuest') ||\n (clientFeatures.passwordlessForcedSignup && 'PasswordlessForcedSignup') ||\n (clientFeatures.isForcedSignUp && 'ForcedSignup') ||\n 'unknown';\n\nconst flowToFptiPageName = (flow: string): string =>\n `${flow}ApproveAndReturnToMerchant`;\n\n/**\n * @description if the kycConfigKey is a function it will\n * call it with the nationality param, resolving its values\n * @param {any} kycConfigKey: a value or a function\n * @param {string} nationality: country\n * @returns resolved value (for KycTypes is an array of types)\n */\ntype GetNationalityBasedKycValue = {\n any>(\n kycConfigKey: T,\n nationality: K,\n ): ReturnType;\n (kycConfigKey: T, nationality: K): string;\n};\n\nconst getNationalityBasedKycValue: GetNationalityBasedKycValue = <\n K extends string,\n T extends ((param: K) => any) | string,\n>(\n kycConfigKey: T,\n nationality: K,\n) => {\n if (typeof kycConfigKey === 'function') {\n return kycConfigKey(nationality);\n }\n return kycConfigKey;\n};\n\n// Make it easy to check Elmo settings on console in dev\nif (isDev) {\n // @ts-expect-error - dev tools\n global.elmo = {\n allExperiments: getGlobals().experiments,\n getCountryConfigValue,\n getExperiment,\n getFactors,\n getFptiFlowName,\n getNationalityBasedKycValue,\n getPropOrDefault,\n getTreatment,\n getVariantFromTreatmentName,\n hasExactTreatment,\n hasTreatment,\n includesTreatment,\n };\n}\n\nexport {\n flowToFptiPageName,\n getCountryConfigValue,\n getExperiment,\n getFactors,\n getFptiFlowName,\n getNationalityBasedKycValue,\n getPropOrDefault,\n getTreatment,\n getVariantFromTreatmentName,\n hasExactTreatment,\n hasTreatment,\n includesTreatment,\n};\n","import styled from '@emotion/styled';\n\nimport { LIGHT_BLUE_RGBA, PP_SECONDARY_COLOR } from '@/styles';\n\nexport const AccordionContent = styled.div`\n width: 100%;\n height: auto;\n`;\n\nexport const AccordionButtonContainer = styled.div<{\n alignButtonContent?: string;\n}>`\n width: 100%;\n height: 48px;\n display: flex;\n flex-direction: row;\n justify-content: ${({ alignButtonContent }) =>\n alignButtonContent ? alignButtonContent : 'start'};\n align-items: center;\n`;\n\nexport const AccordionContainer = styled.div<{ isActive: boolean }>`\n width: 100%;\n height: ${({ isActive }) => (isActive ? 'auto' : '48px')};\n`;\n\nexport const AccordionButton = styled.button<{ fontSize?: string }>`\n align-items: center;\n background-color: transparent;\n border: unset;\n color: ${PP_SECONDARY_COLOR};\n display: flex;\n font-size: ${({ fontSize }) => (fontSize ? fontSize : '18px')};\n font-weight: 700;\n padding: 12px 8px;\n\n &:hover {\n text-decoration: underline;\n }\n\n &:focus {\n border-radius: 4px;\n border: 3px solid ${PP_SECONDARY_COLOR};\n box-shadow: ${LIGHT_BLUE_RGBA} 0 0 0 6px;\n text-decoration: underline;\n transition: all 0.2s ease-in;\n }\n`;\n\nexport const ChevronContainer = styled.span`\n align-items: center;\n display: inline-flex;\n height: 24px;\n justify-content: center;\n margin-left: 5px;\n width: 24px;\n`;\n","import React from 'react';\n\nimport {\n AccordionButton,\n AccordionButtonContainer,\n AccordionContainer,\n AccordionContent,\n ChevronContainer,\n} from './StyledComponents';\nimport { ChevronIcon } from '../Spots';\n\ninterface AccordionProps {\n alignButtonContent?: string;\n buttonContent: React.ReactNode;\n children: React.ReactNode | React.ReactNode[];\n fontSize?: string;\n isActive: boolean;\n onClick: () => void;\n}\n\nexport const Accordion = ({\n alignButtonContent,\n buttonContent,\n children,\n fontSize,\n isActive,\n onClick,\n}: AccordionProps): React.ReactElement => (\n \n \n \n {buttonContent}\n \n \n \n \n \n {isActive && (\n \n {children}\n \n )}\n \n);\n","import {\n PP_ERROR_COLOR,\n PP_INFO_COLOR,\n PP_SUCCESS_COLOR,\n PP_SYSTEM_COLOR,\n PP_WARNING_MAIN_COLOR,\n WHITE_COLOR,\n} from '@/styles';\n\nexport const pageLevelBackgroundColor = {\n error: PP_ERROR_COLOR,\n info: PP_INFO_COLOR,\n success: PP_SUCCESS_COLOR,\n warning: PP_WARNING_MAIN_COLOR,\n};\n\nexport const pageLevelTextColor = {\n error: WHITE_COLOR,\n info: PP_SYSTEM_COLOR,\n success: WHITE_COLOR,\n warning: PP_SYSTEM_COLOR,\n};\n","// External libraries\nimport styled from '@emotion/styled';\n\n// Internal modules\nimport {\n BORDER_FOCUSED_COLOR,\n ERROR_COLOR,\n ERROR_MESSAGE_BACKGROUND_COLOR,\n INFO_MESSAGE_BACKGROUND_COLOR,\n PRIMARY_COLOR,\n SUCCESS_COLOR,\n SUCCESS_MESSAGE_BACKGROUND_COLOR,\n WARNING_COLOR,\n WARNING_MESSAGE_BACKGROUND_COLOR,\n} from '@/styles';\nimport type { AlertTypes } from './constants';\nimport { ALERT_TYPE } from './constants';\nimport type { PageLevelAlertTypes } from '@/types';\nimport { pageLevelBackgroundColor, pageLevelTextColor } from './utils';\n\ntype AlertProps = {\n type: AlertTypes;\n};\n\nconst AlertContainer = styled.div`\n background-color: ${({ type }) => {\n switch (type) {\n case ALERT_TYPE.ERROR:\n return ERROR_MESSAGE_BACKGROUND_COLOR;\n case ALERT_TYPE.INFO:\n default:\n return INFO_MESSAGE_BACKGROUND_COLOR;\n case ALERT_TYPE.SUCCESS:\n return SUCCESS_MESSAGE_BACKGROUND_COLOR;\n case ALERT_TYPE.WARNING:\n return WARNING_MESSAGE_BACKGROUND_COLOR;\n }\n }};\n display: flex;\n padding: 12px 18px;\n`;\n\nconst AlertMessage = styled.p`\n color: ${({ type }) => {\n switch (type) {\n case ALERT_TYPE.ERROR:\n return ERROR_COLOR;\n case ALERT_TYPE.INFO:\n default:\n return PRIMARY_COLOR;\n case ALERT_TYPE.SUCCESS:\n return SUCCESS_COLOR;\n case ALERT_TYPE.WARNING:\n return WARNING_COLOR;\n }\n }};\n font-size: 15px;\n font-weight: 600;\n line-height: 1.6;\n margin: 0;\n`;\n\ntype IconButtonProps = {\n styleOverrides: {\n flexBasis: number;\n svg: {\n height: number;\n width: number;\n };\n };\n};\n\nconst IconButton = styled.button`\n align-items: center;\n background-color: transparent;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: flex;\n height: auto;\n justify-content: center;\n ${props => props.styleOverrides};\n outline: 0;\n padding: 0;\n\n &:focus span {\n box-shadow: 0 0 0 3px ${BORDER_FOCUSED_COLOR};\n }\n`;\n\nexport const PageLevelAlertContainer = styled.div<{\n pageLevelAlertVariant: PageLevelAlertTypes;\n}>`\n display: flex;\n align-items: start;\n padding: 1rem;\n border-radius: 12px;\n background-color: ${({ pageLevelAlertVariant }) =>\n pageLevelBackgroundColor[pageLevelAlertVariant]};\n color: ${({ pageLevelAlertVariant }) =>\n pageLevelTextColor[pageLevelAlertVariant]};\n`;\n\nexport { AlertContainer, AlertMessage, IconButton };\n","// External libraries\nimport React from 'react';\n// @ts-expect-error checkout/react-components\nimport { CloseIcon } from '@checkout/react-components';\n\n// Internal modules\nimport type { AlertTypes } from './constants';\nimport { AlertContainer, AlertMessage, IconButton } from './StyledComponents';\n\ninterface AlertProps {\n children: React.ReactNode;\n type: AlertTypes;\n}\n\nconst styleOverrides = {\n flexBasis: 70,\n svg: {\n height: 15,\n width: 15,\n },\n};\n\nconst Alert = ({ children, type }: AlertProps): React.ReactElement | null => {\n const [closed, setClosed] = React.useState(false);\n\n const handleClose = () => {\n setClosed(true);\n };\n\n if (closed) {\n return null;\n }\n\n return (\n \n {children}\n \n \n \n \n );\n};\n\nexport { Alert };\n","import type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\nimport styled from '@emotion/styled';\n\ntype TypographyProps = {\n fontWeight?: number;\n isTermsContent?: boolean;\n margin?: string;\n padding?: string;\n textAlign?: string;\n textColor?: string;\n fontSize?: string;\n width?: string;\n lineHeight?: string;\n};\n\nconst isTermsContentStyles = ({\n theme,\n}: {\n theme: AppTheme.WeasleyTheme;\n}): SerializedStyles => css`\n font-size: ${theme.checkbox.label.terms.fontSize};\n font-weight: ${theme.checkbox.label.terms.fontWeight};\n line-height: ${theme.checkbox.label.terms.lineHeight};\n color: ${theme.checkbox.label.terms.color};\n`;\n\nconst commonStyles = ({\n fontWeight,\n margin,\n textAlign,\n theme,\n width,\n}: {\n fontWeight?: number;\n margin?: string;\n textAlign?: string;\n theme: AppTheme.WeasleyTheme;\n width?: string;\n}): SerializedStyles => css`\n color: ${theme.typography.headingH1.color};\n font-family: ${theme.typography.font.family};\n line-height: ${theme.typography.lineHeight.xLarge};\n font-weight: ${fontWeight ? fontWeight : theme.typography.weight.regular};\n margin: ${margin ? margin : 'initial'};\n text-align: ${textAlign ? textAlign : 'initial'};\n width: ${width ? width : 'initial'};\n`;\n\nexport const StyledHeading = styled.h1`\n ${({ theme, fontWeight, margin, textAlign, width }) =>\n commonStyles({ fontWeight, margin, textAlign, theme, width })};\n font-size: ${({ theme, fontSize }) =>\n fontSize ? fontSize : theme.typography.fontSize.xLarge};\n`;\n\nexport const SecondaryStyledHeading = styled.h2`\n ${({ theme, fontWeight, margin, textAlign, width }) =>\n commonStyles({ fontWeight, margin, textAlign, theme, width })};\n font-size: ${({ theme, fontSize }) =>\n fontSize ? fontSize : theme.typography.fontSize.large};\n`;\nexport const StyledHeadingCentered = styled(StyledHeading)`\n margin: 1.5rem 0;\n @media screen and (max-width: 420px) {\n text-align: center;\n }\n`;\nexport const StyledSubHeading = styled(SecondaryStyledHeading)`\n font-size: ${({ theme, fontSize }) =>\n fontSize ? fontSize : theme.typography.fontSize.regular};\n font-weight: ${({ theme, fontWeight }) =>\n fontWeight ? fontWeight : theme.typography.weight.xBold};\n line-height: ${({ theme, lineHeight }) =>\n lineHeight ? lineHeight : theme.typography.lineHeight.large};\n margin-bottom: 8px;\n`;\n\nconst commonInlineElementsStyles = ({\n fontSize,\n fontWeight,\n isTermsContent,\n margin,\n padding,\n textAlign,\n textColor,\n theme,\n width,\n}: TypographyProps & { theme: AppTheme.WeasleyTheme }): SerializedStyles => css`\n color: ${textColor ? textColor : theme.typography.body.color};\n font-family: ${theme.typography.font.family};\n font-size: ${fontSize ? fontSize : theme.typography.fontSize.regular};\n line-height: ${theme.typography.lineHeight.large};\n font-weight: ${fontWeight ? fontWeight : theme.typography.weight.regular};\n margin: ${margin ? margin : 'initial'};\n padding: ${padding && padding};\n text-align: ${textAlign ? textAlign : 'initial'};\n width: ${width && width};\n ${isTermsContent && isTermsContentStyles({ theme })};\n`;\n\nexport const StyledParagraph = styled.p`\n ${props => commonInlineElementsStyles({ ...props })};\n`;\n\nexport const StyledSpan = styled.span`\n ${props => commonInlineElementsStyles({ ...props })};\n display: inline-block;\n`;\n\nexport const StyledHelperText = styled(StyledParagraph)`\n color: ${({ theme }) => theme.typography.textHelper.color};\n font-size: ${({ theme, fontSize }) =>\n fontSize ? fontSize : theme.typography.fontSize.small};\n line-height: ${({ theme }) => theme.typography.lineHeight.medium};\n`;\n","import React from 'react';\n\nimport type { TypographyProps } from './types';\nimport { StyledHeading } from './StyledComponents';\n\nexport const MainHeading = ({\n children,\n testID,\n ...rest\n}: TypographyProps): React.ReactElement => (\n \n {children}\n \n);\n","import React from 'react';\n\nimport type { TypographyProps } from './types';\nimport { StyledHeadingCentered } from './StyledComponents';\n\nexport const HeadingCentered = ({\n children,\n testID,\n ...rest\n}: TypographyProps): React.ReactElement => (\n \n {children}\n \n);\n","import React from 'react';\n\nimport type { TypographyProps } from './types';\nimport { SecondaryStyledHeading } from './StyledComponents';\n\nexport const SecondaryHeading = ({\n children,\n testID,\n ...rest\n}: TypographyProps): React.ReactElement => (\n \n {children}\n \n);\n","import React from 'react';\n\nimport type { TypographyProps } from './types';\nimport { StyledSubHeading } from './StyledComponents';\n\nexport const SubHeading = ({\n children,\n testID,\n ...rest\n}: TypographyProps): React.ReactElement => {\n return (\n \n {children}\n \n );\n};\n","import React from 'react';\n\nimport type { TypographyProps } from './types';\nimport { StyledParagraph } from './StyledComponents';\n\nexport const Paragraph = ({\n children,\n isTermsContent,\n testID,\n ...rest\n}: TypographyProps): React.ReactElement => (\n \n {children}\n \n);\n","import React from 'react';\n\nimport type { TypographyProps } from './types';\nimport { StyledSpan } from './StyledComponents';\n\nexport const Span = ({\n children,\n isTermsContent,\n testID,\n ...rest\n}: TypographyProps): React.ReactElement => (\n \n {children}\n \n);\n","import styled from '@emotion/styled';\n\ntype ContainerSCProps = {\n containerWidth?: string;\n containerHeight?: string;\n display?: string;\n isFirstLine?: boolean;\n margin?: string;\n textAlign?: string;\n};\n\nexport const ContainerSC = styled.div`\n width: ${({ containerWidth }) => (containerWidth ? containerWidth : '100%')};\n height: ${({ containerHeight }) =>\n containerHeight ? containerHeight : 'initial'};\n display: ${({ display }) => display};\n margin: ${({ margin }) => margin};\n text-align: ${({ textAlign }) => (textAlign ? textAlign : 'initial')};\n @media (max-width: 698px) {\n margin: ${({ isFirstLine }) => (isFirstLine ? '0 0 23px 0' : '')};\n }\n`;\n","import React from 'react';\n\nimport { ContainerSC } from './StyledComponents';\n\ninterface ParentContainerProps {\n children: React.ReactNode | React.ReactNode[];\n [key: string]: React.ReactNode;\n}\n\nexport const ParentContainer = ({\n children,\n ...rest\n}: ParentContainerProps): React.ReactElement => {\n return {children};\n};\n","import React from 'react';\n\nimport { WHITE_COLOR } from '@/styles';\nimport { Paragraph } from '../Typography';\nimport type { IconName } from '@/lib/icons';\nimport { icons } from '@/lib/icons';\nimport type { PageLevelAlertTypes } from '@/types';\nimport { ParentContainer } from '../Containers';\nimport { PageLevelAlertContainer } from './StyledComponents';\n\ninterface PageLevelAlertProps {\n alertContent: React.ReactNode;\n pageLevelAlertVariant: PageLevelAlertTypes;\n icon: IconName;\n}\n\nexport const PageLevelAlert = ({\n alertContent,\n pageLevelAlertVariant,\n icon,\n}: PageLevelAlertProps): React.ReactElement => {\n const IconComponent = icons[icon];\n return (\n \n {IconComponent && (\n \n \n \n )}\n \n {alertContent}\n \n \n );\n};\n","import styled from '@emotion/styled';\nimport { Button } from '@paypalcorp/pp-react-buttons-weasley-v6';\n\nimport {\n LIGHT_BLUE_RGBA,\n PP_LIGHT_GRAY_COLOR,\n PP_SECONDARY_COLOR,\n PP_SELECTED_COLOR,\n PP_TERTIARY_COLOR,\n} from '@/styles';\n\nexport const StyledCloseButton = styled(Button)`\n width: 48px;\n height: 48px;\n padding: 0.75rem;\n border-radius: 50%;\n color: ${PP_LIGHT_GRAY_COLOR};\n cursor: pointer;\n\n &:hover {\n background-color: ${PP_TERTIARY_COLOR};\n color: ${PP_LIGHT_GRAY_COLOR};\n }\n\n &:focus::after {\n padding: 0.75rem;\n border-radius: 50%;\n border: 1px solid ${PP_SELECTED_COLOR};\n box-shadow:\n ${PP_SECONDARY_COLOR} 0 0 0 2px inset,\n ${LIGHT_BLUE_RGBA} 0 0 0 5px;\n }\n`;\n","import React from 'react';\nimport { StyledCloseButton } from './StyledComponents';\nimport { CloseSmIcon } from '../Spots';\n\ninterface CloseButtonProps {\n onClick: () => void;\n [key: string]: string | React.ReactNode;\n}\n\nexport const CloseButton = ({\n onClick,\n ...rest\n}: CloseButtonProps): React.ReactElement => {\n return (\n \n );\n};\n","import type { LegalConsentProps } from '@paypalcorp/pp-react-checkbox-weasley-v7';\nimport { LegalConsent as LegalConsentppv7 } from '@paypalcorp/pp-react-checkbox-weasley-v7';\nimport styled from '@emotion/styled';\n\ntype LS = {\n customStyle?: string;\n};\nexport const LegalConsent = styled(LegalConsentppv7)`\n label > span > span {\n font-size: ${({ customStyle }) =>\n customStyle === 'THStyles' ? '18px' : '14px'};\n line-height: ${({ customStyle }) =>\n customStyle === 'THStyles' ? '24px' : '20px'};\n color: ${({ customStyle }) =>\n customStyle === 'THStyles' ? '#001435' : 'rgb(84, 93, 104)'};\n }\n`;\n","// External libraries\nimport React from 'react';\nimport { Checkbox as CheckboxPP } from '@paypalcorp/pp-react-checkbox-weasley-v7';\nimport { LegalConsent } from './StyledComponents';\nimport { hasTreatment } from '@/lib/features/utils';\n\n// Internal\nimport type {\n GenericObjectType,\n InputOnBlurChange,\n InputOnChange,\n InputOnFocus,\n} from '@/types';\nimport { PaypalThemedProvider } from '@/styles';\n\ntype CheckboxRestProps =\n | string\n | boolean\n | (() => void)\n | GenericObjectType\n | React.ReactNode;\ninterface CheckboxProps {\n blurHandler?: InputOnBlurChange;\n changeHandler:\n | InputOnChange\n | ((\n e: React.ChangeEvent,\n newValue: string | boolean,\n oldValue: string | boolean,\n metadata: GenericObjectType,\n ) => void);\n checked?: boolean;\n focusHandler?: InputOnFocus;\n id: string;\n label: React.ReactNode | string;\n name: string;\n required?: boolean;\n type?: string;\n isTermsCheckbox?: boolean;\n testID?: string;\n [x: string]: CheckboxRestProps;\n}\n\n// This function was lifted directly from react-components\nconst getValidation = (isChecked: boolean, isRequired: boolean) => {\n const valueMissing = isRequired && !isChecked;\n const errors = valueMissing ? ['valueMissing'] : [];\n return {\n errors,\n isValid: !valueMissing,\n valueMissing,\n };\n};\n\nexport const Checkbox: React.FC = ({\n blurHandler,\n changeHandler,\n checked,\n focusHandler,\n id,\n label,\n name,\n required = false,\n type,\n isTermsCheckbox,\n testID,\n ...rest\n}) => {\n //this feature is specific to TH country only\n const isTHForcedGuest = hasTreatment('FEATURE_TH_FORCED_GUEST_UI');\n const customStyle = isTHForcedGuest ? 'THStyles' : '';\n const Component = isTermsCheckbox ? LegalConsent : CheckboxPP;\n return (\n \n \n changeHandler(\n { ...e, target: { ...e.target, id, name, type: 'checkbox' } },\n !!e.target.checked,\n !e.target.checked,\n { validation: getValidation(e.target.checked, required) },\n )\n }\n onFocus={focusHandler}\n {...rest}\n />\n \n );\n};\n","import { css } from '@emotion/core';\n\nexport const loadingElementStyleOverrides = css({\n marginBottom: '16px',\n});\n\ntype LoadingElementStylesType = { height: string; viewBoxHeight: string };\n\nexport const getLoadingElementStyles = ({\n height,\n theme,\n viewBoxHeight,\n}: {\n height?: string;\n viewBoxHeight?: string;\n theme: AppTheme.WeasleyTheme;\n}): LoadingElementStylesType => ({\n height: height ?? theme.loadingSkeleton.height,\n viewBoxHeight: viewBoxHeight ?? theme.loadingSkeleton.viewBoxHeight,\n});\n","import React from 'react';\nimport { useTheme } from 'emotion-theming';\nimport type { SerializedStyles } from '@emotion/core';\n// @ts-expect-error checkout/react-components\nimport { LoadingElement as LoadingElementComponent } from '@checkout/react-components';\nimport {\n getLoadingElementStyles,\n loadingElementStyleOverrides,\n} from './styles';\n\ntype LoadingElementProps = {\n height?: string;\n styleOverrides?: SerializedStyles;\n viewBoxHeight?: string;\n};\n\nconst LoadingElement = ({\n height,\n styleOverrides,\n viewBoxHeight,\n}: LoadingElementProps): React.ReactElement => {\n const theme: AppTheme.WeasleyTheme = useTheme();\n\n return (\n \n );\n};\n\nexport { LoadingElement };\n","// External libraries\nimport React from 'react';\nimport type { SerializedStyles } from '@emotion/core';\n\nimport { LoadingElement } from './LoadingElement';\n\ninterface LoadingFieldsProps {\n numLoaders?: number;\n styleOverrides?: SerializedStyles;\n}\nconst LoadingFields = ({\n numLoaders = 5,\n styleOverrides,\n}: LoadingFieldsProps): React.ReactElement => {\n const loaders = new Array(numLoaders);\n\n return (\n <>\n {/* this caused a bug in prod where loaders were not shown */}\n {/* eslint-disable-next-line prefer-spread */}\n {Array.apply(null, loaders).map((_, i) => (\n \n ))}\n \n );\n};\n\nexport { LoadingFields };\n","// External libraries\nimport type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\n\n// Internal modules\nimport {\n DEFAULT_BORDER_COLOR,\n DISABLED_BACKGROUND_COLOR,\n ERROR_COLOR,\n PRIMARY_COLOR_V2,\n} from '@/styles';\n\nconst getRadioBoxShadow = ({\n displayError,\n disabled,\n}: {\n displayError?: boolean;\n disabled?: boolean;\n}) => {\n if (disabled) {\n return `inset 0 0 0 100px ${DISABLED_BACKGROUND_COLOR}`;\n }\n\n return `inset 0 0 0 1px ${displayError ? ERROR_COLOR : DEFAULT_BORDER_COLOR}`;\n};\n\nexport const getCommonRadioButtonStyleOverrides = ({\n displayError,\n disabled,\n labelFontSize,\n radioButtonContainerMargin,\n}: {\n displayError?: boolean;\n disabled?: boolean;\n labelFontSize?: string;\n radioButtonContainerMargin?: string;\n}): { [key: string]: SerializedStyles } => {\n const overrides = {\n containerStyleOverrides: css`\n margin: ${radioButtonContainerMargin};\n `,\n\n inputStyleOverrides: css`\n &:checked + label::before {\n box-shadow: inset 0 0 0 8px ${PRIMARY_COLOR_V2};\n }\n\n &:focus + label::before {\n box-shadow: inset 0 0 0 8px ${PRIMARY_COLOR_V2};\n outline: 2px solid ${PRIMARY_COLOR_V2};\n outline-offset: 2px;\n }\n `,\n\n labelStyleOverrides: css`\n cursor: ${disabled ? 'default' : 'pointer'};\n font-weight: 400;\n font-size: ${labelFontSize};\n min-width: 100px;\n line-height: 24px;\n\n &::before {\n box-shadow: ${getRadioBoxShadow({ disabled, displayError })};\n }\n `,\n };\n return overrides;\n};\n","import React from 'react';\n//@ts-expect-error\nimport { RadioButton as RadioButtonRC } from '@checkout/react-components';\nimport type { InputOnBlurChange, ReactComponentsChangeHandler } from '@/types';\n\nimport { getCommonRadioButtonStyleOverrides } from './styles';\n\ninterface RadioButtonProps {\n blurHandler?: InputOnBlurChange;\n changeHandler: ReactComponentsChangeHandler;\n checked?: boolean;\n disabled?: boolean;\n hasError?: boolean;\n id: string;\n label: React.ReactNode;\n name: string;\n value?: string;\n [x: string]: React.ReactNode;\n}\n\nexport const RadioButton = ({\n blurHandler,\n changeHandler,\n checked,\n disabled,\n hasError,\n id,\n label,\n name,\n value,\n ...rest\n}: RadioButtonProps): React.ReactElement => {\n return (\n \n );\n};\n","import styled from '@emotion/styled';\nimport { CodeInput as CodeInputPP } from '@paypalcorp/pp-react-code-input-weasley-v7';\n\nexport const StyledCodeInput = styled(CodeInputPP)`\n #ci-ciBasic-0,\n #ci-ciBasic-1,\n #ci-ciBasic-2,\n #ci-ciBasic-3,\n #ci-ciBasic-4,\n #ci-ciBasic-5 {\n height: 54px;\n min-height: unset;\n width: 42px;\n }\n`;\n","import React from 'react';\n\nimport { StyledCodeInput } from './StyledComponents';\nimport { PaypalThemedProvider } from '@/styles';\n\ninterface MultiBoxInputProps {\n errorMessage?: React.ReactNode;\n onChange: (pin: string) => void;\n inputValue: string;\n}\n\nexport const MultiBoxInput = React.forwardRef<\n HTMLInputElement[],\n MultiBoxInputProps\n>(({ errorMessage, onChange, inputValue }, ref) => (\n \n \n \n));\n","// External libraries\nimport styled from '@emotion/styled';\nimport type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\n\ntype AnchorType = {\n fontSize?: string;\n lineHeight?: string;\n margin?: string;\n};\n\nexport const primaryTextButtonStyles = (\n theme: AppTheme.WeasleyTheme,\n): SerializedStyles => css`\n background-color: ${theme.button.variant.text.default.background};\n border: ${theme.button.variant.text.default.border};\n color: ${theme.button.variant.text.default.color};\n font-family: ${theme.typography.font.family};\n`;\n\nexport const getLinkStateStyles = (\n theme: AppTheme.WeasleyTheme,\n): SerializedStyles => css`\n &:active {\n color: ${theme.link.hover.color};\n }\n\n &:hover {\n color: ${theme.link.hover.color};\n text-decoration: underline;\n }\n\n &:focus {\n ${theme.link.focus};\n text-decoration: underline;\n }\n`;\n\nexport const StyledAnchor = styled.a`\n font-size: ${({ fontSize }) => fontSize};\n line-height: ${({ lineHeight, theme }) =>\n lineHeight || theme.link.default.lineHeight};\n margin: ${({ margin }) => margin};\n color: ${({ theme }) => theme.link.default.color};\n\n text-decoration: none;\n cursor: pointer;\n\n ${({ theme }) => getLinkStateStyles(theme)}\n`;\n","import type { ReactNode } from 'react';\nimport React from 'react';\nimport { StyledAnchor } from './StyledComponents';\n\ninterface LinkProps {\n fontSize?: string;\n href?: string;\n lineHeight?: string;\n margin?: string;\n onClick?: (e: React.MouseEvent) => void;\n testId?: string;\n text?: string | ReactNode;\n}\n\nexport const Link = ({\n fontSize,\n href,\n lineHeight,\n margin,\n onClick,\n testId,\n text,\n}: LinkProps): React.ReactElement => {\n return (\n \n {text}\n \n );\n};\n","import styled from '@emotion/styled';\nimport type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\n\n/*\n *If we build M&C treatment variation we should\n *provide to the ListItem ppReact component\n *which is going to have all required CSS styles. Hence,\n *no need to write our own CSS\n */\nexport const StyledListItem = styled.li``;\nconst commonStyles = ({ margin }: { margin?: string }): SerializedStyles => css`\n width: 100%;\n height: auto;\n margin: ${margin ? margin : 'initial'};\n padding-inline-start: 16px;\n`;\n\nexport const UnorderedList = styled.ul<{ margin?: string }>`\n ${({ margin }) => commonStyles({ margin })};\n list-style-type: disc;\n`;\n\nexport const OrderedList = styled.ol<{ margin?: string }>`\n ${({ margin }) => commonStyles({ margin })};\n list-style-type: decimal;\n`;\n","import React from 'react';\n\nimport { StyledListItem } from './StyledComponents';\n\nexport const ListItem = ({\n children,\n}: {\n children: React.ReactNode;\n}): React.ReactElement => {children};\n","import React from 'react';\n\nimport { OrderedList, UnorderedList } from './StyledComponents';\n\ninterface ListProps {\n children: React.ReactNode | React.ReactNode[];\n type: 'ordered' | 'unordered';\n margin?: string;\n}\n\nexport const List = ({\n children,\n type,\n margin,\n}: ListProps): React.ReactElement => {\n switch (type) {\n case 'ordered':\n return (\n \n {children}\n \n );\n break;\n default:\n return (\n \n {children}\n \n );\n }\n};\n","// External libraries\nimport styled from '@emotion/styled';\n\n// Internal Modules\nimport { TEXT_COLOR } from '@/styles/styleVariables';\n\nconst AccessibilityText = styled.span`\n left: -9999px;\n opacity: 0;\n position: absolute;\n`;\n\ntype StyledTextProps = {\n fontSize?: string;\n fontWeight?: number;\n};\n\nconst StyledText = styled.p`\n color: ${TEXT_COLOR};\n font-size: ${({ fontSize }) => fontSize || '13px'};\n font-weight: ${({ fontWeight }) => fontWeight};\n line-height: 1.38;\n`;\n\nexport { AccessibilityText, StyledText };\n","export * from './features';\nexport * from './resolvers';\n","import { CountryCodes } from '@/generated/graphql';\n\n// Countries where AML (Anti-Money Laundering) rules apply\nexport const AML_COUNTRIES = [\n CountryCodes.At,\n CountryCodes.Be,\n CountryCodes.Bg,\n CountryCodes.Cy,\n CountryCodes.Cz,\n CountryCodes.De,\n CountryCodes.Dk,\n CountryCodes.Ee,\n CountryCodes.Es,\n CountryCodes.Fi,\n CountryCodes.Fr,\n CountryCodes.Gg,\n CountryCodes.Gf,\n CountryCodes.Gi,\n CountryCodes.Gp,\n CountryCodes.Gr,\n CountryCodes.Hr,\n CountryCodes.Hu,\n CountryCodes.Ie,\n CountryCodes.Il,\n CountryCodes.Is,\n CountryCodes.It,\n CountryCodes.Lt,\n CountryCodes.Li,\n CountryCodes.Lu,\n CountryCodes.Lv,\n CountryCodes.Mq,\n CountryCodes.Mt,\n CountryCodes.Ne,\n CountryCodes.Nl,\n CountryCodes.No,\n CountryCodes.Pl,\n CountryCodes.Pt,\n CountryCodes.Re,\n CountryCodes.Ro,\n CountryCodes.Se,\n CountryCodes.Si,\n CountryCodes.Sj,\n CountryCodes.Sk,\n CountryCodes.Sm,\n CountryCodes.Va,\n CountryCodes.Yt,\n];\n\nexport const APP_NAME = 'CHECKOUTUINODEWEB_ONBOARDING_LITE';\n\n// Countries where BOLT (Block Off Domestic -Local- Transactions) apply\nexport const BOLT_COUNTRIES = [CountryCodes.Kr, CountryCodes.Tw];\n\n// Waiting for legal to approve these two countries for the new BFX experience\nexport const DCC_INELIGIBLE_COUNTRIES = [CountryCodes.Hu, CountryCodes.Il];\n\n// Every country PayPal supports has English enabled, so we fallback to that\nexport const DEFAULT_ENABLED_LANGUAGES = ['en'];\n\n// These countries are part of GROUP-EMEA but have different legal content\nexport const EMEA_LITE_COUNTRIES = [\n CountryCodes.Bg,\n CountryCodes.Cy,\n CountryCodes.Gf,\n CountryCodes.Gi,\n CountryCodes.Hr,\n CountryCodes.Li,\n CountryCodes.Mq,\n CountryCodes.Re,\n CountryCodes.Sm,\n CountryCodes.Va,\n CountryCodes.Yt,\n];\n\nexport const FRAUD_NET_FIELD_LIST = [\n // FI fields\n { id: 'cardCvv', min: 3 },\n { id: 'cardExpiry', min: 7 },\n { id: 'cardNumber', min: 8 },\n\n // Contact information\n { id: 'email', min: 13 },\n { id: 'firstName', min: 5 },\n { id: 'lastName', min: 5 },\n { id: 'phone', min: 10 },\n\n // Address fields\n { id: 'city', min: 5 },\n { id: 'line1', min: 5 },\n { id: 'line2', min: 2 },\n { id: 'postalCode', min: 5 },\n { id: 'state', min: 2 },\n\n // Signup fields\n { id: 'dob', min: 8 },\n { id: 'password', min: 8 },\n] as const;\n\nexport const GEO_REGIONS = ['APAC', 'EMEA', 'LATAM'] as const;\n\nexport const KYC_DOB_NATIONALITY = ['DateOfBirth', 'Nationality'] as const;\n\nexport const KYC_DOB_NATIONALITY_ID = [\n 'DateOfBirth',\n 'Nationality',\n 'IdentityDocumentType',\n 'IdentityDocumentNumber',\n] as const;\n\nexport const MULTI_PRODUCT_SUPPORTED = [CountryCodes.Us];\n\nexport const LOG_PREFIX = /^weasley_/i;\n\nexport const X_APP_NAME = 'checkoutuinodeweb_weasley';\n\nexport const CHECKOUT_SESSION_TYPES = {\n BILLING_WITH_PURCHASE: 'BILLING_WITH_PURCHASE',\n BILLING_WITHOUT_PURCHASE: 'BILLING_WITHOUT_PURCHASE',\n} as const;\n\nexport const USER_ACTIONS = {\n commit: 'COMMIT',\n continue: 'CONTINUE',\n} as const;\n\nexport const REGULATION_E_COUNTRIES = [CountryCodes.Us];\n\nexport const STREAMLINE_COUNTRIES_WITH_CHECKBOX_TERMS = [\n CountryCodes.Il,\n CountryCodes.Kr,\n CountryCodes.Br,\n];\n\nexport const APPLE_PAY_ELIGIBILITY_METRICS = {\n ERROR: 'GUEST_SIGNUP.APPLE_PAY_ELIGIBILITY.ERROR',\n INELIGIBLE: 'GUEST_SIGNUP.APPLE_PAY_INELIGIBLE',\n START: 'GUEST_SIGNUP.APPLE_PAY_ELIGIBILITY.START',\n} as const;\n","import { getGlobals } from '@/lib/globals';\nimport { logger } from '@/lib/logger';\n\n//APP DOWNLOAD BANNER\nexport const HTML_TAG_REG_EXP = /^<[a-z]+ nonce=\".*\">(.+)<\\/[a-z]+>$/;\nexport const APP_DOWNLOAD_CONTAINER_ID = 'app-download-banner';\n\n/**\n * exporting only for testing purpose\n */\nexport const createAppDownloadBannerElement = (\n str: string,\n tagName: string,\n): HTMLElement => {\n const el = document.createElement(tagName);\n\n // `commonutils-client` returns the script and styles as a string. We need\n // to strip the tags from the string so we are only inserting the code.\n el.textContent = str.replace(HTML_TAG_REG_EXP, '$1');\n el.nonce = getGlobals().nonce;\n\n return el;\n};\n\nexport const setDownloadAppBanner = ({\n receiptPageTestId,\n css,\n html,\n js,\n}: {\n receiptPageTestId: string;\n css: string;\n html: string;\n js: string;\n}): void => {\n if (!css || !html || !js) {\n logger.info('app_download_banner_scripts_not_available');\n return;\n }\n\n const receiptPageWPS = document.querySelector(\n `[data-testid=${receiptPageTestId}]`,\n );\n\n if (!receiptPageWPS) {\n logger.info('app_download_banner_insert_failed_interstitial_missing');\n return;\n }\n\n const fragment = document.createDocumentFragment();\n const markupContainer = document.createElement('div');\n markupContainer.innerHTML = html;\n\n const { nonce } = getGlobals();\n const bannerEl = markupContainer.firstElementChild;\n\n if (!bannerEl) {\n logger.info('app_download_banner_invalid_html');\n return;\n }\n\n bannerEl.setAttribute('data-testid', APP_DOWNLOAD_CONTAINER_ID);\n\n const styleEl = createAppDownloadBannerElement(css, 'style');\n const scriptEl = createAppDownloadBannerElement(js, 'script');\n\n styleEl.setAttribute('nonce', nonce);\n scriptEl.setAttribute('nonce', nonce);\n fragment.appendChild(bannerEl);\n fragment.appendChild(styleEl);\n fragment.appendChild(scriptEl);\n\n const interstitialOverlay = receiptPageWPS.firstChild;\n // @ts-expect-error\n interstitialOverlay?.prepend(fragment);\n\n logger.info('app_download_banner_inserted_into_dom');\n};\n","/**\n * Detect if buyers use broswer autocomplete to fill up the form\n *\n * https://github.paypal.com/ConsumerWeb-R/ProgressiveContent/pull/1735\n */\n\nconst browserAutocompleteCallback = (\n e: React.ChangeEvent,\n cb: () => void,\n): void => {\n setTimeout(() => {\n let isBrowserAutoComplete = false;\n try {\n isBrowserAutoComplete = e.target.matches(':-webkit-autofill');\n } catch (err) {\n /* eslint-disable max-len*/\n const mozAutofillFilter =\n /^grayscale\\(.*\\) brightness\\(.*\\) contrast\\(.*\\) invert\\(.*\\) sepia\\(.*\\) saturate\\(.*\\)$/gi;\n /* eslint-enable */\n const compStyle = window.getComputedStyle(e.target);\n if (mozAutofillFilter.test(compStyle.filter)) {\n isBrowserAutoComplete = true;\n }\n }\n\n if (isBrowserAutoComplete) {\n cb?.();\n }\n }, 0);\n};\n\nexport { browserAutocompleteCallback };\n","// External libraries\nimport React from 'react';\nimport Loadable from 'react-loadable';\nimport { isNumber } from '@checkout/react-components';\n\n// Internal modules\nimport { isFunction } from '@/lib/utils/typeUtils';\nimport { fallback } from './redirects';\nimport { logger } from '../logger';\n\nimport { EVENTS, PAGE, triggerInitialCPLEvent } from '@/lib/logger/cplUtils';\n\nconst reportCplOnLazyComponentsLoaded = () => {\n triggerInitialCPLEvent(PAGE.LANDING, EVENTS.LAZY_COMPONENTS_LOADED);\n};\n\n/**\n * @function getLazyLoaderRenderFunction\n * @param {object} options | { fptiTrackName, getComponentName componentName }\n * fptiTrackName: used when tracking name for FPTI page load is different\n * than the component name\n * getComponentName: an optional function that will return the component name\n * componentName: the named export that is to be loaded and rendered\n * @returns {func}\n */\nconst getLazyLoaderRenderFunction = options => {\n const { fptiTrackName, getComponentName, componentName } = options;\n return function render(loaded, props) {\n const exportName = isFunction(getComponentName)\n ? getComponentName()\n : componentName;\n if (!this.isLoaded) {\n this.isLoaded = true;\n logger.fptiTrackPageLoad.handleItemLoaded(fptiTrackName || exportName);\n }\n\n const Component = loaded[exportName];\n if (!Component) {\n logger.error('weasley_component_not_found', { component: exportName });\n }\n\n return ;\n };\n};\n\nconst componentsToBeLoaded = new Set();\nconst setComponentAsLoading = name => componentsToBeLoaded.add(name);\nconst setComponentAsLoaded = name => componentsToBeLoaded.delete(name);\nconst hasLoadedAllComponents = () => componentsToBeLoaded.size < 1;\n\n/**\n * @function lazyLoader\n * @param {object} props | same as object passed to `Loadable()` plus\n * a `name` prop to log the name of the component on an error\n * @returns {func}\n * @description Returns a react-loadable `Loadable` component\n * that will fallback to xoon if a loading error occurs\n */\nconst lazyLoader = ({ loader, loading, name, ...rest }) => {\n const options = {};\n\n if (isFunction(rest.render)) {\n options.render = (loaded, props) => {\n setComponentAsLoaded(name);\n if (hasLoadedAllComponents()) {\n reportCplOnLazyComponentsLoaded();\n }\n return rest.render(loaded, props);\n };\n }\n\n if (isNumber(rest.delay)) {\n options.delay = rest.delay;\n }\n\n if (isNumber(rest.timeout)) {\n options.timeout = rest.timeout;\n }\n\n return Loadable({\n loader,\n loading: props => {\n setComponentAsLoading(name);\n if (props.error) {\n logger.error(`${name}_component_failed_to_load`, props.error);\n fallback({ reason: `${name}_component_failed_to_load` });\n\n // React wants a component returned, otherwise it freaks out...\n return React.createElement('p');\n }\n\n return loading(props);\n },\n ...options,\n });\n};\n\nexport { getLazyLoaderRenderFunction, lazyLoader };\n","// Internal modules\nimport type { GenericObjectType } from '@/types';\nimport { logger } from '../logger';\n\ntype GQLErrorResponse = {\n error: any;\n errorData: any;\n isFiConfirmationContingency: boolean;\n isOasError: boolean;\n isResidentialAddressError: boolean;\n isRiskPhoneConfirmationContingency: boolean;\n message: any;\n};\nconst parseGqlError = (result: GenericObjectType = {}): GQLErrorResponse => {\n /**\n * `result?.response?.errors?.[0]`:\n * `graphql-request` uses an Error object wrapper with the request and\n * response information. In this case `result.response` is the response\n * from the network call.\n * https://github.com/prisma/graphql-request/blob/v1.8.2/src/types.ts#L38\n *\n * `result`:\n * This is used when the we manually throw an error\n *\n * TODO replace this with only using result since we no longer use\n * graphql-request\n */\n const error = result?.response?.errors?.[0] || result;\n const { data, errorData, message = '' } = error;\n\n if (errorData?.length === 1) {\n if (errorData[0] === null || errorData[0] === undefined) {\n errorData.shift();\n }\n }\n\n return {\n error,\n errorData: errorData || data || [],\n isFiConfirmationContingency: message === 'FI_CONFIRMATION_CONTINGENCY',\n isOasError: message === 'OAS_ERROR',\n isResidentialAddressError:\n message === 'RESIDENTIAL_ADDRESS_VALIDATION_ERROR',\n isRiskPhoneConfirmationContingency:\n message === 'RISK_PHONE_CONFIRMATION_TEST',\n message,\n };\n};\n\n/**\n * @function validateGraphQLResponse\n * @param {object} data\n * @param {string} operation\n * @description Checks if the response of a GraphQL call has an error\n * attached to it and if it does an Error is thrown.\n */\nconst validateGraphQLResponse = (\n data: GenericObjectType,\n operation: string,\n errorMessage: string,\n): void => {\n const error = data?.errors?.[0];\n\n if (error) {\n logger.error(`weasley_${operation}_err`, {\n message: error.message,\n });\n throw new Error(errorMessage || error.message);\n }\n\n logger.info(`weasley_${operation}_success`);\n};\n\nexport { parseGqlError, validateGraphQLResponse };\n","// External libraries\nimport { useLayoutEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\n// @ts-expect-error TODO: Type or global ignore react-components\nimport { strictIsFinite } from '@checkout/react-components';\n\nconst calculateCookieBannerHeight = (): number => {\n const cookieBanner = document.querySelector(\n '#cookie-banner-container > div',\n );\n\n // TODO: Add typing or add local strictIsFinite and remove eslint ignore\n return strictIsFinite(cookieBanner?.offsetHeight)\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n cookieBanner!.offsetHeight\n : 0;\n};\n\n/**\n * @returns Pixel height of an element, including vertical padding and borders\n */\nexport const useCookieBannerHeight = (): number => {\n const [calculatedCookieBannerHeight, setCalculatedCookieBannerHeight] =\n useState(calculateCookieBannerHeight());\n\n useLayoutEffect(() => {\n const handleWindowResize = throttle(() => {\n setCalculatedCookieBannerHeight(calculateCookieBannerHeight());\n }, 200);\n window.addEventListener('resize', handleWindowResize);\n\n return () => {\n window.removeEventListener('resize', handleWindowResize);\n };\n }, []);\n\n return calculatedCookieBannerHeight;\n};\n","// Internal modules\nimport { appStore } from '@/store';\nimport { getGlobals } from '../globals';\n\nexport const useCheckInventorySoldout = (): any => {\n const { showSoldoutPage } =\n getGlobals().initialGqlData?.checkoutSession?.cart || {};\n\n if (showSoldoutPage) {\n appStore.getActions().ui.toggleIsInventorySoldOutOpen(true);\n }\n};\n","// External libraries\nimport { useEffect } from 'react';\n\n// Internal modules\nimport { logger } from '../logger';\nimport { isFunction } from '@/lib/utils/typeUtils';\n\nexport const useOnMount = (onMount: () => void): void => {\n if (!isFunction(onMount)) {\n logger.error('on_mount_must_be_a_function');\n }\n\n useEffect(onMount, []);\n};\n","// External libraries\n// @ts-expect-error TODO: Type or global ignore react-components\nimport { isString } from '@checkout/react-components';\n\n// Internal modules\nimport { useOnMount } from './useOnMount';\nimport { logger } from '../logger';\n\nconst COMPONENT_NAME_REGEX = /([a-z])([A-Z])/g;\n\nconst mapNameToSnakeCase = (name: string): string => {\n return isString(name)\n ? name.replace(COMPONENT_NAME_REGEX, '$1_$2').toLowerCase()\n : '';\n};\n\nconst useMountLogging = (componentName: string): void => {\n const component = mapNameToSnakeCase(componentName);\n\n useOnMount(() => {\n logger.info(`weasley_${component}_component_mounted`);\n return () => {\n logger.info(`weasley_${component}_component_unmounted`);\n };\n });\n};\n\nexport { useMountLogging };\n","// External libraries\nimport { useCallback } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\n// Internal modules\nimport { logger } from '../logger';\nimport { getWeasleyEligibility } from '../weasleyEligibility';\nimport { redirectToXoon } from '../utils/redirects';\nimport { getLocale } from '../globals';\nimport { queryInitialData } from '@/components/Locale/Country/shared/graphql/operations';\nimport type { NavigateToBillingPageCallback } from '@/lib/reactHooks/types';\n\nexport const useNavigateToBillingPage = (): NavigateToBillingPageCallback => {\n const { country, language } = getLocale();\n const navigate = useNavigate();\n\n const navigateToBillingPage = useCallback(async ({ reason } = {}) => {\n logger.info(`navigate_to_billing_triggered_${reason}`);\n try {\n const eligibilityResponse = await getWeasleyEligibility();\n\n if (eligibilityResponse?.eligible) {\n // If eligible preload the billing component before making any\n // API calls\n import('@/components/Billing/Billing');\n await queryInitialData({\n countryCode: country,\n // @ts-expect-error type GlobalLocality\n languageCode: language,\n resetStoreOverridesKey: 'landingToBilling',\n });\n logger.info('navigate_to_billing_weasley_eligible');\n // TODO: this for ramp analysis. Can be deleted once\n // VIP page is stable\n // Flush all VIP page logs before loading billing page\n logger.flush();\n navigate({\n pathname: '/checkoutweb/signup',\n search: window.location.search,\n });\n } else {\n logger.info('redirect_to_xoon_weasley_ineligible');\n redirectToXoon({\n params: { fromVIPPage: 'billing' },\n reason: 'billing_ineligible_on_landing_page',\n });\n }\n } catch (error) {\n if (error instanceof Error) {\n const { message, stack } = error;\n logger.warn('redirect_to_xoon_error_on_navigate', { message, stack });\n } else {\n logger.warn('redirect_to_xoon_error_on_navigate');\n }\n redirectToXoon({\n params: { fromVIPPage: 'billing' },\n reason: 'billing_eligibility_check_error_on_landing_page',\n });\n }\n }, []);\n\n return navigateToBillingPage;\n};\n","// External libraries\nimport { useCallback } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\n// Internal modules\nimport { CI } from '../customerInteractions';\nimport { logger } from '../logger';\nimport { getWeasleyEligibility } from '../weasleyEligibility';\nimport type { NavigateToReceiptPageCallback } from '@/lib/reactHooks/types';\n\nexport const useNavigateToReceiptPage = (): NavigateToReceiptPageCallback => {\n const navigate = useNavigate();\n\n const navigateToReceiptPage = useCallback(async () => {\n try {\n const eligibilityResponse = await getWeasleyEligibility();\n\n if (eligibilityResponse?.eligible) {\n logger.info('navigate_to_receipt_triggered');\n navigate({\n pathname: '/checkoutweb/receipt',\n search: window.location.search,\n });\n } else {\n throw new Error('user_not_weasley_eligible');\n }\n } catch (error) {\n CI.fci(CI.ErrorReason.Application);\n if (error instanceof Error) {\n const { message, stack } = error;\n logger.error('redirect_to_receipt_error_on_navigate', {\n message,\n stack,\n });\n } else {\n logger.error('redirect_to_receipt_error_on_navigate');\n }\n throw new Error('redirect_to_receipt_error_on_navigate');\n }\n }, []);\n\n return navigateToReceiptPage;\n};\n","import { OBJECT_AS_STRING } from './constants';\n\nvar isBoolean = b => typeof b === 'boolean';\n\nvar isFunction = f => typeof f === 'function';\n\nvar isNumber = n => typeof n === 'number' && !isNaN(n);\n\nvar isObject = o => OBJECT_AS_STRING.test(Object.prototype.toString.call(o));\n\nvar isString = s => typeof s === 'string';\n\nvar strictIsFinite = n => isNumber(n) && isFinite(n);\n\nvar assertType = (assertion, errorMsg) => {\n if (!assertion) {\n throw new TypeError(errorMsg);\n }\n};\n\nvar assertArray = function assertArray() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n assertType(args.every(Array.isArray), 'Expected an array');\n};\n\nvar assertFunction = function assertFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n assertType(args.every(isFunction), 'Expected a function');\n};\n\nvar assertNumber = function assertNumber() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n assertType(args.every(isNumber), 'Expected a number');\n};\n\nvar assertObject = function assertObject() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n assertType(args.every(isObject), 'Expected an object');\n};\n\nvar assertString = function assertString() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n assertType(args.every(isString), 'Expected a string');\n};\n\nexport { assertArray, assertFunction, assertNumber, assertObject, assertString, assertType, isBoolean, isFunction, isNumber, isObject, isString, strictIsFinite };","export const PASSWORDLESS_SIGNUP_CONTENT_KEYS = Object.freeze({\n COMMIT: Object.freeze({\n DEFAULT: 'buttons.poma.continueAsMemberAndPay',\n EXISTING_MEMBER_ACCOUNT_BASED_CTA_V1: 'buttons.poma.payNowAndCreateAccount',\n }),\n DEFAULT: Object.freeze({\n DEFAULT: 'buttons.poma.continueAsMember',\n EXISTING_MEMBER_ACCOUNT_BASED_CTA_V1:\n 'buttons.poma.continueAndCreateAccount',\n }),\n});\n\n/** freezing features list so its immutable and keys cannot be edited */\nexport const TREATMENTS = Object.freeze({\n FEATURE_CRS_DATA_COLLECTION: 'FEATURE_CRS_DATA_COLLECTION',\n FEATURE_EXPAND_MEMBER_MATCHING_WPS: 'FEATURE_EXPAND_MEMBER_MATCHING_WPS',\n FEATURE_PP_REACT_MOCK_STYLES: 'FEATURE_PP_REACT_MOCK_STYLES',\n FEATURE_SIGNUP_MANDATORY_PHONE_CONFIRMATION:\n 'FEATURE_SIGNUP_MANDATORY_PHONE_CONFIRMATION',\n FEATURE_STOP_ADDRESS_PREFILL: 'FEATURE_STOP_ADDRESS_PREFILL',\n FEATURE_WPS_PASSWORDLESS: 'FEATURE_WPS_PASSWORDLESS',\n});\n\n/* Checkbox ids/names that rely on feature flags*/\nexport const MARKETING_OPT_IN = 'marketingOptIn';\nexport const SIGNUP_AGREE_TO_TERMS = 'signupAgreeToTerms';\nexport const SIGNUP_AGREE_TO_PRIVACY_STATEMENTS =\n 'signupAgreePrivacyStatements';\nexport const UNIQUE_INFORMATION_PROCESSING = 'uniqueInformationProcessing';\nexport const THIRD_PARTY_DATA_CONSENT = 'thirdPartyDataConsent';\n","import { appStore } from '@/store';\nimport { features, logger } from '@/lib';\nimport type { FormState } from '@/store/models/form/types';\n\n/* === Begin Types === */\ntype CrsState = Pick<\n FormState,\n 'crsLegalFirstName' | 'crsLegalLastName' | 'crsTaxDetails' | 'crsTaxStatus'\n>;\n/* === End Types === */\n\nconst getCrsState = (formState: FormState): CrsState => {\n const { crsLegalFirstName, crsLegalLastName, crsTaxStatus, crsTaxDetails } =\n formState;\n return {\n crsLegalFirstName,\n crsLegalLastName,\n crsTaxDetails,\n crsTaxStatus,\n };\n};\n\nconst isEligibleForCRS = (): boolean => {\n const { form: formState } = appStore.getState();\n const { onboardOption } = formState;\n const isSignup = onboardOption.value === 'signup';\n\n return isSignup && features.isActive('shouldShowCRSInterstitial');\n};\n\n/**\n * @function shouldShowCRSInterstitial\n * @description validates if the onboard option is singup,\n * the CRS Treatment is active and that the user hasnt filled this already\n * @returns {Boolean} show or not the interstitial\n */\nconst shouldShowCRSInterstitial = (): boolean => {\n const { form: formState } = appStore.getState();\n const { bypassCRSInterstitial } = formState;\n if (isEligibleForCRS() && !bypassCRSInterstitial) {\n const logMessage = 'display_crs_interstitial';\n logger.info(logMessage);\n const { ui: uiActions } = appStore.getActions();\n uiActions.toggleIsCRSInterstitialOpen(true);\n return true;\n }\n\n return false;\n};\n\nexport { getCrsState, isEligibleForCRS, shouldShowCRSInterstitial };\n","// Internal Modules\nimport { features, getContentHash, getLocale } from '@/lib';\nimport type { CrsFieldResults, DefaultInputState } from '@/store';\nimport { appStore } from '@/store';\nimport type { FormState } from '@/store/models/form/types';\nimport { stringToDateObject } from './miscUtils';\nimport {\n CRS_TAXPAYERID_OPTIONS,\n NO_TAX_ID_REASON_ADD_EXPLANATION,\n PAYS_TAXES_OUTSIDE_COUNTRY,\n} from '@/components/CRSFields/constants';\nimport type { CrsNoTaxpayerIdReasons } from '@/components/CRSFields/utils';\nimport { getCrsNoTaxpayerIdReasons } from '@/components/CRSFields/utils';\nimport type { GenericObjectType } from '@/types';\nimport type { CardPayload } from './types';\nimport { isEligibleForCRS } from './crsUtils';\n// Untyped imports\n// @ts-expect-error untyped-import\nimport { formatExpiryForBackend } from '@checkout/react-components';\nimport type React from 'react';\n\n/* === Begin Types === */\ntype BankPayload = {\n accountNumber?: string;\n routingNumber?: string;\n iban?: string;\n};\ntype CrsTaxDetails = {\n countryCode: string;\n noTaxPayerIdReason: string | React.ReactNode[] | null;\n taxPayerIdValue: string | null;\n};\ntype CrsPayload = {\n firstName?: string;\n lastName?: string;\n subjectToTaxOutsideLegalCountry: boolean;\n taxDetails?: CrsTaxDetails[];\n};\n/* === End Types === */\n\n/**\n * @function getCardPayload\n * @param {object} data Form fields that have been filtered based on the flow\n * @returns {object} Returns the formatted graphql variables payload\n * for card.\n */\nconst getCardPayload = (data: FormState): CardPayload | undefined => {\n const { ui: uiState } = appStore.getState();\n const { fiType } = uiState;\n\n if (fiType !== 'card') {\n return;\n }\n\n const {\n cardCvv: { value: cardCvv } = {},\n cardExpiry: { value: cardExpiry } = {},\n cardNumber: { value: cardNumber, cardType },\n currencyConversionSelection: currencyConversionType,\n cardProductClass: { value: productClass } = {},\n } = data;\n\n return {\n card: {\n cardNumber,\n ...(cardExpiry && { expirationDate: formatExpiryForBackend(cardExpiry) }),\n ...(cardCvv && { securityCode: cardCvv }),\n ...(cardType && { type: cardType }),\n ...(features.isActive('shouldCollectCardProductClass') && {\n productClass,\n }),\n },\n ...(currencyConversionType && { currencyConversionType }),\n };\n};\n\n/**\n * @function getSignupData\n * @param {object} formData\n * @returns {object}\n * @description Serializes the form data that is specific to the signup flow\n */\nconst getSignupData = (\n formData: FormState,\n): Partial & {\n contentIdentifier: string;\n marketingOptOut: boolean;\n} => {\n const {\n marketingOptIn: { value: marketingOptIn },\n } = formData;\n const password = formData?.password?.value as unknown as DefaultInputState;\n const { country, language, locale } = getLocale();\n const contentHash = getContentHash(locale);\n const isPasswordlessUpgrade = features.isActive('isPasswordlessUpgrade');\n\n // Hardcoded value at end identifies the content key that user agreed to\n // prettier-ignore\n const contentIdentifier =\n `${country}:${language}:${contentHash}:compliance.signupTerms`;\n\n // Know Your Customer fields -- different countries require different\n // information to be collected. Examples - DOB, Nationality, Occupation, etc.\n // Filtering out identityDocumentNumber because we can combine the object in\n // the following reduce on identityDocumentType\n const kycFields = features.config.kycFields\n .filter(\n (field: string) =>\n field !== 'IdentityDocumentNumber' &&\n field !== 'SecondaryIdentityDocumentNumber',\n )\n .reduce((accum: GenericObjectType, field: keyof FormState) => {\n const formattedField = (field[0].toLowerCase() +\n field.substring(1)) as keyof FormState;\n switch (formattedField) {\n case 'dateOfBirth': {\n const { value: dobString } =\n formData.dateOfBirth as DefaultInputState;\n const dateObject = stringToDateObject(dobString);\n return {\n ...accum,\n dateOfBirth: dateObject,\n };\n }\n case 'identityDocumentType': {\n const { value: identityDocumentType } =\n formData.identityDocumentType as DefaultInputState;\n const { value: identityDocumentNumber } =\n formData.identityDocumentNumber as DefaultInputState;\n\n return {\n ...accum,\n identityDocument: {\n type: identityDocumentType,\n value: identityDocumentNumber,\n },\n };\n }\n case 'secondaryIdentityDocumentType': {\n // We only send secondaryIdentityDocument if\n // countryOfResidence is Russia\n if (formData.countryOfResidence?.value !== 'RU') {\n break;\n }\n\n const { value: secondaryIdentityDocumentType } =\n formData.secondaryIdentityDocumentType as DefaultInputState;\n const { value: secondaryIdentityDocumentNumber } =\n formData.secondaryIdentityDocumentNumber as DefaultInputState;\n\n return {\n ...accum,\n secondaryIdentityDocument: {\n type: secondaryIdentityDocumentType,\n value: secondaryIdentityDocumentNumber,\n },\n };\n }\n default: {\n return {\n ...accum,\n [formattedField]: (formData[formattedField] as DefaultInputState)\n ?.value,\n };\n }\n }\n }, {}) as Partial;\n\n return {\n contentIdentifier,\n // xobuyer uses `marketingOptOut` because it requires an extra service call\n // after signup to opt out. The client calls it opt in because it's an\n // optional field the user has to explicitly check off.\n marketingOptOut: !marketingOptIn,\n ...(!isPasswordlessUpgrade && {\n password,\n }),\n ...kycFields,\n };\n};\n\n/**\n * @function getBankPayload\n * @param {object} data Form fields that have been filtered based on the flow\n * @returns {object} Returns the formatted graphql variables payload\n * for bank.\n */\nconst getBankPayload = (data: FormState): { bank: BankPayload } | undefined => {\n const { ui: uiState } = appStore.getState();\n const { fiType } = uiState;\n\n if (fiType !== 'bank') {\n return;\n }\n\n const {\n bankAccountNumber,\n bankAccountType: { value: bankAccountType },\n bankIban,\n bankSortCode,\n } = data;\n\n const bankPayload: BankPayload = {};\n if (bankAccountType === 'bank') {\n bankPayload.accountNumber = bankAccountNumber.value;\n bankPayload.routingNumber = bankSortCode.value;\n } else {\n bankPayload.iban = bankIban.value;\n }\n\n return {\n bank: {\n ...bankPayload,\n },\n };\n};\n\n/**\n * Helper function used to get crs tax details\n */\nconst getCrsTaxDetails = ({\n countryCode,\n comment,\n taxPayerIdType,\n taxPayerIdValue,\n noTaxPayerIdReason,\n}: CrsFieldResults): CrsTaxDetails => {\n const crsNoTaxIdReasons = getCrsNoTaxpayerIdReasons();\n\n let taxPayerIdValueResult = null;\n let noTaxPayerIdReasonResult = null;\n\n if (taxPayerIdType.value === CRS_TAXPAYERID_OPTIONS.NO_TAXPAYER_ID) {\n if (noTaxPayerIdReason.value === NO_TAX_ID_REASON_ADD_EXPLANATION) {\n noTaxPayerIdReasonResult = comment.value;\n } else {\n noTaxPayerIdReasonResult =\n crsNoTaxIdReasons[\n noTaxPayerIdReason.value as keyof CrsNoTaxpayerIdReasons\n ];\n }\n } else {\n taxPayerIdValueResult = taxPayerIdValue.value;\n }\n\n return {\n countryCode: countryCode.value,\n noTaxPayerIdReason: noTaxPayerIdReasonResult,\n taxPayerIdValue: taxPayerIdValueResult,\n };\n};\n\n/**\n * @function getCrsPayload\n * @param {object} formState\n * @returns {object}\n * @description Returns the formatted graphql variables payload\n * for crsData.\n */\n\nconst getCrsPayload = (\n formState: FormState,\n): { crsData: CrsPayload | null } => {\n let crsData = null;\n\n if (isEligibleForCRS()) {\n const { crsLegalFirstName, crsLegalLastName, crsTaxStatus, crsTaxDetails } =\n formState;\n\n const subjectToTaxOutsideLegalCountry =\n crsTaxStatus?.value === PAYS_TAXES_OUTSIDE_COUNTRY;\n\n const taxDetails = subjectToTaxOutsideLegalCountry\n ? crsTaxDetails?.value.map(taxDetails => getCrsTaxDetails(taxDetails))\n : [];\n\n crsData = {\n firstName: crsLegalFirstName?.value,\n lastName: crsLegalLastName?.value,\n subjectToTaxOutsideLegalCountry,\n taxDetails,\n };\n }\n\n return {\n crsData,\n };\n};\n\nexport { getBankPayload, getCardPayload, getCrsPayload, getSignupData };\n","export const INVALID_IDENTITY_DOCUMENT_VALUE =\n 'INVALID_IDENTITY_DOCUMENT_VALUE';\nexport const IDENTITY_DOCUMENT_NUMBER = 'identityDocumentNumber';\nexport const SECONDARY_IDENTITY_DOCUMENT_NUMBER =\n 'secondaryIdentityDocumentNumber';\nexport const CRS_TAX_DETAILS = 'crsTaxDetails';\n\nexport const IDENTITY_DOCUMENT_ERROR_CONTENT = {\n crsTaxDetails: 'crs.errors.invalidTaxID.Default',\n identityDocumentNumber: 'fieldErrors.identityDocumentNumberInvalid',\n secondaryIdentityDocumentNumber:\n 'fieldErrors.secondaryIdentityDocumentNumberInvalid',\n} as const;\n","// Internal modules\nimport type { DefaultInputState } from '@/store';\nimport { appStore } from '@/store';\nimport {\n features,\n FIELD_LEVEL_ERRORS,\n getContent,\n getFieldError,\n logger,\n} from '@/lib';\nimport type { FormState } from '@/store/models/form/types';\nimport type { GenericObjectType, ValueOf } from '@/types';\nimport {\n CRS_TAX_DETAILS,\n IDENTITY_DOCUMENT_ERROR_CONTENT,\n IDENTITY_DOCUMENT_NUMBER,\n INVALID_IDENTITY_DOCUMENT_VALUE,\n SECONDARY_IDENTITY_DOCUMENT_NUMBER,\n} from '../graphql/constants';\n\n// Untyped imports\n// @ts-expect-error untyped-import\nimport { capitalizeFirst, hasOwnProp } from '@checkout/react-components';\nimport { ADDRESS_TYPES } from '@/components/Address/constants';\n\n/* === Begin Types === */\ntype StateType = ReturnType;\ntype ActionsType = ReturnType;\n\ntype Errors = {\n formErrors: GenericObjectType;\n errorLogPayload: GenericObjectType;\n};\n\ntype getErrorFieldAndPayloadParams = {\n addressType?: string;\n code: keyof typeof FIELD_LEVEL_ERRORS;\n formState: FormState;\n index: string | number;\n};\n\ntype FieldError = {\n contentKey: string;\n field: string;\n errorCode?: string;\n};\n\n// TODO: Improve typing on this payload\ntype getErrorFieldAndPayloadReturnType = {\n errorFlags?: {\n hasCRSErrors?: boolean;\n hasResidentialAddressErrors?: boolean;\n };\n field: string;\n payload: GenericObjectType;\n};\n\n/* === End Types === */\n\nconst shouldDisplayErrorOnChange = (\n id: string,\n fieldState: ValueOf & { displayError: boolean },\n meta: GenericObjectType,\n): boolean => {\n const { errors, isValid } = meta?.validation || {};\n\n if (isValid || !errors) {\n return false;\n }\n\n const { displayError } = fieldState;\n const {\n api: { allowedCardTypes },\n } = appStore.getState();\n const firstError = errors[0];\n\n /**\n * If the field that is being changed is the card number and we\n * don't have the allowed card types yet, we don't want to\n * display the error when the value hits the max length for certain\n * error codes (invalidType, tooLong, tooShort) because we can't\n * accurately validate those until we have the allowed card types.\n */\n if (\n id === 'cardNumber' &&\n !allowedCardTypes.length &&\n ['invalidType', 'tooShort', 'tooLong'].includes(firstError)\n ) {\n return displayError;\n }\n\n // Wrapping `isMaxLength` in `Boolean()` because it can be `undefined`\n // and I'd like the return value of this function to always be a boolean\n return displayError || Boolean(meta.isMaxLength);\n};\n\n/**\n * @function validateForm\n * @param {object} state\n * @returns {object} Object to merge with form state\n */\n// TODO: Create explicit typing for this\nconst validateForm = (state: Partial): Errors => {\n // Remove checkbox from the form validation\n // DE streamline does not require sepa to be checked\n const hideSepaTermsCheckbox = features.someActive(\n 'isStreamlineOptionalExperience',\n 'isStreamlineForcedExperience',\n );\n\n if (hideSepaTermsCheckbox) {\n delete state.sepaMandate;\n }\n const accum = { errorLogPayload: {}, formErrors: {} };\n const addressFields = /^(billing|shipping|residential)Address$/;\n\n const keys = Object.keys(state) as (keyof FormState)[];\n return keys.reduce((errors: Errors, field) => {\n const isAddressField = addressFields.test(field);\n const fieldState = state[field] as DefaultInputState;\n\n if (hasOwnProp(fieldState, 'isValid') && !fieldState.isValid) {\n const { error, errorCode, isValid, value } = fieldState;\n\n errors.formErrors[field] = {\n displayError: true,\n error: getFieldError({ error, errorCode, field, isValid, value }),\n };\n errors.errorLogPayload[field] = fieldState.errorCode;\n } else if (isAddressField) {\n const { formErrors, errorLogPayload } = validateForm(fieldState);\n const hasErrors = Object.keys(formErrors).length;\n\n if (hasErrors) {\n errors.formErrors[field] = formErrors;\n Object.entries(errorLogPayload).forEach(([fieldName, error]) => {\n const key = `${field}${capitalizeFirst(fieldName)}`;\n errors.errorLogPayload[key] = error;\n });\n }\n }\n\n return errors;\n }, accum);\n};\n\n// TODO: Type sumErrorFlags better\nconst triggerErrorBasedSpecificActions = ({\n actions,\n appState,\n sumErrorFlags = {},\n errors = [],\n}: {\n actions: ActionsType;\n appState?: StateType;\n sumErrorFlags?: GenericObjectType;\n errors?: Record;\n}): void => {\n actions.form.updateBypassCRSInterstitial(false);\n\n const { hasCRSErrors, hasResidentialAddressErrors } = sumErrorFlags;\n if (hasCRSErrors) {\n actions.ui.toggleIsCRSInterstitialOpen(true);\n actions.ui.toggleIsFormSubmitting(true);\n }\n\n if (hasResidentialAddressErrors) {\n // Set if \"Save\" of Residential Address interstitial should submit or not\n // It'll call PayNow or PayLater handlers\n // according to the components it's inside\n if (appState && !appState.ui.isUpgradeInterstitialOpen) {\n actions.form.updateResidentialAddressButtonShouldSubmit(true);\n }\n\n // We only open the Residential Address interstitial when\n // the only error is in the Residential Address\n if (errors.length <= 1) {\n actions.ui.toggleIsResidentialAddressOpen(true);\n }\n }\n};\n\nconst getErrorPayload = (\n field: keyof typeof IDENTITY_DOCUMENT_ERROR_CONTENT,\n index: number,\n) => {\n logger.info(`INVALID_IDENTITY_DOCUMENT_VALUE_${field}_${index}`);\n\n return {\n displayError: true,\n error: getContent(IDENTITY_DOCUMENT_ERROR_CONTENT[field]),\n isValid: field === CRS_TAX_DETAILS ? null : false,\n };\n};\n\n/**\n * @summary: Returns error field and payload for onboardErrorHandler()\n * @description\n * Function responsible for checking if OAS is throwing errors due to\n * invalid identity documents value. We make a reference to the state,\n * because state is unique for every country and we are able to identify\n * which field we need to validate agains the identity document error.\n *\n * @examples\n * If it is RU national ID invalid, the return object will set index to 0\n * If it is RU seconday ID invalid, the return object will set index to 1\n * If any country has national id, secondary id and CRS fields, then\n the order of index value will be 0 for national id, 1 for secondary id,\n and 2 - x will be for CRS fields.\n *\n * @default: if not INVALID_IDENTITY_DOCUMENT_VALUE, default path is for\n * regular fields (eg: First, last name, address, zipcode, etc.)\n */\n\nconst getErrorFieldAndPayload = ({\n addressType,\n code,\n formState,\n index,\n}: getErrorFieldAndPayloadParams): getErrorFieldAndPayloadReturnType => {\n const i = parseInt(index as string);\n // #A CRS INVALID_IDENTITY_DOCUMENT_VALUE\n if (code === INVALID_IDENTITY_DOCUMENT_VALUE) {\n // #1 CRS: IDENTITY_DOCUMENT_NUMBER\n if (formState[IDENTITY_DOCUMENT_NUMBER] && i === 0) {\n return {\n field: IDENTITY_DOCUMENT_NUMBER,\n payload: getErrorPayload(IDENTITY_DOCUMENT_NUMBER, i),\n };\n\n // #2 CRS: SECONDARY_IDENTITY_DOCUMENT_NUMBER\n } else if (formState[SECONDARY_IDENTITY_DOCUMENT_NUMBER] && i === 1) {\n return {\n field: SECONDARY_IDENTITY_DOCUMENT_NUMBER,\n payload: getErrorPayload(SECONDARY_IDENTITY_DOCUMENT_NUMBER, i),\n };\n // #3 CRS: CRS_TAX_DETAILS\n } else if (formState[CRS_TAX_DETAILS]) {\n if (!formState[CRS_TAX_DETAILS]?.value) {\n return {\n errorFlags: { hasCRSErrors: true },\n field: CRS_TAX_DETAILS,\n payload: { value: formState[CRS_TAX_DETAILS]?.value },\n };\n }\n const crsTaxDetails = [...formState.crsTaxDetails.value];\n const taxPayerIdValuePayload = getErrorPayload(CRS_TAX_DETAILS, i);\n crsTaxDetails[i].taxPayerIdValue = {\n ...crsTaxDetails[i].taxPayerIdValue,\n ...taxPayerIdValuePayload,\n };\n\n return {\n errorFlags: { hasCRSErrors: true },\n field: CRS_TAX_DETAILS,\n payload: { value: crsTaxDetails },\n };\n }\n }\n\n // #B Default path for non-crs fields\n const { contentKey, errorCode } = FIELD_LEVEL_ERRORS[code] as FieldError;\n const errorFlags: GenericObjectType = {};\n\n if (addressType && addressType === ADDRESS_TYPES.RESIDENTIAL_ADDRESS) {\n errorFlags.hasResidentialAddressErrors = true;\n }\n\n return {\n field: (FIELD_LEVEL_ERRORS[code] as FieldError)?.field,\n payload: {\n displayError: true,\n error: getContent(contentKey),\n isValid: false,\n ...(errorCode && { errorCode }),\n },\n ...(Object.keys(errorFlags).length && { errorFlags }),\n };\n};\n\nexport {\n getErrorFieldAndPayload,\n shouldDisplayErrorOnChange,\n triggerErrorBasedSpecificActions,\n validateForm,\n};\n","export const UI_STATE_FIELDS_TO_FORM_STATE_MAP = {\n cvv: 'cardCvv',\n dob: 'dateOfBirth',\n expiry: 'cardExpiry',\n} as const;\n","// Internal modules\nimport { appStore } from '@/store';\nimport {\n containsRightOfWithdrawalCheckbox,\n features,\n getLocale,\n getToken,\n isSepaMandateCountry,\n} from '@/lib';\nimport type { FormState } from '@/store/models/form/types';\nimport type { GenericObjectType } from '@/types';\nimport { UI_STATE_FIELDS_TO_FORM_STATE_MAP } from '../constants';\nimport {\n getBankPayload,\n getCardPayload,\n getCrsPayload,\n getSignupData,\n} from './payloadUtils';\nimport { getDialingCode } from './formOperations';\nimport {\n getIsSignupIncentiveOptIn,\n getLegalAgreementsData,\n getPomaFlowData,\n stringToDateObject,\n} from './miscUtils';\nimport {\n getBankState,\n getCardState,\n getCommonFormState,\n getForcedValidCopy,\n getInstallmentTermState,\n} from './formOperations';\nimport {\n filterOutNonApplicableAddressFields,\n getAccountQualityMetaDataFromAddress,\n getAddressMetaKey,\n getShippingAddressFromBillingAddress,\n serializeAddressFields,\n} from './addressOperations';\nimport { validateForm } from './validations';\nimport { getCrsState } from './crsUtils';\nimport {\n type CollectedConsent,\n CollectedConsentName,\n CollectedConsentType,\n type Installments,\n} from '@/generated/graphql';\nimport type { CardPayload } from './types';\nimport {\n MARKETING_OPT_IN,\n SIGNUP_AGREE_TO_PRIVACY_STATEMENTS,\n SIGNUP_AGREE_TO_TERMS,\n THIRD_PARTY_DATA_CONSENT,\n UNIQUE_INFORMATION_PROCESSING,\n} from '@/lib/features/constants';\n\n/**\n * @function serializeFormDataForGuestUpgradeEligible\n * @param {object} data Form fields that have been filtered based on the flow\n * @returns {object} Returns the formatted graphql variables payload,\n * including additions such as token, and formatted card, phone inputs\n */\n// TODO: Link typing to GQL variables payload\nconst serializeFormDataForGuestUpgradeEligible = (\n data: FormState,\n): GenericObjectType => {\n const {\n email: { value: email },\n firstName: { value: firstName },\n lastName: { value: lastName },\n } = data;\n const { billingAddress } = serializeAddressFields(data);\n\n return {\n // leaving getBankPayload functional call commented here for the context.\n // why bank payload is not required?\n // Bank payload is not required now, since germany is an SCA country\n // and SCA feature is not implemented for wps upgrade flows.\n // ...getBankPayload(data),\n ...getCardPayload(data),\n billingAddress,\n country: getLocale().country,\n email: email.trim(),\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n };\n};\n\n/**\n * @function formatInstallmentOption\n * @param {object} data raw installment data fetched from the server\n * @returns {object} Returns the formmated installment option in\n * InstallmentsInput type\n */\nconst formatInstallmentOption = (data: Installments): GenericObjectType => {\n const { discount, monthlyPayment, term, totalCost } = data;\n // discount fields do not always exist, default to 0\n // other fields should always exist\n const discountValue = discount?.amount?.currencyValue || '0';\n const discountPercentage = discount?.percentage || '0';\n const { currencyCode: paymentCurrency, currencyValue: paymentValue } =\n monthlyPayment;\n const { currencyCode: totalCostCurrency, currencyValue: totalCostValue } =\n totalCost;\n\n return {\n selectedInstallmentOption: {\n discountCurrency: paymentCurrency,\n discountPercentage: discountPercentage,\n discountValue: discountValue,\n paymentCurrency,\n paymentValue,\n term,\n totalCostCurrency,\n totalCostValue,\n },\n };\n};\n\n/**\n * @function getCollectedConsents\n * @param {object} data Form fields that have been filtered based on the flow\n * @returns {array} An array containing consents collected from the user during a sign up flow\n */\nconst getCollectedConsents = (\n data: FormState,\n): CollectedConsent[] | undefined => {\n const collectedConsents: CollectedConsent[] = [];\n\n /**\n * Temporarily feature flagging this change to the signUpNewMember mutation until\n * OAS is ready to consume \"Collected consent\" data. This is done so that we can enable\n * \"collected consents\" using ELMO once OAS is ready without waiting on a series of dependent\n * releases.\n *\n * TODO: Remove reliance on this feature flag and make it the default behavior\n * for signUpNewMember mutation after ramping to 100%.\n */\n if (!features.isActive('hasThirdPartyDataConsentCheckbox')) {\n return undefined;\n }\n\n // User accepted the \"Privacy statement\" checkbox\n // src/components/SignupFields/LegalDisclosures/PrivacyStatement\n if (data[SIGNUP_AGREE_TO_PRIVACY_STATEMENTS]?.value) {\n collectedConsents.push({\n consentName: CollectedConsentName.PrivacyStatementAgreement,\n consentType: CollectedConsentType.FullConsent,\n });\n }\n\n // User accepted the \"Third party data sharing\" checkbox\n // src/components/SignupFields/LegalDisclosures/ThirdPartyDataConsent\n if (data[THIRD_PARTY_DATA_CONSENT]?.value) {\n collectedConsents.push({\n consentName:\n CollectedConsentName.PrivacyStatementThirdPartyDataSharingAgreement,\n consentType: CollectedConsentType.FullConsent,\n });\n }\n\n // User accepted the \"Unique information processing\" checkbox\n // src/components/SignupFields/LegalDisclosures/UniqueInformationProcessing\n if (data[UNIQUE_INFORMATION_PROCESSING]?.value) {\n collectedConsents.push({\n consentName:\n CollectedConsentName.PrivacyStatementUniqueIdentificationInformationProcessingAgreement,\n consentType: CollectedConsentType.FullConsent,\n });\n }\n\n return collectedConsents;\n};\n\n/**\n * @function serializeFormData\n * @param {object} data Form fields that have been filtered based on the flow\n * @returns {object} Returns the formatted graphql variables payload,\n * including additions such as token, and formatted card, phone inputs\n */\n// TODO: Improve typing on this function\nconst serializeFormData = (data: FormState): GenericObjectType => {\n const { ui: uiState, form: formState } = appStore.getState();\n const {\n api: { installmentData },\n } = appStore.getState();\n const { value: onboardOption } = data.onboardOption;\n const isPayLater = uiState.fiType === 'bnpl';\n const isSignup = onboardOption === 'signup';\n const isPOMAEligible = features.isActive('isPOMAEligible');\n const isPasswordlessForcedSignup = features.isActive(\n 'passwordlessForcedSignup',\n );\n const isStreamlinePasswordlessForcedSignup =\n features.isActive('isStreamlineForcedExperience') &&\n isPasswordlessForcedSignup;\n\n const isPasswordlessOptionalSignup = features.isActive(\n 'passwordlessOptionalSignup',\n );\n const isStreamlinePasswordlessOptionalSignup =\n features.isActive('isStreamlineOptionalExperience') &&\n isPasswordlessOptionalSignup;\n\n const isPOMAFlow =\n (isPOMAEligible || isPasswordlessForcedSignup) &&\n isSignup &&\n !isPayLater &&\n !isStreamlinePasswordlessForcedSignup &&\n !isStreamlinePasswordlessOptionalSignup;\n\n const dialingCode = getDialingCode(data);\n\n const {\n email: { value: email },\n firstName: { value: firstName },\n lastName: { value: lastName },\n phone: { value: number },\n phoneType: { value: phoneType },\n } = data;\n\n const installment = installmentData.find(\n ({ term }) => term === data?.installmentTerm?.value,\n ) as Installments;\n\n const {\n shareAddressWithDonatee: { value: shareAddressWithDonatee },\n } = formState;\n\n return {\n ...getBankPayload(data),\n ...getCardPayload(data),\n country: getLocale().country,\n ...(uiState.cardFieldsToDisplay.dob && {\n dateOfBirth: stringToDateObject(data.dateOfBirth?.value || ''),\n }),\n email: email.trim(),\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n phone: {\n countryCode: `${dialingCode}`,\n number,\n type: phoneType,\n },\n ...(installment && formatInstallmentOption(installment)),\n ...(features.isActive('isDonation') && {\n shareAddressWithDonatee:\n shareAddressWithDonatee && features.isActive('isDonation'),\n }),\n ...(features.isActive('isExpandedStretchRewards') && {\n isSignupIncentiveOptInStretch: true,\n }),\n supportedThreeDsExperiences: [features.get('threeDsV1Experience')],\n token: getToken(),\n ...serializeAddressFields(data),\n ...(!isPOMAFlow && isSignup && getSignupData(data)),\n ...(isPOMAFlow && getPomaFlowData()),\n ...getCrsPayload(data),\n ...(isSignup && getLegalAgreementsData()),\n ...getIsSignupIncentiveOptIn(data),\n collectedConsents: getCollectedConsents(data),\n };\n};\n\n/**\n * @function serializeOnboardingPlanData\n * @param {object} state\n * @returns {object} returns the formatted graphql payload.\n */\n// TODO: Create explicit type for GQL Payload\nconst serializeOnboardingPlanData = (data: FormState): GenericObjectType => {\n const { api: apiState } = appStore.getState();\n const { cupOtpfundingInstrumentId, cupOtpEncryptedCardLoginAccountNumber } =\n apiState;\n const {\n card: { securityCode: cardCvv },\n currencyConversionType,\n } = getCardPayload(data) as CardPayload;\n const { shippingAddress } = serializeAddressFields(data);\n const token = getToken();\n const { onboardOption } = data;\n // @ts-expect-error Type FilteredFormState\n const isGuest = onboardOption === 'guest';\n const userType = isGuest ? 'GUEST' : 'SIGN_UP';\n\n return {\n ...(cupOtpEncryptedCardLoginAccountNumber && {\n encryptedCardLoginAccountNumber: cupOtpEncryptedCardLoginAccountNumber,\n }),\n ...(currencyConversionType && { currencyConversionType }),\n cvv: cardCvv,\n fundingInstrumentId: cupOtpfundingInstrumentId,\n shippingAddress,\n supportedThreeDsExperiences: [features.get('threeDsV1Experience')],\n token,\n userType,\n };\n};\n\n/**\n * @function filterFormState\n * @param {object} formState\n * @returns {object}\n * @description filters address fields out of the form state that\n * shouldn't be validated or submitted because they don't apply to\n * either the flow (isAddressless, !isAllowChangeShipping) or the country\n * (e.g. no postal code for HK)\n */\n// TODO: Create a type for filtered form state\nconst filterFormState = (formState: FormState): GenericObjectType => {\n const {\n billingAddress,\n firstName,\n lastName,\n residentialAddress,\n shippingAddress,\n phone,\n } = formState;\n const { ui: uiState } = appStore.getState();\n const filteredFormState: GenericObjectType = {\n ...getCommonFormState(formState),\n ...getBankState(formState),\n ...getCardState(formState),\n ...getInstallmentTermState(formState),\n billingAddress: {\n ...filterOutNonApplicableAddressFields(\n billingAddress,\n getAddressMetaKey(),\n ),\n accountQuality: {\n ...getAccountQualityMetaDataFromAddress(billingAddress).accountQuality,\n // SCA phone confimration otp code\n twoFactorPhoneVerificationId: phone.meta?.verificationId,\n },\n },\n shippingAddress: {\n country: shippingAddress.country,\n firstName: shippingAddress.firstName,\n lastName: shippingAddress.lastName,\n ...filterOutNonApplicableAddressFields(\n shippingAddress,\n getAddressMetaKey(shippingAddress.country.value),\n ),\n ...getAccountQualityMetaDataFromAddress(shippingAddress),\n },\n ...(residentialAddress\n ? {\n residentialAddress: {\n ...filterOutNonApplicableAddressFields(\n residentialAddress,\n getAddressMetaKey(),\n ),\n },\n }\n : {}),\n ...getCrsState(formState),\n // DTOPPOR-852: Adding for delayed signup incentives\n ...getIsSignupIncentiveOptIn(formState),\n };\n\n const { fiType } = uiState;\n // Do not update cardFieldsToDisplay for bank fiType.\n if (fiType === 'card') {\n // Add or remove the fields into filteredFormState based on\n // fields displayed with card - uiState.cardFieldsToDisplay\n const keys = Object.keys(\n uiState.cardFieldsToDisplay,\n ) as (keyof typeof UI_STATE_FIELDS_TO_FORM_STATE_MAP)[];\n keys.forEach(key => {\n const formStateField = UI_STATE_FIELDS_TO_FORM_STATE_MAP[key];\n if (!uiState.cardFieldsToDisplay[key] && formStateField) {\n if (filteredFormState[formStateField]) {\n delete filteredFormState[formStateField];\n }\n } else if (uiState.cardFieldsToDisplay[key] && formStateField) {\n // DOB is displayed with card fields even for guest when card type\n // is Carte Aurore, Cofinoga ou privilege, 4 etoiles\n filteredFormState[formStateField] = formState[formStateField];\n }\n });\n }\n const isOptionalSignup = features.isActive('isOptionalSignup');\n const isPasswordlessOptionalSignup = features.isActive(\n 'passwordlessOptionalSignup',\n );\n const isPOMAEligible = features.isActive('isPOMAEligible');\n const isPasswordlessForcedSignup = features.isActive(\n 'passwordlessForcedSignup',\n );\n const isStreamlinePasswordlessForcedSignup =\n features.isActive('isStreamlineForcedExperience') &&\n isPasswordlessForcedSignup;\n\n const isStreamlinePasswordlessOptionalSignup =\n features.isActive('isStreamlineOptionalExperience') &&\n isPasswordlessOptionalSignup;\n\n // Feature that gets Elmo treatment to render Primary residential address\n const isPrimaryResidentialAddressRequested = features.isActive(\n 'hasPrimaryResidentialAddress',\n );\n\n const onboardOption = formState.onboardOption.value;\n const isSignup = onboardOption === 'signup';\n const isPayLater = fiType === 'bnpl';\n const isPOMAFlow =\n (isPOMAEligible || isPasswordlessForcedSignup) &&\n isSignup &&\n !isPayLater &&\n !isStreamlinePasswordlessForcedSignup &&\n !isStreamlinePasswordlessOptionalSignup;\n if (isOptionalSignup && onboardOption === 'guest') {\n // if optional signup and onboard option selected is guest\n filteredFormState.guestAgreeToTerms = formState.guestAgreeToTerms;\n } else if (isSignup && !isPOMAFlow) {\n // forced sign up or onboard option is signup, but not POMA\n if (\n !isStreamlinePasswordlessForcedSignup &&\n !isStreamlinePasswordlessOptionalSignup\n ) {\n // don't set password for streamline passwordless flow\n filteredFormState.password = formState.password;\n }\n filteredFormState[SIGNUP_AGREE_TO_TERMS] = formState[SIGNUP_AGREE_TO_TERMS];\n filteredFormState[MARKETING_OPT_IN] = formState[MARKETING_OPT_IN];\n\n if (features.isActive('hasPrivacyStatementTerms')) {\n filteredFormState[SIGNUP_AGREE_TO_PRIVACY_STATEMENTS] =\n formState[SIGNUP_AGREE_TO_PRIVACY_STATEMENTS];\n }\n\n if (features.isActive('hasUniqueInformationProcessingCheckbox')) {\n filteredFormState[UNIQUE_INFORMATION_PROCESSING] =\n formState[UNIQUE_INFORMATION_PROCESSING];\n }\n\n if (features.isActive('hasThirdPartyDataConsentCheckbox')) {\n filteredFormState[THIRD_PARTY_DATA_CONSENT] =\n formState[THIRD_PARTY_DATA_CONSENT];\n }\n\n // adding the kyc fields\n const kycFields = features.config.kycFields;\n kycFields.forEach((field: string) => {\n // We only add secondaryIdentityDocument if\n // countryOfResidence is Russia\n if (\n (field === 'SecondaryIdentityDocumentNumber' ||\n field === 'SecondaryIdentityDocumentType') &&\n formState.countryOfResidence?.value !== 'RU'\n ) {\n return;\n }\n const formattedField = (field[0].toLowerCase() +\n field.substring(1)) as keyof FormState;\n filteredFormState[formattedField] = formState[formattedField];\n });\n }\n\n if (!isPrimaryResidentialAddressRequested || !isSignup) {\n delete filteredFormState.residentialAddress;\n }\n\n /**\n * FEATURE_SIGNUP_RIGHT_OF_WITHDRAW controls the Right of Withdrawal.\n * If in TREATMENT_2 we show the checkbox.\n * It's just for signups.\n */\n if (containsRightOfWithdrawalCheckbox(onboardOption)) {\n filteredFormState.rightOfWithdrawal = formState.rightOfWithdrawal;\n }\n\n const hasSepaMandate = isSepaMandateCountry();\n const isBankFiType = uiState.fiType === 'bank';\n\n if (hasSepaMandate && isBankFiType) {\n filteredFormState.sepaMandate = formState.sepaMandate;\n }\n\n const { api: apiState } = appStore.getState();\n const { hasPrefillAddress } = apiState.prefillAddressMetadata;\n const isAddressless = features.isActive('isAddressless');\n if (isAddressless) {\n // Since we aren't showing the address fields we delete the\n // billing address from the form state\n delete filteredFormState.billingAddress;\n\n // If we were not sent a shipping address from the merchant\n // then we delete the shipping address from the form state\n if (!hasPrefillAddress) {\n delete filteredFormState.shippingAddress;\n } else {\n // Since the shipping address fields are not displayed the user will not\n // be able to fix any errors, so we set the validity to valid\n filteredFormState.shippingAddress = getForcedValidCopy(\n filteredFormState.shippingAddress,\n );\n }\n\n if (filteredFormState.residentialAddress) {\n delete filteredFormState.residentialAddress;\n }\n\n return filteredFormState;\n }\n\n const isAllowChangeShipping = features.isActive('isAllowChangeShipping');\n if (!isAllowChangeShipping) {\n if (hasPrefillAddress) {\n const { shippingAddress } = filteredFormState;\n\n return {\n ...filteredFormState,\n shippingAddress: {\n // Since the shipping address fields are not displayed the user will\n // not be able to fix any errors, so we set the validity to valid\n ...getForcedValidCopy(shippingAddress),\n firstName: {\n value: shippingAddress.value || firstName.value,\n },\n lastName: {\n value: shippingAddress.value || lastName.value,\n },\n },\n };\n }\n\n return {\n ...filteredFormState,\n shippingAddress: getShippingAddressFromBillingAddress({\n billingAddress: filteredFormState.billingAddress,\n firstName,\n lastName,\n }),\n };\n }\n\n // If we are shipping to the billing address we need to copy its values\n // over to the shippingAddress state field.\n const { value: shipToBilling } = formState.shipToBilling;\n if (shipToBilling) {\n return {\n ...filteredFormState,\n shippingAddress: getShippingAddressFromBillingAddress({\n billingAddress: filteredFormState.billingAddress,\n firstName,\n lastName,\n }),\n };\n }\n\n return filteredFormState;\n};\n\n/**\n * @function triggerMemberBenefitsTrueGuestsInterstitial\n * @description Prompts the user with a True Guests Interstitial\n * @returns {Boolean}\n */\n// This function is in this file to prevent a circular dependency\nconst triggerMemberBenefitsTrueGuestsInterstitial = (): boolean => {\n const isStreamlineOptionalExperience = features.isActive(\n 'isStreamlineOptionalExperience',\n );\n const shouldShowOptionalUpsellHalfSheet = features.hasFeature(\n 'shouldShowOptionalUpsellHalfSheet',\n );\n const isUserExists = appStore.getState().api.isExistingAccount;\n const isPomaButtonFlow = features.isActive('isPOMAEligible');\n const { form: formState } = appStore.getState();\n const {\n ui: {\n isMemberBenefitsTrueGuestsInterstitialOpen,\n isMemberBenefitsTrueGuestsInterstitialReject,\n fiType,\n },\n } = appStore.getState();\n\n const onboardOptionValue = formState.onboardOption.value;\n const filteredFormState = filterFormState(formState);\n const { formErrors } = validateForm(filteredFormState);\n const fieldsWithErrors = Object.entries(formErrors);\n\n const isBNPL = features.get('bnplExperience') && fiType === 'bnpl';\n\n if (\n (!fieldsWithErrors || !isMemberBenefitsTrueGuestsInterstitialOpen) &&\n !isMemberBenefitsTrueGuestsInterstitialReject &&\n onboardOptionValue === 'guest' &&\n shouldShowOptionalUpsellHalfSheet &&\n !isUserExists &&\n (isPomaButtonFlow || isStreamlineOptionalExperience) &&\n !isBNPL\n ) {\n return true;\n }\n return false;\n};\n\nexport {\n filterFormState,\n formatInstallmentOption,\n serializeFormData,\n serializeFormDataForGuestUpgradeEligible,\n serializeOnboardingPlanData,\n triggerMemberBenefitsTrueGuestsInterstitial,\n};\n","import { appStore } from '@/store';\nimport { features } from '@/lib';\n\n/**\n * @function shouldShowSCAPhoneConfirmationInterstitial\n * @description Opens the SCA Phone Confirmation Interstitial and\n * returns true if: SCA Phone Confirmation is required in the user\n * country AND the user is a guest signing up for a member account\n * AND we have not already confirmed the phone AND no phone confirmation\n * alert type has been set. Otherwise, returns false.\n * @returns {Boolean} show or do not show interstitial\n */\nconst shouldShowSCAPhoneConfirmationInterstitial = (): boolean => {\n const { form: formState } = appStore.getState();\n const { ui: uiActions } = appStore.getActions();\n\n if (features.isActive('shouldShowSCAPhoneConfirmation')) {\n const isSignup = formState.onboardOption.value === 'signup';\n const phoneConfirmationAlertType =\n appStore.getState().ui.phoneConfirmationAlertType;\n if (\n isSignup &&\n !formState.phone.meta?.isConfirmed &&\n !phoneConfirmationAlertType\n ) {\n uiActions.toggleIsFormSubmitting(false);\n uiActions.toggleIsPhoneConfirmationOpen(true);\n return true;\n }\n }\n\n return false;\n};\n\nexport { shouldShowSCAPhoneConfirmationInterstitial };\n","/* eslint-disable max-len */\n/**\n * @function isFunction\n * @param {*} f\n * @returns {boolean}\n */\n// eslint-disable-next-line @typescript-eslint/ban-types, @typescript-eslint/explicit-module-boundary-types\nconst isFunction = (f: any): f is Function => typeof f === 'function';\n\nexport { isFunction };\n","// External libraries\nimport { defaultDataIdFromObject, InMemoryCache } from 'apollo-cache-inmemory';\n\nexport const cache = new InMemoryCache({\n dataIdFromObject: object => {\n if (object.__typename === 'CheckoutSession') {\n return object.__typename;\n }\n return defaultDataIdFromObject(object);\n },\n});\n","// External libraries\nimport { ApolloLink, Observable } from 'apollo-link';\nimport type { ErrorResponse } from 'apollo-link-error';\nimport { onError } from 'apollo-link-error';\n\n// Internal libraries\nimport { setAccessToken } from '@/lib/globals';\nimport {\n getAccessTokenType,\n isAccountCreationMutation,\n isAccountUpdateMutation,\n} from '../utils';\nimport { OPERATION_NAME_TO_RESPONSE_KEY_MAP } from '../constants';\n\nconst link = new ApolloLink((operation, forward) => {\n const { operationName } = operation;\n\n return new Observable(observer => {\n const subscription = forward(operation).subscribe({\n complete: observer.complete.bind(observer),\n error: observer.error.bind(observer),\n next: response => {\n const isAccountCreation = isAccountCreationMutation(operationName);\n const isAccountUpdate = isAccountUpdateMutation(operationName);\n\n // Set the access token in the case of a successful account creation\n if (isAccountCreation || isAccountUpdate) {\n const responseObjectKey =\n // @ts-expect-error operationName doesnt need to be in the map\n OPERATION_NAME_TO_RESPONSE_KEY_MAP[operationName];\n const buyer = response?.data?.[responseObjectKey]?.buyer;\n\n if (buyer?.auth?.accessToken) {\n setAccessToken({\n type: getAccessTokenType(operationName),\n value: buyer.auth.accessToken,\n });\n }\n }\n\n observer.next(response);\n },\n });\n\n return () => subscription?.unsubscribe?.();\n });\n});\n\n/**\n * In the case of a post-account creation error on the SignUpNewMemberMutation\n * we need to set the access token since an account was created and the user\n * will not be able to re-submit the form. Instead we will use the access token\n * to drop a login cookie and then redirect the user to the member flow.\n */\nconst errorLink = onError(({ graphQLErrors, operation }: ErrorResponse) => {\n const { operationName } = operation;\n // @ts-expect-error TODO check that we are not using the empty object\n const { errorData } = graphQLErrors?.[0] || {};\n\n // If the error occurred after successful account creation,\n // set the access token.\n if (isAccountCreationMutation(operationName) && errorData?.accessToken) {\n setAccessToken({\n type: getAccessTokenType(operationName),\n value: errorData.accessToken,\n });\n }\n});\n\nexport const authLink = link.concat(errorLink);\n","// External libraries\nimport { ApolloLink, Observable } from 'apollo-link';\nimport type { ErrorResponse } from 'apollo-link-error';\nimport { onError } from 'apollo-link-error';\n\n// Internal modules\nimport { logger } from '@/lib/logger';\nimport { camelToSnakeCase } from '@/lib/utils';\nimport {\n getApiCorrelationId,\n handleGraphQLErrors,\n handleNetworkError,\n} from '../utils';\nimport { CI } from '@/lib/customerInteractions';\n\n// This link is for logging the result of the API call to CAL and FPTI.\n// Those logs are used for debugging, analytics, and populating\n// monitoring dashboards.\nconst link = new ApolloLink((operation, forward) => {\n const operationName = camelToSnakeCase(operation.operationName);\n logger.info(`api_request_${operationName}`);\n\n return new Observable(observer => {\n const subscription = forward(operation).subscribe({\n complete: observer.complete.bind(observer),\n error: observer.error.bind(observer),\n next: response => {\n // Errors from user input will be logged from the `errorLink` that is\n // defined below and concatenated with this link. We need this check\n // because this block of code will be run when there are non-network\n // errors returned in the API response.\n const { errors } = response;\n const hasError = Array.isArray(errors) && Boolean(errors.length);\n if (!hasError) {\n logger.info(`api_response_status_200_${operationName}`, {\n apiCorrelationId: getApiCorrelationId({ response }),\n });\n }\n\n observer.next(response);\n },\n });\n\n return () => subscription?.unsubscribe?.();\n });\n});\n\nexport const errorLink = onError((data: ErrorResponse): void => {\n const { graphQLErrors, networkError, operation, response } = data;\n const operationName = camelToSnakeCase(operation.operationName);\n const apiCorrelationId = getApiCorrelationId({ networkError, response });\n\n // Set current interaction to FCI if there was a failure\n const hasFailure = graphQLErrors?.some(\n errorData => errorData.extensions?.class === 'FAILURE',\n );\n if (hasFailure) {\n CI.fci(CI.ErrorReason.Server);\n }\n\n /**\n * From https://www.apollographql.com/docs/react/data/error-handling/#graphql-errors\n * \"These are errors related to the server-side execution of a GraphQL operation. They include:\n * - Syntax errors (e.g., a query was malformed)\n * - Validation errors (e.g., a query included a schema field that doesn't exist)\n * - Resolver errors (e.g., an error occurred while attempting to populate a query field)\"\n */\n handleGraphQLErrors({ apiCorrelationId, graphQLErrors, operationName });\n /**\n * From https://www.apollographql.com/docs/react/data/error-handling/#network-errors\n * \"These are errors encountered while attempting to communicate with your GraphQL server,\n * usually resulting in a 4xx or 5xx response status code (and no data).\"\n */\n handleNetworkError({ apiCorrelationId, networkError, operationName });\n});\n\nexport const loggerLink = link.concat(errorLink);\n","// External libraries\nimport { ApolloLink } from 'apollo-link';\nimport { createHttpLink } from 'apollo-link-http';\nimport { BatchHttpLink } from 'apollo-link-batch-http';\n// @ts-expect-error untyped-import\nimport { isString } from '@checkout/react-components';\n\n// Internal modules\nimport { getClientMetadataID } from '@/lib/utils';\nimport { getAccessToken, getGlobals, getLocale, getToken } from '@/lib/globals';\nimport { X_APP_NAME } from '@/lib/constants';\nimport type { GenericObjectType } from '@/types';\n\n// Static headers - these will not change during the course of the transaction\nconst BASE_HEADERS = {\n 'paypal-client-context': getToken(),\n 'paypal-client-metadata-id': getClientMetadataID(),\n 'x-app-name': X_APP_NAME,\n};\n\n// Replacing the trailing `/` so that the `graphql?`\n// will be shown in the network tab instead of just ``\nconst BASE_URI = getGlobals().uri?.queryEndpoint?.replace(/\\/$/, '');\nconst getDescriptiveUri = ({\n isBatchedQuery,\n operationName,\n uri,\n}: {\n isBatchedQuery: boolean;\n operationName: string;\n uri: string;\n}) => {\n if (isBatchedQuery) {\n return `${BASE_URI}?BatchedQuery`;\n }\n\n return isString(uri) ? uri : `${BASE_URI}?${operationName}`;\n};\n\n// This link will dynamically set headers that may change during the\n// course of the transaction. (e.g. locale headers, auth headers, etc.)\n// It will also append the operation name as a query param to the URI so\n// the entry in the network tab of the dev tools is easily identifiable.\nconst httpContextLink = new ApolloLink((operation, forward) => {\n const { country, locale } = getLocale();\n const { value: accessToken } = getAccessToken();\n const { operationName } = operation;\n\n operation.setContext(\n ({\n isBatchedQuery,\n headers,\n uri,\n }: {\n isBatchedQuery: boolean;\n headers: GenericObjectType;\n uri: string;\n }) => ({\n headers: {\n ...BASE_HEADERS,\n\n // Headers passed as part of the context for the query/mutation\n ...headers,\n\n // Conditionally set auth token\n ...(accessToken && { 'x-paypal-internal-euat': accessToken }),\n\n // Used by xobuyernodeserv for locale resolution\n 'x-country': country,\n 'x-locale': locale,\n },\n\n // e.g. `https://www.paypal.com/graphql?SomeQuery`\n uri: getDescriptiveUri({ isBatchedQuery, operationName, uri }),\n }),\n );\n\n return forward(operation);\n});\n\nconst baseHttpLink = createHttpLink({\n credentials: 'include',\n uri: BASE_URI,\n});\n\nconst batchHttpLink = new BatchHttpLink({\n credentials: 'include',\n uri: BASE_URI,\n});\n\nexport const httpLink = httpContextLink.split(\n operation => !operation.getContext().isBatchedQuery,\n baseHttpLink,\n batchHttpLink,\n);\n","// External libraries\nimport { RetryLink } from 'apollo-link-retry';\nimport type { RetryFunction } from 'apollo-link-retry/lib/retryFunction';\n// @ts-expect-error untyped-import\nimport { strictIsFinite } from '@checkout/react-components';\n\n// Internal modules\nimport { logger } from '@/lib/logger';\nimport { camelToSnakeCase } from '@/lib/utils';\nimport { getApiCorrelationId } from '../utils';\nimport { hasExactTreatment } from '@/lib/features/utils';\n\n/**\n * Mutations and queries in this set are not allowed to be retried\n *\n * SignUpNewMember & CreateMemberAccount:\n * Retries on these mutations can cause ACCOUNT_ALREADY_EXISTS\n * errors if the OAS call already succeeded or if it is in-flight\n * and the error is due to an OAS socket timeout.\n */\nconst RETRY_OPERATION_BLOCKLIST = new Set([\n 'SignUpNewMemberMutation',\n 'CreateMemberAccountMutation',\n]);\n\nconst MAX_ATTEMPTS = 3;\n\nconst isOperationInBlocklist = ({\n operationName,\n}: {\n operationName: string;\n}) => {\n return RETRY_OPERATION_BLOCKLIST.has(operationName);\n};\n\nexport const attempts: RetryFunction = (count, operation, error) => {\n // Certain operations are blocked from being retried\n const operationName = camelToSnakeCase(operation.operationName);\n const isOperationRetryBlocked = isOperationInBlocklist(operation);\n const { skipRetries = false, maxAttempts } = operation.getContext();\n const { statusCode } = error;\n\n const has400RangeStatusCode =\n typeof statusCode === 'number' && statusCode < 500;\n\n const isRetryDisabled = getIsRetryDisabled();\n\n if (\n isRetryDisabled ||\n isOperationRetryBlocked ||\n skipRetries ||\n has400RangeStatusCode\n ) {\n logger.info(`${operationName}_skip_retry`, {\n isOperationRetryBlocked,\n skipRetries,\n statusCode,\n });\n return false;\n }\n\n const max = strictIsFinite(maxAttempts) ? maxAttempts : MAX_ATTEMPTS;\n logger.info(`retry_${operationName}_after_attempt_${count}_failed`, {\n apiCorrelationId: getApiCorrelationId({ networkError: error }),\n attemptsRemaining: max - count,\n error: error.message,\n });\n\n return count < max;\n};\n\nexport const retryLink = new RetryLink({\n attempts,\n});\n\nfunction getIsRetryDisabled() {\n return hasExactTreatment({\n feature: 'weasley_request_retry_enabled',\n treatment: 'Trmt_weasley_request_retry_disabled',\n });\n}\n","// External libraries\nimport { ApolloClient } from 'apollo-client';\n\n// Internal modules\nimport { cache } from './cache';\nimport { getLinks } from './links';\nimport { requestFactoryMutate, requestFactoryQuery } from './utils';\nimport { getGlobals, getLocale, getToken } from '../globals';\n// @ts-expect-error untyped-import\nimport INITIAL_DATA_QUERY from '@/initialDataQuery.graphql';\n\nexport const apolloClient = new ApolloClient({\n cache,\n link: getLinks(),\n queryDeduplication: true,\n resolvers: {},\n});\n\n// Seed the cache with the initial data query from the server\nconst { country: countryCode, language: languageCode } = getLocale();\nconst { fundingSource } = window.xprops || {};\nconst { device, initialGqlData, isBasl } = getGlobals();\n\napolloClient.writeQuery({\n data: initialGqlData,\n query: INITIAL_DATA_QUERY,\n variables: {\n channel: device.channel,\n countryCode,\n countryCodeAsString: countryCode,\n fundingSource,\n isBasl,\n isBaslAsString: `${isBasl}`,\n languageCode,\n token: getToken(),\n },\n});\n\nexport const apolloMutation = requestFactoryMutate(apolloClient);\n\nexport const apolloQuery = requestFactoryQuery(apolloClient);\n","// External libraries\nimport { ApolloLink } from 'apollo-link';\n\n// Internal modules\nimport { authLink } from './authLink';\nimport { loggerLink } from './loggerLink';\nimport { httpLink } from './httpLink';\nimport { retryLink } from './retryLink';\n\nexport const getLinks = (): ApolloLink => {\n return ApolloLink.from([\n loggerLink,\n authLink,\n retryLink,\n httpLink, // Terminating link\n ]);\n};\n","import { useRef } from 'react';\n\n/**\n * Run a function synchronously only once\n */\nexport function useOnceSync) => any>(\n fn: T,\n ...params: Parameters\n): void {\n // Effects do not run in order of render (parent > child), there is no guarantee of\n // synchronously running the code. So we can not use it for this edge case.\n const isRun = useRef(false);\n\n if (!isRun.current) {\n isRun.current = true;\n return fn(...params);\n }\n}\n","// Simple hook wrappers for Customer Interactions\nimport { CI } from '../ci';\nimport { useOnceSync } from './useOnceSync';\nimport type { CustomerInteraction } from '../constants';\n\nexport function useEndCi(event: CustomerInteraction): void {\n useOnceSync(CI.end, event);\n}\n\nexport function useEndCiWith(...params: Parameters): void {\n useOnceSync(CI.endWith, ...params);\n}\n\nexport function useStartCi(event: CustomerInteraction): void {\n useOnceSync(CI.start, event);\n}\n","import type { ErrorReason, Status } from '@paypalcorp/ppclientinteractions';\n\nimport { CI } from '../ci';\nimport { useOnceSync } from './useOnceSync';\nimport type { CustomerInteraction } from '../constants';\n\ninterface EndAndStartParams {\n end: CustomerInteraction;\n endStatus?: Status;\n endReason?: ErrorReason;\n start: CustomerInteraction;\n}\n\n/**\n * Ends a Customer Interaction and starts a new one during mount\n */\nexport function useEndAndStartCi({\n endReason,\n endStatus,\n end,\n start,\n}: EndAndStartParams): void {\n useOnceSync(() => {\n if (endStatus) {\n CI.endWith(end, endStatus, endReason);\n } else {\n CI.end(end);\n }\n\n CI.start(start);\n });\n}\n","// External libraries\nimport {\n genericValidationFn,\n isString,\n validatePassword,\n // @ts-expect-error - no plans to type react-components for now\n} from '@checkout/react-components';\n\n// Internal modules\nimport {\n getGlobals,\n getLandingPageUserEmail,\n getLocale,\n getUnifiedLoginContextData,\n} from '@/lib/globals';\nimport { features } from '../../lib/features';\nimport { VALID_FIELD_STATE } from './constants';\nimport { getNationalityBasedKycValue } from '@/lib/features/utils';\nimport type { GenericObjectType } from '@/types';\nimport type {\n AddressValidationMeta,\n AddressValidationPayload,\n BaseAddressFieldResults,\n BaseAddressFields,\n CrsFieldResults,\n CrsFields,\n DefaultInputState,\n} from './types';\nimport type { FormState } from './form/types';\n\n// * Heavy use of GenericObjectType since much of this isn't well documented\n// TODO: Replace most / all GenericObjectType with research into proper types\n\ntype DefaultStateKeys =\n | 'countryOfResidence'\n | 'identityDocumentType'\n | 'nationality'\n | 'placeOfBirth'\n | 'secondaryIdentityDocumentType';\n\nconst getDefaultKycStateOverride = (\n field: DefaultStateKeys,\n): GenericObjectType => {\n const { country } = getLocale();\n\n const kycIdTypes = features.config.kycIdTypes;\n const defaultKycIdTypes = getNationalityBasedKycValue(kycIdTypes, country);\n\n const defaultValues = {\n countryOfResidence: country,\n identityDocumentType: defaultKycIdTypes[0],\n nationality: country,\n placeOfBirth: country,\n secondaryIdentityDocumentType: features.config.secondaryKycIdTypes[0],\n };\n const value = defaultValues[field];\n\n if (!value) {\n return {};\n }\n\n return {\n ...VALID_FIELD_STATE,\n value,\n };\n};\n\nconst revalidatePassword = (state: FormState): GenericObjectType => {\n const props = {\n countryCode: getLocale().country,\n user: {\n dateOfBirth: state.dateOfBirth?.value,\n firstName: state.firstName?.value,\n lastName: state.lastName?.value,\n },\n };\n\n return validatePassword(state.password.value, { props });\n};\n\nconst wasInfoSecFieldChanged = (fieldName: string): boolean => {\n return /^(firstName|lastName|dateOfBirth)$/.test(fieldName);\n};\n\nconst getDefaultInputState = (\n overrides = {} as T,\n): DefaultInputState & T => ({\n displayError: false,\n error: '',\n errorCode: 'valueMissing',\n isDirty: false, // isDirty -> input that has had value change\n isValid: false,\n value: '',\n ...overrides,\n});\n\n/**\n * Returns the default email state for the store. If\n * the user entered a valid email on UL then it will use that email\n * as the value.\n */\nconst getDefaultEmailState = (): DefaultInputState => {\n const { email: ulEmail } = getUnifiedLoginContextData();\n const cartEmail =\n getGlobals().initialGqlData.checkoutSession?.cart?.email?.stringValue;\n const { value: landingPageUserEmail = '' } = getLandingPageUserEmail();\n\n const emailValue = landingPageUserEmail || ulEmail?.stringValue || cartEmail;\n\n if (!isString(emailValue)) {\n return getDefaultInputState();\n }\n\n const { isValid } = genericValidationFn(emailValue, {\n props: { required: true, type: 'email' },\n });\n\n const overrides = isValid\n ? { errorCode: '', isValid, value: emailValue }\n : {};\n\n return getDefaultInputState(overrides);\n};\n\n/**\n * @function getBaseAddressFields\n * @param {string} addressType\n * @returns {object}\n * @description Returns an object with shipping/billing state for\n * city, line1, line2, postcode, state\n */\nconst getBaseAddressFields = (): BaseAddressFieldResults => {\n const fields: BaseAddressFields[] = [\n 'city',\n 'houseNumber',\n 'line1',\n 'line2',\n 'postalCode',\n 'state',\n 'streetName',\n ];\n return fields.reduce((accum, field) => {\n accum[field] = getDefaultInputState();\n return accum;\n }, {} as BaseAddressFieldResults);\n};\n\nconst getAddressValidationPayload = ({\n action,\n errorCode = '',\n fields,\n}: {\n action: string;\n errorCode?: string;\n fields: T[];\n}): AddressValidationPayload & AddressValidationMeta => {\n const isSetError = action === 'setError';\n\n const fieldsUpdated = fields.reduce((accum, field) => {\n accum[field] = {\n displayError: isSetError,\n errorCode,\n isValid: !isSetError,\n };\n return accum;\n }, {} as AddressValidationPayload);\n\n return { ...fieldsUpdated, meta: { hasValidationError: isSetError } };\n};\n\n/**\n * Helper function to get initial state for CRS tax info\n */\nconst getCrsFields = (): CrsFieldResults => {\n const fields: CrsFields[] = [\n 'countryCode',\n 'taxPayerIdType',\n 'taxPayerIdValue',\n 'noTaxPayerIdReason',\n 'comment',\n ];\n return fields.reduce((accum, field) => {\n accum[field] = {\n displayError: false,\n error: '',\n value: '',\n };\n return accum;\n }, {} as CrsFieldResults);\n};\n\nexport {\n getAddressValidationPayload,\n getBaseAddressFields,\n getCrsFields,\n getDefaultEmailState,\n getDefaultInputState,\n getDefaultKycStateOverride,\n revalidatePassword,\n wasInfoSecFieldChanged,\n};\n","// External libraries\nimport styled from '@emotion/styled';\n\n// Internal modules\nimport {\n ADDRESS_MARGIN_BOTTOM_PP,\n FONT_SIZE_SMALL,\n FONT_WEIGHT_NORMAL_PP,\n HEADER_COLOR,\n HIGH_CONTRAST_TEXT_COLOR,\n TEXT_COLOR,\n} from '@/styles';\n\nconst AccountFieldsContainer = styled.div`\n display: flex;\n flex-direction: column;\n\n > div:not(:last-child) {\n margin-bottom: ${ADDRESS_MARGIN_BOTTOM_PP};\n }\n`;\n\nconst AddressLoadingContainer = styled.div`\n margin-bottom: 16px;\n\n @media (min-width: 365px) {\n margin-bottom: ${ADDRESS_MARGIN_BOTTOM_PP};\n }\n\n > div:not(:last-child) {\n margin-bottom: ${ADDRESS_MARGIN_BOTTOM_PP};\n }\n`;\n\nconst marginY = {\n gutter: '12px',\n lg: '20px',\n mb: '16px',\n md: '18px',\n};\n\nexport type MarginY = keyof typeof marginY;\n\nconst marginBottom = ({ mb }: { mb?: MarginY }) => {\n return mb ? marginY[mb] : marginY.md;\n};\n\nconst Section = styled.section<{ mb?: MarginY }>`\n margin-bottom: ${marginBottom};\n\n > div:not(:last-child) {\n margin-bottom: ${ADDRESS_MARGIN_BOTTOM_PP};\n }\n`;\n\nconst SignupValueProp = styled.p`\n font-size: 15px;\n font-weight: normal;\n line-height: 1.6;\n margin-bottom: 18px;\n`;\n\nconst SignupValuePropBold = styled(SignupValueProp)`\n font-weight: bold;\n`;\n\nconst CobrandedDisclaimerContainer = styled.p`\n color: ${TEXT_COLOR};\n font-size: 13px;\n font-weight: 400;\n line-height: 1.4;\n margin: 0 5px 16px;\n`;\n\nconst OvercaptureDisclaimerMessage = styled.p`\n align-items: center;\n color: ${HEADER_COLOR};\n font-size: 13px;\n line-height: 20px;\n margin: 19px 0;\n`;\n\nconst CTADisclaimerMessage = styled.p`\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-size: ${FONT_SIZE_SMALL};\n font-weight: ${FONT_WEIGHT_NORMAL_PP};\n line-height: 20px;\n margin: 32px 0 12px;\n text-align: center;\n`;\n\nconst FormContainer = styled.div`\n position: relative;\n`;\n\nconst StreamlineSectionTitle = styled.p`\n color: ${HEADER_COLOR};\n font-size: 14px;\n font-weight: 600;\n margin-bottom: 24px;\n text-align: center;\n`;\n\nexport {\n AccountFieldsContainer,\n AddressLoadingContainer,\n CobrandedDisclaimerContainer,\n Section,\n SignupValueProp,\n SignupValuePropBold,\n StreamlineSectionTitle,\n CTADisclaimerMessage,\n OvercaptureDisclaimerMessage,\n FormContainer,\n};\n","// External libraries\n// @ts-expect-error untyped-import\nimport { isObject, isString } from '@checkout/react-components';\n\n// Internal modules\nimport { features } from '@/lib/features';\nimport { buildUrl } from './url';\nimport { logger } from '../logger';\nimport { getParams } from './params';\nimport { getLocale, getToken } from '../globals';\nimport { isFunction } from '@/lib/utils/typeUtils';\nimport { appStore } from '@/store';\n\n// c3\n// @ts-expect-error untyped-c3\nimport { getCdnHostName, getPayPalDomain } from './c3imports';\n// types\nimport type { GenericObjectType, Noop } from '@/types';\n\ntype BuildMppUrlParams = {\n params?: GenericObjectType;\n mppPath: string;\n};\n/**\n * @function buildMPPUrl\n * @param {object} additionalParams\n * @param {string} mppPath\n * @returns {string}\n * @description Use to create a url to MPP app\n */\nconst buildMPPUrl = ({ params = {}, mppPath }: BuildMppUrlParams): string => {\n const origin = `https://www.${getPayPalDomain()}`;\n const mppMiddlePath = 'webapps/mpp';\n const { country, locale } = getLocale();\n const adjustedPath = mppPath.replace(/^\\//, '');\n const additionalParams = Object.assign({}, params, { 'locale.x': locale });\n\n // when adjustedPath already contains webapps/mpp\n // we don't need to add it again into the path.\n const url = adjustedPath.includes(mppMiddlePath)\n ? `${origin}/${country}/${adjustedPath}`\n : `${origin}/${country}/${mppMiddlePath}/${adjustedPath}`;\n\n return buildUrl(url, {\n additionalParams,\n withCurrentParams: false,\n });\n};\n\ntype DefaultParams = {\n path?: string;\n getDynamicPath?: () => string;\n};\nconst TERMS_FUNCTIONS = {\n backupPayment: () => {\n const { country, locale } = getLocale();\n return `https://www.${getPayPalDomain()}/${country}/selfhelp/article/what-is-my-backup-payment-method-faq1054?locale.x=${locale}`;\n },\n DEFAULT: ({ path = '', getDynamicPath }: DefaultParams) =>\n buildMPPUrl({ mppPath: getDynamicPath ? getDynamicPath() : path }),\n feeInformation: () => {\n const { country, language, locale } = getLocale();\n return `https://${getCdnHostName()}/digitalassets/c/website/ua/pdf/${country}/${language}/defid.pdf?locale.x=${locale}`;\n },\n generateHelpLink: () => {\n const { locale } = getLocale();\n return `https://www.${getPayPalDomain()}/selfhelp/home/?locale.x=${locale}`;\n },\n rightOfWithdrawal: () => {\n const { country, locale } = getLocale();\n\n // Right of Withdraw checkbox is enabled just for countries\n // in TREATMENT_2 of FEATURE_SIGNUP_RIGHT_OF_WITHDRAW\n const rightOfWithdrawalCheckboxFeatureActive = features.isActive(\n 'signupRightOfWithdrawalCheckbox',\n );\n\n if (rightOfWithdrawalCheckboxFeatureActive) {\n return `https://www.${getPayPalDomain()}/${country}/webapps/mpp/ua/right-revocation-full?locale.x=${locale}`;\n }\n\n return `https://www.${getPayPalDomain()}/${country}/webapps/mpp/ua/useragreement-full?locale.x=${locale}#closing-account`;\n },\n};\n\ntype Config = {\n useFunction?: keyof typeof TERMS_FUNCTIONS;\n} & DefaultParams;\n/**\n * @function buildTermsUrl\n * @param {string} config\n * @returns {string}\n */\nconst buildTermsUrl = (config: Config): string => {\n const { useFunction = 'DEFAULT' } = config;\n let buildUrlFn = TERMS_FUNCTIONS[useFunction];\n\n if (!isFunction(buildUrlFn)) {\n logger.warn('terms_link_function_not_found', config);\n buildUrlFn = TERMS_FUNCTIONS.DEFAULT;\n }\n\n return buildUrlFn(config);\n};\n\nconst fetchJson = async (\n ...args: Parameters\n): Promise => {\n try {\n const result = await fetch(...args);\n return result.json();\n } catch (e: unknown) {\n logger.error('weasley_error_parsing_json_response', {\n message: (e as GenericObjectType)?.message,\n });\n throw e;\n }\n};\n\ntype Predicate = ([key, value]: [string, unknown]) => unknown;\n/**\n * @function filterObject\n * @param {object} obj\n * @param {function} predicate\n * @returns {object}\n */\nconst DEFAULT_PREDICATE: Predicate = ([_, value]) => value;\nconst filterObject = (\n obj: T,\n predicate: Predicate = DEFAULT_PREDICATE,\n): Partial => {\n if (!isObject(obj)) {\n logger.error('cannot_filter_non_object', {\n type: typeof obj,\n });\n }\n\n if (predicate && !isFunction(predicate)) {\n logger.warn('filter_object_filter_function_is_not_a_function', {\n type: typeof predicate,\n });\n return obj;\n }\n\n return Object.entries(obj)\n .filter(predicate)\n .reduce(\n (accum, [key, value]) => ({\n ...accum,\n [key]: value,\n }),\n {},\n );\n};\n\ntype OnceFunction = (...args: any[]) => any;\n\ntype OnceReturn = (\n ...args: Parameters\n) => ReturnType | undefined;\n/**\n * @function once\n * @param {function} fn | Function to restrict to single invocation\n * @returns {function}\n */\nconst once = (fn: T): OnceReturn => {\n let hasBeenCalled = false;\n return (...args) => {\n if (!hasBeenCalled) {\n hasBeenCalled = true;\n return fn(...args);\n }\n };\n};\n\nconst focusOnFirstError = (state: GenericObjectType): void => {\n const form = document.forms[0];\n\n if (!form) {\n return;\n }\n\n const fields = Array.from(form.elements);\n const fieldWithError = fields\n .map(field => field.id)\n .find(field => state[field]?.displayError);\n\n if (!fieldWithError) {\n return;\n }\n\n const el = document.getElementById(fieldWithError);\n if (el) {\n el.focus();\n if (el.tagName === 'INPUT') {\n const inputEl = el as HTMLInputElement;\n const hasSelectionRange = /^password|search|tel|text|url$/i.test(\n inputEl.type,\n );\n /**\n * `setSelectionRange()` only works for inputs of type 'password',\n * 'search', 'tel', 'text', and 'url'. Chrome will throw an error\n * if you try to use setSelectionRange on another type of input,\n * such as 'email'\n */\n if (hasSelectionRange) {\n const { length } = (el as HTMLInputElement).value;\n inputEl.setSelectionRange(length, length);\n }\n }\n }\n};\n\n/**\n * @function getAddressMetaKey\n * @param {string} country\n * @returns {string}\n * @description Takes an optional country code string and returns the key\n * where the address metadata is stored in the api store. We were originally\n * using the locale code as the key but the locale code isn't always the\n * language_country, e.g. IN can be en_GB. Also, we don't want people to be\n * confused by the format and think it is the locale so we are purposefully not\n * using the language_country format and instead using country~language\n */\nconst getAddressMetaKey = (country?: string): string => {\n const { country: countryCode, language } = getLocale();\n const metaKey = `${country || countryCode}~${language}`;\n\n return metaKey;\n};\n\n/**\n * @function getAddressMetadata\n * @param {object} metadata\n * @param {string} addressMetaKey - country code\n *\n *\n * @returns {object}\n */\nconst getAddressMetadata = (\n metadata: GenericObjectType,\n addressMetaKey: string,\n): GenericObjectType => {\n const localeMeta = metadata[addressMetaKey];\n\n return localeMeta || { layout: [], strings: {} };\n};\n\n/**\n * @function getObjectProperty\n * @param {object} obj\n * @param {string} path\n * @param {object} config\n * @returns {*}\n */\n// TODO: future refactor or improve typings\nconst getObjectProperty = (\n obj: GenericObjectType,\n path = '',\n config: GenericObjectType = {},\n): unknown => {\n const { defaultValue, splitOn = '.' } = config;\n\n if (!isObject(obj) || !isString(splitOn) || !isString(path) || !path.length) {\n return;\n }\n\n const pathArray = path.split(splitOn);\n let current = obj[pathArray.shift() as string];\n\n while (\n current &&\n pathArray.length &&\n (isObject(current) || Array.isArray(current))\n ) {\n current = current[pathArray.shift() as string];\n }\n\n return pathArray.length || current === undefined ? defaultValue : current;\n};\n\nconst getClientMetadataID = (defaultID?: string): string => {\n const urlParams = getParams();\n\n return (\n window.xprops?.clientMetadataID ||\n urlParams['client-metadata-id']?.toString() ||\n defaultID ||\n getToken()\n );\n};\n\n/**\n * @function camelToSnakeCase\n * @param {string} s\n * @returns {string}\n * @description Takes a camel case or pascal case string and returns a snake\n * case string. Useful for transforming camel/pascal strings for logging.\n */\nconst REG_EXP = /(?!^)([A-Z])/g;\nconst camelToSnakeCase = (s: string): string =>\n s.replace(REG_EXP, '_$&').toLowerCase();\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop: Noop = () => {};\n\n/**\n * @function containsRightOfWithdrawalCheckbox\n * @description Returns if the XO contains Right of Withdrawal checkbox\n * @param {string} type The way user is transactioning. guest, signup...\n * @returns {boolean} Is Right of Withdrawal checkbox enabled\n */\nconst containsRightOfWithdrawalCheckbox = (\n type: 'guest' | 'signup',\n): boolean => {\n return (\n type === 'signup' && features.isActive('signupRightOfWithdrawalCheckbox')\n );\n};\n\n/**\n * @function containsRightOfWithdrawalInUserAgreement\n * @description Returns if the XO contains Right of Withdrawal anchor\n * inside User Agreement\n * @param {string} type The way user is transactioning. guest, signup...\n * @returns {boolean} Is Right of Withdrawal inside User Agreement\n */\nconst containsRightOfWithdrawalInUserAgreement = (\n type: 'guest' | 'signup',\n): boolean => {\n return (\n type === 'signup' &&\n features.isActive('signupRightOfWithdrawalInUserAgreement')\n );\n};\n\nconst isGuestOnboarding = (): boolean => {\n const { form: formState } = appStore.getState();\n return formState?.onboardOption?.value === 'guest';\n};\n\nexport {\n buildMPPUrl,\n buildTermsUrl,\n camelToSnakeCase,\n containsRightOfWithdrawalCheckbox,\n containsRightOfWithdrawalInUserAgreement,\n fetchJson,\n filterObject,\n focusOnFirstError,\n getAddressMetadata,\n getAddressMetaKey,\n getClientMetadataID,\n getObjectProperty,\n isGuestOnboarding,\n noop,\n once,\n};\n","// External libraries\nimport gql from 'graphql-tag';\n\nconst ADDRESS_NORMALIZATION_QUERY = gql`\n query GetAddressNormalizationQuery(\n $city: String\n $country: CountryCodes\n $line1: String\n $line2: String\n $postalCode: String\n $state: String\n $token: String!\n ) {\n addressNormalization(\n city: $city\n country: $country\n line1: $line1\n line2: $line2\n postalCode: $postalCode\n state: $state\n token: $token\n ) {\n line1\n line2\n city\n state\n postalCode\n alreadyNormalized\n griffinFormattedAddresses {\n formattedOriginalAddress\n formattedNormalizedAddress\n }\n }\n }\n`;\n\nexport { ADDRESS_NORMALIZATION_QUERY };\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const NORMALIZED_ADDRESSES_FRAGMENT = gql`\n fragment AddressNormalizationFragment on NormalizedAddress {\n line1\n line2\n city\n state\n postalCode\n alreadyNormalized\n griffinFormattedAddresses {\n formattedOriginalAddress\n formattedNormalizedAddress\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\n// Internal modules\nimport { NORMALIZED_ADDRESSES_FRAGMENT } from '../fragments/normalizedAddresses.gql';\n\nexport const NORMALIZED_ADDRESSES_QUERY = gql`\n ${NORMALIZED_ADDRESSES_FRAGMENT}\n query GetNormalizedAddressesQuery(\n $shippingcity: String\n $shippingcountry: CountryCodes\n $shippingline1: String\n $shippingline2: String\n $shippingpostalCode: String\n $shippingstate: String\n $billingcity: String\n $billingcountry: CountryCodes\n $billingline1: String\n $billingline2: String\n $billingpostalCode: String\n $billingstate: String\n $token: String!\n ) {\n shippingAddress: addressNormalization(\n city: $shippingcity\n country: $shippingcountry\n line1: $shippingline1\n line2: $shippingline2\n postalCode: $shippingpostalCode\n state: $shippingstate\n token: $token\n ) {\n ...AddressNormalizationFragment\n }\n billingAddress: addressNormalization(\n city: $billingcity\n country: $billingcountry\n line1: $billingline1\n line2: $billingline2\n postalCode: $billingpostalCode\n state: $billingstate\n token: $token\n ) {\n ...AddressNormalizationFragment\n }\n }\n`;\n","import { appStore } from '@/store';\nimport { apolloClient } from '@/lib/apollo';\nimport { features, getLocale, getToken } from '@/lib';\nimport {\n ADDRESS_NORMALIZATION_QUERY,\n NORMALIZED_ADDRESSES_QUERY,\n} from './graphql/queries';\nimport { isANSResponseAlreadyNormalized, mapANSRequest } from './mapper';\nimport { logger } from '@/lib/logger';\nimport { logFPTIForANSApi } from './fpti';\n\nexport const isAddressNormalized = (): Promise => {\n const { ui: uiActions } = appStore.getActions();\n const token = getToken();\n // suppose to be billing country\n const { country } = getLocale();\n\n // map request payload for AU and BR\n const payload = mapANSRequest(country);\n const hasAddressNormalizationBoth = features.isActive(\n 'hasAddressNormalizationBoth',\n );\n\n logFPTIForANSApi('prepare');\n return apolloClient\n .query({\n query: hasAddressNormalizationBoth\n ? NORMALIZED_ADDRESSES_QUERY\n : ADDRESS_NORMALIZATION_QUERY,\n variables: { token, ...payload },\n })\n .then(response => {\n const alreadyNormalized = isANSResponseAlreadyNormalized(\n country,\n response,\n );\n // if the address already normalized, address normalization is\n // not required.\n if (alreadyNormalized) {\n logFPTIForANSApi('process', { alreadyNormalized: 1 });\n logger.info('Address_already_normalized', { country });\n return true;\n }\n logFPTIForANSApi('process', { alreadyNormalized: 0 });\n logger.info('Address_is_not_normalized', { country });\n uiActions.toggleIsAddressNormalizeOpen(true);\n return false;\n })\n .catch(error => {\n logFPTIForANSApi('process', { int_error_code: 'ans_api_error' });\n logger.info('address_normalization_error', { error });\n\n // Since address normalization isn't critical to complete the transaction,\n // if the call errors out we continue on without doing normalization.\n return true;\n });\n};\n","import { appStore } from '@/store';\nimport { filterFormState } from '../../Form/utils';\nimport { features, getAddressMetaKey, logger } from '@/lib';\nimport type { NetworkStatus } from 'apollo-client';\nimport type { GraphQLError } from 'graphql';\nimport type { GenericObjectType } from '@/types';\n\nexport const mapANSRequest = (\n country: string,\n): GenericObjectType | undefined => {\n logger.info('get_AddressNormalization_Payload');\n const hasAddressNormalizationShipping = features.isActive(\n 'hasAddressNormalizationShipping',\n );\n const hasAddressNormalizationBoth = features.isActive(\n 'hasAddressNormalizationBoth',\n );\n if (hasAddressNormalizationShipping) {\n const { api: apiState, form: formState } = appStore.getState();\n const { shippingAddress } = filterFormState(formState);\n const addressMetaKey = getAddressMetaKey(shippingAddress.country.value);\n const { layout } = apiState.griffinMetadata.address[addressMetaKey];\n const payload: GenericObjectType = {\n country: shippingAddress?.country?.value || null,\n };\n\n layout.reduce((accum, value) => {\n accum[value.name] = shippingAddress[value.name]?.value || null;\n return accum;\n }, payload);\n\n return payload;\n } else if (hasAddressNormalizationBoth) {\n const { api: apiState, form: formState } = appStore.getState();\n const { shippingAddress, billingAddress } = filterFormState(formState);\n const shippingAddressMetaKey = getAddressMetaKey(\n shippingAddress.country.value,\n );\n const billingAddressMetaKey = getAddressMetaKey(country);\n const { layout: shippingAddressLayout } =\n apiState.griffinMetadata.address[shippingAddressMetaKey];\n const { layout: billingAddressLayout } =\n apiState.griffinMetadata.address[billingAddressMetaKey];\n const payload: GenericObjectType = {\n billingcountry: country || null,\n shippingcountry: shippingAddress?.country?.value || null,\n };\n\n // prefixing with shipping so that its easy to map in the query\n shippingAddressLayout.reduce((accum, value) => {\n accum[`shipping${value.name}`] =\n shippingAddress[value.name]?.value || null;\n return accum;\n }, payload);\n\n // prefixing with billing so that its easy to map in the query\n billingAddressLayout.reduce((accum, value) => {\n accum[`billing${value.name}`] = billingAddress[value.name]?.value || null;\n return accum;\n }, payload);\n\n return payload;\n }\n};\n\nexport const isANSResponseAlreadyNormalized = (\n country: string,\n response: {\n data: any;\n errors?: readonly GraphQLError[] | undefined;\n loading?: boolean;\n networkStatus?: NetworkStatus;\n stale?: boolean;\n },\n): boolean | undefined => {\n logger.info('map_ans_response', {\n country,\n });\n const { api: apiActions } = appStore.getActions();\n const hasAddressNormalizationShipping = features.isActive(\n 'hasAddressNormalizationShipping',\n );\n const hasAddressNormalizationBoth = features.isActive(\n 'hasAddressNormalizationBoth',\n );\n if (hasAddressNormalizationShipping) {\n logger.info('map_shipping_ans_response', {\n country,\n });\n const { addressNormalization } = response.data;\n const { alreadyNormalized, griffinFormattedAddresses: griffin } =\n addressNormalization;\n\n logger.info('shipping_address_normalization_result', {\n alreadyNormalized,\n normalizedAddressFound: Boolean(griffin.formattedNormalizedAddress),\n });\n if (alreadyNormalized) {\n return true;\n }\n apiActions.setNormalizedShippingAddress(addressNormalization);\n return false;\n } else if (hasAddressNormalizationBoth) {\n logger.info('map_both_ans_response', {\n country,\n });\n const {\n billingAddress: NormalizedBillingAddress = {},\n shippingAddress: NormalizedShippingAddress = {},\n } = response.data;\n\n const { alreadyNormalized: billingAddressAlreadyNormalized } =\n NormalizedBillingAddress;\n\n const { alreadyNormalized: shippingAddressAlreadyNormalized } =\n NormalizedShippingAddress;\n\n // Addresses already normalized, so address doesnt need to be resolved.\n if (billingAddressAlreadyNormalized && shippingAddressAlreadyNormalized) {\n logger.info('ANS_BOTH_BILLING_SHIPPING_ADDRESSES_ALREADY_NORMALIZED', {\n country,\n });\n return true;\n }\n\n if (!billingAddressAlreadyNormalized && !shippingAddressAlreadyNormalized) {\n // Both addresses are not normalized, so address needs to be resolved.\n logger.info('ANS_BOTH_BILLING_SHIPPING_ADDRESSES_NOT_NORMALIZED', {\n country,\n });\n apiActions.setNormalizedShippingAddress(NormalizedShippingAddress);\n apiActions.setNormalizedBillingAddress(NormalizedBillingAddress);\n } else if (!billingAddressAlreadyNormalized) {\n // billing addresses is not normalized, so address needs to be resolved.\n logger.info('ANS_BILLING_ADDRESSES_NOT_NORMALIZED', {\n country,\n });\n apiActions.setNormalizedBillingAddress(NormalizedBillingAddress);\n } else if (!shippingAddressAlreadyNormalized) {\n // shipping addresses is not normalized, so address needs to be resolved.\n logger.info('ANS_SHIPPING_ADDRESSES_NOT_NORMALIZED', {\n country,\n });\n apiActions.setNormalizedShippingAddress(NormalizedShippingAddress);\n }\n return false;\n }\n};\n","// Internal modules\nimport { appStore, dispatchFormAction } from '@/store';\nimport {\n logCheckMemberBenefitsOccured,\n logOverCapturesDataOnSubmit,\n logPayLaterContinueButtonSubmittedToFpti,\n logPayLaterTermsCheckedToFpti,\n logProcessBillingPageToFpti,\n} from './fpti';\nimport {\n checkoutGuestAsMember,\n createOnboardingPaymentPlan,\n onboardAction,\n} from './graphql';\nimport {\n filterFormState,\n getFieldData,\n kycNationalityOnChange,\n logBlurOrFocusEvent,\n shouldDisplayErrorOnChange,\n shouldShowCRSInterstitial,\n shouldShowSCAPhoneConfirmationInterstitial,\n triggerMemberBenefitsTrueGuestsInterstitial,\n validateForm,\n} from './utils';\nimport { checkMemberBenefits, serializeDataForMemberBenefits } from './util';\nimport {\n CI,\n features,\n focusOnFirstError,\n getFieldError,\n handleApiError,\n INPUT_FIELD_ERROR_STATUS_PAYLOAD,\n isGuestOnboarding,\n logger,\n} from '@/lib';\nimport { threeDSHandler } from './threeDSHandler';\nimport { SHIPPING_CALLBACK_ERROR_MAPPING } from '@/lib/utils/shipping/constants';\nimport {\n atomics,\n atomicsCi,\n atomicsViewNames,\n atomicsWaitingContext,\n} from '@/lib/atomics';\n\nimport { isAddressNormalized } from '@/components/Interstitials/AddressNormalizationInterstitial/api';\n\n/**\n * @TECH_DEBT This function used to have more logic but it has been\n * removed. When we refactor the state management to use Apollo Client\n * we should go through all the places where this function, `blurHandler`\n * is used and swap it to reference `logBlurOrFocusEvent`\n */\nconst blurHandler = e => {\n logBlurOrFocusEvent(e);\n};\n\nconst changeHandler = (e, value, oldValue, meta = {}) => {\n e.persist?.();\n\n // Using id instead of name attribute for consistency in state names since\n // some name attributes have dashes to be compatible with autocomplete\n const { id, checked: isChecked, type: fieldType } = e.target;\n const { addressType, currentState, field } = getFieldData(e.target, meta);\n const { errors = [], isValid } = meta.validation || {};\n const errorCode = errors[0] || '';\n const isCheckbox = fieldType === 'checkbox';\n\n /**\n * Display the error if we are currently displaying the error and the\n * field is invalid. We check the `displayError` property because\n * we don't want to show the error when the user first starts filling\n * out the field. For example, when the user enters the first character\n * into the email field it will be invalid because it doesn't match\n * the pattern for an email but immediately showing the error will\n * confuse the user.\n */\n const shouldDisplayError = shouldDisplayErrorOnChange(id, currentState, meta);\n const payload = {\n displayError: shouldDisplayError,\n error: getFieldError({ errorCode, field, isValid, value }),\n errorCode,\n isDirty: true,\n isValid,\n value: isCheckbox ? isChecked : value,\n };\n\n // Log the input error if we are displaying or removing the error\n // or if the error is displayed and the error code changes\n const isErrorStatusChange = shouldDisplayError !== currentState.displayError;\n const isErrorCodeChange = errorCode !== currentState.errorCode;\n if (isErrorStatusChange || (isErrorCodeChange && currentState.displayError)) {\n const logPayload = INPUT_FIELD_ERROR_STATUS_PAYLOAD(id, isValid, errorCode);\n logger.fpti(`${isValid ? 'clear' : 'set'}_input_error`, logPayload);\n }\n\n // Do not set cardType if CardTypeSelector component is enabled\n // Reason: cardNumber.cardType state will be updated by CardTypeSelector\n const { ui: uiState } = appStore.getState();\n if (field === 'cardNumber' && !uiState.hasCardTypeSelector) {\n payload.cardType = meta.cardType;\n }\n\n if (field === 'nationality' && value !== oldValue) {\n kycNationalityOnChange({ addressType, nationality: value });\n }\n\n if (\n features.isActive('shouldRedirectToTeslaOnboarding') &&\n !uiState.isKYCTeslaRedirectIntersitialOpen\n ) {\n // user must be able to change country only, else we show the modal\n return appStore\n .getActions()\n .ui.toggleIsKYCTeslaRedirectIntersitialOpen(true);\n }\n\n dispatchFormAction({ addressType, field, payload });\n};\n\nconst payLaterTermsCheckedHandler = (e, value, oldValue, meta) => {\n const { checked: isChecked } = e.target;\n\n if (isChecked) {\n logPayLaterTermsCheckedToFpti();\n }\n\n changeHandler(e, value, oldValue, meta);\n};\nconst displayFormErrors = (fieldsWithErrors, formErrors) => {\n const { form: formActions } = appStore.getActions();\n const addressRegex = /^(billing|shipping|residential)Address$/;\n fieldsWithErrors.forEach(([field, payload]) => {\n const isAddressField = addressRegex.test(field);\n const fieldName = isAddressField ? 'addressType' : 'field';\n const action = isAddressField\n ? 'updateAddressField'\n : 'updateNonAddressField';\n\n formActions[action]({\n [fieldName]: field,\n payload,\n ...(isAddressField && { isBatchUpdate: true }),\n });\n });\n\n focusOnFirstError(formErrors);\n};\n\nconst payNowSubmitHandler = e => {\n return submitHandler(e, logProcessBillingPageToFpti);\n};\n\nconst payLaterSubmitHandler = e => {\n return submitHandler(e, logPayLaterContinueButtonSubmittedToFpti);\n};\n\n/**\n * Start metric for cta button click\n */\nconst logAtomicsSubmitHandler = () => {\n const isGuest = isGuestOnboarding();\n\n const buttonClickCi = isGuest\n ? atomicsCi.clickContinueAsGuestButton\n : atomicsCi.clickCreateAccountAndContinueButton;\n\n const waitingContext = isGuest\n ? atomicsWaitingContext.selectContinueAsGuest\n : atomicsWaitingContext.selectCreateAccountAndContinue;\n\n atomics.__markUIWaiting(buttonClickCi, atomicsViewNames.ryp, waitingContext);\n};\n\nconst submitHandler = async (e, logFormSubmittedFunction) => {\n e.preventDefault();\n const { form: formState, ui: uiState } = appStore.getState();\n logAtomicsSubmitHandler(formState);\n const { ui: uiActions, api: apiActions } = appStore.getActions();\n const shippingCallbackErrorMappingValues = Object.values(\n SHIPPING_CALLBACK_ERROR_MAPPING,\n );\n\n // Prevent form submission if submission is in progress\n if (uiState.isFormSubmitting) {\n return;\n }\n\n // Prevent user from submitting if there is an error related to\n // Shipping and callback\n if (shippingCallbackErrorMappingValues.includes(uiState.pageLevelError)) {\n logger.warn(\n 'weasley_invalid_form_submission_due_to_shipping_callback_error',\n );\n window.scrollTo(0, 0);\n CI.error(CI.ErrorReason.User);\n CI.endCurrent();\n return;\n }\n\n // Prevent form submission and scroll to error when shipping region is not\n // supported\n if (uiState.pageLevelError === 'pageLevelError.shippingRegionUnsupported') {\n window.scrollTo(0, 0);\n CI.error(CI.ErrorReason.User);\n CI.endCurrent();\n return;\n }\n\n const filteredFormState = filterFormState(formState);\n const { errorLogPayload, formErrors } = validateForm(filteredFormState);\n const fieldsWithErrors = Object.entries(formErrors);\n\n // If form is not valid, add errors to state and display them\n if (fieldsWithErrors.length) {\n const { value: accountType } = filteredFormState.onboardOption;\n logger.fpti('invalid_form_submission', {\n field_list: fieldsWithErrors.map(([field]) => field).join(','),\n state_name: 'billing',\n transition_name: 'process_invalid_billing_page_submission',\n user_opts_signup: accountType === 'signup' ? 'Y' : 'N',\n });\n displayFormErrors(fieldsWithErrors, formErrors);\n logger.info('weasley_invalid_form_submission', errorLogPayload);\n\n // If form have just Residential Address errors we should show\n // Residential Address interstitial\n if (\n fieldsWithErrors &&\n fieldsWithErrors.length === 1 &&\n fieldsWithErrors[0][0] === 'residentialAddress'\n ) {\n uiActions.toggleIsResidentialAddressOpen(true);\n }\n\n CI.error(CI.ErrorReason.User);\n CI.endCurrent();\n return logger.flush();\n }\n\n // Prevent form from submission when signup optional upsell half-sheet\n // has to be displayed\n if (triggerMemberBenefitsTrueGuestsInterstitial()) {\n uiActions.toggleIsMemberBenefitsTrueGuestsInterstitialOpen();\n uiActions.toggleIsFormSubmitting(false);\n CI.endWith(CI.Event.GUEST_PAY_SUBMIT, CI.Status.Error, CI.ErrorReason.Flag);\n CI.start(CI.Event.CONTINGENCY_ACCOUNT_BENEFITS_USER_INPUT);\n return;\n }\n\n // Clear any existing page level error and show form submitting spinner\n uiActions.toggleIsFormSubmitting(true);\n uiActions.setPageLevelError('');\n uiActions.setPageWarningMessage('');\n\n // Check if guest can checkout as a member,\n // if so stop the form submission and display the modal\n const isEligibleForMemberBenefits =\n await checkMemberBenefits(filteredFormState);\n\n logCheckMemberBenefitsOccured(isEligibleForMemberBenefits);\n\n const memberMatchNoOptIn = features.isActive('isMemberMatchNoOptIn');\n const memberMatchNoToggleInterstitial = features.isActive(\n 'isMemberMatchNoToggleWithInterstitial',\n );\n\n logFormSubmittedFunction({ isEligibleForMemberBenefits });\n // Don't double display member match half-sheet\n // and disclaimer if in treatment for no opt in.\n if (\n isEligibleForMemberBenefits &&\n (!memberMatchNoOptIn || memberMatchNoToggleInterstitial)\n ) {\n logger.info('member_benefits_eligible_interstitial_shown');\n uiActions.setIsMemberBenefitsInterstitialOpen(true);\n apiActions.setIsMemberCheckoutError(false);\n uiActions.toggleIsFormSubmitting(false);\n CI.endCurrent(CI.Status.Ok);\n return;\n }\n\n const hasAddressNormalization =\n features.isActive('hasAddressNormalizationShipping') ||\n features.isActive('hasAddressNormalizationBoth');\n const isAllowChangeShipping = features.isActive('isAllowChangeShipping');\n const { bypassAddressNormalization } = formState;\n\n // Check to see if normalization flow should be triggered\n if (hasAddressNormalization) {\n if (isAllowChangeShipping && !bypassAddressNormalization) {\n logger.info('weasley_normalize_address');\n\n return await isAddressNormalized()\n .then(shouldCallOnboardAccount => {\n logger.info('weasley_normalize_address_final_response', {\n shouldCallOnboardAccount,\n });\n // TODO: Find out how todo CI on this...\n return shouldCallOnboardAccount && onboardAccount();\n })\n .catch(e => {\n // continue with out address normalization interstitial experience\n // if api file fails to load.\n logger.error('weasley_error_loading_normalize_address_api_file', e);\n });\n }\n\n logger.info('weasley_skip_address_normalization', {\n bypassAddressNormalization,\n hasAddressNormalization,\n isAllowChangeShipping,\n });\n }\n\n if (isEligibleForMemberBenefits && memberMatchNoOptIn) {\n return doCheckoutGuestAsMember(filteredFormState);\n }\n\n logOverCapturesDataOnSubmit();\n\n // Returning the Promise so we can await it in tests\n return onboardAccount(filteredFormState);\n};\n\nconst onboardAccount = filteredFormState => {\n // In address normalization flow filteredFormState would not be passed as the\n // form state could change during the normalization flow.\n const { form: formState } = appStore.getState();\n if (!filteredFormState) {\n filteredFormState = filterFormState(formState);\n }\n\n if (shouldShowCRSInterstitial()) {\n logger.fpti('crs_interstitial', {\n state_name: 'crs_interstitial',\n transition_name: 'display_crs_interstitial',\n });\n return;\n }\n\n if (shouldShowSCAPhoneConfirmationInterstitial()) {\n logger.fpti('phone_confirmation', {\n state_name: 'phone_confirmation',\n transition_name: 'display_sca_phone_confirmation_interstitial',\n });\n\n return;\n }\n\n // Returning the Promise so we can await it in tests\n return onboardAction(filteredFormState).then(data => {\n return data;\n });\n};\n\nconst onboardingPaymentPlanHandler = () => {\n const { form: formState } = appStore.getState();\n const filteredFormState = filterFormState(formState);\n\n return createOnboardingPaymentPlan(filteredFormState)\n .then(threeDSHandler)\n .catch(handleApiError);\n};\n\nconst doCheckoutGuestAsMember = filteredFormState => {\n // Switch the CI to member match\n CI.endCurrent(CI.Event.Ok);\n CI.start(CI.Event.MEMBER_MATCH_PAY_SUBMIT);\n\n const { ui: uiActions, api: apiActions } = appStore.getActions();\n const variables = serializeDataForMemberBenefits(filteredFormState);\n return checkoutGuestAsMember(variables)\n .then(threeDSHandler)\n .catch(() => {\n CI.endWith(\n CI.Event.MEMBER_MATCH_PAY_SUBMIT,\n CI.Status.Error,\n CI.ErrorReason.Server,\n );\n apiActions.setIsEligibleForMemberBenefits(false);\n apiActions.setIsMemberCheckoutError(true);\n uiActions.toggleIsFormSubmitting(false);\n uiActions.setIsMemberBenefitsInterstitialOpen(true);\n });\n};\n\nexport {\n submitHandler,\n blurHandler,\n changeHandler,\n displayFormErrors,\n doCheckoutGuestAsMember,\n onboardAccount,\n onboardingPaymentPlanHandler,\n payLaterSubmitHandler,\n payLaterTermsCheckedHandler,\n payNowSubmitHandler,\n};\n","// External libraries\nimport type { ParsedQs } from 'qs';\nimport { parse as parseParams } from 'qs';\n// Internal Modules\nimport { URL_PARAM_REGEX_WHITE_LIST } from './constants';\n\nlet params: ParsedQs | null = null;\n\n/**\n * @function getParams\n * @returns {Object} Object with key/value pairs as the query string\n * parameter from the window location\n * @description Util function for making it easier to read query params\n */\nexport const getParams = (): ParsedQs => {\n if (!params || process.env.NODE_ENV === 'test') {\n const query = window.location.search.slice(1);\n\n params = parseParams(query);\n }\n return params;\n};\n\ninterface ParamTypeInput {\n paramType?: keyof typeof URL_PARAM_REGEX_WHITE_LIST;\n}\n\ntype OverrideParams = Record;\nexport const getOverrideParams = ({ paramType }: ParamTypeInput = {}):\n | Record\n | undefined => {\n if (!paramType) {\n return;\n }\n const WHITE_LIST_REGEX = URL_PARAM_REGEX_WHITE_LIST[paramType];\n\n if (!WHITE_LIST_REGEX) {\n return;\n }\n\n // Remove `?` at the beginning of the search string\n const query = window.location.search.substring(1);\n\n if (!query.length) {\n return;\n }\n\n const mapValue = (value: string) => {\n switch (value) {\n case 'true':\n return true;\n case 'false':\n return false;\n default:\n return value;\n }\n };\n\n return query\n .split('&')\n .filter(param => WHITE_LIST_REGEX.test(param))\n .reduce((overrides: OverrideParams, param) => {\n const [key, value = 'true'] = param.split('=');\n const feature = decodeURIComponent(key.replace(WHITE_LIST_REGEX, ''));\n const featureValue = decodeURIComponent(value);\n\n // For booleans we don't want their value as a string\n overrides[feature] = mapValue(featureValue);\n return overrides;\n }, {});\n};\n\ngetParams.reset = () => {\n params = null;\n};\n","// Internal\nimport type {\n BreakdownMapped,\n CurrencyMapped,\n NormalizedAddressForMerchant,\n} from './types';\nimport type {\n AddressAreEqualOptions,\n Breakdown,\n Currency,\n EmptyObject,\n MappedAddressValues,\n ShippingOption,\n} from '../types';\n\n/**\n * TODO: Cleanup once shared shipping cb hooks are used\n * TODO: Remove this file along with the ordersV2Mappers\n *\n * folder once we migrate to shared hooks\n * Converts the cart amount breakdown from\n * gql schema to OrdersV2 amount_breakdown object\n * See https://developer.paypal.com/docs/api/orders/v2/#definition-amount_breakdown\n *\n * @param {*} breakdown cart amount breakdown from gql\n * @returns breakdown object in OrdersV2 Amount_breakdown schema\n */\nconst buildAmountBreakdown = (breakdown: Breakdown = {}): BreakdownMapped => {\n return {\n discount: currencyMapper(breakdown.discount),\n handling: currencyMapper(breakdown.handlingFee),\n insurance: currencyMapper(breakdown.insurance),\n item_total: currencyMapper(breakdown.subtotal),\n shipping: currencyMapper(breakdown.shipping),\n shipping_discount: currencyMapper(breakdown.shippingDiscount),\n tax_total: currencyMapper(breakdown.tax),\n };\n};\n\nconst currencyMapper = (currencyObj: Currency = {}): CurrencyMapped => ({\n currency_code: currencyObj.currencyCode,\n value: currencyObj.currencyValue,\n});\n\nconst normalizeShippingOption = (\n gqlShippingOption: ShippingOption,\n): Weasley.Xprops.NormalizedShippingOption => {\n const { __typename, amount, ...shippingOption } = gqlShippingOption || {};\n return {\n ...shippingOption,\n amount: currencyMapper(amount),\n };\n};\n\n/**\n * TODO: Cleanup once shared shipping cb hooks are used\n *\n * Removes line1, line2 from address object if it exists.\n * We do not want to share these components with the merchant\n * at this point.\n *\n * @param {object} address object with line1, line2, city,\n * state, postalcode, country code\n */\nconst normalizeAddressForMerchant = (\n address: MappedAddressValues | EmptyObject,\n): NormalizedAddressForMerchant => {\n const { city, state, country, postalCode } = address ?? {};\n\n return {\n city,\n country_code: country,\n postal_code: postalCode,\n state,\n };\n};\n\n/**\n * TODO: Cleanup once shared shipping cb hooks are used\n *\n * A helper function to compare two address component objects.\n * Allows configuring how many address\n * components need to match for the two addresses be to be considered equals.\n *\n * @param {address object} address1 address components object, line1,\n * line2, city, state, postal_code, country_code\n * @param {address object} address2 address components object, line1,\n * line2, city, state, postal_code, country_code\n * @param {} options, options object to configure equality,\n * options.specificity determines how to specific should the two\n * addresses be to be considered equals,\n * options.caseSensivity whether or not each component to match case as well\n * @returns boolean, true if both addresses are equal according to configuration\n */\nconst addressAreEqual = (\n address1: NormalizedAddressForMerchant | EmptyObject,\n address2: NormalizedAddressForMerchant | EmptyObject,\n options: AddressAreEqualOptions = {\n ignoreCase: true,\n modifiers: [],\n specificity: 4,\n },\n): boolean => {\n const applyModifers = (\n str: string,\n modifiers: Array<(data: string) => string>,\n ): string => {\n let modifiedStr: string = str;\n\n modifiers.forEach(modifier => {\n modifiedStr = modifier(modifiedStr);\n });\n return modifiedStr;\n };\n\n const caseInsensivityModifer = (str: string): string => str.toLowerCase();\n\n // All address components to check against, subset by specificity\n const addrComponentsToCheck = new Set(\n ['line1', 'line2', 'city', 'state', 'postal_code', 'country_code'].slice(\n options.specificity * -1,\n ),\n );\n\n options.ignoreCase && options.modifiers.push(caseInsensivityModifer);\n\n // Find at least one address component which is different\n return Array.from(addrComponentsToCheck).every((addrKey: string) => {\n // check key's value against address2's key\n const addr1CompVal = String(\n address1[addrKey as keyof NormalizedAddressForMerchant],\n );\n const addr2CompVal = String(\n address2[addrKey as keyof NormalizedAddressForMerchant],\n );\n\n return (\n applyModifers(addr1CompVal, options.modifiers) ===\n applyModifers(addr2CompVal, options.modifiers)\n );\n });\n};\n\nexport {\n addressAreEqual,\n buildAmountBreakdown,\n currencyMapper,\n normalizeAddressForMerchant,\n normalizeShippingOption,\n};\n","// Internal\nimport type {\n BreakdownMappedV2,\n CurrencyMappedV2,\n NormalizedAddressForMerchantV2,\n NormalizedShippingOptionV2,\n} from './types';\nimport type {\n AddressAreEqualOptions,\n Breakdown,\n Currency,\n EmptyObject,\n MappedAddressValues,\n ShippingOption,\n} from '../types';\n\n/**\n * TODO: Cleanup once shared shipping cb hooks are used\n * TODO: Remove this file along with the ordersV2Mappers\n *\n * folder once we migrate to shared hooks\n * Converts the cart amount breakdown from\n * gql schema to OrdersV2 amount_breakdown object\n * See https://developer.paypal.com/docs/api/orders/v2/#definition-amount_breakdown\n *\n * @param {*} breakdown cart amount breakdown from gql\n * @returns breakdown object in OrdersV2 Amount_breakdown schema\n */\nconst buildAmountBreakdownV2 = (\n breakdown: Breakdown = {},\n): BreakdownMappedV2 => {\n return {\n discount: currencyMapperV2(breakdown.discount),\n handling: currencyMapperV2(breakdown.handlingFee),\n insurance: currencyMapperV2(breakdown.insurance),\n itemTotal: currencyMapperV2(breakdown.subtotal),\n shipping: currencyMapperV2(breakdown.shipping),\n shippingDiscount: currencyMapperV2(breakdown.shippingDiscount),\n taxTotal: currencyMapperV2(breakdown.tax),\n };\n};\n\nconst currencyMapperV2 = (currencyObj: Currency = {}): CurrencyMappedV2 => ({\n currencyCode: currencyObj.currencyCode,\n value: currencyObj.currencyValue,\n});\n\nconst normalizeShippingOptionV2 = (\n gqlShippingOption: ShippingOption,\n): NormalizedShippingOptionV2 => {\n const { __typename, amount, ...shippingOption } = gqlShippingOption || {};\n return {\n ...shippingOption,\n amount: currencyMapperV2(amount),\n };\n};\n\n/**\n * TODO: Cleanup once shared shipping cb hooks are used\n *\n * Removes line1, line2 from address object if it exists.\n * We do not want to share these components with the merchant\n * at this point.\n *\n * @param {object} address object with line1, line2, city,\n * state, postalcode, country code\n */\nconst normalizeAddressForMerchantV2 = (\n address: MappedAddressValues | EmptyObject,\n): NormalizedAddressForMerchantV2 => {\n const { city, state, country, postalCode } = address ?? {};\n\n return {\n city,\n countryCode: country,\n postalCode: postalCode,\n state,\n };\n};\n\n/**\n * TODO: Cleanup once shared shipping cb hooks are used\n *\n * A helper function to compare two address component objects.\n * Allows configuring how many address\n * components need to match for the two addresses be to be considered equals.\n *\n * @param {address object} address1 address components object, line1,\n * line2, city, state, postalCode, countryCode\n * @param {address object} address2 address components object, line1,\n * line2, city, state, postalCode, countryCode\n * @param {} options, options object to configure equality,\n * options.specificity determines how to specific should the two\n * addresses be to be considered equals,\n * options.caseSensivity whether or not each component to match case as well\n * @returns boolean, true if both addresses are equal according to configuration\n */\nconst addressAreEqualV2 = (\n address1: NormalizedAddressForMerchantV2 | EmptyObject,\n address2: NormalizedAddressForMerchantV2 | EmptyObject,\n options: AddressAreEqualOptions = {\n ignoreCase: true,\n modifiers: [],\n specificity: 4,\n },\n): boolean => {\n const applyModifers = (\n str: string,\n modifiers: Array<(data: string) => string>,\n ): string => {\n let modifiedStr: string = str;\n\n modifiers.forEach(modifier => {\n modifiedStr = modifier(modifiedStr);\n });\n return modifiedStr;\n };\n\n const caseInsensivityModifer = (str: string): string => str.toLowerCase();\n\n // All address components to check against, subset by specificity\n const addrComponentsToCheck = new Set(\n ['line1', 'line2', 'city', 'state', 'postalCode', 'countryCode'].slice(\n options.specificity * -1,\n ),\n );\n\n options.ignoreCase && options.modifiers.push(caseInsensivityModifer);\n\n // Find at least one address component which is different\n return Array.from(addrComponentsToCheck).every((addrKey: string) => {\n // check key's value against address2's key\n const addr1CompVal = String(\n address1[addrKey as keyof NormalizedAddressForMerchantV2],\n );\n const addr2CompVal = String(\n address2[addrKey as keyof NormalizedAddressForMerchantV2],\n );\n\n return (\n applyModifers(addr1CompVal, options.modifiers) ===\n applyModifers(addr2CompVal, options.modifiers)\n );\n });\n};\n\nexport {\n addressAreEqualV2,\n buildAmountBreakdownV2,\n currencyMapperV2,\n normalizeAddressForMerchantV2,\n normalizeShippingOptionV2,\n};\n","// Internal\nimport type { BaseAddressFieldResults } from '@/store';\nimport { appStore } from '@/store';\nimport { getLocale } from '@/lib/globals';\nimport { isFunction } from '@/lib/utils/typeUtils';\nimport type { EmptyObject, MappedAddressValues, ShippingOption } from './types';\nimport type { SimpleShippingAddress } from '@/store/models/form/types';\nimport type { SimpleShippingAddressString } from '@/store/models/api/types';\nimport type { CountryCodes } from '@/generated/graphql';\n\n/**\n *\n * @description The address fields in the easyPeasy store are objects that\n * contains other properties. Ex:\n * city: {\n * displayError: false\n * errorCode: \"valueMissing\"\n * isDirty: false\n * isValid: false\n * value: \"\"\n * }\n *\n * In some cases, we only care about the field's value; hence, this\n * function will map the address fields to their values only. EX:\n * billingAddress: {\n * city: \"San Jose\",\n * country: \"US\"\n * }\n *\n * @NOTE be aware that fields that don't have a value property,\n * won't be part of the mapped address\n * @param {Object} address\n *\n * @returns {Object}\n */\nconst mapAddressValues = (\n address: BaseAddressFieldResults | EmptyObject = {},\n): MappedAddressValues | EmptyObject => {\n return Object.keys(address).reduce(\n (mappedAddress, addressField) => {\n const addressFieldDetails =\n address[addressField as keyof BaseAddressFieldResults] || {};\n if (addressFieldDetails.hasOwnProperty('value')) {\n mappedAddress[addressField as keyof MappedAddressValues] =\n addressFieldDetails?.value as any; // Trust that country will be a valid Country Code\n }\n return mappedAddress;\n },\n {},\n );\n};\n\n/**\n * @param {boolean} isSntSupported\n *\n * @returns {string} returns the Shipping and Tax integration type\n */\nconst getShippingMethodsVariant = (isSntSupported = false): string => {\n // Indicates V2 SDK Shipping callbacks which were introduced\n // with AXO checkout integrations.\n if (\n isFunction(window?.xprops?.onShippingAddressChange) &&\n isFunction(window?.xprops?.onShippingOptionsChange)\n ) {\n return 'viaV2SDKShippingMethods';\n }\n\n // Indicates Legacy SDK Shipping callbacks integrations.\n if (isFunction(window?.xprops?.onShippingChange)) {\n return 'viaV1SDKShippingMethods';\n }\n\n // Indicates non SDK shipping methods integrations.\n if (isSntSupported) {\n return 'viaNonSDKShippingMethods';\n }\n\n // for all the non shipping method flows\n return 'none';\n};\n\nconst getShippingCountry = (): CountryCodes => {\n const { form: formState } = appStore.getState();\n const { shipToBilling, shippingAddress } = formState;\n return shipToBilling.value\n ? getLocale().country\n : shippingAddress.country.value;\n};\n\n/**\n * @description If the shipToBilling checkbox is checked, it returns\n * the billing address; otherwise, it returns the shipping address.\n *\n * @returns {Object} Shipping address\n */\nconst getShippingAddress = (): BaseAddressFieldResults => {\n const { form: formState } = appStore.getState();\n const { billingAddress, shipToBilling, shippingAddress } = formState;\n\n return shipToBilling.value ? billingAddress : shippingAddress;\n};\n\nconst trimOrEmpty = (str?: string | null): string => {\n return str ? str.trim() : '';\n};\n\nexport const getSimpleShippingAddressString = (\n address: SimpleShippingAddress,\n): SimpleShippingAddressString => {\n return `${trimOrEmpty(address.line1)}; ${\n trimOrEmpty(address.line2) ? trimOrEmpty(address.line2) + '; ' : ''\n }${trimOrEmpty(address.city)}, ${trimOrEmpty(address.state)} ${trimOrEmpty(\n address.postalCode,\n )}; ${trimOrEmpty(address.country)}` as SimpleShippingAddressString;\n};\n\nexport const simplifyShippingAddress = (\n shippingAddressFields: BaseAddressFieldResults,\n country: CountryCodes,\n): SimpleShippingAddress => {\n const {\n line1: { value: line1 },\n line2: { value: line2 },\n city: { value: city },\n state: { value: state },\n postalCode: { value: postalCode },\n } = shippingAddressFields;\n\n return {\n city,\n country,\n line1,\n line2,\n postalCode,\n state,\n };\n};\n\nconst getSelectedShippingMethod = (\n shippingMethods: ShippingOption[],\n): ShippingOption | undefined => {\n return shippingMethods?.find(method => method?.selected);\n};\n\nexport {\n getSelectedShippingMethod,\n getShippingAddress,\n getShippingCountry,\n getShippingMethodsVariant,\n mapAddressValues,\n};\n\nexport {\n addressAreEqual,\n buildAmountBreakdown,\n currencyMapper,\n normalizeAddressForMerchant,\n normalizeShippingOption,\n} from './v1';\n\nexport {\n addressAreEqualV2,\n buildAmountBreakdownV2,\n currencyMapperV2,\n normalizeAddressForMerchantV2,\n normalizeShippingOptionV2,\n} from './v2';\n","import { getGlobals } from '../globals/globals';\n\n// Not typing these, since once globals are typed they will auto be typed\nconst { deployEnv: env } = getGlobals();\nconst isDev = env.development;\nconst isProd = env.production || env.sandbox;\nconst isStage = env.staging;\nconst isTest = process.env.NODE_ENV === 'test';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst logDevErrorToConsole = (error: any): void => {\n const styles = `\n background-color: #b80000;\n color: #fff;\n font: bold 30px;\n line-height: 1.2;\n padding: 20px 15px;\n `;\n const log = `FALLBACK PREVENTED IN DEV MODE -- ERROR: ${error}`;\n console.log(`%c${log}`, styles); // eslint-disable-line no-console\n};\n\nexport { isDev, isProd, isStage, isTest, logDevErrorToConsole };\n","import styled from '@emotion/styled';\nimport { css } from '@emotion/core';\nimport {\n FONT_SIZE_SMALL,\n FONT_WEIGHT_NORMAL_PP,\n HEADER_COLOR,\n HIGH_CONTRAST_TEXT_COLOR,\n} from '@/styles/styleVariables';\n\ntype SpotsBlockProps = {\n spotsBlockMargin?: string;\n};\n\ntype SpotsHeaderProps = {\n headerFontSize?: string;\n headerFontWeight?: number;\n headerPadding?: string;\n};\n\ntype SpotsCardContainerProps = {\n col?: boolean;\n spotCardContainerWidth?: string;\n};\n\ntype SpotLabelProps = {\n spotLabelWeight?: number;\n spotLabelWidth?: string;\n col?: boolean;\n};\n\nconst SpotsBlock = styled.div`\n align-items: center;\n display: flex;\n flex-direction: column;\n margin: ${({ spotsBlockMargin }) => spotsBlockMargin};\n`;\n\nconst SpotsHeader = styled.h1`\n color: ${HEADER_COLOR};\n font-size: ${({ headerFontSize }) => headerFontSize};\n font-weight: ${({ headerFontWeight }) => headerFontWeight};\n padding: ${({ headerPadding }) => headerPadding};\n text-align: center;\n width: 100%;\n`;\n\nconst spotsContainerInitialStyles = css`\n align-items: flex-start;\n display: flex;\n justify-content: space-evenly;\n`;\n\nconst spotsContainerColStyles = css`\n align-items: center;\n display: flex;\n flex-direction: column;\n`;\n\nconst SpotsContainer = styled.div>`\n ${({ col }) => (col ? spotsContainerColStyles : spotsContainerInitialStyles)};\n`;\n\nconst SpotCardContainer = styled.div`\n align-items: center;\n display: flex;\n flex-direction: ${({ col }) => (col ? 'row' : 'column')};\n width: ${({ spotCardContainerWidth }) => spotCardContainerWidth};\n`;\n\nconst SpotLabel = styled.h3`\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-size: ${FONT_SIZE_SMALL};\n font-weight: ${({ spotLabelWeight }) =>\n spotLabelWeight || FONT_WEIGHT_NORMAL_PP};\n letter-spacing: 0;\n line-height: 20px;\n margin-bottom: 0.5rem;\n margin-top: 0.5rem;\n text-align: ${({ col }) => (col ? 'start' : 'center')};\n width: ${({ spotLabelWidth }) => spotLabelWidth};\n ${({ col }) =>\n col &&\n css`\n padding-left: 0.813rem;\n `}\n`;\n\nexport {\n SpotsBlock,\n SpotCardContainer,\n SpotLabel,\n SpotsContainer,\n SpotsHeader,\n};\n","// External libs\nimport React from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\n// Internal modules\nimport {\n SpotCardContainer,\n SpotLabel,\n SpotsBlock,\n SpotsContainer,\n SpotsHeader,\n} from './StyledComponents';\nimport {\n AlertSpot,\n BagHandleSpot,\n CartSpot,\n CheckMark,\n CheckMarkV2,\n InfoSpot,\n InfoSpotV2,\n LockSpot,\n MobileSpot,\n PhoneSpot,\n ShieldLockSpot,\n ShieldSpot,\n StampPercentSpot,\n TrackingNewSpot,\n TrackingSpot,\n TrophyNewSpot,\n TrophySpot,\n} from './Icons';\n\nexport const icons: { [key: string]: React.FC } = {\n ALERT: AlertSpot,\n BAG_HANDLE: BagHandleSpot,\n CART: CartSpot,\n CHECK_MARK: CheckMark,\n CHECK_MARK_V2: CheckMarkV2,\n INFO_SPOT: InfoSpot,\n INFO_SPOT_V2: InfoSpotV2,\n LOCK: LockSpot,\n MOBILE_SPOT: MobileSpot,\n PHONE: PhoneSpot,\n SHIELD: ShieldSpot,\n SHIELD_LOCK: ShieldLockSpot,\n STAMP_PERCENT: StampPercentSpot,\n TRACK: TrackingSpot,\n TRACK_NEW: TrackingNewSpot,\n TROPHY: TrophySpot,\n TROPHY_NEW: TrophyNewSpot,\n};\n\ninterface IconProps {\n bgColor?: string;\n}\ninterface SpotsProps {\n col?: boolean;\n header?: string;\n headerFontSize?: string;\n headerFontWeight?: number;\n headerPadding?: string;\n spotCardContainerWidth?: string;\n spotLabelWidth?: string;\n spots: {\n bgColor?: string;\n content: string | React.ReactNode;\n iconName: string;\n onIconCardClick?: () => void;\n }[];\n spotsBlockMargin?: string;\n}\n\nexport const Spots = ({ spots, ...props }: SpotsProps): React.ReactElement => {\n const {\n col,\n header,\n headerFontSize,\n headerFontWeight,\n headerPadding,\n spotsBlockMargin,\n spotLabelWidth,\n spotCardContainerWidth,\n } = props;\n\n return (\n \n {header && (\n \n {header}\n \n )}\n \n {spots.map(({ content, iconName, onIconCardClick, ...iconProps }) => {\n const Icon: React.FC = icons[iconName];\n return (\n Icon && (\n \n \n \n {content}\n \n \n )\n );\n })}\n \n \n );\n};\n","export var PRIMARY_COLOR = '#0070ba';\nexport var PRIMARY_COLOR_V2 = '#003087';\nexport var SECONDARY_COLOR = '#e4f1fb';\nexport var ERROR_COLOR = '#d20000';\nexport var WARNING_COLOR = '#d64003';\nexport var WHITE_COLOR = '#ffffff';\nexport var OFF_WHITE_COLOR = '#f1ede8';\nexport var WARN_COLOR = '#ff9600';\nexport var BUTTON_FOCUSED_COLOR = '#005ea6';\nexport var BUTTON_BACK_MERCHANT_BACKGROUND_COLOR = '#E1E7EB';\nexport var BUTTON_BACK_MERCHANT_TEXT_COLOR = '#2c2e2f';\nexport var BORDER_COLOR = '#cbd2d6';\nexport var FUNDING_SOURCE_LOGO_BORDER_COLOR = '#ebebeb';\nexport var SEPARATOR_BORDER_COLOR = '#eaeced';\nexport var INPUT_BORDER_COLOR = '#b7bcbf';\nexport var INPUT_BORDER_COLOR_PP = '#929496';\nexport var INPUT_PP_REACT_FOCUSED_COLOR = '#0070E0';\nexport var INPUT_BORDER_FOCUSED_COLOR = '#009cde';\nexport var INPUT_BORDER_FOCUSED_COLOR_LIGHT = 'rgba(0, 156, 222, 10%)';\nexport var INPUT_TEXT_COLOR = '#2c2e2f';\nexport var LABEL_COLOR = '#6c7378';\nexport var INPUT_TEXT_BLUE_COLOR = '#0070E0';\nexport var ERROR_MESSAGE_BACKGROUND_COLOR = '#fff7f7';\nexport var INFO_MESSAGE_BACKGROUND_COLOR = '#f5f7fa';\nexport var SUCCESS_MESSAGE_BACKGROUND_COLOR = '#f5fdfb';\nexport var WARN_MESSAGE_BACKGROUND_COLOR = '#fffbf5';\nexport var TEXT_DEFAULT_COLOR = '#7e8489';\nexport var TEXT_HEADING_COLOR = '#4a4a4a';\nexport var TEXT_LIGHT_GRAY_COLOR = '#687173';\nexport var TEXT_GRAY_COLOR = '#545D68';\nexport var IMAGE_BACKGROUND_COLOR = '#f8f8f8';\nexport var IMAGE_BORDER_COLOR = '#b0b8c5';\nexport var PP_LABEL_COLOR = '#545D68';\nexport var TOOLTIP_BACKGROUND_COLOR = '#f5fbfe';\nexport var TOOLTIP_BORDER_COLOR = '#50c7f9';\nexport var BANNER_BACKGROUND_COLOR = '#F0F4F5';\nexport var PAYPAL_FONT = \"'PayPal Sans Big', 'Helvetica Neue', Helvetica, Arial, Roboto, sans-serif\";\nexport var HELVETICA_FONT = \"'Helvetica Neue', Helvetica, Arial, Roboto, sans-serif\";","// Internal modules\nimport {\n containsRightOfWithdrawalInUserAgreement,\n features,\n getLocale,\n isEmeaLiteCountry,\n isEmeaPasswordlessWithoutCookiesCountry,\n logger,\n} from '@/lib';\n\nimport { RIGHT_OF_WITHDRAWAL_TERM_KEY } from './constants';\nimport { CountryCodes } from '@/generated/graphql';\n\nexport const getOnboardTermsKey = (type: 'guest' | 'signup'): string => {\n const isSignup = type === 'signup';\n if (features.isActive('hasPrivacyStatementTerms') && isSignup) {\n return 'terms.userAgreementLink';\n }\n\n // For some countries, according to FEATURE_SIGNUP_RIGHT_OF_WITHDRAW\n // we need to show signup terms with Right of Withdrawal\n if (containsRightOfWithdrawalInUserAgreement(type)) {\n return RIGHT_OF_WITHDRAWAL_TERM_KEY;\n }\n\n if (\n !isSignup &&\n features.isActive('shouldShowDomesticUserAgreementAcceptance')\n ) {\n return 'simplifiedSectionHeaders.guest.domesticTermsWithLinks';\n }\n\n const key = isEmeaLiteCountry() ? `${type}EmeaLite` : type;\n return `terms.${key}`;\n};\n\ninterface GetOnboardTermsStreamlineKeyParams {\n type: 'guest' | 'signup';\n isPasswordless?: boolean;\n}\n\n/**\n getOnboardTermsStreamlineKey function returns a content key\n for a streamline experience. And it depends on the type of\n the flow (signup/guest/isPasswordless/emeaLight country group)\n*/\nexport const getOnboardTermsStreamlineKey = ({\n type,\n isPasswordless,\n}: GetOnboardTermsStreamlineKeyParams): string => {\n const isSignup = type === 'signup';\n if (features.isActive('hasPrivacyStatementTerms') && isSignup) {\n return 'terms.userAgreementLink';\n }\n\n // For some countries, according to FEATURE_SIGNUP_RIGHT_OF_WITHDRAW\n // we need to show signup terms with Right of Withdrawal\n if (containsRightOfWithdrawalInUserAgreement(type)) {\n return RIGHT_OF_WITHDRAWAL_TERM_KEY;\n }\n\n if (features.isActive('shouldShowILPSLArticle2Content') && !isSignup) {\n return 'simplifiedSectionHeaders.guest.termsWithLinksArticle2';\n }\n\n if (\n !isSignup &&\n features.isActive('shouldShowDomesticUserAgreementAcceptance')\n ) {\n return 'simplifiedSectionHeaders.guest.domesticTermsWithLinks';\n }\n\n if (isPasswordless && isEmeaPasswordlessWithoutCookiesCountry()) {\n const termsType = isSignup ? 'termsAndConditions' : 'termsWithLinks';\n return `simplifiedSectionHeaders.${type}.${termsType}`;\n }\n\n const emeaKeySignup =\n isSignup && isPasswordless ? 'termsWithLinks' : 'termsAndConditions';\n\n const emeaKey = isSignup ? emeaKeySignup : 'termsWithLinks';\n\n const streamlineKey = isEmeaLiteCountry() ? `${type}EmeaLite` : emeaKey;\n\n const { country } = getLocale();\n const hasShorterSignupTerms = country === CountryCodes.Us;\n\n if (isSignup && hasShorterSignupTerms) {\n return 'simplifiedSectionHeaders.signup.termsWithLinksV2';\n }\n\n if (isSignup && isPasswordless && features.isActive('isWebLLS')) {\n return 'simplifiedSectionHeaders.streamline.webllsterms';\n }\n\n return `simplifiedSectionHeaders.${type}.${streamlineKey}`;\n};\n\nexport const logTermClick = (linkName: string): void => {\n const snakedLinkName = linkName.replace(\n /[A-Z]/g,\n match => `_${match.toLowerCase()}`,\n );\n const eventName = `prepare_${snakedLinkName}_terms`;\n logger.fpti(`weasley_${eventName}`, {\n state_name: 'signup',\n transition_name: eventName,\n });\n};\n\nexport const logLinkClick = (linkName: string, path: string): void => {\n logger.info('terms_link_click', { linkName, path });\n};\n\nexport const getFeeInformationServiceDescriptionKey = ({\n isoCode,\n}: {\n isoCode: CountryCodes;\n}): string | null => {\n switch (isoCode) {\n case CountryCodes.Pl:\n case CountryCodes.Es:\n case CountryCodes.De:\n return 'compliance.feeInformation';\n case CountryCodes.Lt:\n return 'compliance.commissionInformation';\n case CountryCodes.At:\n return 'compliance.serviceDescription';\n default:\n return null;\n }\n};\n","// External libraries\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/core';\n\n// Internal modules\nimport { BORDER_FOCUSED_COLOR } from '@/styles';\n\n// CSS styles\nconst customInputContainerStyles = css`\n display: flex;\n`;\n\nconst inputContainerStyles = css`\n flex-grow: 1;\n`;\n\nconst inputStyleOverrides = css`\n border-style: none;\n\n &:focus {\n border-style: none;\n box-shadow: none;\n }\n`;\n\nconst tooltipStyleOverrides = css`\n margin-top: -1px;\n right: 6px;\n z-index: 11;\n`;\n\n// Styled components\nconst EmailAndTooltipContainer = styled.div`\n position: relative;\n`;\n\nconst InfoButton = styled.button`\n background-color: transparent;\n border: none;\n border-radius: 50%;\n height: auto;\n margin: 5px 15px 5px 0;\n outline: 0;\n padding: 0;\n\n &:focus span {\n box-shadow: 0 0 0 3px ${BORDER_FOCUSED_COLOR};\n }\n`;\n\nconst InfoIconContainer = styled.span`\n align-items: center;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n margin-left: 3px;\n padding: 1px;\n`;\n\nexport {\n InfoIconContainer,\n customInputContainerStyles,\n EmailAndTooltipContainer,\n InfoButton,\n inputContainerStyles,\n inputStyleOverrides,\n tooltipStyleOverrides,\n};\n","// External modules\nimport styled from '@emotion/styled';\n// @ts-expect-error checkout/react-components\nimport { TextButton } from '@checkout/react-components';\n\n// Internal modules\nimport { HEADER_COLOR, PRIMARY_COLOR } from '@/styles';\n\ntype ChangeFieldContainerProps = {\n height?: string;\n paddingBottom?: string;\n paddingTop?: string;\n visibility?: string;\n};\n\nconst ChangeFieldContainer = styled.div`\n cursor: pointer;\n font-size: calc(1em * (14 / 16));\n height: ${({ height = 'auto' }) => height};\n padding-bottom: ${({ paddingBottom }) => paddingBottom};\n padding-top: ${({ paddingTop }) => paddingTop};\n visibility: ${({ visibility }) => visibility || 'initial'};\n\n @media (min-width: 365px) {\n font-size: calc(1em * (15 / 16));\n }\n`;\n\nconst ChangeFieldValue = styled.label`\n color: ${HEADER_COLOR};\n font-size: inherit;\n font-weight: 600;\n padding-right: 5px;\n position: relative;\n\n @media (min-width: 365px) {\n font-size: inherit;\n }\n`;\n\nconst ChangeFieldTextButton = styled(TextButton)`\n font-size: 12px;\n margin-left: 0.05em;\n position: relative;\n text-decoration: none;\n\n &:focus,\n &:hover {\n color: ${PRIMARY_COLOR};\n text-decoration: underline;\n }\n`;\n\nexport { ChangeFieldTextButton, ChangeFieldContainer, ChangeFieldValue };\n","// External modules\nimport React, { useEffect, useRef, useState } from 'react';\n\n// Internal modules\nimport { getContent } from '@/lib';\nimport {\n ChangeFieldContainer,\n ChangeFieldTextButton,\n ChangeFieldValue,\n} from './StyledComponents';\n\ninterface ValueAsFieldLabelProps {\n value?: string;\n children: ({ shouldAutoFocus }: { shouldAutoFocus: boolean }) => JSX.Element;\n shouldRenderAsValue?: boolean;\n onClick: () => void;\n}\n\nconst ValueAsFieldLabel = ({\n value,\n children,\n shouldRenderAsValue = false,\n onClick,\n}: ValueAsFieldLabelProps): React.ReactElement => {\n const [isValue, setIsValue] = useState(shouldRenderAsValue);\n const shouldAutoFocus = useRef(false);\n\n useEffect(() => {\n setIsValue(shouldRenderAsValue);\n }, [shouldRenderAsValue]);\n\n const handleChangeButtonClick = () => {\n setIsValue(false);\n shouldAutoFocus.current = true;\n onClick();\n };\n\n if (isValue) {\n return (\n \n {value}\n \n {getContent('base.change')}\n \n \n );\n }\n return children({ shouldAutoFocus: shouldAutoFocus.current });\n};\n\nexport { ValueAsFieldLabel };\n","// Internal modules\nimport { features, logger } from '@/lib';\nimport { appStore } from '@/store';\n\nconst getCommonPayload = () => {\n const { showTabs } = appStore.getState().ui;\n const view_name = showTabs ? 'tab_view' : 'single_page_view';\n const forced_signup_offered = features.isActive('isForcedSignUp') ? 1 : 0;\n\n return {\n existingAccountCheck: {\n event_name: 'xo_guest_existing_account_check',\n field_name: 'email',\n forced_signup_offered,\n state_name: 'existing_account_check',\n view_name,\n },\n forced_signup_offered,\n view_name,\n };\n};\n\nexport const logFptiForEmailChangeButtonClick = (): void => {\n const { forced_signup_offered, view_name } = getCommonPayload();\n\n logger.fpti('email_change_text_button_clicked', {\n event_name: 'xo_guest_change_email_button_clicked',\n field_name: 'email',\n forced_signup_offered,\n state_name: 'billing',\n transition_name: 'change_email_clicked',\n view_name,\n });\n};\n","// External libraries\nimport React, { useRef, useState } from 'react';\nimport { func } from 'prop-types';\nimport { useStoreState } from '@/store';\nimport {\n CustomInputContainer,\n FloatingLabelInput,\n genericValidationFn,\n Tooltip,\n // @ts-expect-error untyped import\n} from '@checkout/react-components';\n\n// Internal modules\nimport { features, getContent, getExperiment } from '@/lib';\nimport { useMountLogging } from '@/lib/reactHooks';\nimport {\n customInputContainerStyles,\n EmailAndTooltipContainer,\n inputContainerStyles,\n inputStyleOverrides,\n tooltipStyleOverrides,\n} from './styles';\nimport { emailLookup } from '@/lib/emailLookup';\nimport { ValueAsFieldLabel } from '@/components/Common/ValueAsFieldLabel';\nimport { logFptiForEmailChangeButtonClick } from './fpti';\nimport { LogInLink } from '../../Billing/Components';\nimport { InfoMessage } from '../../Common/PageMessages';\nimport type { HandlersTypes, InputOnBlurChange } from '@/types';\nimport type { InputOnChange } from '@/types';\n\nconst Email = ({\n blurHandler,\n focusHandler,\n changeHandler,\n}: HandlersTypes): JSX.Element => {\n useMountLogging('Email');\n const [isTooltipDisplayed, setIsTooltipDisplayed] = useState(false);\n const infoButtonRef = useRef(null);\n\n const isFormSubmitting = useStoreState(state => state.ui.isFormSubmitting);\n const showMessage = useStoreState(\n state => state.ui.showIsExistingAccountEmailMessage,\n );\n\n const emailState = useStoreState(state => state.form.email);\n const onboardOption = useStoreState(state => state.form.onboardOption);\n const { displayError, error, ...partialEmailState } = emailState;\n\n const shouldShowOptionalUpsellHalfSheet = features.hasFeature(\n 'shouldShowOptionalUpsellHalfSheet',\n );\n const shouldLookupEmail =\n getExperiment('shouldShowOTP') ||\n shouldShowOptionalUpsellHalfSheet ||\n getExperiment('suppressSignup');\n\n const customBlurHandler: InputOnBlurChange = e => {\n if (shouldLookupEmail) {\n emailLookup(e.target.value);\n }\n blurHandler(e);\n };\n\n /*\n If the tooltip is clicked directly, this function will ensure it is closed\n and that focus returns to the info button.\n */\n const tooltipClickHandler = (e: React.MouseEvent) => {\n setIsTooltipDisplayed(false);\n infoButtonRef.current?.focus();\n };\n\n /*\n Closes the tooltip if anything besides the info button or tooltip itself\n get clicked\n */\n const tooltipBlurHandler = (e: React.FocusEvent) => {\n if (\n e.target?.id !== 'email-tooltip' &&\n e.relatedTarget?.id !== 'emailInfoIcon'\n ) {\n setIsTooltipDisplayed(false);\n }\n };\n\n /**\n * Check if change is autofill\n */\n const onChange: InputOnChange = (e, ...rest) => {\n const emailInput = e.target.value;\n // Check if user focus is on email input to trigger lookup\n const activeElm = document.activeElement;\n if (activeElm && 'type' in activeElm && activeElm.type !== 'email') {\n // Verify this is a valid email\n const { isValid } = genericValidationFn(emailInput, {\n props: { required: true, type: 'email' },\n });\n\n // Fire the lookup for valid email addresses\n if (isValid) {\n emailLookup(emailInput);\n }\n }\n\n changeHandler(e, ...rest);\n };\n\n return (\n <>\n \n {({ shouldAutoFocus }) => (\n \n \n {(focusAndBlurHandler: boolean) => (\n <>\n \n \n )}\n \n\n {isTooltipDisplayed && (\n \n

\n {getContent(\n `messages.emailTooltip.${onboardOption.value || 'guest'}`,\n )}\n

\n \n )}\n
\n )}\n \n {showMessage && (\n \n {getContent('billing.logIn')}\n \n ),\n })}\n testId=\"email-member-match-disclaimer\"\n withoutIcon\n />\n )}\n \n );\n};\n\nEmail.propTypes = {\n blurHandler: func.isRequired,\n changeHandler: func.isRequired,\n focusHandler: func.isRequired,\n};\n\nexport { Email };\n","// External libraries\nimport React from 'react';\n// @ts-expect-error TODO:@checkout/react-components\nimport { FullName } from '@checkout/react-components';\nimport { useStoreState } from '@/store';\n\n// Internal modules\nimport { getContent } from '@/lib';\nimport type { HTMLInputHandlers } from '../types';\nimport { useMountLogging } from '@/lib/reactHooks';\n\nexport const Name = (props: HTMLInputHandlers): React.ReactElement => {\n useMountLogging('Name');\n const firstName = useStoreState(({ form }) => form.firstName);\n const lastName = useStoreState(({ form }) => form.lastName);\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n\n return (\n \n );\n};\n","import styled from '@emotion/styled';\n\n// Internal modules\nimport { StyledText } from '@/components/Common';\n\nexport const InlineContentContainer = styled.span`\n font-weight: 600;\n`;\n\nexport const CupOtpStyledText = styled(StyledText)`\n margin-bottom: 8px;\n`;\n","// External modules\nimport React from 'react';\n\n// Internal modules\nimport { getContent } from '@/lib';\nimport { CupOtpStyledText, InlineContentContainer } from './StyledComponents';\n\nexport const CupOtpMessage = (): JSX.Element => {\n return (\n \n {getContent('oneTimePasswordConfirmation.message.initiateOtp', {\n mobileNumberOnFile: (\n \n {getContent(\n 'oneTimePasswordConfirmation.message.mobileNumberOnFile',\n )}\n \n ),\n })}\n \n );\n};\n","// External libraries\nimport type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\n\n// Internal modules\n// @ts-expect-error TODO:'@/styles\nimport { FLAGS_SPRITE_URL } from '@/styles';\n\n// CSS styles\nconst dropdownLabelStyleOverrides = css`\n opacity: 0;\n`;\n\nconst getDropdownContainerStyleOverrides = (\n flagPos: number,\n): SerializedStyles => css`\n position: absolute;\n background-image: url(${FLAGS_SPRITE_URL});\n background-position: 8px ${flagPos}px;\n background-repeat: no-repeat;\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n margin-bottom: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 100%;\n height: 50px;\n\n /* Down caret */\n &::before {\n right: 10px;\n }\n @media (max-width: 390px) {\n background-position: 18px ${flagPos}px;\n }\n`;\n\nexport { dropdownLabelStyleOverrides, getDropdownContainerStyleOverrides };\n","// External libraries\nimport React from 'react';\n// @ts-expect-error TODO:@checkout/react-components\nimport { FloatingLabelSelect } from '@checkout/react-components';\n\n// Internal modules\nimport { FLAG_SPRITE_POSITION_MAP } from '@/styles';\nimport {\n dropdownLabelStyleOverrides,\n getDropdownContainerStyleOverrides,\n} from './styles';\nimport type { InputOnBlurChange, InputOnChange, InputOnFocus } from '@/types';\n\ninterface DialingCodeSelectProps {\n blurHandler?: InputOnBlurChange;\n changeHandler: InputOnChange;\n dialingCode?: {\n displayError: boolean;\n error: string;\n value: string;\n };\n dialingCodeSelectOptions: { key: string; text: string; value: string }[];\n disabled?: boolean;\n focusHandler?: InputOnFocus;\n value: string;\n}\n\nexport const DialingCodeSelect = (\n props: DialingCodeSelectProps,\n): React.ReactElement => {\n // Added 16 to the index to center it in the select\n // component, without which the flag would cut in half.\n const flagPos = FLAG_SPRITE_POSITION_MAP[props?.value] + 16;\n const { dialingCodeSelectOptions, ...propsToSpread } = props;\n\n return (\n \n );\n};\n","// External libraries\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/core';\n\nimport type { PhoneContainerProps } from './types';\n\n// CSS styles\nconst dialingCodeStyles = css`\n > div {\n /* container */\n &:first-of-type {\n @media (max-width: 390px) {\n display: block;\n margin-bottom: 12px;\n width: auto;\n }\n }\n\n /* container */\n &:last-of-type {\n @media (min-width: 391px) {\n width: calc(100% - 190px);\n }\n }\n\n /* container */\n &:nth-of-type(2) {\n width: 80px;\n\n @media (min-width: 391px) {\n margin-left: 10px;\n width: 60px;\n }\n }\n }\n`;\n\nconst streamlineDialingCodeStyles = css`\n /* stylelint-disable-next-line no-descending-specificity */\n > div {\n /* container */\n &:first-of-type {\n width: 80px;\n @media (min-width: 391px) {\n width: 60px;\n }\n }\n\n /* container */\n &:last-of-type {\n @media (min-width: 391px) {\n width: calc(100% - 60px);\n }\n }\n }\n`;\n\n// Styled components\nconst ComponentContainer = styled.div`\n width: 100%;\n margin-bottom: 12px;\n`;\n\ntype InputsContainerProps = Pick<\n PhoneContainerProps,\n 'phone' | 'canDialingCodeChange' | 'phoneType'\n>;\n\nconst InputsContainer = styled.div`\n position: relative;\n white-space: nowrap;\n\n /* Containers for and */\n /* Disabling the descending specificity rule: */\n /* stylelint.io/user-guide/rules/no-descending-specificity#dom-limitations */\n /* stylelint-disable-next-line no-descending-specificity */\n > div {\n display: inline-block;\n position: relative;\n vertical-align: top;\n\n /* container */\n &:first-of-type {\n width: ${p => (p.canDialingCodeChange ? '120px' : '140px')};\n z-index: ${p => (p.phoneType?.displayError ? '1' : 'auto')};\n }\n\n /* container */\n &:last-of-type {\n left: -1px;\n width: calc(100% - ${p => (p.canDialingCodeChange ? 80 : 139)}px);\n z-index: ${p => (p.phone?.displayError ? '1' : 'auto')};\n }\n\n /* Error message */\n p {\n white-space: pre-line;\n }\n }\n\n /* A focused input/select should always display the entire border */\n div.is-focused {\n z-index: 2;\n }\n`;\n\ntype PhoneInputsContainer = Pick<\n PhoneContainerProps,\n 'phone' | 'canDialingCodeChange'\n>;\n\nconst PhoneInputsContainer = styled.div`\n position: relative;\n white-space: nowrap;\n /* Containers for */\n /* Disabling the descending specificity rule: */\n /* stylelint.io/user-guide/rules/no-descending-specificity#dom-limitations */\n /* stylelint-disable-next-line no-descending-specificity */\n > div {\n display: inline-block;\n position: relative;\n vertical-align: top;\n /* container */\n &:last-of-type {\n left: -1px;\n width: calc(100% - ${p => (p.canDialingCodeChange ? 80 : 139)}px);\n z-index: ${p => (p.phone?.displayError ? '1' : 'auto')};\n }\n /* Error message */\n p {\n white-space: pre-line;\n }\n }\n /* A focused input/select should always display the entire border */\n div.is-focused {\n z-index: 2;\n }\n`;\n\nexport {\n dialingCodeStyles,\n streamlineDialingCodeStyles,\n ComponentContainer,\n InputsContainer,\n PhoneInputsContainer,\n};\n","/** @jsx jsx */\n// External libraries\nimport { jsx } from '@emotion/core';\n// @ts-expect-error untyped import\nimport { FieldError } from '@checkout/react-components';\n\n// Internal modules\nimport {\n ComponentContainer,\n dialingCodeStyles,\n InputsContainer,\n PhoneInputsContainer,\n streamlineDialingCodeStyles,\n} from './styles';\nimport type { PhoneContainerProps } from './types';\n\nexport const PhoneContainer = ({\n canDialingCodeChange,\n children,\n isStreamlineExperience = false,\n phone,\n phoneType,\n withPhoneType,\n}: PhoneContainerProps): JSX.Element => {\n if (!withPhoneType) {\n if (isStreamlineExperience && canDialingCodeChange) {\n return (\n \n \n {children}\n \n \n );\n }\n // @ts-expect-error this is likely a possible bug / mistake\n // Possible what is returned is not an element since children is not strict\n return children;\n }\n\n return (\n \n \n {children}\n \n\n {phone.displayError && (\n {phone.error}\n )}\n \n );\n};\n","// External libraries\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/core';\n\nimport { LABEL_COLOR } from '@/styles/styleVariables';\n\n// CSS styles\nconst phoneInputStyleOverrides = {\n containerStyleOverrides: css`\n margin-bottom: 0;\n `,\n inputStyleOverrides: css`\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n `,\n};\n\n// Styled components\nconst PhoneConfirmationText = styled.p`\n color: ${LABEL_COLOR};\n font-size: 14px;\n font-weight: normal;\n line-height: 1.2;\n margin: 6px 0 12px;\n white-space: normal;\n`;\n\nexport { PhoneConfirmationText, phoneInputStyleOverrides };\n","export const PHONE_TYPES = ['MOBILE', 'HOME', 'WORK'];\n","// Internal modules\nimport { PHONE_TYPES } from '../constants';\n\ninterface ValidatePhoneTypeResult {\n patternMismatch: boolean;\n valueMissing: boolean;\n errors: string[];\n isValid: boolean;\n}\n\ntype TempErrorsObject = Pick<\n ValidatePhoneTypeResult,\n 'patternMismatch' | 'valueMissing'\n>;\n\nexport const validatePhoneType = (value: string): ValidatePhoneTypeResult => {\n const errorsObject: TempErrorsObject = {\n patternMismatch: Boolean(value.length) && !PHONE_TYPES.includes(value),\n valueMissing: !value.length,\n };\n\n const errors = (\n Object.keys(errorsObject) as (keyof typeof errorsObject)[]\n ).filter(key => errorsObject[key]);\n\n return {\n ...errorsObject,\n errors,\n isValid: !errors.length,\n };\n};\n","// External libraries\nimport React from 'react';\n// @ts-expect-error untyped import\nimport { FloatingLabelSelect } from '@checkout/react-components';\n\n// Internal modules\nimport { getContent } from '@/lib';\nimport { PHONE_TYPES } from './constants';\nimport { validatePhoneType } from './utils';\nimport type { InputOnBlurChange, InputOnChange, InputOnFocus } from '@/types';\nimport type { FormState } from '@/store/models/form/types';\n\n// For some reason we spread phoneType in props instead of passing the obj.\ntype PhoneType = FormState['phoneType'];\n\ninterface PhoneTypeProps extends PhoneType {\n blurHandler?: InputOnBlurChange;\n canDialingCodeChange: boolean;\n changeHandler: InputOnChange;\n disabled?: boolean;\n focusHandler?: InputOnFocus;\n}\n\nexport const PhoneType = (props: PhoneTypeProps): JSX.Element => {\n const { canDialingCodeChange, ...propsToSpread } = props;\n\n return (\n ({\n text: getContent(`phoneTypes.${type.toLowerCase()}`),\n value: type,\n }))}\n validationFn={validatePhoneType}\n {...propsToSpread}\n />\n );\n};\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const FETCH_PHONE_METADATA_QUERY = gql`\n query FetchPhoneMetadataQuery($countryCode: CountryCodes!) {\n localeMetadata {\n phone(countryCode: $countryCode) {\n masks {\n mobile\n }\n patterns {\n default\n }\n }\n }\n }\n`;\n","import type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\nimport type { FetchPhoneMetadataQueryQuery } from '@/generated/graphql';\nimport type { PhoneMetaData } from './types';\n\nexport const mapPhoneMetadata = (\n data: FetchPhoneMetadataQueryQuery,\n): PhoneMetaData => {\n const { localeMetadata } = data;\n const phone = localeMetadata?.phone;\n const masks = phone?.masks;\n const pattern = phone?.patterns?.default;\n\n const phoneMetadata = {\n mask: masks?.mobile,\n pattern: pattern?.substring(1, pattern.length - 1),\n };\n\n return phoneMetadata;\n};\n\nconst infoMessageContainerOverrides = css`\n padding: 16px;\n gap: 12px;\n background: #faf8f5;\n border-radius: 6px;\n margin-bottom: 12px;\n`;\n\nconst infoMessageOverrides = css`\n font-weight: 400;\n font-size: 14px;\n /* stylelint-disable-next-line declaration-no-important */\n margin-left: 0 !important;\n line-height: 20px;\n color: #001435;\n`;\n\ntype MobielHintStyleOverrides = {\n container: SerializedStyles;\n message: SerializedStyles;\n};\n\nexport const getMobileHintStyles = (): MobielHintStyleOverrides => {\n return {\n container: infoMessageContainerOverrides,\n message: infoMessageOverrides,\n };\n};\n","// External libraries\nimport { useCallback } from 'react';\nimport { useStoreActions } from '@/store';\nimport debounce from 'lodash.debounce';\n\n// Internal modules\nimport { isFunction } from '@/lib/utils/typeUtils';\nimport { fetchPhoneMetadata } from './graphql/operations/fetchPhoneMetadata';\nimport type { InputOnChange } from '@/types';\n\ninterface UseChangeHandlerFactoryParam {\n propsChangeHandler: InputOnChange;\n}\n\nexport const useChangeHandlerFactory = ({\n propsChangeHandler,\n}: UseChangeHandlerFactoryParam): InputOnChange => {\n const updatePhoneMetadata = useStoreActions(\n ({ api }) => api.updatePhoneMetadata,\n );\n\n // Lots of expect errors, because this is used to pass into input on change\n // Which does not have these other params unless something is special in\n // react-components that adds these extra param?\n // TS migration, so not going to risk breaking code changing it\n const changeHandler = (\n e: React.ChangeEvent,\n // @ts-expect-error\n value,\n // @ts-expect-error\n oldValue,\n // @ts-expect-error\n meta,\n ) => {\n if (isFunction(propsChangeHandler)) {\n // @ts-expect-error\n propsChangeHandler(e, value, oldValue, meta);\n }\n\n updatePhoneMetadata({});\n\n fetchPhoneMetadata(value).then(newPhoneMetadata => {\n updatePhoneMetadata(newPhoneMetadata || {});\n });\n };\n\n const debouncedChangeHandler = useCallback(\n debounce((e, value, oldValue, meta) => {\n changeHandler(e, value, oldValue, meta);\n }, 100),\n [],\n );\n\n // @ts-expect-error\n return debouncedChangeHandler;\n};\n","// Internal modules\nimport { apolloClient } from '@/lib/apollo';\nimport { redirectToGenericError } from '@/lib';\nimport { FETCH_PHONE_METADATA_QUERY } from '../queries/fetchPhoneMetadata.gql';\nimport { mapPhoneMetadata } from '../../utils';\nimport type {\n CountryCodes,\n FetchPhoneMetadataQueryQuery,\n FetchPhoneMetadataQueryQueryVariables,\n} from '@/generated/graphql';\nimport type { PhoneMetaData } from '../../types';\n\nexport const fetchPhoneMetadata = (\n countryCode: CountryCodes,\n): Promise => {\n return apolloClient\n .query(\n {\n query: FETCH_PHONE_METADATA_QUERY,\n variables: { countryCode },\n },\n )\n .then(({ data }) => {\n return mapPhoneMetadata(data);\n })\n .catch(error => {\n redirectToGenericError(error);\n });\n};\n","// External libraries\nimport type { ChangeEvent, FocusEvent } from 'react';\nimport React from 'react';\nimport { useStoreActions, useStoreState } from '@/store';\n// @ts-expect-error untyped import\nimport { PhoneInput } from '@checkout/react-components';\n\n// Internal modules\nimport { features, getContent } from '@/lib';\nimport { useMountLogging } from '@/lib/reactHooks';\nimport { PhoneContainer } from '../PhoneContainer';\nimport { PhoneConfirmationText, phoneInputStyleOverrides } from './styles';\nimport { CupOtpMessage } from '../CupOtpMessage';\nimport { DialingCodeSelect } from '../DialingCodeSelect';\nimport { PhoneType } from '../PhoneType';\nimport { useChangeHandlerFactory } from './hooks';\nimport { LoadingElement, MobileSpot } from '../../../Common';\nimport { InfoMessage } from '../../../Common/PageMessages';\nimport { getMobileHintStyles } from './utils';\nimport { HiddenElementA11y } from '@/components/Common/StyledComponents';\n\ninterface PhoneNumberProps {\n blurHandler?: (e: FocusEvent) => void;\n changeHandler: (e: ChangeEvent) => void;\n focusHandler?: (e: FocusEvent) => void;\n isStreamlineExperience?: boolean;\n}\n\nexport const PhoneNumber = (props: PhoneNumberProps): JSX.Element => {\n useMountLogging('PhoneNumber');\n const [isFocused, setIsFocused] = React.useState(false);\n const fiType = useStoreState(({ ui }) => ui.fiType);\n const phoneFieldValue = useStoreState(({ form }) => form.phone.value);\n const dialingCode = useStoreState(({ form }) => form.dialingCode);\n const phone = useStoreState(({ form }) => form.phone);\n const phoneType = useStoreState(({ form }) => form.phoneType);\n const cardType = useStoreState(({ form }) => form.cardNumber.cardType);\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const hasCupOneTimePasswordConfirmationMessage = useStoreState(\n ({ ui }) => ui.hasCupOneTimePasswordConfirmationMessage,\n );\n const {\n dialingCodeSelectOptions = [],\n phoneMeta,\n territoriesToDialingCodeMap,\n } = useStoreState(({ api }) => api.griffinMetadata);\n const updateNonAddressField = useStoreActions(\n ({ form }) => form.updateNonAddressField,\n );\n const dialingCodeNum = territoriesToDialingCodeMap[dialingCode.value];\n const dialingCodeLabel = getContent('accessibility.dialingCode', {\n dialingCode: `+${dialingCodeNum}`,\n });\n const isAllowChangePhoneType = features.isActive('allowChangePhoneType');\n const canDialingCodeChange = features.isActive('canDialingCodeChange');\n const shouldShowSCAPhoneConfirmation = features.isActive(\n 'shouldShowSCAPhoneConfirmation',\n );\n const optionalSignupAndStreamline = features.isActive(\n 'isStreamlineOptionalExperience',\n );\n const isStreamlineExperience = props.isStreamlineExperience;\n\n const isCupOtpFlow =\n hasCupOneTimePasswordConfirmationMessage && cardType === 'CHINA_UNION_PAY';\n // We show the Phone Type dropdown if isAllowChangePhoneType is true and\n // it is not a cup otp flow and not the streamline experience.\n const withPhoneType =\n isAllowChangePhoneType && !isCupOtpFlow && !isStreamlineExperience;\n\n const { changeHandler, ...remainingDialingCodeProps } = props;\n const dialingCodeChangeHandler = useChangeHandlerFactory({\n propsChangeHandler: changeHandler,\n });\n\n /*\n Logic from line 61 to 80 used for displaying\n mobile hint language to the user in PWDless flows.\n Design team required to show hit on mobile field focus,\n we need to track focus state within , that is\n why we introduced new focusHandler, blurHandler callbacks,\n and isFocused component level state.\n */\n const getMobileNumberHintLang = features.isActive(\n 'shouldShowMobileNumberHintLang',\n );\n\n const focusHandler = (e: FocusEvent) => {\n props.focusHandler?.(e);\n setIsFocused(true);\n };\n\n const blurHandler = (e: FocusEvent) => {\n props.blurHandler?.(e);\n setIsFocused(false);\n };\n const phoneNumberProps = {\n ...props,\n blurHandler,\n focusHandler,\n };\n /*\n Since BNPL is not PWDless at the moment\n we do not want to show mobile hint language\n to the user when they fall into BNPL flow\n */\n const isBNPLFlow = fiType === 'bnpl';\n const showMobileNumberHintLang = Boolean(\n !isBNPLFlow &&\n getMobileNumberHintLang &&\n (isFocused || phoneFieldValue.length > 0),\n );\n\n const shouldShowPhoneConfirmationSCAInfo = Boolean(\n shouldShowSCAPhoneConfirmation && !optionalSignupAndStreamline,\n );\n const shouldShowMobileHintLanguage = Boolean(showMobileNumberHintLang);\n\n // Wait to render the phone input until we have the phone metadata\n if (!phoneMeta?.mask?.length) {\n return ;\n }\n\n // Update phoneType to mobile if it is a cup otp flow as it requires\n // SMS otp confirmation.\n if (isCupOtpFlow && phoneType.value !== 'MOBILE') {\n updateNonAddressField({\n field: 'phoneType',\n payload: {\n displayError: false,\n error: '',\n errorCode: '',\n isValid: true,\n value: 'MOBILE',\n },\n });\n }\n\n return (\n <>\n \n {isCupOtpFlow && }\n\n {withPhoneType && (\n \n )}\n\n {canDialingCodeChange && (\n \n )}\n <>\n \n \n {dialingCodeLabel}\n \n \n {shouldShowPhoneConfirmationSCAInfo && (\n \n {getContent('valueProps.phoneConfirmmation')}\n \n )}\n \n {shouldShowMobileHintLanguage && (\n \n )}\n \n );\n};\n","// External libraries\nimport styled from '@emotion/styled';\n\n// Internal modules\nimport { SUB_HEADING_COLOR } from '@/styles';\n\nexport const LegalAgeDisclosureContainer = styled.p`\n color: ${SUB_HEADING_COLOR};\n font-size: 14px;\n line-height: 1.4;\n`;\n","// External modules\nimport React from 'react';\n\n// Internal modules\nimport { features, getContent } from '@/lib';\nimport { LegalAgeDisclosureContainer } from './StyledComponents';\n\nexport const LegalAgeDisclosure = (): React.ReactElement => {\n const showDisclosure =\n features.isActive('shouldShowLegalAgeDisclosure') &&\n features.allNotActive(\n 'isForcedSignUp',\n 'passwordlessForcedSignup',\n 'isStreamlineOptionalExperience',\n );\n\n return (\n <>\n {showDisclosure && (\n \n {getContent('compliance.legalAgeDisclosure')}\n \n )}\n \n );\n};\n","// External libraries\nimport React from 'react';\n\n// Internal modules\nimport { Email } from '../Email';\nimport { Name } from '../Name';\nimport { PhoneNumber } from '../Phone';\nimport { shouldRenderFields } from './utils';\nimport { features, getContent } from '@/lib';\nimport type { MarginY } from '../../Form/StyledComponents';\nimport { Section } from '../../Form/StyledComponents';\nimport { SectionHeading } from '@/components/Headings';\nimport { LegalAgeDisclosure } from './LegalAgeDisclosure';\nimport { formInputHandlers } from '@/components/Form/formInputHandlers';\ninterface ContactFieldsSectionProps {\n fieldOrder?: string[];\n isStreamlineExperience?: boolean;\n mb?: MarginY;\n position?: string;\n showHeading?: boolean;\n}\n\nexport const ContactFieldsSection = ({\n showHeading = true,\n fieldOrder = ['name', 'phone', 'email'],\n isStreamlineExperience = false,\n position,\n mb,\n}: ContactFieldsSectionProps): React.ReactElement | null => {\n const shouldNotRender = !shouldRenderFields(position);\n\n if (shouldNotRender) {\n return null;\n }\n\n /**\n * The users name is required for all flows and we normally collect it with\n * the billing address fields. In flows where we are not collecting the\n * address we collect the name alongside the contact information fields.\n */\n const isAddressless = features.isActive('isAddressless');\n\n const fieldLookup: {\n [key: string]: ((props: any) => React.ReactElement) | null;\n } = {\n email: Email,\n name: isAddressless ? Name : null,\n phone: PhoneNumber,\n };\n\n const activeSCAPhoneConfirmation = features.isActive(\n 'shouldShowSCAPhoneConfirmation',\n );\n return (\n
\n {showHeading && (\n \n {getContent('billing.contactInformation')}\n \n )}\n\n {fieldOrder.map(key => {\n const Field = fieldLookup[key];\n if (!Field) {\n return null;\n }\n return (\n \n );\n })}\n {!activeSCAPhoneConfirmation && }\n
\n );\n};\n","// Internal modules\nimport { hasTreatment } from '@/lib/features/utils';\nimport { features, getExperiment } from '@/lib';\n\nexport const shouldRenderFields = (position?: string): boolean => {\n const shouldShowOptionalUpsellHalfSheet = features.hasFeature(\n 'shouldShowOptionalUpsellHalfSheet',\n );\n const reorderExperiment =\n features.isActive('reorderEmailAndPhoneFields') ||\n hasTreatment('FEATURE_ONBOARDING_OTP') ||\n shouldShowOptionalUpsellHalfSheet ||\n getExperiment('suppressSignup');\n\n const isTop = position === 'top';\n\n return reorderExperiment ? isTop : !isTop;\n};\n","import { getGlobals } from '../../globals';\n\nconst { uri } = getGlobals();\n\nexport const REDIRECT_URLS_MAP = {\n billing: `${uri.base}/webapps/billing`,\n dumbledore: `${uri.base}/checkoutweb`,\n forgotEmail: `${uri.base}/authflow/email-recovery/`,\n hermes: `${uri.base}/webapps/hermes`,\n organicSignup: `${uri.base}/welcome/signup`,\n pwRest: `${uri.base}/authflow/password-recovery/`,\n tesla: `${uri.base}/welcome/flow/signup`,\n xoon: `${uri.base}/webapps/xoonboarding`,\n};\n","// Internal modules\nimport { getParams } from '../params';\nimport { logger } from '@/lib/logger';\nimport { REDIRECT_URLS_MAP } from './constants';\nimport type { GenericObjectType } from '@/types';\nimport { getGlobals, isBillingTypeSubscriptionV1 } from '@/lib/globals';\n\n/**\n * @function getRedirectUrl\n * @param {string} app\n * @returns {string}\n */\nconst getRedirectUrl = (\n app: keyof typeof REDIRECT_URLS_MAP = 'xoon',\n additionalParams?: GenericObjectType,\n): string => {\n let redirectUrl = REDIRECT_URLS_MAP[app];\n const isSubscriptionV1 = isBillingTypeSubscriptionV1();\n\n // TODO: Do we even need this? Since the default value is xoon,\n // this block of code won't get hit anymore.\n if (!redirectUrl) {\n // @ts-expect-error TODO this worked pre typescript\n logger.warn('redirect_url_not_found', app);\n redirectUrl = REDIRECT_URLS_MAP.xoon;\n }\n\n if (app === 'billing' && isSubscriptionV1) {\n redirectUrl = `${redirectUrl}/subscriptions`;\n }\n\n return buildUrl(redirectUrl, {\n additionalParams,\n withCurrentParams: false,\n });\n};\n\n/**\n * @function buildUrl\n * @param {string} endpoint\n * @param {object} options | additionalParams, withCurrentParams\n * @returns {string}\n */\nconst buildUrl = (\n endpoint?: string | null,\n options: GenericObjectType = {},\n): string => {\n const { additionalParams = {}, withCurrentParams = true } = options;\n const baseParams = withCurrentParams ? getParams() : {};\n const params: GenericObjectType = Object.assign(\n {},\n baseParams,\n additionalParams,\n );\n\n // `cmd` is a reserved slingshot param that we need to\n // remove for client redirects.\n delete params.cmd;\n\n // `onboardingRedirectFromHermes` is added when landing-router redirects\n // to guest/signup and we log it to FPTI when our app loads. We don't\n // want to propagate that param to other apps.\n delete params.onboardingRedirectFromHermes;\n\n const separator = endpoint?.includes('?') ? '&' : '?';\n const url = Object.entries(params).reduce((url, [key, value], i) => {\n const encodedKey = encodeURIComponent(key);\n const encodedValue = encodeURIComponent(value);\n\n return `${url}${encodedKey}=${encodedValue}&`;\n }, `${endpoint}${separator}`);\n\n return url.replace(/[?&]$/, '');\n};\n\n/**\n * Removes the origin from the IWC redirect URL.\n * @param redirectUrl Url to build from\n * @returns Url without the origin\n */\nconst buildIWCRedirectUrl = (redirectUrl?: string): string => {\n let url;\n\n if (redirectUrl) {\n const { uri } = getGlobals();\n // Need to pass in base since the redirectUrl we get from Severus is a\n // relative path.\n url = new URL(redirectUrl, uri.base || '');\n } else {\n const dumbledoreUrl = buildUrl(getRedirectUrl('dumbledore'), {\n withCurrentParams: true,\n });\n url = new URL(dumbledoreUrl);\n }\n\n return encodeURIComponent(`${url.pathname}${url.search}`);\n};\n\nexport { buildIWCRedirectUrl, buildUrl, getParams, getRedirectUrl };\n","// Internal modules\nimport { apolloClient } from '../../apollo';\nimport { getToken } from '../../globals';\nimport { CHECKOUT_SESSION_QUERY } from '../queries';\nimport type { CheckoutSessionQueryQuery } from '@/generated/graphql';\n\nexport const queryCheckoutSession = (): Promise<\n CheckoutSessionQueryQuery['checkoutSession']\n> => {\n /**\n * Why are we setting the `fetchPolicy` to `'network-only'`?\n *\n * This query only depends on a token, which won't change during the\n * transaction. If we don't set the `fetchPolicy` it will hit the cache\n * instead of making a network call. The issue is the content in the cache\n * won't match the new locale. This problem arises because when formatting\n * the data on the server then `req.locality` was used as the source of the\n * locale instead of adding a `locale` argument.\n */\n return apolloClient\n .query({\n context: {\n isBatchedQuery: true,\n },\n fetchPolicy: 'network-only',\n query: CHECKOUT_SESSION_QUERY,\n variables: {\n token: getToken(),\n },\n })\n .then(\n ({\n data,\n }: {\n data: { checkoutSession: CheckoutSessionQueryQuery['checkoutSession'] };\n }) => data.checkoutSession,\n );\n};\n","// External libraries\n// @ts-expect-error untyped-import\nimport { isString } from '@checkout/react-components';\n\n// Internal modules\nimport { conditionallyDropLoginCookie } from '../login';\nimport { LOG_IN_PAYLOAD, logger } from '@/lib/logger';\nimport { isDev, logDevErrorToConsole } from '../env';\nimport { buildIWCRedirectUrl, buildUrl, getRedirectUrl } from '../url';\nimport { appStore } from '@/store';\nimport { features } from '@/lib/features';\nimport { getAccessToken, getGlobals, getLocale, getToken } from '@/lib/globals';\nimport { goToMemberXO } from './goToMemberXO';\nimport { logFPTISpinnerDuration } from '@/components/Common/Spinner/fpti';\nimport type { AppMode, GenericObjectType } from '@/types';\nimport type { BasicLoggerMethods } from '@/lib/logger/types';\nimport type { REDIRECT_URLS_MAP } from '../url/constants';\nimport type { RedirectOptionsType } from './types';\nimport { isFunction } from '@/lib/utils/typeUtils';\nimport { CI } from '@/lib/customerInteractions';\nimport { getParams } from '@/lib/utils/params';\nimport { isGuestOnboarding } from '../miscUtils';\nimport {\n atomics,\n atomicsContexts,\n atomicsStatus,\n atomicsViewNames,\n} from '@/lib/atomics';\n\n/**\n * This intercepts member redirects and uses internal slingshot if cookies are\n * disabled and falls back to window location if the internal redirect throws\n * once the main member redirect is refactored this handler can be removed\n * TODO: Refactor function for redirect dumbledore\n * @param {string} url\n */\nconst handleRedirect = (url: string): void => {\n // We do not need to use slingshot for login redirects\n if (\n !navigator.cookieEnabled &&\n url.includes('/webapps/hermes') &&\n !url.includes('hermesLoginRedirect')\n ) {\n try {\n const params = new URL(url).search;\n goToMemberXO(params);\n } catch (err: any) {\n logger.error('failed_to_redirect_to_memberXO', err);\n window.location.assign(url);\n }\n } else {\n window.location.assign(url);\n }\n};\n\nexport const flushLogsAndRedirect = ({\n logKey,\n logPayload,\n logMethod,\n url,\n}: {\n logKey?: string;\n logPayload?: GenericObjectType;\n logMethod?: keyof typeof logger;\n url: string;\n}): void => {\n // new progressive spinner logger\n logFPTISpinnerDuration(features.config);\n const logName = isString(logKey) ? logKey : 'redirect';\n // @ts-expect-error isFunction should verify that logMethod exists\n const method = isFunction(logger[logMethod]) ? logMethod : 'info';\n // @ts-expect-error we should know that method is defined at this point\n logger[method](logName, { ...logPayload, url });\n\n // Make sure no CIs are left open\n CI.endAll();\n\n // TODO: can be cleaned up after we confirm that logger.flushThen\n // is flushing all data as well. As of today on VIP page we are not\n // seeing logger.flushThen flush all the logs\n logger.flush();\n\n // @ts-expect-error flushThen currently returns \"unknown\"\n return logger.flushThen(() => handleRedirect(url));\n};\n\n/**\n * @function redirect\n * @param {object} options\n */\nexport const redirect = ({\n endpoint,\n logKey,\n logPayload,\n params = {},\n reason = 'reason_missing',\n type = 'info',\n}: RedirectOptionsType): void => {\n if (!isString(endpoint)) {\n logger.error('weasley_attempted_redirect_with_invalid_url', {\n url: endpoint,\n });\n\n logger.metric('GUEST_SIGNUP.REDIRECT.FAILURE', {\n dimensions: {\n outcome: 'redirect failure. Redirecting to generic error page.',\n outcomeReason: 'invalid url',\n reason,\n },\n });\n\n return redirectToGenericError();\n }\n\n if (isDev && type !== 'info') {\n return logDevErrorToConsole('PREVENT REDIRECT');\n }\n\n // if we're falling back to Xoon or Hermes, log the fallback reason explicitly\n const isXoon: boolean = endpoint?.includes(getRedirectUrl('xoon'));\n const isHermes: boolean = endpoint?.includes(getRedirectUrl('hermes'));\n\n if (isXoon || isHermes) {\n // if we're falling back to Xoon/hermes, log the fallback reason explicitly\n const appName = isXoon ? 'xoon' : 'hermes';\n logger.info(`WEASLEY_fallback_to_${appName}-REDIRECT-${reason}`);\n\n logger.metric('GUEST_SIGNUP.REDIRECT.FALLBACK', {\n dimensions: {\n outcome: `fallback-redirecting to ${appName}`,\n reason,\n target: appName,\n },\n });\n }\n\n const { country, locale } = getLocale();\n const additionalParams = {\n 'country.x': country,\n fromSignupLite: true,\n 'locale.x': locale,\n token: getToken(),\n ...params,\n };\n const url = buildUrl(endpoint, { additionalParams });\n const logMethod = ['info', 'warn', 'error'].includes(type) ? type : 'info';\n\n flushLogsAndRedirect({ logKey, logMethod, logPayload, url });\n};\n\n/**\n * @function redirectToGenericError\n * @param {object} options | { message }\n * @describe Redirects to the generic error page\n */\nexport const redirectToGenericError = ({\n message = 'DEFAULT',\n params = {},\n}: { message?: string; params?: GenericObjectType } = {}): void => {\n const { landingIWCData, uri } = getGlobals();\n // @ts-expect-error genericErrorEndpoint is not defined\n const { base, genericErrorEndpoint } = uri;\n const queryParams: GenericObjectType = { ...params, code: btoa(message) };\n\n if (isDev) {\n return logDevErrorToConsole(`GENERIC ERROR: ${message}`);\n }\n\n const { cancelUrl } = appStore.getState().api;\n if (cancelUrl || landingIWCData?.cancelUrl) {\n queryParams.cancelLink = cancelUrl || landingIWCData?.cancelUrl;\n }\n\n logger.metric('GUEST_SIGNUP.REDIRECT.GENERIC_ERROR', {\n dimensions: {\n outcome: 'redirect to generic error',\n outcomeReason: String(message),\n },\n });\n logger.metric('GUEST_SIGNUP.RENDER.GENERIC_ERROR');\n redirect({\n endpoint: `${base}${genericErrorEndpoint}`,\n logKey: `weasley_redirect_to_generic_error_${message}`,\n params: queryParams,\n reason: 'to_generic_error',\n });\n};\n\n/**\n * @function redirectToMerchantOnSuccess\n * @param {string} returnUrl The return url sent from the merchant\n */\nexport const redirectToMerchantOnSuccess = (\n returnUrl?: string | null,\n): void => {\n // If the returnUrl is not a string or has no length then we\n // don't have anywhere to send the user\n if (!isString(returnUrl) || !returnUrl) {\n logger.warn('no_return_after_success');\n logger.metric('GUEST_SIGNUP.FLOW_END', {\n dimensions: {\n outcome: 'No return to merchant',\n outcomeReason: 'No valid return url',\n },\n });\n return;\n }\n\n logger.info('return_to_merchant_after_success');\n logger.metric('GUEST_SIGNUP.FLOW_END', {\n dimensions: {\n outcome: 'returning to merchant',\n },\n });\n logAtomicsTransactionSuccessfulAndLeaveCheckout();\n CI.endAll(CI.Status.Ok);\n flushLogsAndRedirect({ url: returnUrl });\n};\n\n/**\n * @function fallback\n * @param {object} options\n * @description triggers a fallback to xoon or hermes\n */\nexport const fallback = (\n options: {\n additionalParams?: GenericObjectType;\n app?: keyof typeof REDIRECT_URLS_MAP;\n payload?: GenericObjectType;\n reason?: string;\n } = {},\n): void | Promise => {\n const { additionalParams, app = 'xoon', payload = {}, reason } = options;\n\n if (isDev) {\n return logDevErrorToConsole(`FALLBACK: ${reason}`);\n }\n\n // If we have an access token we need to redirect to Hermes,\n // even if `app` is `'xoon'`, since the user cannot signup again\n const isSignUpToken = getAccessToken().type === 'signup';\n const appName = isSignUpToken ? 'hermes' : app;\n\n const redirectOptions: RedirectOptionsType = {\n endpoint: getRedirectUrl(appName),\n logKey: `weasley_fallback_to_${appName}`,\n params: {\n ...additionalParams,\n fallback: 1,\n // @ts-expect-error This needs a check for reason not being defined\n reason: btoa(reason),\n },\n payload,\n reason,\n type: 'error',\n };\n\n return conditionallyDropLoginCookie().then(() => {\n const { isUserLoggedIn } = appStore.getState().user;\n\n // If we are in a signup flow and the login failed, redirect\n // to the generic error page\n if (!isUserLoggedIn && isSignUpToken) {\n logger.warn('redirect_to_generic_error_due_to_login_failure');\n CI.fci(CI.ErrorReason.Application);\n return redirectToGenericError();\n }\n\n redirect(redirectOptions);\n });\n};\n\nexport const redirectToLogIn = ({\n params = {},\n reason,\n}: { params?: GenericObjectType; reason?: string } = {}): void => {\n logger.fpti('weasley_redirect_to_log_in', LOG_IN_PAYLOAD());\n redirect({\n endpoint: getRedirectUrl('hermes'),\n logKey: 'weasley_redirect_to_log_in',\n params: { hermesLoginRedirect: true, prompt: 'login', ...params },\n reason: reason || 'to_login',\n });\n};\n\nexport const redirectToEndpoint = ({\n endpoint,\n params = {},\n reason = 'unknown',\n}: {\n endpoint: string;\n params?: GenericObjectType;\n reason?: string;\n}): void => {\n logger.info(`redirect_to_endpoint_reason_${reason}`, { endpoint, reason });\n redirect({\n endpoint: endpoint,\n logKey: `redirect_to_endpoint_reason_${reason}`,\n params,\n reason: reason,\n });\n};\n\n/**\n * @function redirectToXoon\n * @param {object} options? (All options are optional)\n * @description This function is used for non-fallback redirects to xoon.\n * An example of such a use case would be when the country is changed to a\n * non-lite supported country.\n */\nexport const redirectToXoon = ({\n params = {},\n type,\n reason,\n}: {\n params?: GenericObjectType;\n type?: BasicLoggerMethods;\n reason?: string;\n}): void => {\n const { isBasl } = getGlobals();\n\n const additionalParams = isBasl\n ? { abTestThrottle: 'xoon', ...params }\n : params;\n\n redirect({\n endpoint: getRedirectUrl('xoon'),\n logKey: 'weasley_redirect_to_xoon',\n params: additionalParams,\n reason,\n type,\n });\n};\n\n/**\n * @function redirectToMember\n * @param {object} params\n * @description This function redirects to member checkout with slingshot\n */\nexport const redirectToMember = (\n params: GenericObjectType = {},\n type?: BasicLoggerMethods,\n): void => {\n redirect({\n endpoint: getRedirectUrl('hermes'),\n logKey: 'redirect_to_memberXO',\n params: {\n ...params,\n },\n reason: 'to_memberXO',\n type,\n });\n};\n\n/**\n * @function redirectToConsumer\n * @param {string} flowId\n * @param {object} params\n * @description This function is used for redirects to Consumer app.\n * An example of such a use case would be for the add bank case in JP\n */\nexport const redirectToConsumer = (\n flowId: string,\n params: GenericObjectType = {},\n logPayload: GenericObjectType = {},\n type?: BasicLoggerMethods,\n): void => {\n const flowValue = flowId.replace(/^\\?flow=/, '');\n\n redirect({\n endpoint: getRedirectUrl('tesla', { flow: flowValue }),\n logKey: 'weasley_redirect_to_tesla',\n logPayload,\n params,\n reason: 'to_consumer_tesla',\n type,\n });\n};\n\n/**\n * @function redirectToOrganicSignup\n * @param params - Country.x, locale.x\n * @description - Currently used for redirecting IN guest users\n * to Organic Signup through the KYCTeslaRedirect\n */\nexport const redirectToOrganicSignup = (\n params: GenericObjectType = {},\n): void => {\n const url = getRedirectUrl('organicSignup', params);\n flushLogsAndRedirect({ logKey: 'weasley_redirect_to_organic_signup', url });\n};\n\n/**\n * @function redirectToForgotEmail\n * @param {object} params\n * @description This function is used for redirects to forgot email page\n * User can click on \"forgot Email\" on IWC component on /landing page\n */\nexport const redirectToForgotEmail = (\n params: GenericObjectType = {},\n type?: BasicLoggerMethods,\n): void => {\n const {\n user: { ecToken },\n } = getGlobals();\n\n const { country, locale } = getLocale();\n\n redirect({\n endpoint: getRedirectUrl('forgotEmail'),\n logKey: 'weasley_redirect_to_forgot_email',\n params: {\n contextId: ecToken,\n 'country.x': country,\n 'locale.x': locale,\n redirectUri: buildUrl(getRedirectUrl('dumbledore'), {\n withCurrentParams: true,\n }),\n ...params,\n },\n reason: 'to_forgot_email',\n type,\n });\n};\n\n/**\n * @function redirectToPasswordReset\n * @param {object} params Extra parameters to add in the redirect\n * @param {BasicLoggerMethods} type Optional, type of log\n * @description This function is used for redirects to password reset page\n * An example of such a use case would be for POMA users trying to login\n */\nexport const redirectToPasswordReset = (\n params: GenericObjectType = {},\n type?: BasicLoggerMethods,\n): void => {\n const {\n user: { ecToken },\n } = getGlobals();\n const { country, locale } = getLocale();\n const { redirectUri, ...rest } = params;\n\n // If params has the redirectUri, set the redirectParams as params,\n // else, build the redirectUri and set the params without the redirectUri.\n const redirectParams = redirectUri\n ? { ...params, contextId: ecToken }\n : {\n ...rest,\n contextId: ecToken,\n 'country.x': country,\n 'locale.x': locale,\n redirectUri: buildIWCRedirectUrl(),\n };\n\n redirect({\n endpoint: getRedirectUrl('pwRest'),\n logKey: 'weasley_redirect_to_password_reset',\n params: redirectParams,\n reason: 'to_password_reset',\n type,\n });\n};\n\n/**\n * @function redirectToBilling\n * @param {string} mode - either guest or signup\n * Redirect to `billingnodeweb` to activate the subscription\n */\nexport const redirectToBilling = (mode: AppMode): void => {\n const sdkMeta = getParams().sdkMeta ?? window?.xprops?.sdkMeta;\n const mfid = getParams().mfid;\n const endpoint = getRedirectUrl('billing');\n const token = getToken();\n const { country, locale } = getLocale();\n const params = {\n 'country.x': country,\n 'locale.x': locale,\n mode,\n token,\n ...(sdkMeta ? { sdkMeta } : {}),\n // Read mfid from params in case buyer landed with 302 URL redirection\n // This param is more relevant to WPS subscriptions\n ...(mfid ? { mfid } : {}),\n };\n redirect({\n endpoint,\n logKey: 'weasley_redirect_to_billing',\n params,\n reason: 'to_billing',\n type: 'info',\n });\n};\n\n/**\n * @function fallbackToHermesFIContingency\n * @param {object} params | { message }\n * @description This function is used to fallback to hermes\n * contingency on ba without purchase card contigency\n */\nexport const fallbackToHermesFIContingency = ({\n message,\n}: {\n message: string;\n}): void => {\n // ported over from xoon\n const addFIContingency = 'noretry';\n const redirectToHermes = true;\n const rcache = 1;\n\n logger.fpti('weasley_redirect_to_hermes', {\n reason: 'signup_fi_contingency',\n state_name: 'billing',\n transition_name: 'redirect_to_member_flow',\n });\n\n fallback({\n additionalParams: {\n addFIContingency,\n rcache,\n redirectToHermes,\n },\n app: 'hermes',\n reason: message,\n });\n};\n\n/**\n * Complete CTA button click metric upon a successful transaction and redirect back to merchant\n */\nexport const logAtomicsTransactionSuccessfulAndLeaveCheckout = (): void => {\n const uiReadyContext = isGuestOnboarding()\n ? atomicsContexts.selectContinueAsGuest\n : atomicsContexts.selectCreateAccountAndContinue;\n\n atomics.leaveFlow(atomicsViewNames.spinner, atomicsStatus.ok, uiReadyContext);\n};\n","import { getAccessToken, getGlobals } from '@/lib/globals';\n\n/** Adds a hidden form and submits it for internal redirect */\nexport const goToMemberXO = (paramsString: string): void => {\n const {\n noCookie: { nsid, _csrf },\n } = getGlobals();\n\n if (!_csrf) {\n throw new Error('No csrf was found in globals');\n }\n if (!nsid) {\n throw new Error('No nsid was found in globals');\n }\n\n const form = document.createElement('form');\n\n form.method = 'POST';\n form.action = `/checkoutweb/goToMemberXO${paramsString}`;\n form.style.display = 'none;';\n\n const tokenInput = document.createElement('input');\n tokenInput.name = 'accessToken';\n tokenInput.value = getAccessToken().value || '';\n tokenInput.type = 'hidden';\n\n const csrfInput = document.createElement('input');\n csrfInput.name = '_csrf';\n csrfInput.value = _csrf;\n csrfInput.type = 'hidden';\n\n const nsidInput = document.createElement('input');\n nsidInput.name = 'nsid';\n nsidInput.value = nsid;\n nsidInput.type = 'hidden';\n\n form.appendChild(tokenInput);\n form.appendChild(csrfInput);\n form.appendChild(nsidInput);\n\n globalThis.document.body.appendChild(form);\n form.submit();\n};\n","// Internal modules\nimport { appStore } from '@/store';\nimport { logger } from '../logger';\nimport { isDev } from '../utils/env';\nimport { apolloClient } from '../apollo';\nimport { getGlobals, getLocale } from '../globals';\nimport { redirectToGenericError } from '../utils/redirects';\n// @ts-expect-error untyped import\nimport { mapGriffinMetadata } from '../../components/App/utils';\nimport { fetchJson, getAddressMetaKey } from '../utils/miscUtils';\n// @ts-expect-error untyped import\nimport { formatGriffinAddressMetadata } from '../utils/responseMappers';\nimport { ADDRESS_METADATA_QUERY, GRIFFIN_METADATA_QUERY } from '../graphql';\nimport {\n hasCachedContentForLocale,\n resetContent,\n updateContentCache,\n} from './content';\nimport type { GenericObjectType } from '@/types';\n\n/**\n * @function fetchContentManifest\n * @returns {promise}\n * @description Fetches the content manifest from the appropriate source\n * based on the environment. The manifest is needed for when the language\n * changes so that we can get the hash of the content file for a particular\n * locale.\n */\nconst fetchContentManifest = (): Promise => {\n // In dev mode we don't need a manifest since we fetch the content\n // from the file system.\n if (isDev) {\n return Promise.resolve();\n }\n\n const manifestUrl = getGlobals().uri.contentManifestUrl;\n logger.info('fetching_content_manifest', {\n url: manifestUrl,\n });\n\n return fetchJson(manifestUrl)\n .then(manifest => (CONTENT_MANIFEST.manifest = manifest))\n .catch(err => {\n /**\n * We don't throw the error in this block because most users don't change\n * their language or country. If a user does end up changing their\n * language or country we'll see that `CONTENT_MANIFEST.hasError` is\n * `true` and we'll throw an error and redirect to the generic error page\n * at that time.\n */\n logger.error('error_fetching_content_manifest');\n CONTENT_MANIFEST.hasError = true;\n });\n};\n\n// Keeping a reference to the promise so that we can hang .then()s off it so\n// that we don't try to fetch a content file before we know what the hash for\n// that file is. Content file names are in the form of `{lang}.{hash}.json`.\ninterface ContentManifest {\n manifest: null | GenericObjectType;\n promise: ReturnType;\n hasError?: boolean;\n}\nconst CONTENT_MANIFEST: ContentManifest = {\n manifest: null,\n promise: fetchContentManifest(),\n};\n\n// HELPER FUNCTIONS\nconst checkForApiError = (data: GenericObjectType) => {\n // TODO: Can we get a more specific TS type from griffin API?\n const error = data?.errors?.[0];\n if (error) {\n throw error;\n }\n};\n\ninterface CountryAndLanguage {\n country: string;\n language: string;\n}\nconst getContentFileName = ({ country, language }: CountryAndLanguage) => {\n const key = `${country}_${language}`;\n const hash = !isDev ? CONTENT_MANIFEST.manifest?.[key] : '';\n\n // If we are in dev mode then `hash` === '' so the file name\n // will have a `..` in it. e.g. `en..json`\n return {\n fileName: `${language}.${hash}.json`.replace('..', '.'),\n hash,\n };\n};\n\nconst getContentUrl = ({ country, language }: CountryAndLanguage) => {\n const { fileName, hash } = getContentFileName({ country, language });\n return {\n hash,\n url: `${getGlobals().uri.contentEndpoint}${country}/${fileName}`,\n };\n};\n\nconst handleApiError = (operation: string, error: Error) => {\n logger.error(`${operation}_error`, {\n message: error.message,\n });\n\n redirectToGenericError();\n};\n\n/**\n * Merges locale overrides with the current locale\n */\nconst mergeLocale = (overrides?: Partial) => {\n const locality = getLocale();\n const country = overrides?.country || locality.country;\n const language = overrides?.language || locality.language;\n const locale = `${language}_${country}`;\n\n return {\n country,\n language,\n locale,\n };\n};\n\n/**\n * Fetches content from the CDN. The call the fetch the content\n * waits for the content manifest retrieval before executing.\n */\nexport const fetchContent = (\n localeOverrides?: Partial,\n): Promise => {\n // If the user changes content before the content manifest has been\n // fetched then we need to wait for it before we can proceed because\n // we don't know the hash for the content file we need to fetch.\n const contentManifestPromise = CONTENT_MANIFEST.promise;\n return contentManifestPromise.then(() => {\n if (CONTENT_MANIFEST.hasError) {\n logger.error('no_content_manifest_available');\n return redirectToGenericError();\n }\n\n const { country, language } = mergeLocale(localeOverrides);\n const { hash, url: contentUrl } = getContentUrl({ country, language });\n const logPayload = {\n contentUrl,\n hash,\n locale: `${language}_${country}`,\n };\n return fetchJson(contentUrl)\n .then(content => {\n logger.info('content_successfully_fetched', logPayload);\n updateContentCache({ content, hash });\n })\n .catch(error => {\n logger.error('content_fetched_failed', {\n ...logPayload,\n message: error.message,\n });\n redirectToGenericError();\n });\n });\n};\n\n/**\n * Fetches content from the CDN and then resets the\n * `getContent()` function to use the new content.\n */\nexport const fetchAndResetContent = (\n localeOverrides?: Partial,\n): Promise => {\n return fetchContent(localeOverrides).then(resetContent);\n};\n\n/**\n * @function fetchContentAndMetadata\n * @description Handles fetching content for the CDN and fetching Griffin\n * metadata when the language is changed by the user. Will only make API\n * calls if the metadata data isn't available in the store and the content\n * isn't available in the content cache.\n */\nexport const fetchContentAndMetadata = (): void => {\n const { api: apiActions, ui: uiActions } = appStore.getActions();\n uiActions.toggleIsPageLoading(true);\n\n const { country, language, locale } = getLocale();\n const { api: apiState, form: formState } = appStore.getState();\n const { griffinMetadata } = apiState;\n\n if (!hasCachedContentForLocale(locale)) {\n logger.info('fetch_content_from_cdn', { locale });\n fetchAndResetContent().then(() => {\n uiActions.toggleIsPageLoading(false);\n });\n } else {\n logger.info('set_content_from_cache', { locale });\n resetContent();\n uiActions.toggleIsPageLoading(false);\n }\n\n // If we don't have the griffin metadata with labels for address fields and\n // territory names in the newly selected language then we have to fetch it\n // from the API.\n if (\n !griffinMetadata.territories[locale] ||\n !griffinMetadata.territoriesByRegion[locale] ||\n !griffinMetadata.address[getAddressMetaKey()]\n ) {\n logger.info('fetch_griffin_metadata', { locale });\n apolloClient\n .query({\n query: GRIFFIN_METADATA_QUERY,\n variables: {\n countryCode: country,\n languageCode: language,\n shippingCountryCode: country,\n },\n })\n .then(({ data }) => {\n checkForApiError(data);\n\n const { localeMetadata = {} } = data;\n const griffinMetadata = mapGriffinMetadata(localeMetadata, country);\n apiActions.setGriffinMetadata(griffinMetadata);\n })\n .catch(error => {\n handleApiError('language_change_griffin_metadata', error);\n });\n }\n\n // If the shipping country is not the same as the billing country and we\n // don't have the metadata for the shipping country in the new language,\n // then we need to fetch it get the labels in the newly selected language.\n const { value: shippingCountry } = formState.shippingAddress.country;\n if (\n shippingCountry !== country &&\n !griffinMetadata.address[getAddressMetaKey(shippingCountry)]\n ) {\n logger.info('fetch_address_metadata', {\n country: shippingCountry,\n language,\n });\n apolloClient\n .query({\n query: ADDRESS_METADATA_QUERY,\n variables: {\n countryCode: shippingCountry,\n languageCode: language,\n },\n })\n .then(({ data }) => {\n checkForApiError(data);\n\n const { localeMetadata: metadata } = data;\n const addressMeta = formatGriffinAddressMetadata(metadata.address);\n apiActions.addAddressMetadata({\n key: getAddressMetaKey(shippingCountry),\n payload: addressMeta,\n });\n })\n .catch(error => {\n handleApiError('address_metadata', error);\n });\n }\n};\n","// Internal Modules\nimport { getLocale, logger } from '@/lib';\nimport type { DefaultInputState } from '@/store';\nimport { appStore } from '@/store';\nimport type { FormAddressState, FormState } from '@/store/models/form/types';\nimport { getAddressMetaKey } from '@/lib/utils/miscUtils';\nimport type { GenericObjectType } from '@/types';\n\nimport { getForcedValidCopy } from './formOperations';\nimport type { FormAddresses } from '@/store/models/form/types';\n// Untyped Imports\n// @ts-expect-error react-components\nimport { hasOwnProp, upperCase } from '@checkout/react-components';\nimport type { AddressType, RecursivePartial } from '@/types';\n/* === Begin Types === */\ntype getShippingAddressFromBillingAddressParams = {\n billingAddress: FormState['billingAddress'];\n firstName: DefaultInputState;\n lastName: DefaultInputState;\n};\n\ntype getAddressMetaFromIdReturnType = {\n addressType: AddressType | null;\n isAddressField: boolean;\n};\n\ntype AccountQuality = {\n accountQuality: {\n autoCompleteType?: string;\n isUserModified?: boolean;\n };\n};\n/* === End Types === */\n\n/**\n * @function filterOutNonApplicableAddressFields\n * @param {object} address\n * @param {string} locale\n * @returns {object}\n * @description Takes the address object from the store and returns a new\n * object with only the fields that apply to the country the address is for\n * and only fields that are not empty or are empty but are required.\n */\nconst filterOutNonApplicableAddressFields = <\n T extends\n | FormAddressState['shippingAddress']\n | FormAddressState['billingAddress'],\n>(\n address: T,\n addressMetaKey: string,\n): RecursivePartial => {\n const { api: apiState } = appStore.getState();\n const { address: addressMetadata } = apiState.griffinMetadata;\n const { layout = [] } = addressMetadata[addressMetaKey] || {};\n\n if (!layout.length) {\n logger.info('weasley_address_field_filter_missing_layout', {\n addressType: hasOwnProp(address, 'country') ? 'shipping' : 'billing',\n keyRequested: addressMetaKey,\n keysAvailable: Object.keys(addressMetadata),\n });\n }\n\n const result = layout.reduce>(\n (accum, { name, isRequired }) => {\n const field = address[name] || {};\n // This was needed to make TS happy\n const fieldHasValue = Boolean(\n field &&\n 'value' in field &&\n typeof field.value === 'string' &&\n field.value.length,\n );\n if (fieldHasValue || isRequired) {\n accum[name] = address[name];\n }\n return accum;\n },\n {},\n );\n\n return result;\n};\n\n/**\n * @function getShippingAddressFromBillingAddress\n * @param {object} paramsObj {billingAddress, firstName, lastName}\n * @returns {object}\n * @description creates a \"valid\" copy of the billing address with\n * the additional fields firstName, lastName, and country. This is\n * then used as the shipping address in certain situations, shipToBilling\n * and when we don't allow shipping address to be changed but no shipping\n * address was sent by the merchant. The result is \"valid\" in the sense\n * that it won't go through any client side validations. If the billing\n * address is invalid it will fail validations and the user will have to\n * correct the errors and then resubmit the form. At that point we'll\n * copy over the address again. We do this because since we aren't showing\n * the shipping fields the user isn't able to correct any errors, so we don't\n * want to tag any field as invalid.\n */\nconst getShippingAddressFromBillingAddress = ({\n billingAddress,\n firstName,\n lastName,\n}: getShippingAddressFromBillingAddressParams): FormState['shippingAddress'] => ({\n accountQuality: billingAddress.accountQuality,\n country: {\n displayError: false,\n error: '',\n errorCode: '',\n isDirty: false,\n isValid: true,\n value: getLocale().country,\n },\n firstName: { ...firstName },\n lastName: { ...lastName },\n ...getForcedValidCopy(billingAddress),\n});\n\n// Returns address meta information from event id\nconst getAddressMetaFromId = (id: string): getAddressMetaFromIdReturnType => {\n const addressRegex = /^billing|^shipping|^residential/;\n const match = id.match(addressRegex);\n const addressType = match ? (match[0] as AddressType) : null;\n return {\n addressType,\n isAddressField: addressRegex.test(id),\n };\n};\n\n/**\n * @function getAccountQualityMetaDataFromAddress\n * @param {object} address\n * @returns {object}\n * @description Pull account quality values from addresses in form state and\n * construct the accountQuality object for form submission.\n */\nconst getAccountQualityMetaDataFromAddress = (\n address: FormAddresses,\n): AccountQuality => {\n return {\n accountQuality: {\n autoCompleteType: address?.autoCompleteType?.value,\n isUserModified: address?.isManipulated?.value,\n },\n };\n};\n\nconst mapAddressValueToName = (\n address: T,\n addressKey: string,\n): FormAddresses => {\n const {\n api: { griffinMetadata },\n } = appStore.getState();\n const { layout } = griffinMetadata.address[addressKey] || {};\n if (!layout) {\n logger.error('weasley_address_field_map_missing_layout', {\n keyRequested: addressKey,\n keysAvailable: Object.keys(griffinMetadata.address),\n });\n return address;\n }\n return layout.reduce((accum, { name }) => {\n if (hasOwnProp(address, name)) {\n // Pattern matching for the postal code field is not case sensitive\n // so we need to normalize it before we send it to the backend\n const value =\n name === 'postalCode'\n ? upperCase(address[name].value)\n : (address?.[name] as DefaultInputState).value;\n accum[name] = value.trim();\n }\n return accum;\n }, {} as T);\n};\n\n// TODO: improve typing on this function later\nconst serializeAddressFields = (\n data: FormState,\n): Pick<\n FormState,\n 'billingAddress' | 'residentialAddress' | 'shippingAddress'\n> => {\n const addressFields: GenericObjectType = {};\n const { country } = getLocale();\n\n if (data.billingAddress) {\n addressFields.billingAddress = {\n ...mapAddressValueToName(data.billingAddress, getAddressMetaKey()),\n accountQuality: data.billingAddress.accountQuality,\n country,\n familyName: data.lastName.value?.trim(),\n givenName: data.firstName.value?.trim(),\n };\n }\n\n if (data.shippingAddress) {\n const { value: shipCountry } = data.shippingAddress.country;\n addressFields.shippingAddress = {\n ...mapAddressValueToName(\n data.shippingAddress,\n getAddressMetaKey(shipCountry),\n ),\n accountQuality: data.shippingAddress.accountQuality,\n country: shipCountry,\n familyName: data.shippingAddress.lastName.value?.trim(),\n givenName: data.shippingAddress.firstName.value?.trim(),\n };\n }\n\n if (data.residentialAddress) {\n addressFields.residentialAddress = {\n ...mapAddressValueToName(data.residentialAddress, getAddressMetaKey()),\n accountQuality: data.billingAddress.accountQuality,\n country,\n familyName: data.lastName.value?.trim(),\n givenName: data.firstName.value?.trim(),\n };\n }\n\n return addressFields as Pick<\n FormState,\n 'billingAddress' | 'residentialAddress' | 'shippingAddress'\n >;\n};\n\nexport {\n filterOutNonApplicableAddressFields,\n getAccountQualityMetaDataFromAddress,\n getAddressMetaFromId,\n getAddressMetaKey,\n getShippingAddressFromBillingAddress,\n mapAddressValueToName,\n serializeAddressFields,\n};\n","import { logger } from '@/lib/logger/';\nimport { getTimeToInteract } from './cplHelperFunctions';\nimport { LANDING_PAGE } from '@/components/Landing/constants';\nimport { getParams } from '../utils/params';\n\nexport const PAGE = {\n LANDING: 'billing',\n};\n\nexport const EVENTS = {\n INITIAL_DATA_FETCHED: 'INITIAL_DATA_FETCHED',\n LANDING_PAGE_RENDER: 'LANDING_PAGE_RENDER',\n LANDING_USER_INTERACTION: 'LANDING_USER_INTERACTION_TIME',\n LAZY_COMPONENTS_LOADED: 'LAZY_COMPONENTS_LOADED',\n PROCESS_APPROVE: 'PROCESS_APPROVE',\n REVIEW_PAGE_RENDER: 'REVIEW_PAGE_RENDER',\n THREE_DS_CONTINGENCY: '3DS_CONTINGENCY_HANDLER',\n USER_INTERACTION: 'USER_INTERACTION_TIME',\n};\n\nconst logPerformanceTimes: any = {};\n\nconst store = {\n events: {\n [EVENTS.INITIAL_DATA_FETCHED]: false,\n [EVENTS.LAZY_COMPONENTS_LOADED]: false,\n },\n hasContingencies: false,\n triggerInitialCPLEvent: true,\n triggerInitialLandingCPLEvent: true,\n};\n\n// interface for each metric inside of the comp obj\n// each metric consists of a starting time and a time taken(tt)\n// when it's finished\ninterface CompLogging {\n start: number;\n tt: number;\n}\n\n// interface for object window.cplPhases.comp.\n// this object is used to record several metrics of cpl\ninterface WindowComp {\n SERVER_INITIAL_DATA: CompLogging | undefined;\n visibilitychange: CompLogging | undefined;\n server_side_redirect_time: CompLogging | undefined;\n}\n\n/**\n * Populate server side redirect time tracking time from xorouternode web\n * to weasley render, metrics gets added to comp object\n * ssrt - Server Side Redirection Time\n * @param {WindowComp} comp\n */\nconst populateServerSideRedirectMetrics = (comp?: WindowComp) => {\n const params = getParams();\n if (params?.ssrt) {\n const ssrtParam = params.ssrt as string;\n const isValidSSRT = !Number.isNaN(ssrtParam);\n\n if (comp && isValidSSRT) {\n // if its a number\n const ssrt = parseInt(ssrtParam);\n const endTime = Date.now(); // while change to render time\n const timeTaken = endTime - ssrt;\n // ms for one day: 3600s * 24h * 1000ms\n const oneDayMetricThreshold = 86400 * 1000;\n\n if (timeTaken < oneDayMetricThreshold) {\n comp.server_side_redirect_time = {\n start: ssrt,\n tt: timeTaken,\n };\n }\n }\n }\n};\n\nexport const triggerCPLLatencyMetricsFPTI = (\n page: string,\n timeToInteract: number,\n transition: string,\n): void => {\n // @ts-expect-error type window\n const { comp, query, chunk, ...rest } = window?.cplPhases || {};\n populateServerSideRedirectMetrics(comp);\n const cplLatencyMetrics = {\n application_name: 'weasley',\n component: 'checkoutuinodeweb',\n // @ts-expect-error type window\n cpl_chunk_metrics: JSON.stringify(window?.cplPhases?.chunk || {}),\n // @ts-expect-error type window\n cpl_comp_metrics: JSON.stringify(window?.cplPhases?.comp || {}),\n // @ts-expect-error type window\n cpl_query_metrics: JSON.stringify(window?.cplPhases?.query || {}),\n page_name: `main:xo:lite:weasley:guestAndSignup:custom-${page}`,\n state_name: 'CPL_LATENCY_METRICS',\n transition_name: transition,\n ...rest,\n total_page_load_time: timeToInteract,\n };\n\n logger.fpti('CPL_LATENCY_METRICS', cplLatencyMetrics);\n};\n\nexport const updateEvents = (event = '', state: boolean): boolean =>\n (store.events[event] = state);\n\nexport const updateTriggerInitialCPLEvent = (\n state: boolean,\n page?: string,\n): void => {\n // Handle landing page separately from billing page\n if (page === LANDING_PAGE) {\n logger.info(`CPL_UPDATE_TRIGGER_INITIAL_LANDING_CPL_EVENT_TO_${state}`);\n store.triggerInitialLandingCPLEvent = state;\n } else {\n logger.info(`CPL_UPDATE_TRIGGER_INITIAL_CPL_EVENT_TO_${state}`);\n store.triggerInitialCPLEvent = state;\n }\n};\n\nexport const shouldTriggerInitialCPLEvent = (page?: string): boolean => {\n // INITITIAL_DATA will not be fetched on landing page\n if (page === LANDING_PAGE) {\n return (\n store.triggerInitialLandingCPLEvent &&\n store.events[EVENTS.LAZY_COMPONENTS_LOADED]\n );\n }\n\n return (\n store.triggerInitialCPLEvent &&\n store.events[EVENTS.INITIAL_DATA_FETCHED] &&\n store.events[EVENTS.LAZY_COMPONENTS_LOADED]\n );\n};\n\nexport const updateHasContingencies = (state: boolean): void => {\n logger.info(`CPL_UPDATE_HAS_CONTINGENCIES_TO_${state}`);\n store.hasContingencies = state;\n};\n\nexport const hasContingencies = (): boolean => {\n return store.hasContingencies;\n};\n\nexport const triggerInitialCPLEvent = (page = '', event = ''): void => {\n if (event === EVENTS.REVIEW_PAGE_RENDER) {\n updateEvents(EVENTS.INITIAL_DATA_FETCHED, true);\n } else {\n updateEvents(event, true);\n }\n if (shouldTriggerInitialCPLEvent(page)) {\n if (hasContingencies()) {\n logger.info(\n `CPL_DISABLE_CALL_BECAUSE_OF_CONTINGENCIES_FROM_${page}_PAGE`,\n );\n } else {\n const timeToInteract = getTimeToInteract();\n logger.cpl.logPerformance({\n action: `${page}_page_loaded`,\n page: `main:xo:lite:weasley:guestAndSignup:custom-${page}`,\n timeToInteract,\n uicomp: `custom-${page}`,\n uitype: 'page',\n });\n logger.info(`CPL_CALL_TRIGGERED_FROM_${page}_PAGE`);\n\n // Set the flag to false so that CPL call is not triggered again\n updateTriggerInitialCPLEvent(false, page);\n // Trigger FPTI event to capture the time spent on different phases.\n triggerCPLLatencyMetricsFPTI(page, timeToInteract, event);\n }\n }\n};\n\nexport const resetLogPerformanceTime = (logPerformanceName: string): void => {\n logPerformanceTimes[logPerformanceName] = undefined;\n};\n\nexport const startLogPerformanceTime = (logPerformanceName: string): void => {\n logPerformanceTimes[logPerformanceName] = Date.now();\n};\n\nexport const logPerformanceWithStartTime = (\n page: string,\n logPerformanceName: string,\n): void => {\n const savedTime = logPerformanceTimes[logPerformanceName];\n if (!savedTime) {\n logger.info(\n `CPL_LOG_PERFORMANCE_WITH_START_TIME_NOT_FOUND_${logPerformanceName}`,\n );\n }\n\n const timeToInteract = Date.now() - savedTime;\n\n logger.cpl.logPerformance({\n action: `${page}_page_loaded`,\n page: `main:xo:lite:weasley:guestAndSignup:custom-${page}`,\n timeToInteract,\n uicomp: `custom-${page}`,\n uitype: 'page',\n });\n\n triggerCPLLatencyMetricsFPTI(page, timeToInteract, logPerformanceName);\n};\n","import { logger } from '@/lib/logger';\n\nconst FPTI = {\n isWpsGuestUpgradeEligible: {\n logEligibility: (fptiKey: string): void => {\n logger.fpti(`wps_upgrade_interstitial_${fptiKey}`, {\n state_name: 'wps_upgrade_interstitial_eligibility',\n transition_name: `wps_upgrade_interstitial_${fptiKey}`,\n });\n },\n },\n};\n\nexport { FPTI };\n","import {\n getCheckoutSessionFlags,\n getCheckoutSessionType,\n getLocale,\n getUnifiedLoginContextData,\n} from '../globals';\nimport { hasTreatment, includesTreatment } from './utils';\nimport { isBillingAgreementWithoutPurchaseFlow } from '../utils/flow';\nimport { TREATMENTS } from './constants';\nimport { FPTI } from './fpti';\nimport { CountryCodes } from '@/generated/graphql';\n\nexport const getForcedGuestEligibility = (): boolean => {\n const { hasExistingAccount: hasExistingMemberAccount } =\n getUnifiedLoginContextData();\n const isExistingAccountBased = includesTreatment({\n feature: 'FEATURE_MERCHANT_BASED_FLOW_TYPE',\n treatment: 'EXISTING_MEMBER_ACCOUNT_BASED',\n });\n\n return Boolean(isExistingAccountBased && hasExistingMemberAccount);\n};\n\nexport const getAccountBasedForcedSignupEligibility = (): boolean => {\n const { hasExistingAccount: hasExistingMemberAccount } =\n getUnifiedLoginContextData();\n const isExistingAccountBased = includesTreatment({\n feature: 'FEATURE_MERCHANT_BASED_FLOW_TYPE',\n treatment: 'EXISTING_MEMBER_ACCOUNT_BASED',\n });\n\n return Boolean(isExistingAccountBased && !hasExistingMemberAccount);\n};\n\nexport const getPasswordlessForcedSignupEligibility = (): boolean => {\n const isShiftExpWithPasswordlessSignup = hasTreatment(\n 'FEATURE_SHIFT_GUEST_TO_SIGNUP_PWORDLESS',\n );\n\n const isStreamlinePasswordlessExp = includesTreatment({\n feature: 'FEATURE_FORCED_SIGNUP_UI_EXP',\n treatment: 'STREAMLINE_WITHOUT_PASSWORD',\n });\n\n return (\n Boolean(isShiftExpWithPasswordlessSignup) || isStreamlinePasswordlessExp\n );\n};\n\nexport const passwordlessForcedSignupEligibility = (): boolean => {\n const { isBillingAgreement } = getCheckoutSessionFlags();\n const isPasswordless = getPasswordlessForcedSignupEligibility();\n const isForcedGuest = getForcedGuestEligibility();\n\n return !isBillingAgreement && !isForcedGuest && isPasswordless;\n};\n\nexport const passwordlessOptionalSignupEligibility = (): boolean => {\n // TODO: elmo experiment will need to be updated following review\n const isStreamlineExpWithPasswordlessSignup = includesTreatment({\n feature: 'FEATURE_OPTIONAL_SIGNUP_UI_EXP',\n treatment: 'STREAMLINE_WITHOUT_PASSWORD',\n });\n\n const isForcedGuest = getForcedGuestEligibility();\n\n return isStreamlineExpWithPasswordlessSignup && !isForcedGuest;\n};\n\n/**\n * @description - these are ineligible features for common WPS flows, such as,\n * - Guest upgrade with password\n * - Guest upgrade passwordless\n * - Member matching benefits\n * - WPS POMA\n *\n * @returns {Array} - list of ineligible features\n */\nexport const getCommonWpsGuestUpgradeIneligibilities = (): {\n ineligible: boolean;\n reason: string;\n}[] => {\n const {\n isGuestEligible,\n isWPS,\n isWpsSubscription,\n isWpsAutobilling,\n isWpsInstallmentPlan,\n } = getCheckoutSessionFlags();\n\n const isSCAPhoneConfirmation = hasTreatment(\n TREATMENTS.FEATURE_SIGNUP_MANDATORY_PHONE_CONFIRMATION,\n );\n\n const isCRSEnabled = hasTreatment(TREATMENTS.FEATURE_CRS_DATA_COLLECTION);\n /*\n !!! PAY CLOSE ATTENTION WHEN EDITING INELIGIBLE CHECKS\n TO THIS ARRAY. ADDING A NEW INELIGIBILITY REQUIRES\n TESTING useCheckMemberBenefits HOOK AS WE CALL\n hasCommonWpsGuestUpgradeIneligibility INSIDE OF IT.\n */\n const ineligibleFeatures = [\n { ineligible: !isWPS, reason: 'isNotWps' },\n { ineligible: isCRSEnabled, reason: 'isCRSEnabled' },\n { ineligible: Boolean(isWpsSubscription), reason: 'isWpsSubscription' },\n { ineligible: Boolean(isWpsAutobilling), reason: 'isWpsAutobilling' },\n {\n ineligible: Boolean(isWpsInstallmentPlan),\n reason: 'isWpsInstallmentPlan',\n },\n { ineligible: !isGuestEligible, reason: 'isNotGuestEligible' },\n { ineligible: isSCAPhoneConfirmation, reason: 'isSCAPhoneConfirmation' },\n ];\n\n return ineligibleFeatures;\n};\n\n/**\n * @returns {bool}\n */\nexport const hasCommonWpsGuestUpgradeIneligibility = (): boolean => {\n const commonWpsIneligibilities = getCommonWpsGuestUpgradeIneligibilities();\n return commonWpsIneligibilities.some(({ ineligible }) => ineligible);\n};\n\n/**\n * @description - Checks the checkout session and ELMO treatments to\n * determine if the current user is eligible for member matching on WPS\n * @returns {bool} - Whether a user is eligible for WPS member match\n */\nexport const getWpsMemberMatchEligiblity = (): boolean => {\n const { isWPS, isWpsSubscription, isWpsAutobilling, isWpsInstallmentPlan } =\n getCheckoutSessionFlags();\n\n const memberMatchEnabled = hasTreatment(\n TREATMENTS.FEATURE_EXPAND_MEMBER_MATCHING_WPS,\n );\n /*\n The following conditions must evaluate to true\n to be eligible for member match on WPS\n */\n const requirements = [\n isWPS,\n memberMatchEnabled,\n !isWpsSubscription,\n !isWpsAutobilling,\n !isWpsInstallmentPlan,\n ];\n\n return requirements.every(requirement => requirement);\n};\n\n/**\n * @returns {bool}\n */\nexport const getWpsGuestUpgradeEligibility = (): boolean => {\n const { country } = getLocale();\n // Guest Upgrade flow should be ineligible only for POMA phase 1\n const isWpsPOMATreatment = includesTreatment({\n feature: TREATMENTS.FEATURE_WPS_PASSWORDLESS,\n treatment: 'OPTIONAL_GUEST_WITHOUT_PASSWORD',\n });\n const isStreamlineOptional = getStreamlineOptionalEligibility();\n\n const commonWpsIneligibilities = [\n ...getCommonWpsGuestUpgradeIneligibilities(),\n { ineligible: isWpsPOMATreatment, reason: 'isWpsPOMATreatment' },\n /*\n !!! THIS SUPPRESSES GUEST UPGRADE FOR STREAMLINE EXP AND\n THIS IS THE PATH FORWARD BASED ON PRODUCT DISCUSSIONS.\n */\n { ineligible: isStreamlineOptional, reason: 'isStreamlineOptional' },\n { ineligible: country === CountryCodes.Th, reason: 'thailand' },\n { ineligible: country === CountryCodes.Gi, reason: 'gibraltar' },\n ];\n\n const ineligibleFeature = commonWpsIneligibilities.find(\n ({ ineligible }) => ineligible,\n );\n\n if (ineligibleFeature) {\n const { reason } = ineligibleFeature;\n FPTI.isWpsGuestUpgradeEligible.logEligibility(`ineligible_${reason}`);\n return false;\n }\n\n FPTI.isWpsGuestUpgradeEligible.logEligibility('eligible');\n return true;\n};\n\n/**\n * Encapsulates ONLY the experiments filters to determine if\n * the POMA experiences(EC OR WPS) should be enabled based on elmo.\n *\n * @returns {bool}\n */\nexport const isPOMAEnabled = (): boolean => {\n const { country } = getLocale();\n const { isGuestEligible, isWPS } = getCheckoutSessionFlags();\n\n // POMA EC\n const isPOMAEC = Boolean(\n country === CountryCodes.Us && isGuestEligible && !isWPS,\n );\n // POMA WPS\n const isPOMAWps = Boolean(\n !hasCommonWpsGuestUpgradeIneligibility() &&\n includesTreatment({\n feature: TREATMENTS.FEATURE_WPS_PASSWORDLESS,\n treatment: 'OPTIONAL_GUEST_WITHOUT_PASSWORD',\n }),\n );\n\n return isPOMAEC || isPOMAWps;\n};\n\n/**\n * Encapsulates ALL of the eligibility criterias to\n * determine if the POMA experiences(EC OR WPS) should be shown to the user.\n *\n * @returns {bool}\n */\nexport const getPOMAEligibility = (): boolean => {\n const { isInvoiceFlow } = getCheckoutSessionFlags();\n const checkoutSessionType = getCheckoutSessionType();\n const isBAWithoutPurchase =\n isBillingAgreementWithoutPurchaseFlow(checkoutSessionType);\n // RPS elmo experiment takes priority over FLOW_TYPE elmo\n const isRPSTreatment = hasTreatment('FEATURE_MERCHANT_BASED_FLOW_TYPE');\n\n // only available to US, POMA is default treated as control.\n // POMA eligible customers given the streamline treatment\n // should be sent down optional or forced signup\n const isStreamlineExperienceEligible = getStreamlineOptionalEligibility();\n\n return (\n !isInvoiceFlow &&\n !isBAWithoutPurchase &&\n !isRPSTreatment &&\n !isStreamlineExperienceEligible &&\n isPOMAEnabled()\n );\n};\n\nexport const getStreamlineForcedEligibility = (): boolean => {\n const isStreamlineExperience = includesTreatment({\n feature: 'FEATURE_FORCED_SIGNUP_UI_EXP',\n treatment: 'FORCED_SIGNUP_STREAMLINE',\n });\n\n const isPOMAEligible = getPOMAEligibility();\n const isForcedGuest = getForcedGuestEligibility();\n\n return isStreamlineExperience && !isPOMAEligible && !isForcedGuest;\n};\n\nexport const getStreamlineOptionalEligibility = (): boolean => {\n const { isGuestEligible } = getCheckoutSessionFlags();\n const isStreamlineExperience = includesTreatment({\n feature: 'FEATURE_OPTIONAL_SIGNUP_UI_EXP',\n treatment: 'OPTIONAL_SIGNUP_STREAMLINE',\n });\n const isForcedGuest = getForcedGuestEligibility();\n const isForcedSignup = includesTreatment({\n feature: 'FEATURE_MERCHANT_BASED_FLOW_TYPE',\n treatment: 'FORCED_SIGNUP',\n });\n const isAccountBasedForcedSignup = getAccountBasedForcedSignupEligibility();\n\n return (\n Boolean(isGuestEligible) &&\n isStreamlineExperience &&\n !isForcedGuest &&\n !isForcedSignup &&\n !isAccountBasedForcedSignup\n );\n};\n\nexport const getPasswordlessUpgradeEligibility = (): boolean => {\n const isPasswordless = includesTreatment({\n feature: 'FEATURE_WPS_PASSWORDLESS',\n treatment: 'WPS_PASSWORDLESS_2',\n });\n\n return !hasCommonWpsGuestUpgradeIneligibility() && isPasswordless;\n};\n\nexport const getMemberMatchNoOptInEligibility = (): boolean => {\n const isECMemberMatch = includesTreatment({\n feature: 'FEATURE_EXPAND_MEMBER_MATCHING',\n treatment: 'EXPAND_MEMBER_MATCHING_2',\n });\n const isWPSMemberMatch = includesTreatment({\n feature: 'FEATURE_EXPAND_MEMBER_MATCHING_WPS',\n treatment: 'MEMBER_MATCHING_WPS_NO_OPT_IN',\n });\n\n const optionalStreamlineSignupEligible = getStreamlineOptionalEligibility();\n const signupRequired = getStreamlineForcedEligibility();\n return (\n (isECMemberMatch || isWPSMemberMatch) &&\n (optionalStreamlineSignupEligible || signupRequired)\n );\n};\n\nexport const getPPReactMockStylesEligibility = (): boolean => {\n const isPPReactStylesEligible = hasTreatment(\n TREATMENTS.FEATURE_PP_REACT_MOCK_STYLES,\n );\n return Boolean(isPPReactStylesEligible);\n};\n","// External libraries\nimport styled from '@emotion/styled';\nimport {\n BodyText as PPBodyText,\n HeadingText as PPHeadingText,\n} from '@paypalcorp/pp-react-text-weasley-v7';\n\n// Internal modules\nimport { HIGH_CONTRAST_TEXT_COLOR } from '@/styles';\n\ninterface GetStylesParams {\n fontSize?: string;\n fontWeight?: number;\n}\ninterface SectionHeadingProps extends GetStylesParams {\n lineHeight?: number;\n marginBottom?: string;\n marginTop?: string;\n textAlign?: string;\n}\n\nexport const HeadingText = styled(PPHeadingText)<{ showTabs: boolean }>`\n margin: ${({ showTabs }) => (showTabs ? '1.5rem 0 1rem' : '0 0 1rem')};\n`;\n\nexport const BodyText = styled(PPBodyText)`\n margin: 0 0 1.5rem;\n`;\n\nexport const SectionHeading = styled.h1`\n color: ${({ theme }) => theme.typography.headingH1.color};\n font-size: ${({ fontSize }) => fontSize || '28px'};\n font-style: normal;\n font-weight: ${({ fontWeight }) => fontWeight || 400};\n line-height: ${({ lineHeight = 1.33 }) => lineHeight};\n margin-bottom: ${({ marginBottom }) => marginBottom || '12px'};\n margin-top: ${({ marginTop }) => marginTop};\n text-align: ${({ textAlign }) => textAlign};\n\n @media (min-width: 365px) {\n font-size: ${({ fontSize }) => fontSize || '28px'};\n }\n`;\n\nexport const SectionHeadingLarge = styled.h2`\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-size: 16px;\n font-weight: 600;\n line-height: 1.5;\n margin-bottom: 7px;\n`;\n\ninterface SectionSubHeadingProps extends SectionHeadingProps {\n color?: string;\n fontWeight?: number;\n}\n\nexport const SectionSubHeading = styled.h2`\n color: ${({ color }) => color || HIGH_CONTRAST_TEXT_COLOR};\n font-size: ${({ fontSize }) => fontSize || '18px'};\n font-weight: ${({ fontWeight }) => fontWeight || 400};\n line-height: ${({ lineHeight }) => lineHeight || 1.4};\n margin-bottom: ${({ marginBottom }) => marginBottom || '18px'};\n margin-top: ${({ marginTop }) => marginTop};\n text-align: ${({ textAlign }) => textAlign};\n\n a {\n margin-left: 3px;\n font-weight: ${({ fontWeight }) => fontWeight};\n }\n`;\n","// External libraries\nimport React from 'react';\nimport type { ReactNode } from 'react';\n\n// Internal modules\nimport { useStoreState } from '@/store';\nimport { PaypalThemedProvider } from '@/styles';\nimport { BodyText, HeadingText } from './StyledComponents';\n\ninterface SectionHeaderProps {\n color?: string;\n fontSize?: string;\n header: ReactNode;\n subheader?: ReactNode;\n}\n\nexport const SectionHeader = ({\n header,\n subheader,\n}: SectionHeaderProps): JSX.Element => {\n const showTabs = useStoreState(({ ui }) => ui.showTabs);\n\n return (\n \n \n {header}\n \n {subheader && {subheader}}\n \n );\n};\n","// External libraries\n// @ts-expect-error untyped-import\nimport { isBoolean } from '@checkout/react-components';\n\n// Internal modules\nimport {\n isUserActionCommit,\n logger,\n ONBOARD_SUCCESS_PAYLOAD,\n STATE_NAME,\n} from '@/lib';\n\nimport { appStore } from '@/store';\nimport { getGlobals } from '../../lib/globals';\nimport type { GenericObjectType } from '@/types';\n\ntype FOCUS_AND_BLUR_OPTIONS = {\n errorCode?: string;\n eventType?: string;\n fieldName?: string;\n isValid?: boolean;\n};\n\ntype FOCUS_AND_BLUR_RETURN = {\n field_name?: string;\n int_error_code: '0' | '1';\n int_error_desc?: string;\n state_name: 'billing';\n transition_name: string;\n};\n\nexport const FPTI_FOCUS_AND_BLUR_EVENT_PAYLOAD = (\n options: FOCUS_AND_BLUR_OPTIONS = {},\n): FOCUS_AND_BLUR_RETURN => {\n const { errorCode, eventType, fieldName, isValid } = options;\n\n /**\n * Only form fields that we send to the API have their validity tracked\n * but some inputs that aren't sent to the API still use this function.\n * For those fields we will send the \"validity\" as \"valid\" for tracking\n * purposes. This way the payload is always the same and the information\n * is accurate -- if a field can't be invalid then it's always valid.\n * E.G. the ship to billing checkbox\n */\n const isValidLike = !isBoolean(isValid) || isValid;\n\n return {\n field_name: fieldName,\n int_error_code: isValidLike ? '0' : '1',\n int_error_desc: isValidLike ? '' : errorCode,\n state_name: 'billing',\n transition_name: `process_field_${eventType}`,\n };\n};\n\nconst getCurrencyConversionPayload = () => {\n const { api: apiState, form: formState, ui: uiState } = appStore.getState();\n\n if (!uiState.showCardConversionOptions) {\n const { cartAmount: cart, griffinMetadata: buyer } = apiState;\n\n return {\n is_conversion_shown: 0,\n iscbr: cart?.currencyCode !== buyer.currencyCode, // is cross-border\n };\n }\n\n const { currencyConversionSelection } = formState;\n const { from, to } = apiState.currencyConversionData;\n\n return {\n currency_conversion_from_curr: from?.currencyCode,\n currency_conversion_selected: currencyConversionSelection,\n currency_conversion_to_curr: to?.currencyCode,\n is_conversion_shown: 1,\n };\n};\n\nexport const logProcessBillingPageToFpti = ({\n isEligibleForMemberBenefits = false,\n} = {}): void => {\n const { form: formState } = appStore.getState();\n const { value: onboardOption } = formState.onboardOption;\n const { value: shipToBilling } = formState.shipToBilling;\n const { value: autoCompleteType } =\n formState.shippingAddress.autoCompleteType;\n const { userAction } = getGlobals().initialGqlData.checkoutSession || {};\n\n logger.fpti('weasley_process_billing_page', {\n ship_to_billing: shipToBilling,\n shipping_address_collection: autoCompleteType,\n state_name: 'BILLING',\n status: isEligibleForMemberBenefits ? 'match_eligible' : 'match_ineligible',\n transition_name: 'process_billing_page',\n user_action: userAction,\n user_opts_signup: onboardOption === 'signup' ? 'Y' : 'N',\n ...getCurrencyConversionPayload(),\n });\n logger.flush();\n};\n\nexport const logOnboardSuccessToFpti = (\n onboardOption: keyof typeof STATE_NAME,\n fptiPerfLogStart: number,\n): void => {\n const payload = ONBOARD_SUCCESS_PAYLOAD({\n mode: onboardOption,\n startTime: fptiPerfLogStart,\n });\n\n logger.fpti(`onboard_${onboardOption}_success`, payload);\n};\n\nexport const logPayLaterLearnMoreClickedToFpti = (): void => {\n logger.fpti('pay_later_learn_more_clicked', {\n event_name: 'guest_pay_later_learn_more_clicked',\n state_name: STATE_NAME.billing,\n transition_name: 'guest_pay_later_learn_more',\n });\n};\n\nexport const logPayLaterTermsCheckedToFpti = (): void => {\n logger.fpti('pay_later_tc_checked', {\n event_name: 'guest_pay_later_tc_checked',\n state_name: STATE_NAME.billing,\n transition_name: 'guest_pay_later_tc_checked',\n });\n};\n\nexport const logPayLaterContinueButtonSubmittedToFpti = (): void => {\n logger.fpti('pay_later_continue_button_submitted', {\n event_name: 'pay_later_continue_button_submitted',\n state_name: 'bnpl_guest_review',\n transition_name: 'process_guest_pay_later',\n });\n};\n\nexport const logGuestToMemberTransitionToFpti = (\n options: GenericObjectType,\n): void => {\n const { status } = options;\n\n logger.fpti(`guest_to_member_transition_${status}`, {\n event_name: 'guest_to_member_transition',\n state_name: 'guest_xo',\n status,\n transition_name: 'guest_to_member_transition',\n ...options,\n });\n};\n\n/**\n * Logging for Form tabs\n */\nexport const logPrepareTabbedViewToFpti = (\n options: GenericObjectType,\n): void => {\n logger.fpti('prepare_tabbed_view', {\n event_name: 'xolite_guest_tabbed_view_shown',\n state_name: STATE_NAME.billing,\n transition_name: 'prepare_tabbed_view',\n ...options,\n });\n};\n\nexport const logFiTabClickEventToFpti = (tabName: string): void => {\n logger.fpti(`${tabName}_tab_clicked`, {\n event_name: 'guest_tab_clicked',\n state_name: STATE_NAME.billing,\n transition_name: `select_guest_${tabName}`,\n });\n};\n\n/**\n * @function getHideOvercaptureReason\n * @param {string} overcaptureAmount overcapture amount value\n * @returns {string} Returns the hide overcapture reason if any\n */\nconst getHideOvercaptureReason = (overcaptureAmount: string) => {\n if (!overcaptureAmount) {\n return 'edm_est_amount_null';\n }\n return '';\n};\n\nexport const getOvercaptureFPTILogKey = ({\n isApprove,\n showOvercapture,\n}: {\n isApprove: boolean;\n showOvercapture: boolean;\n}): string => {\n const userAction = isUserActionCommit() ? 'PayNow' : 'Continue';\n return `Overcapture_${isApprove ? 'Approve_' : ''}${\n showOvercapture ? '' : 'No_'\n }Disclaimer_${userAction}_Integration`;\n};\n\nexport const logOvercapturesWhenRendering = (\n overcaptureAmount: string,\n showOvercapture: boolean,\n): void => {\n const { cart, merchant } = getGlobals().initialGqlData.checkoutSession || {\n merchant: {},\n };\n const cartAmount = cart?.amounts?.total?.currencyFormatSymbolISOCurrency;\n\n const defaultLogPayload = {\n edm_est_amt: overcaptureAmount,\n initial_amt: cartAmount,\n merchant_acc_num: merchant.merchantId,\n merchant_country: merchant.country,\n };\n\n const fptiPayload = showOvercapture\n ? defaultLogPayload\n : {\n ...defaultLogPayload,\n reason: getHideOvercaptureReason(overcaptureAmount),\n };\n\n logger.info(\n getOvercaptureFPTILogKey({\n isApprove: false,\n showOvercapture,\n }),\n fptiPayload,\n );\n};\n\nexport const logOverCapturesDataOnSubmit = (): void => {\n const { isOverCaptureVisible } = appStore.getState().ui;\n\n logger.info(\n getOvercaptureFPTILogKey({\n isApprove: true,\n showOvercapture: isOverCaptureVisible,\n }),\n );\n};\n\n/**\n * @function logSilentMemberMatchDisclaimerShown\n * @summary Calls an FPTI logger once.\n * Subsequent calls to this function will do nothing.\n * @returns {void} Does not return anything.\n */\nexport const logSilentMemberMatchDisclaimerShown = (): void => {\n logger.fpti('silent_member_match_disclaimer_rendered', {\n event_name: 'billing_silent_placement_member_matching_shown',\n state_name: STATE_NAME.billing,\n transition_name: 'silent_placement_member_matching_shown',\n });\n};\n\n/**\n * @function logCheckMemberBenefitsOccured\n * @summary Calls an FPTI logger to record the\n * result of the checkMemberBenefits query\n * @param {boolean} result Boolean result of checkMemberBenefits query.\n * @returns {void} Does not return anything.\n */\nexport const logCheckMemberBenefitsOccured = (result: boolean): void => {\n logger.fpti('check_member_benefits_result', {\n event_name: 'billing_check_member_benefits_occurred',\n state_name: STATE_NAME.billing,\n status: result ? 'success' : 'failure',\n transition_name: 'process_check_member_benefits',\n });\n};\n","import type {\n ReadyContext,\n WaitingContext,\n} from '@paypalcorp/atomic-events/dist/types';\n\nexport enum atomicsViewNames {\n missing = 'missing',\n ryp = 'ryp',\n spinner = 'spinner',\n addressNormalizationInterstitial = 'address_normalization_interstitial',\n}\n\nexport enum atomicsCi {\n missing = 'missing',\n clickAddressNormalizationContinue = 'click_address_normalization_continue',\n clickAddressNormalizationCancel = 'click_address_normalization_cancel',\n clickAddressNormalizationNext = 'click_address_normalization_next',\n clickContinueAsGuestButton = 'click_continue_as_guest_button',\n clickCreateAccountAndContinueButton = 'click_create_account_and_continue_button',\n}\n\nexport enum atomicsFlows {\n guestAndSignup = 'guest',\n}\n\nexport enum atomicsTasks {\n missing = 'missing',\n selectContinueAsGuest = 'select_continue_as_guest',\n selectCreateAccountAndContinue = 'select_create_account_and_continue',\n // task representing the whole guest or sign up transaction\n rypLoaded = 'ryp_loaded',\n}\n\nexport enum atomicsStatus {\n ok = 'Ok',\n error = 'Error',\n fci = 'FCI',\n start = 'Start',\n}\n\nexport enum atomicsIntent {\n click = 'click',\n submit = 'submit',\n}\n\nexport const atomicsDomain = 'xo_legacy_guest';\n\nexport type AtomicsWaitingContextType = {\n [key: string]: WaitingContext;\n};\n\nexport type AtomicsContextType = {\n [key: string]: ReadyContext;\n};\n\nexport const atomicsContexts: AtomicsContextType = {\n addressNormalization: {\n domain: atomicsDomain,\n task: atomicsTasks.selectCreateAccountAndContinue,\n },\n ryp: {\n domain: atomicsDomain,\n task: atomicsTasks.rypLoaded,\n },\n selectContinueAsGuest: {\n domain: atomicsDomain,\n task: atomicsTasks.selectContinueAsGuest,\n },\n selectCreateAccountAndContinue: {\n domain: atomicsDomain,\n task: atomicsTasks.selectCreateAccountAndContinue,\n },\n};\n\nexport const atomicsWaitingContext: AtomicsWaitingContextType = {\n selectContinueAsGuest: {\n domain: atomicsDomain,\n flow: atomicsFlows.guestAndSignup,\n intentType: atomicsIntent.click,\n task: atomicsTasks.selectContinueAsGuest,\n },\n selectCreateAccountAndContinue: {\n domain: atomicsDomain,\n flow: atomicsFlows.guestAndSignup,\n intentType: atomicsIntent.click,\n task: atomicsTasks.selectCreateAccountAndContinue,\n },\n};\n\n/** Locally defined list of interactions, tasks, and viewNames. */\nexport const policy = {\n interactions: Object.values(atomicsCi),\n tasks: Object.values(atomicsTasks),\n viewNames: Object.values(atomicsViewNames),\n};\n","import { logger } from '@/lib/logger';\nimport { createAtomics } from '@paypalcorp/atomic-events';\nimport { atomicsDomain, policy } from './atomicConstants';\n\nexport let atomics: any;\n\nexport function setupAtomics(): void {\n atomics = createAtomics({ domain: atomicsDomain, ...policy }, payload => {\n if (!(Array.isArray(payload) && payload.length > 0)) {\n return null;\n }\n\n payload.forEach(singleEvent => {\n if (singleEvent.type === 'metric') {\n const { metricId } = singleEvent.value;\n const metricPayload = {\n ...singleEvent.value,\n dimensions: {\n ...singleEvent.value.dimensions,\n client_app: 'weasley',\n },\n metricNamespace: metricId,\n };\n logger.atomicMetric(metricPayload);\n }\n });\n });\n}\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const BUYER_FRAGMENT = gql`\n fragment buyer on CheckoutSession {\n buyer {\n auth {\n accessToken\n }\n userId\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const FUNDING_OPTIONS_FRAGMENT = gql`\n fragment fundingOptions on CheckoutSession {\n fundingOptions {\n allPlans {\n fundingSources {\n fundingInstrument {\n id\n }\n amount {\n currencyCode\n currencyValue\n }\n }\n }\n\n fundingInstrument {\n id\n lastDigits\n name\n nameDescription\n type\n }\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\n// TODO: GenericAddress fields deprecated in favor of portable addresses\n// see: https://github.paypal.com/Checkout-R/xobuyernodeserv/pull/2746\n/* eslint graphql/no-deprecated-fields: off */\nexport const THREE_DS_2_CONTINGENCY_FRAGMENT = gql`\n fragment threeDSContingencyData on PaymentContingencies {\n threeDSContingencyData {\n name\n causeName\n resolution {\n type\n resolutionName\n paymentCard {\n billingAddress {\n line1\n line2\n city\n state\n country\n postalCode\n }\n expireYear\n expireMonth\n currencyCode\n cardProductClass\n id\n encryptedNumber\n type\n number\n bankIdentificationNumber\n }\n contingencyContext {\n deviceDataCollectionUrl {\n href\n }\n jwtSpecification {\n jwtDuration\n jwtIssuer\n jwtOrgUnitId\n type\n }\n reason\n referenceId\n source\n }\n }\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\n// 3DS 1.0 (mostly IN) contingency fragment\nexport const THREE_DOMAIN_SECURE_FRAGMENT = gql`\n fragment threeDomainSecure on PaymentContingencies {\n threeDomainSecure(experiences: $supportedThreeDsExperiences) {\n status\n redirectUrl {\n href\n }\n method\n parameter\n experience\n requestParams {\n key\n value\n }\n }\n }\n`;\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const AlertSpot = ({\n spotFillColor = '#9B0021',\n spotHeight = '24',\n spotViewBox = '0 0 24 24',\n spotWidth = '24',\n ...svgProps\n}: IconProps = {}): React.ReactElement => {\n return (\n \n \n \n );\n};\n","/* eslint-disable max-len */\nimport React from 'react';\n\nexport const BagHandleSpot = (): React.ReactElement => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","import React from 'react';\n\nexport const BlueCheckmark = (): React.ReactElement => (\n \n \n \n \n);\n","/* eslint-disable max-len */\nimport React from 'react';\n\nexport const CartSpot = (): React.ReactElement => (\n \n \n \n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const CheckMarkV2 = ({\n spotFillColor = '#FFFFFF',\n spotHeight = '24',\n spotViewBox = '0 0 24 24',\n spotWidth = '24',\n ...svgProps\n}: IconProps = {}): React.ReactElement => {\n return (\n \n \n \n );\n};\n","import React from 'react';\n\nimport { PP_SECONDARY_COLOR } from '@/styles';\n\nconst chevronDown =\n 'M4.29289 8.29289C4.68342 7.90237 5.31658 7.90237 5.70711 8.29289L12 14.5858L18.2929 8.29289C18.6834 7.90237 19.3166 7.90237 19.7071 8.29289C20.0977 8.68342 20.0977 9.31658 19.7071 9.70711L12.7142 16.7001C12.3197 17.0945 11.6802 17.0945 11.2858 16.7001L4.29289 9.70711C3.90237 9.31658 3.90237 8.68342 4.29289 8.29289Z';\nconst chevronUp =\n 'M4.29289 15.7071C4.68342 16.0976 5.31658 16.0976 5.70711 15.7071L12 9.4142L18.2929 15.7071C18.6834 16.0976 19.3166 16.0976 19.7071 15.7071C20.0977 15.3166 20.0977 14.6834 19.7071 14.2929L12.7142 7.29995C12.3197 6.90549 11.6802 6.90555 11.2858 7.29995L4.29289 14.2929C3.90237 14.6834 3.90237 15.3166 4.29289 15.7071Z';\n\nexport const ChevronIcon = ({\n isActive,\n}: {\n isActive: boolean;\n}): React.ReactElement => (\n \n \n \n);\n","import React from 'react';\n\nexport const CloseSmIcon = (): React.ReactElement => (\n \n \n \n);\n","import React from 'react';\n\nexport const GreyTrophy = (): React.ReactElement => (\n \n \n \n \n);\n","import React from 'react';\n\nexport const LockSpot = (): React.ReactElement => (\n \n \n \n \n \n \n \n \n);\n","import React from 'react';\n\nexport const MobileSpot = (): React.ReactElement => (\n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const InfoSpot = ({\n spotBgColor = '#FF9600',\n}: IconProps = {}): React.ReactElement => (\n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const InfoSpotV2 = ({\n spotFillColor = '#515354',\n spotHeight = '24',\n spotViewBox = '0 0 24 24',\n spotWidth = '24',\n ...svgProps\n}: IconProps = {}): React.ReactElement => (\n \n \n \n);\n","/* eslint-disable max-len */\nimport React from 'react';\n\nexport const PhoneSpot = (): React.ReactElement => (\n \n \n \n \n \n \n \n \n);\n","// External modules\nimport React from 'react';\n\nexport const ShieldCheckSpot = (): React.ReactElement => (\n \n \n \n \n \n \n);\n","import React from 'react';\n\nexport const ShieldEmptySpot = (): React.ReactElement => (\n \n \n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const ShieldLockSpot = ({\n bgColor,\n}: IconProps = {}): React.ReactElement => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","import React from 'react';\n\nexport const ShieldSpot = (): React.ReactElement => (\n \n \n \n \n \n \n);\n","import React from 'react';\n\nexport const StampPercentSpot = (): React.ReactElement => (\n \n \n \n \n \n \n \n \n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const StepTwoSpot = ({\n spotBgColor = '#FFF',\n}: IconProps = {}): React.ReactElement => (\n \n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const StepOneSpot = ({\n spotBgColor = '#FFF',\n}: IconProps = {}): React.ReactElement => (\n \n \n \n \n);\n","import React from 'react';\n\nexport const TrackingSpot = (): React.ReactElement => (\n \n \n \n \n \n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const TrackingNewSpot = ({\n bgColor,\n}: IconProps = {}): React.ReactElement => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n","import React from 'react';\n\nexport const TrophySpot = (): React.ReactElement => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const TrophyNewSpot = ({\n bgColor,\n}: IconProps = {}): React.ReactElement => {\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n","import React from 'react';\n\nimport { PP_PRIMARY_COLOR } from '@/styles';\n\nexport const OFACInfoIcon = (): React.ReactElement => (\n \n \n \n);\n","// Internal modules\nimport { features, getContent } from '@/lib';\nimport type { DefaultInputState } from '@/store';\nimport { appStore } from '@/store';\nimport { stripAddressPrefix } from './miscUtils';\nimport { isConversionNeeded } from '@/lib/utils/currencyConversion';\nimport { isConversionChangeable } from '@/components/PaymentInformation/CardFields/CurrencyConversion';\n// Untyped imports\nimport {\n hasOwnProp,\n isObject, // @ts-expect-error react-components\n} from '@checkout/react-components';\n\n// Types\nimport type {\n FormAddressState,\n FormAddressTypes,\n FormState,\n} from '@/store/models/form/types';\nimport type { AddressType, ValueOf } from '@/types';\n\n/* === Begin Types specific to this file === */\nexport type FormEventTarget = {\n id: string;\n name: keyof FormState;\n type: string;\n};\n\ntype AddressParams = {\n addressType?: AddressType;\n};\ntype GetFieldCurrentStateParams = {\n field: keyof FormState;\n addressType?: AddressType;\n};\n\ntype GetFieldDataReturnType = {\n addressType?: FormAddressTypes;\n currentState: ValueOf;\n field: keyof FormState;\n};\n\ntype BankState = Partial<\n Pick<\n FormState,\n | 'bankAccountType'\n | 'bankAccountNumber'\n | 'bankSortCode'\n | 'bankIban'\n | 'bankSortCode'\n >\n>;\n\ntype CardState = Partial<\n Pick &\n Partial>\n>;\n\ntype Installment = {\n installmentTerm?: DefaultInputState;\n};\n\ntype FormTab = BankTab | PayNowTab | PayLaterTab;\n\ntype BankTab = {\n fiType: 'bank';\n form: () => JSX.Element;\n fptiName: 'pay_now_bank';\n inactive: boolean;\n tabId: 'bank-tab';\n};\ntype PayNowTab = {\n fiType: 'card';\n form: () => JSX.Element;\n fptiName: 'pay_now_card';\n tabId: 'card-tab';\n};\ntype PayLaterTab = {\n fiType: 'bnpl';\n form: () => JSX.Element;\n fptiName: 'pay_later';\n inactive: boolean;\n tabId: 'bnpl-tab';\n};\n\n/* === End Types specific to this file === */\n\n/**\n * @function getFieldData\n * @param {object} target | event.target object\n * @param {object} meta | metadata object passed to change handler\n * @returns {object}\n */\nconst getFieldData = (\n { id, name, type }: React.FocusEvent['target'],\n { addressType }: AddressParams,\n): GetFieldDataReturnType => {\n const isRadio = type === 'radio';\n const field = (isRadio ? name : stripAddressPrefix(id)) as keyof FormState;\n const currentState = getFieldCurrentState({ addressType, field });\n\n return {\n addressType: addressType && `${addressType}Address`,\n currentState,\n field,\n };\n};\n\n/**\n * @function getFieldCurrentState\n * @param {object} params | An object\n * @param {string} params.field | field from formState\n * @param {string} params.addressType | billing or shipping address\n * @returns {object}\n */\nconst getFieldCurrentState = ({\n field,\n addressType,\n}: GetFieldCurrentStateParams): ValueOf => {\n const { form: formState } = appStore.getState();\n\n if (!addressType) {\n return formState[field];\n }\n\n // Type cast to Form Address Type\n const addressField = `${addressType}Address` as FormAddressTypes;\n return formState[addressField];\n};\n\n/**\n * @function getForcedValidCopy\n * @param {object} fieldGroup\n * @returns {object}\n * @description Creates a copy of a fieldGroup (e.g. billingAddress)\n * and sets all `isValid` keys to `true`. This is needed for when\n * the user can't edit the address fields to fix any validation errors.\n */\n\nconst getForcedValidCopy = <\n T extends\n | FormAddressState['billingAddress']\n | FormAddressState['shippingAddress'],\n>(\n fieldGroup: T,\n): T => {\n const entries = Object.entries(fieldGroup || {}) as [keyof T, ValueOf][];\n const copy = entries.reduce((accum, [key, data]) => {\n if (!isObject(data)) {\n accum[key] = data;\n return accum;\n }\n\n accum[key] = {\n ...data,\n ...(hasOwnProp(data, 'isValid') && { isValid: true }),\n };\n return accum;\n }, {} as T);\n\n return copy;\n};\n\n/**\n * @function getCommonFormState\n * @param {object} formState\n * @returns {object}\n * @description Takes formState and returns an object containing all the\n * values that are common to both guests and signup.\n */\nconst getCommonFormState = (formState: FormState): Partial => {\n const {\n dialingCode,\n email,\n firstName,\n lastName,\n onboardOption,\n phone,\n phoneType,\n } = formState;\n\n return {\n dialingCode,\n email,\n firstName,\n lastName,\n onboardOption,\n phone,\n phoneType,\n };\n};\n\n/**\n * @function getBankState\n * @param {object} formState\n * @returns {object}\n * @description Takes formState and returns an object containing\n * bank fields.\n */\n\nconst getBankState = (formState: FormState): BankState => {\n const { ui: uiState } = appStore.getState();\n const { fiType } = uiState;\n const { bankAccountNumber, bankAccountType, bankIban, bankSortCode } =\n formState;\n\n if (fiType !== 'bank') {\n return {};\n }\n\n const bankState: BankState = {};\n if (bankAccountType.value === 'bank') {\n bankState.bankAccountNumber = bankAccountNumber;\n bankState.bankSortCode = bankSortCode;\n } else {\n bankState.bankIban = bankIban;\n }\n\n return {\n bankAccountType,\n ...bankState,\n };\n};\n\nconst getDialingCode = (data: FormState): string | number | undefined => {\n const {\n api: { griffinMetadata },\n } = appStore.getState();\n const dialingCodeMap = griffinMetadata.territoriesToDialingCodeMap;\n return dialingCodeMap[data?.dialingCode?.value];\n};\n\n/**\n * @function getCardState\n * @param {object} formState\n * @returns {object}\n * @description Takes formState and returns an object containing\n * card fields.\n */\nconst getCardState = (formState: FormState): CardState => {\n const { ui: uiState } = appStore.getState();\n const { fiType } = uiState;\n\n if (fiType !== 'card') {\n return {};\n }\n\n // Only include conversion selection data if it is needed\n const withConversion = isConversionNeeded() && isConversionChangeable();\n const {\n cardCvv,\n cardExpiry,\n cardNumber,\n currencyConversionSelection,\n cardProductClass,\n } = formState;\n\n return {\n cardCvv,\n cardExpiry,\n cardNumber,\n ...(features.isActive('shouldCollectCardProductClass') && {\n cardProductClass,\n }),\n ...(withConversion && { currencyConversionSelection }),\n };\n};\n\n/**\n * @function getInstallmentTermState\n * @param {object} formState\n * @returns {object}\n * @description Takes formState and returns an object containing\n * installment term.\n */\nconst getInstallmentTermState = (formState: FormState): Installment => {\n const { ui: uiState } = appStore.getState();\n const { isInstallmentButtonShown } = uiState;\n const { installmentTerm } = formState;\n\n if (!isInstallmentButtonShown) {\n return {};\n }\n\n return {\n installmentTerm,\n };\n};\n\nconst getFormTabContent = (\n tab: FormTab['fiType'],\n): { title: React.ReactNode[] | string } => {\n if (tab === 'bank') {\n const bankTitle = getContent('addBank.bankTabLabel');\n\n return { title: bankTitle };\n }\n if (tab === 'card') {\n const hasBank = features.someActive('hasAddBank', 'hasConsumerAddBank');\n const payNowTitle = hasBank\n ? getContent('addBank.cardTabLabel')\n : getContent('bnpl.payNow.label');\n\n return { title: payNowTitle };\n }\n if (tab === 'bnpl') {\n const payLaterTitle = getContent('bnpl.payLater.label');\n\n return { title: payLaterTitle };\n }\n return { title: '' };\n};\n\nexport {\n getBankState,\n getCardState,\n getCommonFormState,\n getDialingCode,\n getFieldCurrentState,\n getFieldData,\n getForcedValidCopy,\n getFormTabContent,\n getInstallmentTermState,\n};\n","/** @jsx jsx */\n// External libraries\nimport { jsx } from '@emotion/core';\nimport React, { useEffect } from 'react';\nimport {\n Button,\n LoadingElement,\n LoadingSpinner,\n // @ts-expect-error TODO: @checkout/react-components\n} from '@checkout/react-components';\n// TODO: Fix checkout-apple-pay bundling\nimport '@paypalcorp/checkout-apple-pay/dist/esm/styles.css';\nimport {\n ApplePayButtonSimple,\n createSession,\n useApplePayGuestDisclosure,\n} from '@paypalcorp/checkout-apple-pay';\n\n// Internal libraries\nimport {\n CI,\n features,\n getContent,\n getGlobals,\n // @ts-expect-error TODO: getLazyLoaderRenderFunction\n getLazyLoaderRenderFunction,\n getLocale,\n // @ts-expect-error TODO: lazyLoader\n lazyLoader,\n logger,\n redirectToLogIn,\n useNavigateToReceiptPage,\n} from '@/lib';\nimport {\n ApplePayGuestDisclaimerMessage,\n BaslButtonContainer,\n BaslHaveAnAccountText,\n DisclaimerMessageContainer,\n OrDivider,\n OrText,\n} from './StyledComponents';\nimport { Link, StyledText } from '../Common';\nimport { useStoreActions, useStoreState } from '@/store';\nimport {\n BaslApplePayLinkStyles,\n logInButtonStyleOverrides,\n nonBaslLinkStyles,\n} from './styles';\nimport { streamlineGuestTermsEmbeddedLinks } from '@/components/OnboardTerms/StreamlineOnboardTerms/streamlineTermsEmbeddedLinks';\nimport {\n applePayPaymentRequest,\n merchantAddressConfigRequired,\n} from '@/components/Landing/applepay';\nimport {\n logBillingApplePayButtonClicked,\n logBillingApplePayButtonShown,\n} from './fpti';\nimport { APPLE_PAY_BILLING_BUTTON_METRICS } from './constants';\n\nimport {\n getCachedCheckoutSession,\n getCachedShippingAndTax,\n handleBuildApplePayMerchantConfig,\n} from '@/components/Billing/utils';\nimport type { MerchantAddressConfiguration } from '@/components/Billing/types';\n\nconst BaslLogInLink = ({\n logInElement,\n}: {\n logInElement: JSX.Element;\n}): React.ReactElement => {\n return (\n
\n \n \n {getContent('billing.haveAnAccount')}\n \n\n {logInElement}\n \n\n \n {getContent('base.or')}\n \n
\n );\n};\n\nconst NonBaslLogInLink = ({\n logInElement,\n}: {\n logInElement: JSX.Element;\n}): React.ReactElement => (\n \n {getContent('billing.haveAnAccount', { logInLink: logInElement })}\n \n);\n\nconst LogInLink = ({\n children,\n linkType = 'link',\n}: {\n children: React.ReactChildren | React.ReactNode[] | string;\n linkType: 'button' | 'link';\n}): JSX.Element => {\n const isButton = linkType === 'button';\n const Component = isButton ? Button : Link;\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const toggleIsPageLoading = useStoreActions(({ ui }) => {\n return ui.toggleIsPageLoading;\n });\n\n const handleClick = (e: React.MouseEvent) => {\n e.preventDefault();\n if (!isFormSubmitting) {\n toggleIsPageLoading(true);\n redirectToLogIn();\n }\n };\n const props = {\n children,\n onClick: handleClick,\n ...(isButton && {\n styleOverrides: logInButtonStyleOverrides,\n }),\n ...(!isButton && {\n href: '#',\n testId: 'text-log-in-link',\n text: children,\n }),\n };\n\n return ;\n};\n\nconst BaslHaveAnAccountLogIn = ({\n isBaslApplePay = false,\n}: {\n isBaslApplePay: boolean;\n}): React.ReactElement => {\n const Component = isBaslApplePay ? BaslApplePayLogInLink : BaslLogInLink;\n const LogIn = (\n \n {getContent('billing.logIn')}\n \n );\n return ;\n};\n\nconst HaveAnAccountLogIn = (): React.ReactElement => {\n const LogIn = (\n {getContent('billing.logIn')}\n );\n return ;\n};\n\n// keep the CPA disclaimer message component for future testing\nconst CPADisclaimerMessage = (): React.ReactElement => {\n return (\n \n {getContent('disclaimer.cardPreAuthorization.cartAbandoment.TREATMENT_1')}\n \n );\n};\n\nconst LazyInventorySoldOutInterstitial = lazyLoader({\n loader: () =>\n import('@/components/Interstitials/InventorySoldOutInterstitial'),\n loading: LoadingElement,\n name: 'inventory_sold_out',\n render: getLazyLoaderRenderFunction({\n componentName: 'InventorySoldOutInterstitial',\n }),\n});\n\nconst LazyVenmoMessage = lazyLoader({\n loader: () => import('../VenmoMessage'),\n loading: LoadingElement,\n name: 'VenmoMessage',\n render: getLazyLoaderRenderFunction({ componentName: 'VenmoMessage' }),\n});\n\nconst LazyKYCTeslaRedirectInterstitial = lazyLoader({\n loader: () =>\n import('@/components/Interstitials/KYCTeslaRedirectInterstitial'),\n loading: LoadingElement,\n name: 'kyc_tesla_redirect_interstitial',\n render: getLazyLoaderRenderFunction({\n componentName: 'KYCTeslaRedirectInterstitial',\n }),\n});\n\nconst LazyConsumerAddBankForm = lazyLoader({\n loader: () => import('../ConsumerAddBankForm'),\n loading: () => ,\n name: 'consumer_add_bank_form',\n render(loaded: unknown, props: unknown) {\n // @ts-expect-error\n const Component = loaded.ConsumerAddBankForm;\n return ;\n },\n});\n\nconst LazyCartRender = lazyLoader({\n loader: () => import('../Header/CartDropdown/CartRender'),\n loading: LoadingElement,\n name: 'CartRender',\n render: getLazyLoaderRenderFunction({ componentName: 'CartRender' }),\n});\n\nconst ApplePayButtonWrapper = ({\n showDividerOrText = false,\n}: {\n showDividerOrText?: boolean;\n}): JSX.Element => {\n const { country } = getLocale();\n const showApplePayGuestDisclosure = useApplePayGuestDisclosure(country);\n const navigateToReceiptPage = useNavigateToReceiptPage();\n const { initialGqlData } = getGlobals() || {};\n\n const isSntSupported = features.isActive('isSntSupported');\n\n const handleClick = () => {\n CI.start(CI.Event.APPLE_PAY_BASL_RENDER);\n try {\n let merchantAddressConfig: MerchantAddressConfiguration | undefined = {\n merchantShippingConfig: {\n charges: [],\n shippingOptionsSource: '',\n },\n paymentRequest: {\n lineItems: null,\n shippingContact: null,\n shippingMethods: null,\n total: null,\n },\n };\n const cart = initialGqlData?.checkoutSession?.cart;\n\n const merchantDidPassAddress = merchantAddressConfigRequired(cart);\n\n // Only build a new merchant config if the merchant passed address params.\n if (merchantDidPassAddress) {\n // The Billing page always calls shipping and taxes. We are writing the\n // result to the apollo cache. Looking at the cache prevents a duplicate\n // set of calls being made.\n\n const cachedCheckoutSession = getCachedCheckoutSession();\n\n // Only check in the cache when SnT is supported!\n const shippingAndTaxesResponse = isSntSupported\n ? getCachedShippingAndTax()\n : undefined;\n\n merchantAddressConfig = handleBuildApplePayMerchantConfig({\n cart: cachedCheckoutSession?.checkoutSession?.cart,\n merchant: initialGqlData?.checkoutSession?.merchant,\n shippingAndTaxes: shippingAndTaxesResponse?.calculateShippingAndTaxes,\n });\n }\n\n logBillingApplePayButtonClicked();\n createSession(\n applePayPaymentRequest(\n initialGqlData?.checkoutSession,\n navigateToReceiptPage,\n merchantAddressConfig,\n ),\n ).begin();\n logger.metric(APPLE_PAY_BILLING_BUTTON_METRICS.CLICK_COMPLETE);\n } catch (error) {\n logger.metric(APPLE_PAY_BILLING_BUTTON_METRICS.CLICK_ERROR);\n logger.error('BILLING_PAY_WITH_OTHER_FUNDING_SOURCE_CLICKED.ERROR', {\n error_message: error instanceof Error ? error.message : String(error),\n });\n\n CI.endWith(CI.Event.APPLE_PAY_BASL_RENDER, CI.Status.FCI);\n }\n };\n\n useEffect(() => {\n logBillingApplePayButtonShown();\n }, []);\n\n const showDomesticGuestUADisclaimer = features.isActive(\n 'shouldShowDomesticUserAgreementAcceptance',\n );\n const guestTermKey = showDomesticGuestUADisclaimer\n ? 'simplifiedSectionHeaders.guest.domesticTermsWithLinks'\n : 'simplifiedSectionHeaders.guest.termsWithLinks';\n\n return (\n
\n \n {showApplePayGuestDisclosure && (\n \n {getContent(guestTermKey, streamlineGuestTermsEmbeddedLinks())}\n \n )}\n \n {showDividerOrText && {getContent('base.or')}}\n \n
\n );\n};\n\nconst BaslApplePayLogInLink = ({\n logInElement,\n}: {\n logInElement: JSX.Element;\n}): React.ReactElement => (\n
\n \n {getContent('billing.haveAnAccount', { logInLink: logInElement })}\n \n\n \n {getContent('base.or')}\n \n
\n);\n\nexport {\n ApplePayButtonWrapper,\n BaslApplePayLogInLink,\n BaslHaveAnAccountLogIn,\n CPADisclaimerMessage,\n HaveAnAccountLogIn,\n LazyCartRender,\n LazyConsumerAddBankForm,\n LazyInventorySoldOutInterstitial,\n LazyVenmoMessage,\n LazyKYCTeslaRedirectInterstitial,\n LogInLink,\n};\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const ADDRESS_METADATA_FRAGMENT = gql`\n fragment AddressMetadata on LocaleAddressMetadata {\n layout {\n maxLength\n minLength\n isRequired\n name\n regex\n }\n strings {\n cityLabel\n line1Label\n line2Label\n optionalLabel\n postcodeLabel\n stateLabel\n stateList {\n displayText\n value\n }\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const CART_AMOUNTS_FRAGMENT = gql`\n fragment CartAmounts on Cart {\n amounts {\n discount {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n handlingFee {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n insurance {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n shipping {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n shippingAndHandling {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n shippingDiscount {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n subtotal {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n tax {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n total {\n currencyCode\n currencyFormat\n currencyFormatSymbolISOCurrency\n currencyValue\n currencySymbol\n }\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const CART_ITEMS_FRAGMENT = gql`\n fragment CartItems on Cart {\n items {\n description\n details\n name\n quantity\n total {\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n unitPrice {\n currencyFormatSymbolISOCurrency\n currencyValue\n currencyFormat\n }\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const SHIPPING_METHODS_FRAGMENT = gql`\n fragment ShippingMethods on Cart {\n shippingMethods {\n id\n type\n label\n selected\n amount {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport const CART_FRAGMENT = gql`\n fragment CartDonePage on CheckoutSession {\n cart {\n paymentId\n returnUrl {\n href\n pathname\n }\n cancelUrl {\n href\n pathname\n }\n intent\n items {\n quantity\n name\n sku\n unitPrice {\n currencyValue\n currencyFormat\n }\n itemOptionSelections {\n name\n description\n }\n }\n amounts {\n subtotal {\n currencyCode\n currencyFormat\n currencyValue\n }\n tax {\n currencyCode\n currencyFormat\n currencyValue\n }\n shipping {\n currencyCode\n currencyFormat\n currencyValue\n }\n insurance {\n currencyCode\n currencyFormat\n currencyValue\n }\n handlingFee {\n currencyCode\n currencyFormat\n currencyValue\n }\n total {\n currencyCode\n currencyFormat\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n discount {\n currencyCode\n currencyFormat\n currencyValue\n }\n }\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport const COMPLETED_PAYMENT_INFO_FRAGMENT = gql`\n fragment CompletedPaymentInfo on CheckoutSession {\n completedPaymentInfo {\n transactionId\n transactionState\n receiptId\n softDescriptor\n postbackData\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const CART_OVERCAPTURE_FRAGMENT = gql`\n fragment CartOvercapture on Cart {\n totalAllowedOverCaptureAmount {\n currencyFormatSymbolISOCurrency\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport const CART_SUBSCRIPTION_FRAGMENT = gql`\n fragment SubscriptionDetails on Cart {\n subscriptionDetails {\n __typename\n initialPaymentInfo {\n __typename\n setupFee {\n __typename\n currencyCode\n currencyFormat\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n firstPayment {\n __typename\n currencyCode\n currencyFormat\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n shippingAmount {\n __typename\n currencyCode\n currencyFormat\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n taxPercentage\n totalAmount {\n __typename\n currencyCode\n currencyFormat\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n }\n plan {\n __typename\n id\n name\n billingCycles {\n __typename\n fixedPrice {\n __typename\n currencyCode\n currencyFormat\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n frequency {\n __typename\n intervalUnit\n intervalCount\n }\n totalCycles\n }\n startTime\n }\n }\n }\n`;\n","// External modules\nimport type { NormalizedCacheObject } from 'apollo-cache-inmemory';\nimport type {\n ApolloQueryResult,\n MutationOptions,\n OperationVariables,\n QueryOptions,\n} from 'apollo-client';\nimport type ApolloClient from 'apollo-client';\nimport type { FetchResult } from 'apollo-link';\nimport type { ErrorResponse } from 'apollo-link-error';\nimport type { GraphQLError } from 'graphql';\n\n// Internal modules\nimport {\n ACCOUNT_CREATION_OPERATIONS,\n ACCOUNT_UPDATE_OPERATIONS,\n OPERATION_TO_ACCESS_TOKEN_MAP,\n} from './constants';\nimport { logger } from '@/lib/logger';\nimport type { GenericObjectType } from '@/types';\n\nconst NO_ERROR_MESSAGE_AVAILABLE = 'NO_ERROR_MESSAGE_AVAILABLE';\n\ntype HandleGraphQLErrors = {\n apiCorrelationId: string;\n graphQLErrors?: ReadonlyArray;\n operationName: string;\n};\n\ntype HandleNetworkError = {\n apiCorrelationId: string;\n networkError?: Error;\n operationName: string;\n};\n\nexport const getApiCorrelationId = ({\n networkError,\n response,\n}: {\n // TODO refactor into standard error types from apollo DTXOGROWTH-619\n networkError?: any;\n response?: any;\n}): string => {\n const { extensions = {} } = networkError?.result || response || {};\n\n /**\n * In xobuyer and graphqlnode web we set the corrId on the\n * extensions object as `correlation_id` but graphqlnodeweb\n * also uses a plugin that sets it as `correlationId`.\n * So sometimes one is present and sometimes the other is...\n */\n const { correlationId, correlation_id } = extensions;\n\n return correlation_id || correlationId || 'NOT_AVAILABLE';\n};\n\nexport const isApplePay = (opName: string): boolean => {\n return opName === ACCOUNT_CREATION_OPERATIONS.APPROVE_GUEST_PAYMENT_APPLE_PAY;\n};\n\nexport const isOnboardGuest = (opName: string): boolean => {\n return opName === ACCOUNT_CREATION_OPERATIONS.ONBOARD_GUEST;\n};\n\nexport const isSignUpNewMember = (opName: string): boolean => {\n return opName === ACCOUNT_CREATION_OPERATIONS.SIGN_UP_NEW_MEMBER;\n};\n\nexport const isCreateMemberAccount = (opName: string): boolean => {\n return opName === ACCOUNT_CREATION_OPERATIONS.CREATE_MEMBER_ACCOUNT;\n};\n\nexport const isGuestCheckoutWithMemberBenefits = (opName: string): boolean =>\n opName === ACCOUNT_UPDATE_OPERATIONS.CHECKOUT_GUEST_WITH_MEMBER_BENEFITS;\n\nexport const isGuestToMember = (opName: string): boolean => {\n return opName === ACCOUNT_CREATION_OPERATIONS.UPGRADE_GUEST_TO_MEMBER;\n};\n\nexport const isAccountCreationMutation = (opName: string): boolean => {\n return (\n isApplePay(opName) ||\n isOnboardGuest(opName) ||\n isSignUpNewMember(opName) ||\n isCreateMemberAccount(opName) ||\n isGuestToMember(opName)\n );\n};\n\nexport const isAccountUpdateMutation = (opName: string): boolean =>\n isGuestCheckoutWithMemberBenefits(opName);\n\n/**\n * @function getAccessTokenType\n * @param {string} opName\n * @returns {string}\n * @description Takes an operation name\n */\nexport const getAccessTokenType = (opName: string): string => {\n // @ts-expect-error we dont require the opName to exist in the map\n return OPERATION_TO_ACCESS_TOKEN_MAP[opName] || null;\n};\n\n/**\n * @function mapMutationNameToDataNamespace\n * @param {string} opName\n * @returns {string}\n * @description Takes the name of a mutation, e.g. `SignUpNewMemberMutation`,\n * and maps it to a the namespace that the data queried for is under,\n * e.g. `signUpNewMember`.\n */\nexport const mapMutationNameToDataNamespace = (name: string): string => {\n return name\n .replace(/Mutation$/, '')\n .replace(/^(\\w)/, (_, first) => first?.toLowerCase());\n};\n\nexport const getErrorFromResponse = (response: ErrorResponse): any => {\n const { graphQLErrors, networkError } = response;\n const firstGQLError = graphQLErrors?.[0];\n // @ts-expect-error result doesn't exist on Error\n const firstNetworkError = networkError?.result?.errors?.[0];\n\n return firstGQLError || firstNetworkError || response;\n};\n\nexport const requestFactoryQuery = (\n client: ApolloClient,\n) => {\n return (\n options: QueryOptions,\n ): Promise> => {\n return client.query(options).catch((response: any) => {\n const error = getErrorFromResponse(response);\n throw error;\n });\n };\n};\n\nexport const requestFactoryMutate = (\n client: ApolloClient,\n) => {\n return (\n options: MutationOptions,\n ): Promise> => {\n return client.mutate(options).catch((response: any) => {\n const error = getErrorFromResponse(response);\n throw error;\n });\n };\n};\n\nexport const handleGraphQLErrors = ({\n apiCorrelationId,\n graphQLErrors,\n operationName,\n}: HandleGraphQLErrors): void => {\n graphQLErrors\n // `xobuyernodeserv` is throwing a client contingency when there are no matches\n // for the `AddressAutocompleteQuery`. `GAAC_error_ZERO_RESULTS` should neither\n // be an error nor logged; it's polluting our error charts.\n ?.filter(error => error?.message !== 'GAAC_error_ZERO_RESULTS')\n ?.forEach?.(error => {\n const { extensions = {}, message = NO_ERROR_MESSAGE_AVAILABLE } = error;\n const { exception = {} } = extensions;\n let { code = message } = extensions;\n let errDetails = '';\n\n // if OAS_ERROR, add the err details to the err code we log to FPTI\n if (code === 'OAS_ERROR') {\n // @ts-expect-error errorData does not exist on GraphQLError\n errDetails = error?.errorData\n ?.map((errDetailObj: GenericObjectType) => {\n return errDetailObj?.code;\n })\n ?.join('|');\n\n // OAS_ERROR -> OAS_ERROR_INVALID_FIRST_NAME-INVALID_LAST_NAME etc...\n // This will also allow us to log in SignalFx by OAS error type\n code = code + '_' + errDetails;\n }\n\n // Logging once per error instead of using a shared payload\n logger.error(`graphql_error_${operationName}_${code}`, {\n apiCorrelationId,\n message,\n stack: exception?.stacktrace?.join(' \\\\n ') || '',\n });\n // logs directly to SignalFX and bypasses cal\n logger.metric('GUEST_SIGNUP.GRAPHQL.ERROR', {\n dimensions: {\n code,\n operation_name: operationName,\n },\n });\n\n logger.fpti('FPTI_API_ERROR', {\n error_source: operationName,\n int_error_code: code,\n int_error_desc: 'gqlContingency',\n int_error_details: errDetails,\n state_name: 'billing',\n transition_name: 'process_api_error',\n });\n });\n};\n\nexport const handleNetworkError = ({\n apiCorrelationId,\n operationName,\n networkError,\n}: HandleNetworkError): void => {\n if (!networkError) {\n return;\n }\n // Log used to populate our monitoring dashboards for status codes per\n // operation. `networkError` will not be available for errors resulting\n // from invalid user input or errors like `ACCOUNT_ALREADY_EXISTS`.\n // @ts-expect-error statusCode only exists on NetworkError and not just Error\n const networkErrorStatusCode = networkError?.statusCode ?? 'NOT_AVAILABLE';\n // logs directly to SignalFx and bypasses cal\n logger.metric('GUEST_SIGNUP.NETWORK.ERROR', {\n dimensions: {\n operation_name: operationName,\n status_code: networkErrorStatusCode,\n },\n });\n logger.error('network_error', {\n apiCorrelationId,\n operationName,\n statusCode: networkErrorStatusCode,\n });\n};\n","import { logBlurOrFocusEvent } from './util/logFunctions';\n// @ts-expect-error untyped import\nimport { blurHandler, changeHandler } from './handlers';\nimport type { HandlersTypes } from '@/types';\n\nexport const formInputHandlers: HandlersTypes = {\n blurHandler,\n changeHandler,\n focusHandler: logBlurOrFocusEvent,\n};\n","export var COMMA_WITH_OPTIONAL_SPACE = /,\\s?/;\nexport var EMAIL_REGEX = /^((([a-z]|\\d|[!#$%&'*+-/=?^_`{|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#$%&'*+-/=?^_`{|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?$/i;\nexport var EVENT_HANDLER_REGEX = /Handler$/;\nexport var FIRST_LETTER = /^[a-zA-Z]/;\nexport var NON_DIGITS = /\\D/;\nexport var NON_DIGITS_GLOBAL = /\\D/g;\nexport var NON_ALPHANUM_GLOBAL = /[^a-zA-Z0-9]+/g;\nexport var NON_WHITESPACE = /[^\\s]/;\nexport var OBJECT_AS_STRING = /^\\[object\\sObject\\]$/;\nexport var ONLY_WHITESPACE = /^\\s+$/;","// Types used by entire app\nimport type { InitialDataQueryQuery } from '@/generated/graphql';\n\n/** Gets all value types of another type, reverse of keyof */\nexport type ValueOf = T[keyof T];\n\n/** Makes all nested objects partial, does not work on arrays */\nexport type RecursivePartial = {\n [P in keyof T]?: RecursivePartial;\n};\n\n// Used for setting up other types\nexport type NotNullCheckoutSession = NonNullable<\n InitialDataQueryQuery['checkoutSession']\n>;\n\nexport type NotNullLandingIWC = NonNullable<\n Weasley.InitialData['landingIWCData']\n>;\n\nexport type NotNullCart = NonNullable;\n\nexport type NullableCheckoutSession = Partial<\n InitialDataQueryQuery['checkoutSession']\n>;\n\nexport type OptionalKey = Omit & { K?: T[K] };\n\nexport const APP_MODE = {\n GUEST: 'guest',\n SIGNUP: 'signup',\n} as const;\n\nexport type AppMode = ValueOf;\n\nexport type GenericObjectType = {\n [key: string | number | symbol]: T;\n};\n\nexport type FiTypes = 'bank' | 'card' | 'bnpl';\n\nexport enum FormTabs {\n Bank = 'bank-tab',\n Card = 'card-tab',\n BNPL = 'bnpl-tab',\n}\n\nexport type SessionFlags = NonNullable;\n\nexport type InputOnChange = (e: React.ChangeEvent) => void;\nexport type InputOnBlurChange = (e: React.FocusEvent) => void;\n// They are the same for now, just made a new type in case that changes one day\nexport type InputOnFocus = InputOnBlurChange;\nexport type ButtonClickEvent = (\n e: React.MouseEvent,\n) => void;\n\nexport type ReactComponentsChangeHandler = (\n e: React.ChangeEvent,\n newValue: string,\n oldValue: string,\n meta: GenericObjectType,\n) => void;\n\nexport type ButtonType = 'button' | 'reset' | 'submit';\n\nexport type HandlersTypes = {\n blurHandler: InputOnBlurChange;\n changeHandler: InputOnChange;\n focusHandler: InputOnBlurChange;\n};\n\nexport type Noop = () => void;\n\nexport type PageLevelAlertTypes = 'info' | 'success' | 'warning' | 'error';\n\nexport type AddressType = 'residential' | 'billing' | 'shipping';\n\nexport type LogLevel = 'info' | 'warn' | 'error';\n\nexport type AddressNormalizationPageType =\n | 'shipToBilling'\n | 'billing'\n | 'shipping';\n\n// TODO: Generate this from weasley app config in severus\nexport interface WeasleyAppConfig {\n configSource: string;\n healthCheck: {\n ASSERTION_THRESHOLDS: {\n rootElWidthOrHeight: number;\n visibleRootDepth: number;\n visibleTextCount: number;\n };\n ASSERTION_WEIGHTS: {\n rootElDimensionsZero: number;\n visibleRootDepth: number;\n visibleTextCount: number;\n };\n ENABLED: boolean;\n LIMIT_HEALTHECK_TO_SINGLE_RUN: boolean;\n SEND_SCORECARD_DETAILS_TO_CAL_FPTI: boolean;\n THRESHOLD_FATAL: number;\n };\n}\n\nexport enum ALERT {\n DANGER_ALERT_ERROR = 'DANGER_ALERT_ERROR',\n LIMIT_ALERT_ERROR = 'LIMIT_ALERT_ERROR',\n SUCCESS_ALERT = 'SUCCESS_ALERT',\n INTERNAL_SERVICE_ERROR = 'INTERNAL_SERVICE_ERROR',\n}\n","export const VALID_FIELD_STATE = {\n errorCode: '',\n isValid: true,\n};\n\nexport const CARD_FIELDS_TO_DISPLAY = {\n cvv: true,\n dob: false,\n expiry: true,\n};\n\nexport const ADDRESS_GROUP_REGEX = /^(billing|shipping|residential)Address$/;\n\nexport const SPINNER_TYPES = {\n almostDone: 'almostDone',\n empty: 'empty',\n thankYou: 'thankYou',\n};\n","// External libraries\nimport React from 'react';\n// @ts-expect-error untyped-import\nimport { LoadingElement } from '@checkout/react-components';\n\n// Internal modules\n// @ts-expect-error untyped-import\nimport { lazyLoader } from '@/lib';\nimport { SepaMandate } from './SepaMandate';\nimport { RightOfWithdrawal } from './RightOfWithdrawal';\nimport { PrivacyStatement } from './PrivacyStatement';\nimport { ThirdPartyDataConsentCheckbox } from './ThirdPartyDataConsent/ThirdPartyDataConsent';\nimport { UniqueInformationProcessingCheckbox } from './UniqueInformationProcessing';\n\nconst LazySepaMandate = lazyLoader({\n loader: () => import('./SepaMandate'),\n loading: () => ,\n name: 'sepa_mandate',\n // @ts-expect-error instead of using any to define props\n render(loaded, props) {\n return ;\n },\n});\n\nconst LazyRightOfWithdrawal = lazyLoader({\n loader: () => import('./RightOfWithdrawal'),\n loading: () => ,\n name: 'right_of_withdraw',\n // @ts-expect-error instead of using any to define props\n render(_, props) {\n return ;\n },\n});\n\nconst LazyPrivacyStatement = lazyLoader({\n loader: () => import('./PrivacyStatement'),\n loading: () => ,\n name: 'privacy_statement',\n // @ts-expect-error instead of using any to define props\n render(loaded, props) {\n return ;\n },\n});\n\nconst LazyThirdPartyDataConsent = lazyLoader({\n loader: () => import('./ThirdPartyDataConsent'),\n loading: () => ,\n name: 'third_party_data_consent',\n // @ts-expect-error instead of using any to define props\n render(loaded, props) {\n return ;\n },\n});\n\nconst LazyUniqueInformationProcessing = lazyLoader({\n loader: () => import('./UniqueInformationProcessing'),\n loading: () => ,\n name: 'third_party_data_consent',\n // @ts-expect-error instead of using any to define props\n render(loaded, props) {\n return ;\n },\n});\n\nexport {\n LazyRightOfWithdrawal,\n LazySepaMandate,\n LazyPrivacyStatement,\n LazyThirdPartyDataConsent,\n LazyUniqueInformationProcessing,\n};\n","const STATE_NAME = {\n backToMerchant: 'back_to_merchant',\n billing: 'billing',\n donePage: 'DONE_PAGE',\n fallbackHermes: 'redirect_hermes',\n fallbackXoon: 'redirect_xoon',\n init: 'XO_SIGNUP_LITE_INIT',\n signup: 'signup',\n};\n\nconst TRANSITION_NAME = {\n backToMerchant: 'prepare_back_to_merchant',\n cancelAndRtm: 'prepare_cancel_and_back_to_merchant',\n fallbackHermes: 'process_redirect_hermes',\n fallbackXoon: 'process_redirect_xoon',\n interactive: 'prepare_billing_page_interactive',\n isAddressless: 'prepare_address_fields',\n login: 'prepare_login',\n pageLoaded: 'prepare_billing_page_loaded',\n prepareBilling: 'prepare_billing_page',\n render: 'prepare_billing',\n renderThreeDS: 'prepare_threeDS_page',\n submitPayment: 'process_billing',\n};\n\ntype COMMON_PAYLOAD_TYPE = {\n buyer_type: string;\n comp: string;\n context_id: string | null;\n context_type: string;\n design: string;\n enrich: string;\n experience: string;\n feed_name: string;\n host_name: string;\n serverside_data_source: string;\n 'x-paypal-fpti':\n | {\n context_type: string;\n }\n | string;\n integration_type?: string;\n token?: string;\n};\n// Logged for every event, is merged with payload param in fpti function\nconst COMMON_PAYLOAD: COMMON_PAYLOAD_TYPE = {\n buyer_type: 'NewUser',\n comp: 'checkoutuinodeweb',\n context_id: null,\n context_type: 'EC-token',\n design: 'full context',\n enrich: 'n',\n experience: 'signuplite',\n feed_name: 'checkoutuinodeweb',\n host_name: window.location.hostname,\n serverside_data_source: 'checkout',\n 'x-paypal-fpti': 'TBD',\n};\n\nconst ACCOUNT_CREATION_PAYLOAD = (data: {\n buyerId: string;\n cartAmount: { currencyCode: string; currencyValue: number };\n locale: { country: string };\n merchantId: string;\n}): {\n amt: number;\n ccpg: string;\n comp: string;\n curr: string;\n cust: string;\n mrid: string;\n page: string;\n pgrp: string;\n} => {\n const { buyerId, cartAmount, locale, merchantId } = data;\n return {\n amt: cartAmount.currencyValue,\n ccpg: locale.country,\n comp: 'checkoutuinodeweb',\n curr: cartAmount.currencyCode,\n cust: buyerId,\n mrid: merchantId,\n page: 'main:xo:lite:weasley:guestAndSignup:billing',\n pgrp: 'main:xo:lite',\n };\n};\n\nconst INPUT_FIELD_ERROR_STATUS_PAYLOAD = (\n fieldName: string,\n isValid: boolean,\n errorCode: string,\n): {\n int_error_code: string;\n int_error_desc: any;\n state_name: string;\n transition_name: string;\n} => ({\n int_error_code: isValid ? '0' : '1',\n int_error_desc: isValid ? '' : errorCode,\n state_name: STATE_NAME.billing,\n transition_name: `process_${fieldName}_field_error_status`,\n});\n\nconst ERROR_PAYLOAD = ({\n code,\n desc,\n source,\n}: {\n code: string;\n desc: string;\n source: string;\n}): {\n error_source: string;\n int_error_code: string;\n int_error_desc: string;\n} => ({\n error_source: source,\n int_error_code: code,\n int_error_desc: desc,\n});\n\nconst INTERSTITIAL_PAYLOAD = ({\n action,\n name,\n stateName,\n}: {\n action: string;\n name: string;\n stateName?: string;\n}): { state_name: string; transition_name: string } => ({\n state_name: stateName || STATE_NAME.signup,\n transition_name: `prepare_${name}_interstitial_${action}`,\n});\n\nconst IS_ADDRESSLESS_PAYLOAD = (\n isAddressless: boolean,\n): { is_addr_shown: number; state_name: string; transition_name: string } => ({\n is_addr_shown: isAddressless ? 0 : 1,\n state_name: STATE_NAME.signup,\n transition_name: TRANSITION_NAME.isAddressless,\n});\n\nconst DEFAULT_TAB_FIELD_INDEX = (\n tabName: string,\n): {\n default_tab_index: string;\n state_name: string;\n transition_name: string;\n} => ({\n default_tab_index: tabName,\n state_name: STATE_NAME.signup,\n transition_name: `prepare_${tabName}_tab_on_load`,\n});\n\nconst LOG_IN_PAYLOAD = (): { state_name: string; transition_name: string } => ({\n state_name: STATE_NAME.signup,\n transition_name: TRANSITION_NAME.login,\n});\n\nconst ONBOARD_OPTION_CHANGED_PAYLOAD = (\n accountType: string,\n): {\n account_signup_type: string;\n state_name: string;\n transition_name: string;\n} => ({\n account_signup_type: accountType,\n state_name: 'billing',\n transition_name: 'process_account_type_selection',\n});\n\nconst ONBOARD_SUCCESS_PAYLOAD = ({\n mode,\n startTime,\n}: {\n mode: keyof typeof STATE_NAME;\n startTime: number;\n}): { event_time: number; state_name: string; transition_name: string } => ({\n event_time: Date.now() - startTime,\n state_name: STATE_NAME[mode],\n transition_name: `process_${mode}_checkout_success`,\n});\n\nconst PAGE_LOAD_PAYLOAD = (\n isLoaded = false,\n): { page_load_time: number; state_name: string; transition_name: string } => {\n const transition = isLoaded ? 'pageLoaded' : 'interactive';\n\n return {\n page_load_time: window.performance?.now(),\n state_name: STATE_NAME.billing,\n transition_name: TRANSITION_NAME[transition],\n };\n};\n\nconst PREPARE_BILLING_PAYLOAD = ({\n hasPayLaterIntent,\n isOptionalSignup,\n isTabView,\n}: {\n hasPayLaterIntent: boolean;\n isOptionalSignup: boolean;\n isTabView: boolean;\n}): {\n entry_point: string;\n event_name: string;\n forced_signup_offered: number;\n pay_upon_invoice: string;\n ship_to_billing: string;\n state_name: string;\n transition_name: string;\n view_name: string;\n} => ({\n entry_point: hasPayLaterIntent ? 'pay_later' : 'pay_now',\n event_name: 'xolite_prepare_billing_page',\n forced_signup_offered: isOptionalSignup ? 0 : 1,\n pay_upon_invoice: 'N',\n ship_to_billing: 'Y',\n state_name: STATE_NAME.billing,\n transition_name: TRANSITION_NAME.prepareBilling,\n view_name: isTabView ? 'tab_view' : 'single_page_view',\n});\n\nconst SIGNUP_PAYLOAD = ({\n action,\n}: { action?: keyof typeof TRANSITION_NAME } = {}): {\n state_name: string;\n transition_name: string;\n} => ({\n state_name: STATE_NAME.signup,\n // @ts-expect-error this worked pre typescript\n transition_name: TRANSITION_NAME[action],\n});\n\nconst TRANSACTION_DETAILS_PAYLOAD = (checkoutSession: {\n cart: { amounts: any };\n merchant: { merchantId: string };\n}): { amt: number; currency_code: string; seller_id: string } => {\n const {\n cart: { amounts },\n merchant: { merchantId },\n } = checkoutSession;\n const { currencyCode = '', currencyValue = 0 } = amounts?.total || {};\n\n return {\n // Amount in cents\n amt: parseFloat(currencyValue || 0) * 100,\n currency_code: currencyCode || '',\n seller_id: merchantId,\n };\n};\n\nconst TRACK_FIELD_INPUT_PAYLOAD = ({\n charCount,\n fieldName,\n fieldType,\n}: {\n charCount: number;\n fieldName: string;\n fieldType: string;\n}): {\n char_cnt: number;\n field_name: string;\n field_type: string;\n state_name: string;\n transition_name: string;\n} => ({\n char_cnt: charCount,\n field_name: fieldName,\n field_type: fieldType,\n state_name: 'form_fill',\n transition_name: 'field_fill',\n});\n\nexport {\n ACCOUNT_CREATION_PAYLOAD,\n COMMON_PAYLOAD,\n ERROR_PAYLOAD,\n INPUT_FIELD_ERROR_STATUS_PAYLOAD,\n INTERSTITIAL_PAYLOAD,\n IS_ADDRESSLESS_PAYLOAD,\n DEFAULT_TAB_FIELD_INDEX,\n LOG_IN_PAYLOAD,\n ONBOARD_OPTION_CHANGED_PAYLOAD,\n ONBOARD_SUCCESS_PAYLOAD,\n PAGE_LOAD_PAYLOAD,\n PREPARE_BILLING_PAYLOAD,\n SIGNUP_PAYLOAD,\n STATE_NAME,\n TRACK_FIELD_INPUT_PAYLOAD,\n TRANSACTION_DETAILS_PAYLOAD,\n TRANSITION_NAME,\n};\n","const PAYS_TAXES_OUTSIDE_COUNTRY = 'paysTaxesOutsideCountry';\nconst DOES_NOT_PAY_TAXES_OUTSIDE_COUNTRY = 'doesNotPayTaxesOutsideCountry';\nconst CRS_FIRST_NAME_ID = 'crsLegalFirstName';\nconst CRS_LAST_NAME_ID = 'crsLegalLastName';\n\n// Actions for local reducer\nconst SET_TAX_STATUS = 'SET_TAX_STATUS';\nconst SET_TAX_DETAILS = 'SET_TAX_DETAILS';\nconst ADD_TAX_DETAILS = 'ADD_TAX_DETAILS';\nconst REMOVE_TAX_DETAILS = 'REMOVE_TAX_DETAILS';\nconst SET_LEGAL_FIRST_NAME = 'SET_LEGAL_FIRST_NAME';\nconst SET_LEGAL_LAST_NAME = 'SET_LEGAL_LAST_NAME';\n\nconst CPF_REGEX = /^[0-9]{11}$/;\nconst SSN_REGEX =\n /^(?!(000|666|9))[0-9]{3}(-?)(?!00)[0-9]{2}(-?)(?!0000)[0-9]{4}$/;\nconst PAN_REGEX = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/;\n\nconst CRS_TAXPAYERID_OPTIONS = {\n NO_TAXPAYER_ID: 'NO_TAXPAYER_ID',\n SSN: 'SSN',\n TIN: 'TIN',\n} as const;\n\nconst TAXID_US_SSN_MAXLEN = 9;\nconst TAXID_IN_PAN_MAXLEN = 10;\nconst TAXID_BR_CPF_MAXLEN = 11;\n\nconst NO_TAX_ID_REASON_ADD_EXPLANATION = 'addExplanation';\n\n/* Key ordering matters for crsTaxDetailsChangeHandler */\n/* eslint-disable sort-keys */\nconst CRS_TAX_DETAILS_FIELDS = {\n COUNTRY_CODE: 'countryCode',\n TAX_PAYER_ID_TYPE: 'taxPayerIdType',\n TAX_PAYER_ID_VALUE: 'taxPayerIdValue',\n NO_TAX_PAYER_ID_REASON: 'noTaxPayerIdReason',\n COMMENT: 'comment',\n};\n\n/* eslint-enable sort-keys */\ntype TaxPayerIdMapperType = {\n [key: string]: {\n [key: string]: {\n errorMessage: string;\n maxLength: number;\n regex: RegExp;\n };\n };\n};\n\nconst TAX_PAYER_ID_MAPPER: TaxPayerIdMapperType = {\n BR: {\n TIN: {\n errorMessage: 'crs.errors.invalidTaxID.Brazil',\n maxLength: TAXID_BR_CPF_MAXLEN,\n regex: CPF_REGEX,\n },\n },\n IN: {\n TIN: {\n errorMessage: 'crs.errors.invalidTaxID.India',\n maxLength: TAXID_IN_PAN_MAXLEN,\n regex: PAN_REGEX,\n },\n },\n US: {\n SSN: {\n errorMessage: 'crs.errors.invalidTaxID.USA',\n maxLength: TAXID_US_SSN_MAXLEN,\n regex: SSN_REGEX,\n },\n },\n};\n\nconst FPTI_VALUE_MISSING_ERROR = 'valueMissing';\nconst FPTI_INVALID_VALUE_ERROR = 'invalidValue';\n\nexport {\n ADD_TAX_DETAILS,\n CPF_REGEX,\n CRS_FIRST_NAME_ID,\n CRS_LAST_NAME_ID,\n CRS_TAX_DETAILS_FIELDS,\n CRS_TAXPAYERID_OPTIONS,\n DOES_NOT_PAY_TAXES_OUTSIDE_COUNTRY,\n FPTI_INVALID_VALUE_ERROR,\n FPTI_VALUE_MISSING_ERROR,\n NO_TAX_ID_REASON_ADD_EXPLANATION,\n PAN_REGEX,\n PAYS_TAXES_OUTSIDE_COUNTRY,\n REMOVE_TAX_DETAILS,\n SET_LEGAL_FIRST_NAME,\n SET_LEGAL_LAST_NAME,\n SET_TAX_DETAILS,\n SET_TAX_STATUS,\n SSN_REGEX,\n TAX_PAYER_ID_MAPPER,\n TAXID_BR_CPF_MAXLEN,\n TAXID_IN_PAN_MAXLEN,\n TAXID_US_SSN_MAXLEN,\n};\n","import unescape from 'lodash.unescape';\n\nconst formatTreatmentData = (treatments = []) =>\n treatments.reduce((accum, exp) => {\n const factors = exp.factors?.reduce((accum, { key, value }) => {\n accum[key] = value;\n return accum;\n }, {});\n\n accum[exp.experimentName] = {\n ...exp,\n factors: factors || null,\n };\n return accum;\n }, {});\n\nconst formatUrlOverrideTreatmentData = overrides => {\n if (!overrides) {\n return;\n }\n\n return Object.entries(overrides).reduce(\n (accum, [key, val]) => ({\n ...accum,\n [key]: { experimentName: key, treatmentName: val },\n }),\n {},\n );\n};\n\n// First we verify that globals.initialGqlData.checkoutSession.cart\n// has information, also we verify if it is a string, if it is a string\n// it means that the information was escaped, so here we unescaped it,\n// parse it in a json again and reload it in initialGqlData\nconst unescapeInitialGqlData = globals => {\n try {\n if (typeof globals?.initialGqlData?.checkoutSession?.cart === 'string') {\n const { cart } = globals.initialGqlData.checkoutSession;\n const unescapeData = JSON.parse(unescape(cart));\n globals.initialGqlData.checkoutSession.cart = unescapeData;\n }\n // This code is added because we had an XSS also in the merchant\n // see https://engineering.paypalcorp.com/jira/browse/SVM-3425\n // @TODO: We need to find a generic solution for XSS attacks,\n // otherwise they will continue to appear in different places.\n if (\n typeof globals?.initialGqlData?.checkoutSession?.merchant === 'string'\n ) {\n const { merchant } = globals.initialGqlData.checkoutSession;\n const unescapeData = JSON.parse(unescape(merchant));\n globals.initialGqlData.checkoutSession.merchant = unescapeData;\n }\n\n // DTOPPOR-1166 XSS issue via UL page\n if (typeof globals?.initialGqlData?.unifiedLoginContext === 'string') {\n const { unifiedLoginContext } = globals.initialGqlData;\n const unescapeData = JSON.parse(unescape(unifiedLoginContext));\n globals.initialGqlData.unifiedLoginContext = unescapeData;\n }\n } catch (error) {\n if (globals.uri?.loggerEndpoint) {\n const { browserName, browserVersion, channel } = globals.device || {};\n const payload = {\n events: [\n {\n event: 'weasley_init_data_unescape_error',\n level: 'warn',\n payload: {\n browserName,\n browserVersion,\n channel,\n token: globals.user.ecToken,\n },\n },\n ],\n meta: {\n state: 'ui_init',\n token: globals.user.ecToken,\n },\n };\n fetch(globals.uri.loggerEndpoint, {\n body: JSON.stringify(payload),\n headers: {\n 'content-type': 'application/json',\n 'x-app-name': 'checkoutuinodeweb_weasley',\n },\n method: 'POST',\n }).catch(() => null);\n }\n }\n};\n\nexport {\n formatTreatmentData,\n formatUrlOverrideTreatmentData,\n unescapeInitialGqlData,\n};\n","// Internal modules\nimport type {\n CheckoutSession,\n PayPalBusinessRegions,\n UnifiedLoginContextOnboardingData,\n} from '@/generated/graphql';\nimport {\n BillingType,\n CheckoutSessionType,\n CountryCodes,\n} from '@/generated/graphql';\nimport {\n EMEA_LITE_COUNTRIES,\n EMEA_PASSWORDLESS_WITHOUT_COOKIES,\n GEO_REGIONS,\n SELECT_ALL_SIGNUP_TERMS_COUNTRIES,\n SEPA_MANDATE_COUNTRIES,\n} from './constants';\nimport { getOverrideParams } from '../utils/params';\nimport {\n formatTreatmentData,\n formatUrlOverrideTreatmentData,\n unescapeInitialGqlData,\n // @ts-expect-error TODO: type-globalsUtils\n} from '../utils/globalsUtils';\nimport type { SessionFlags, WeasleyAppConfig } from '@/types';\nimport type {\n GetAppLocality,\n GlobalsEmailAutofill,\n GlobalsType,\n} from './types';\n\nconst globals: GlobalsType = Object.assign(\n {\n accessToken: {\n type: null,\n value: null,\n },\n // Weasley App Config env values that are set in severus/config.json:weasleyUCPConfig, and can\n // be updated on live w/o full release via UCP.\n appConfig: {},\n cancelUrl: '',\n content: {},\n contentHash: null,\n correlationId: '',\n deferredQueryData: {\n elmoExperiment: {\n __typename: 'ElmoExperiment' as const,\n treatments: [],\n },\n otpLoginContext: {\n __typename: 'OtpLoginContext' as const,\n context: '',\n },\n },\n deployEnv: {\n production: true,\n },\n device: {},\n experiments: {},\n fallback: {\n endpoint: null,\n redirectOnError: null,\n },\n features: {},\n initialGqlData: {\n checkoutSession: {\n cart: {\n amounts: {\n total: {},\n },\n billingType: null,\n consentCode: null,\n shippingMethods: [],\n subscriptionDetails: {},\n totalAllowedOverCaptureAmount: null,\n },\n checkoutSessionType: '',\n consentCode: null,\n creditMeta: {\n upstreamCreditPresentment: false,\n },\n flags: {},\n merchant: {},\n nonMemberCreditOffers: {\n allOffers: [],\n },\n userAction: '',\n },\n elmoExperimentWithRealTimeFilters: {\n treatments: [],\n },\n localeMetadata: {\n currencyCode: '',\n },\n },\n isBasl: false,\n isInternalRequest: false,\n landingIWCData: {},\n locality: {\n country: CountryCodes.Us,\n language: 'en',\n },\n noCookie: {\n _csrf: null,\n nsid: null,\n },\n nonce: '',\n releaseMetaData: {\n date: window?.__RELEASE_META__?.date,\n hash: window?.__RELEASE_META__?.hash,\n },\n // path and requestType is always null in localhost\n // as this value is populated by stargate\n // For local testing we can hardcode values here\n // { path: '/checkoutweb/signup', requestType: 'INITIAL' }\n route: { path: '', requestType: '' },\n uri: {\n applePayMerchantIdentifier: null,\n base: null,\n fallbackEndpoint: null,\n hermesEndpoint: null,\n iwcRedirectUrl: null,\n loggerEndpoint: null,\n queryEndpoint: null,\n },\n user: {\n ecToken: null,\n },\n useraction: null,\n },\n window.__INITIAL_DATA__,\n);\n\n// Initial data will be available by calling 'getGlobals()'\nconst getGlobals = (): GlobalsType => globals;\n\n/**\n * This fallback is necessary only until this PR gets merged and deployed to prod via Severus\n * https://github.paypal.com/Checkout-R/checkoutuinodeweb/pull/10698\n * Temp copy of 'weasleyUCPConfig' prop in severus/config.json:weasleyUCPConfig\n */\nexport const weasleyAppConfigFallback: WeasleyAppConfig = {\n // configSource allows us to track whether UCP/config access is working, or is using the fallback\n // ?: Is there a way we can tell it's being loaded from local vs ucp remote vs fallback?\n configSource: 'globals.ts:fallback',\n healthCheck: {\n // levels below these cause a failed assertion\n ASSERTION_THRESHOLDS: {\n rootElWidthOrHeight: 1,\n visibleRootDepth: 3,\n visibleTextCount: 30,\n },\n // how severe are these assertion failures? higher = more severe. Count towards the THRESHOLD\n ASSERTION_WEIGHTS: {\n rootElDimensionsZero: 5, // if rootElDimensions are zero major problem\n visibleRootDepth: 1,\n visibleTextCount: 5, // if there's no visible text major problem\n },\n ENABLED: true, // healthCheck won't run at all if false\n LIMIT_HEALTHECK_TO_SINGLE_RUN: true, // if true, healthcheck can will only run once. Set to false for troubleshooting (will log multiple payloads).\n SEND_SCORECARD_DETAILS_TO_CAL_FPTI: false, // send detailed scoreCard to CAL and FPTI. Should be off by default to save logging volume\n THRESHOLD_FATAL: 4, // above this number should correlate to an FCI / unrecoverable UI state\n },\n};\n\n/**\n * Returns config constants that are defined in severus/config.json:weasleyAppConfig and can be\n * deployed live via UCP w/o requiring a full deploy.\n */\nconst getWeasleyAppConfig = (): Partial => {\n // if any config values are passed in, it's working, else use fallback because severus hasn't\n // deployed yet\n // TODO: remove this check once severus deploys ETA: 07/31/2023\n if (Object.keys(globals.appConfig).length > 0) {\n return globals.appConfig;\n }\n\n // TODO: Remove this fallback as soon as this PR is live\n // https://github.paypal.com/Checkout-R/checkoutuinodeweb/pull/10698\n // ruleSource allows us to track whether UCP access is working, or it's using the fallback\n return weasleyAppConfigFallback;\n};\n\nconst getAccessToken = (): Weasley.InitialData['accessToken'] =>\n globals.accessToken;\n\nconst getReleaseMetaData = (): Weasley.ReleaseMetaDataType =>\n globals.releaseMetaData;\n\nconst setAccessToken = (\n accessTokenObj: Weasley.InitialData['accessToken'],\n): void => {\n globals.accessToken = accessTokenObj;\n};\n\nconst clearAccessToken = (): void => {\n globals.accessToken = {\n type: null,\n value: null,\n };\n};\n\nconst getLocale = (): GetAppLocality => {\n const { country, language } = globals.locality;\n return {\n country,\n language,\n locale: `${language}_${country}`,\n };\n};\n\n// TODO: Can we remove the null case for ecToken in globals?\nconst getToken = (): string => globals.user.ecToken || '';\n\n/**\n * @description Updates the locality in the globals object\n */\nconst updateLocale = (\n updatedLocale: Partial,\n): void => {\n // Spreading the `globals.locality` to allow this function to be used when\n // only updating one field. e.g. The user changes the language selection\n globals.locality = {\n ...globals.locality,\n ...updatedLocale,\n };\n};\n\nconst updateIwcContext = (updatedContext: string): void => {\n globals.deferredQueryData.otpLoginContext.context = updatedContext;\n};\n\nconst getCheckoutSession = (): CheckoutSession | Record =>\n globals.initialGqlData?.checkoutSession ?? {};\n\n// TODO: If we refactor all uses of this to handle null we can return typing\nconst getCheckoutSessionFlags = (): SessionFlags | Partial =>\n globals.initialGqlData?.checkoutSession?.flags || {};\n\nconst getCheckoutSessionType = (): CheckoutSessionType =>\n globals?.initialGqlData?.checkoutSession?.checkoutSessionType ||\n CheckoutSessionType.Purchase;\n\n/**\n * Returns the region in the context of legal & compliance groupings. Doesn't\n * exist for NA (North America) becuase US is fully localized.\n *\n * That means this fn won't return the true business region from locale (cow)\n * but rather the biz region that matches our local set. That's because\n * we're using this fn to figure out what KYC fields are required, what legal\n * links, etc.\n *\n * The only country groups that share legal and compliance requirements are\n * LATAM, EMEA, and APAC.\n *\n * NA (North America) countries don’t share that kind of stuff, they’re\n * all fully localized. So `NA->null` for this fn. - Sam Richards\n */\nconst getGeoRegion = (): PayPalBusinessRegions | null => {\n const { localeMetadata } = globals.initialGqlData;\n const { businessRegions: regions } = localeMetadata || {};\n\n if (!Array.isArray(regions)) {\n return null;\n }\n\n // Verifies the business region(s) returned from xobuyer gql call exists in\n // our constant region list.\n const geoRegion = regions.find(\n // Have to type check since GQL schema indicates regions are nullable\n region => typeof region === 'string' && GEO_REGIONS.includes(region),\n );\n\n return geoRegion || null;\n};\n\nconst getUnifiedLoginContextData = (): UnifiedLoginContextOnboardingData => {\n const { unifiedLoginContext } = globals.initialGqlData;\n return unifiedLoginContext?.experienceMetadata?.onboardingData || {};\n};\n\n/**\n * getLandingPageUserEmail - get the email address entered by user on IWC\n * landing page. It is stored in globals object from landing page event handlers\n * @returns (string) user email address\n */\nconst getLandingPageUserEmail = (): { value?: string } => {\n const { landingIWCData: { userEmailFromIWC = {} } = {} } = globals;\n return userEmailFromIWC;\n};\n\n/*\n getMerchantPrefilledFields returns which fields were set by the merchant\n */\nconst getMerchantPrefilledFields = (): string | null => {\n const prefilledFields: string[] = [];\n const { billingAddress, phoneNumber, shippingAddress } =\n globals.initialGqlData?.checkoutSession?.cart || {};\n\n // We think we want to check the cart.payer properties for name, but\n // xobuyer is not populating the info so we are using the name from the\n // shipping addresss instead\n if (shippingAddress?.firstName || shippingAddress?.lastName) {\n prefilledFields.push('shipping_name');\n }\n if (\n billingAddress?.line1 ||\n billingAddress?.city ||\n billingAddress?.state ||\n billingAddress?.postalCode\n ) {\n prefilledFields.push('billing_address');\n }\n if (\n shippingAddress?.line1 ||\n shippingAddress?.city ||\n shippingAddress?.state ||\n shippingAddress?.postalCode\n ) {\n prefilledFields.push('shipping_address');\n }\n if (phoneNumber) {\n prefilledFields.push('phone');\n }\n return prefilledFields.length > 0 ? prefilledFields.join(',') : null;\n};\n\nconst getEmailAutofill = (): GlobalsEmailAutofill => {\n const { unifiedLoginContext, checkoutSession } = globals.initialGqlData;\n const { email: ulEmail, hasExistingAccount } =\n unifiedLoginContext?.experienceMetadata?.onboardingData || {};\n const cartEmail = checkoutSession?.cart?.email?.stringValue;\n\n return {\n cartEmail,\n fptiCustType:\n (hasExistingAccount === true && 'member') ||\n (hasExistingAccount === false && 'guest') ||\n null,\n fptiEmail:\n (Boolean(ulEmail) && 'ul_passed') ||\n (Boolean(cartEmail) && 'merchant_passed') ||\n null,\n hasExistingAccount:\n typeof hasExistingAccount === 'boolean' ? hasExistingAccount : null,\n ulEmail: ulEmail?.stringValue,\n };\n};\n\nconst getApplePayMerchantIdentifier = (): string | null => {\n const {\n uri: { applePayMerchantIdentifier = '' },\n } = globals || {};\n return applePayMerchantIdentifier;\n};\n\nconst getBillingType = (): string => {\n const globals = getGlobals();\n const billingType =\n globals?.initialGqlData?.checkoutSession?.cart?.billingType ?? '';\n\n return billingType;\n};\n\nconst hasSelectAllSignupTerms = (): boolean => {\n const { country } = getLocale();\n\n return SELECT_ALL_SIGNUP_TERMS_COUNTRIES.includes(country);\n};\n\nconst isChannelInitiatedBillingAgreement = (): boolean => {\n const billingType = getBillingType();\n return [\n BillingType.ChannelInitiatedBilling,\n BillingType.ChannelInitiatedBillingSingleAgreement,\n ].includes(billingType as BillingType);\n};\n\nconst isMerchantInitiatedBillingAgreement = (): boolean => {\n const billingType = getBillingType();\n return [\n BillingType.MerchantInitiatedBilling,\n BillingType.MerchantInitiatedSingleBilling,\n ].includes(billingType as BillingType);\n};\n\nconst isBillingTypeSubscriptionV1 = (): boolean => {\n const billingType = getBillingType();\n return BillingType.SubscriptionsV1 === billingType;\n};\n\nconst isLegacySubscription = (): boolean => {\n const billingType = getBillingType();\n return BillingType.RecurringPayments === billingType;\n};\n\nconst isNextGenSubscription = (): boolean => {\n const billingType = getBillingType();\n return [\n BillingType.SubscriptionsV1,\n BillingType.RecurringPaymentsV1,\n ].includes(billingType as BillingType);\n};\n\nconst isEmeaLiteCountry = (): boolean => {\n const { country } = getLocale();\n\n return EMEA_LITE_COUNTRIES.includes(country);\n};\n\nconst isEmeaPasswordlessWithoutCookiesCountry = (): boolean => {\n const { country } = getLocale();\n\n return EMEA_PASSWORDLESS_WITHOUT_COOKIES.includes(country);\n};\n\nconst isSepaMandateCountry = (): boolean => {\n const { country } = getLocale();\n\n return SEPA_MANDATE_COUNTRIES.includes(country);\n};\n\nconst isRtlLang = (): boolean => globals.locality.directionality === 'rtl';\n\n/**\n * Indicates if this is a commit and payment is completed on PayPal.\n * This can be set by url param: useraction=commit/PAY\n */\nconst isUserActionCommit = (): boolean => {\n // This is from query param\n const isCommitFromQueryParam = ['commit', 'pay'].includes(\n (globals.useraction || '').toLowerCase(),\n );\n // This is from checkoutsession\n const isCommitFromCheckoutSession =\n globals.initialGqlData?.checkoutSession?.userAction === 'PAY_NOW';\n\n // This is from window.xprops\n const isCommitFromWindowXProps = window?.xprops?.commit || false;\n\n return (\n isCommitFromQueryParam ||\n isCommitFromCheckoutSession ||\n isCommitFromWindowXProps\n );\n};\n\nconst updateExperiments = (): void => {\n // Do not override treatments. We can add more treatments into experiments\n // from different pages into same object, but we should not override\n // treatments as this might result in elmos missing in other pages\n const { treatments = [] } =\n globals.initialGqlData?.elmoExperimentWithRealTimeFilters || {};\n const { elmo: landingPageElmos } = globals?.landingIWCData || {};\n const { treatments: landingPageTreatments } = landingPageElmos || {};\n const { treatments: deferredExperiments } =\n globals.deferredQueryData.elmoExperiment;\n const overrides = getOverrideParams({ paramType: 'elmo' });\n\n globals.experiments = {\n ...formatTreatmentData(treatments),\n ...formatTreatmentData(deferredExperiments),\n ...formatTreatmentData(landingPageTreatments),\n ...(globals.isInternalRequest && formatUrlOverrideTreatmentData(overrides)),\n };\n};\n\nunescapeInitialGqlData(getGlobals());\n\n// Set the initial experiments\nupdateExperiments();\n\nexport {\n clearAccessToken,\n getAccessToken,\n getApplePayMerchantIdentifier,\n getBillingType,\n getCheckoutSession,\n getCheckoutSessionFlags,\n getCheckoutSessionType,\n getEmailAutofill,\n getGeoRegion,\n getGlobals,\n getLandingPageUserEmail,\n getLocale,\n getMerchantPrefilledFields,\n getReleaseMetaData,\n getToken,\n getWeasleyAppConfig,\n getUnifiedLoginContextData,\n hasSelectAllSignupTerms,\n isBillingTypeSubscriptionV1,\n isChannelInitiatedBillingAgreement,\n isEmeaLiteCountry,\n isEmeaPasswordlessWithoutCookiesCountry,\n isLegacySubscription,\n isMerchantInitiatedBillingAgreement,\n isNextGenSubscription,\n isRtlLang,\n isSepaMandateCountry,\n isUserActionCommit,\n setAccessToken,\n updateExperiments,\n updateIwcContext,\n updateLocale,\n};\n","export const ADDRESS_VALIDATION_ERROR = {\n API_CHECKPOINT: 'validateAddress',\n API_ERROR_CODE: 'ADDRESS_VALIDATION_ERROR',\n CLIENT_ERROR_CODE: 'apiValidationError',\n FIELDS: ['city', 'postalCode', 'state'],\n};\n\nexport const CPA_AUTH_DECLINED_ERROR = {\n API_ERROR_CODE: 'CC_AUTHORIZATION_DECLINED',\n};\n\nexport const CROSS_BORDER_ERROR = {\n NON_DOMESTIC_CARD: 'NON_DOMESTIC_CARD',\n};\n\nexport const SHARED_FI_ERROR = {\n EXCEEDING_TOTAL_DUPLICATE_LIMIT_SIGNUP:\n 'EXCEEDING_TOTAL_DUPLICATE_LIMIT_SIGNUP',\n INSTRUMENT_SHARING_LIMIT_EXCEEDED_SIGNUP:\n 'INSTRUMENT_SHARING_LIMIT_EXCEEDED_SIGNUP',\n R_I_ERROR: 'R_I_ERROR',\n};\n","// External modules\nimport React from 'react';\n\n// Internal modules\nimport { Link } from '../../Common';\nimport { TERMS_MAP } from '../constants';\nimport { buildMPPUrl, buildTermsUrl, getContent, getLocale } from '@/lib';\nimport { getFeeInformationServiceDescriptionKey, logLinkClick } from '../utils';\nimport type { GenericObjectType } from '@/types';\n\ninterface LinkProps {\n embeddedLinkText: string;\n flowType: string;\n subPageAnchorNumber?: string;\n}\n\nexport const getPrivacyPolicyEmbeddedLink = ({\n embeddedLinkText,\n flowType,\n subPageAnchorNumber,\n}: LinkProps): JSX.Element => {\n const {\n privacyPolicyLink: { path },\n } = TERMS_MAP;\n\n let href = buildTermsUrl({ path });\n if (subPageAnchorNumber) {\n href += `#${subPageAnchorNumber}`;\n }\n\n return (\n logLinkClick(`${flowType}-privacy-policy`, path)}\n testId={`${flowType}-privacy-policy`}\n text={getContent(embeddedLinkText)}\n />\n );\n};\n\nexport const getTermsAndConditionsEmbeddedLink = ({\n embeddedLinkText,\n flowType,\n}: LinkProps): JSX.Element => {\n const {\n termsAndConditionsLink: { path },\n } = TERMS_MAP;\n return (\n logLinkClick(`${flowType}-terms-and-conditions`, path)}\n text={getContent(embeddedLinkText)}\n />\n );\n};\n\nexport const getUserAgreementLink = ({\n embeddedLinkText,\n flowType,\n}: LinkProps): JSX.Element => {\n const {\n userAgreementLink: { getDynamicPath },\n } = TERMS_MAP;\n\n return (\n \n logLinkClick(`${flowType}-user-agreement`, getDynamicPath())\n }\n testId={`${flowType}-user-agreement`}\n text={getContent(embeddedLinkText)}\n />\n );\n};\n\nexport const streamlineGuestTermsEmbeddedLinks = (): GenericObjectType => {\n const { termsLink } = TERMS_MAP;\n return {\n countryUserAgreementLink: getUserAgreementLink({\n embeddedLinkText: 'compliance.countryUserAgreement',\n flowType: 'guest',\n }),\n moreInformationLink: (\n \n ),\n privacyPolicyLink: getPrivacyPolicyEmbeddedLink({\n embeddedLinkText: 'compliance.privacyPolicy',\n flowType: 'guest',\n }),\n privacyPolicyStatementLink: getPrivacyPolicyEmbeddedLink({\n embeddedLinkText: 'compliance.privacyPolicyStatement',\n flowType: 'guest',\n }),\n privacyPolicyV2Link: getPrivacyPolicyEmbeddedLink({\n embeddedLinkText: 'compliance.privacyPolicyV2',\n flowType: 'guest',\n }),\n termsLink: (\n logLinkClick('guest-terms', termsLink.path)}\n testId=\"guest-terms\"\n text={getContent('compliance.terms')}\n />\n ),\n termsV2Link: getTermsAndConditionsEmbeddedLink({\n embeddedLinkText: 'compliance.termsUpperCase',\n flowType: 'guest',\n }),\n userAgreementLink: getUserAgreementLink({\n embeddedLinkText: 'compliance.userAgreement',\n flowType: 'guest',\n }),\n };\n};\n\nexport const streamlineSignupTermsEmbeddedLinks = (): GenericObjectType => {\n const isoCode = getLocale()?.country;\n const {\n serviceDescriptionLink,\n cfsgpdsLink,\n eSignConsent,\n eSignDisclosureAndConsent,\n acceptableUsePolicyLink,\n sanctionsLink,\n } = TERMS_MAP;\n return {\n acceptableUsePolicyLink: (\n \n logLinkClick('signup-acceptable-use', acceptableUsePolicyLink.path)\n }\n testId=\"signup-acceptable-use\"\n text={getContent('compliance.acceptableUsePolicy')}\n />\n ),\n // Commission Information is the same as Fee Information for some countries\n commissionInformationLink: (\n logLinkClick('commission-information', 'ua/pdf')}\n testId=\"commission-information\"\n text={getContent('compliance.commissionInformation')}\n />\n ),\n eSignConsentLink: (\n logLinkClick('signup-esign-consent', eSignConsent.path)}\n testId=\"signup-esign-consent\"\n text={getContent('compliance.eSignConsent')}\n />\n ),\n eSignDisclosureAndConsentLink: (\n \n logLinkClick(\n 'signup-esign-disclosure-use',\n eSignDisclosureAndConsent.path,\n )\n }\n testId=\"esign-disclosure-consent\"\n text={getContent('compliance.eSignDisclosureAndConsent')}\n />\n ),\n feeInformationLink: (\n logLinkClick('fee-information', 'ua/pdf')}\n testId=\"fee-information\"\n text={getContent(getFeeInformationServiceDescriptionKey({ isoCode }))}\n />\n ),\n financialServiceAndDisclosureLink: (\n logLinkClick('signup-cfsgpds', cfsgpdsLink.path)}\n testId=\"signup-cfsgpds\"\n text={getContent('compliance.cfsgpds')}\n />\n ),\n paypalUserAgreementLink: getUserAgreementLink({\n embeddedLinkText: 'compliance.paypalUserAgreement',\n flowType: 'signup',\n }),\n privacyPolicyLink: getPrivacyPolicyEmbeddedLink({\n embeddedLinkText: 'compliance.privacyPolicy',\n flowType: 'signup',\n }),\n privacyPolicyStatementLink: getPrivacyPolicyEmbeddedLink({\n embeddedLinkText: 'compliance.privacyPolicyStatement',\n flowType: 'signup',\n }),\n privacyPolicyV2Link: getPrivacyPolicyEmbeddedLink({\n embeddedLinkText: 'compliance.privacyPolicyV2',\n flowType: 'signup',\n }),\n rightOfWithdrawalLink: (\n \n logLinkClick('right-of-withdrawal', 'ua/useragreement-full')\n }\n testId=\"right-of-withdrawal\"\n text={getContent('compliance.rightOfWithdrawal')}\n />\n ),\n sanctionsLink: (\n \n logLinkClick('signup-compliance-sanctions', sanctionsLink.path)\n }\n testId=\"signup-compliance-sanctions\"\n text={getContent('compliance.sanctions')}\n />\n ),\n serviceDescriptionLink: (\n \n logLinkClick('signup-cfsgpds', serviceDescriptionLink.path)\n }\n testId=\"signup-service-description\"\n text={getContent(getFeeInformationServiceDescriptionKey({ isoCode }))}\n />\n ),\n termsAndConditionsLink: getTermsAndConditionsEmbeddedLink({\n embeddedLinkText: 'compliance.termsAndConditionsLowerCase',\n flowType: 'signup',\n }),\n termsAndConditionsLinkUpperCase: getTermsAndConditionsEmbeddedLink({\n embeddedLinkText: 'compliance.termsAndConditionsUpperCase',\n flowType: 'signup',\n }),\n userAgreementLink: getUserAgreementLink({\n embeddedLinkText: 'compliance.userAgreement',\n flowType: 'signup',\n }),\n };\n};\n","/* eslint-disable sort-keys */\nimport type { ValueOf } from '@/types';\n\n// * ClientInteractions module will convert events to lowercase\n\nconst PRIMARY_EVENTS = {\n /** Marks the start of loading the app in index.html */\n START_APPLICATION: 'START_APPLICATION',\n /** Marks the app loading phase when routing kicks in, customer sees a spinner */\n APP_ROUTING: 'APP_ROUTING',\n\n /** After render of Pay Now (bank and cc) or Pay Later, waiting for user to click the CTA */\n GUEST_XO_SIGNUP_FORM_USER_INPUT: 'GUEST_XO_SIGNUP_FORM_USER_INPUT',\n\n /** Toggles the \"same_as_shipping\" checkbox, and shows/hides billing address entry fields */\n SAME_AS_SHIPPING_ADDRESS_RENDER: 'SAME_AS_SHIPPING_ADDRESS_RENDER',\n\n /** Currency conversion component (selection) is rendered on the page */\n CURRENCY_CONVERSION_RENDER: 'CURRENCY_CONVERSION_RENDER',\n\n /** IWC Auth provider rendered on iwc landing page */\n GUEST_IWC_LANDING_RENDER: 'GUEST_IWC_LANDING_RENDER',\n /** User attempts to login on IWC landing page via OTP */\n GUEST_IWC_LANDING_OTP_LOGIN_SUBMIT: 'GUEST_IWC_LANDING_OTP_LOGIN_SUBMIT',\n /** User attempts to login on IWC landing page via Password */\n GUEST_IWC_LANDING_PWD_LOGIN_SUBMIT: 'GUEST_IWC_LANDING_PWD_LOGIN_SUBMIT',\n /** User attempts to login on OTP In-Context interstitial page via OTP code */\n GUEST_IWC_INCONTEXT_OTP_LOGIN_SUBMIT: 'GUEST_IWC_INCONTEXT_OTP_LOGIN_SUBMIT',\n /** Customer selects Apple Pay option on Billing/BASL flow. Apple pay is then rendered (by OS) */\n APPLE_PAY_BASL_RENDER: 'APPLE_PAY_BASL_RENDER',\n /** Customer selects Apple Pay option on IWC Landing page (apple pay is rendered by OS) */\n APPLE_PAY_IWC_LANDING_RENDER: 'APPLE_PAY_IWC_LANDING_RENDER',\n\n /** Customer clicked the Pay Bank tab (Pay with bank, e.g. DE country / JP) */\n PAY_BANK_RENDER: 'PAY_BANK_RENDER',\n /** Customer clicked the Pay Later tab (BNPL) */\n PAY_LATER_RENDER: 'PAY_LATER_RENDER',\n /** Customer clicked the Pay Now tab (Credit Card) */\n PAY_NOW_RENDER: 'PAY_NOW_RENDER',\n\n /** After render of Real Money Gaming page waiting for user to click the CTA */\n RMG_PAGE_USER_INPUT: 'RMG_PAGE_USER_INPUT',\n} as const;\n\nconst SUBMISSION_EVENTS = {\n /** Customer submits to create and account and pay */\n CREATE_ACCOUNT_AND_PAY_SUBMIT: 'CREATE_ACCOUNT_AND_PAY_SUBMIT',\n /** Customer submits to pay using a guest account */\n GUEST_PAY_SUBMIT: 'GUEST_PAY_SUBMIT',\n /** Customer submits to pay when in member match */\n MEMBER_MATCH_PAY_SUBMIT: 'MEMBER_MATCH_PAY_SUBMIT',\n} as const;\n\nconst CONTINGENCY_EVENTS = {\n /** Customer clicked the Pay Bank tab, then needed to navigate(via redirect) to consumer\n to fulfill that for specific countries like JP that have no add_bank flow in weasley (JP)) */\n ADD_BANK_REDIRECT_TO_CONSUMER: 'ADD_BANK_REDIRECT_TO_CONSUMER',\n\n /** Bank account already linked - Customer chose to link a bank account on member */\n ADD_BANK_REDIRECT_TO_MEMBER: 'ADD_BANK_REDIRECT_TO_MEMBER',\n\n /**Marks the start of Member benefits contigency */\n CONTINGENCY_ACCOUNT_BENEFITS_USER_INPUT:\n 'CONTINGENCY_ACCOUNT_BENEFITS_USER_INPUT',\n\n /** Address Normalization verify address prompt is shown to customer */\n CONTINGENCY_ADDRESS_NORMALIZATION_USER_INPUT:\n 'CONTINGENCY_ADDRESS_NORMALIZATION_USER_INPUT',\n /** Bank account already linked - Customer must link new bank account */\n CONTINGENCY_BANK_ACCT_ALREADY_LINKED_USER_INPUT:\n 'CONTINGENCY_BANK_ACCT_ALREADY_LINKED_USER_INPUT',\n /** 3DS Contingency - Customer must resolve 3DS to continue */\n CONTINGENCY_RESOLVE_3DS_USER_INPUT: 'CONTINGENCY_RESOLVE_3DS_USER_INPUT',\n /** AU customers must resolve the CRS tax interstitial to continue */\n CONTINGENCY_TAX_INFORMATION_USER_INPUT:\n 'CONTINGENCY_TAX_INFORMATION_USER_INPUT',\n} as const;\n\nexport const CUSTOMER_INTERACTION = {\n ...PRIMARY_EVENTS,\n ...SUBMISSION_EVENTS,\n ...CONTINGENCY_EVENTS,\n};\n\nexport type CustomerInteractionType = typeof CUSTOMER_INTERACTION;\nexport type CustomerInteraction = ValueOf;\n","import { logger } from '@/lib/logger';\n// Module has types and real JS objects as same name, so using 2 imports\nimport type {\n ClientInteraction,\n ErrorReason,\n Status,\n} from '@paypalcorp/ppclientinteractions';\nimport type { CustomerInteraction, CustomerInteractionType } from './constants';\nimport { CUSTOMER_INTERACTION } from './constants';\n\n// Temporary until module exports a way to work with parents\ntype InteractionEvent = { interactionName: string };\n\n// Pull some types out of module\ntype ClientInteractionMethodName = keyof ClientInteraction;\ntype GetCurrentClientInteractionEventResponse = NonNullable<\n ReturnType\n>;\n\ntype SetCurrentInteractionMetadataReturnType =\n | ReturnType\n | undefined;\n\ntype MaybeReturnClientInteractionMethod = {\n [Property in keyof ClientInteraction]: (\n ...params: Parameters\n ) => ReturnType | void;\n};\n\n// `resume` is a new method that was added for \"cross-border\" interactions use cases\n// Omitting it now for Weasley until we need it.\ninterface CI extends Omit {\n Event: CustomerInteractionType;\n Status: typeof Status;\n /** Set the current Customer Interaction in module to status Ok */\n ok: () => SetCurrentInteractionMetadataReturnType;\n /** Set the current Customer Interaction in module to status FCI */\n fci: (errorReason?: ErrorReason) => SetCurrentInteractionMetadataReturnType;\n /** Set the current Customer Interaction in module to status Flag for PayPal policy errors */\n flag: () => SetCurrentInteractionMetadataReturnType;\n /** Set the current Customer Interaction in module to status Error */\n error: (error: ErrorReason) => SetCurrentInteractionMetadataReturnType;\n /** User chose to cancel the current CI */\n userCanceled: () => void;\n /** Ends the current CI (last CI in stack) */\n endCurrent: (status?: Status, error?: ErrorReason) => void;\n ErrorReason: typeof ErrorReason;\n /**\n * Gets the parent event of a child event\n * If there is no parent returns the child\n */\n getParent: (childEventName: CustomerInteraction) => CustomerInteraction;\n}\n\n// We only want to ever log once that it is not initialized\nlet hasLoggedNotInitialized = false;\n\n/**\n * Creates a function that safely executes a method on an object\n * * When Proxy is adopted enough we can replace this\n * @param methodName The method to execute\n * @returns The output of the method or undefined if an error occurs\n */\nexport function buildSafeMethod(\n methodName: MethodName,\n) {\n return (\n ...args: Parameters\n ): ReturnType | void => {\n try {\n // @ts-expect-error\n return window.PPClientInteractions.interaction[methodName](...args);\n } catch (err) {\n // Catch and log any errors in module code\n const { message, name, stack } =\n err instanceof Error ? err : new Error(err?.toString());\n\n if (!window.PPClientInteractions?.interaction?.isInitialized?.()) {\n if (!hasLoggedNotInitialized) {\n hasLoggedNotInitialized = true;\n logger.info('CI_MODULE_NOT_INITIALIZED', {\n existsOnWindow: Boolean(window.PPClientInteractions),\n });\n }\n } else {\n logger.error(`ERROR_CALLING_CI_METHOD_${methodName.toUpperCase()}`, {\n args,\n message,\n name,\n stack,\n });\n }\n }\n };\n}\n\n// Module doesn't export this on it's own right now\n// TODO: Delete once module exports them\nconst CI_STATUS: typeof Status = {\n Cancel: 'Cancel',\n Error: 'Error',\n FCI: 'FCI',\n Ok: 'Ok',\n Start: 'Start',\n};\nconst CI_ERROR_REASONS: typeof ErrorReason = {\n Application: 'Application',\n Auth: 'Auth',\n Flag: 'Flag',\n Network: 'Network',\n None: 'None',\n Server: 'Server',\n ThirdParty: 'ThirdParty',\n User: 'User',\n};\n\n// When updating PPClientInteractions module you may have to add/remove methods here\n// Provides a safe way to call and short method path for PPClientInteractions.interactions\nexport const CI: CI = {\n end: buildSafeMethod('end'),\n endAll: buildSafeMethod('endAll'),\n endCurrent: (status, error) => {\n const currentCi =\n CI.getCurrentClientInteractionEvent()?.getMetadata().interaction;\n if (currentCi) {\n if (status) {\n CI.endWith(currentCi, status, error);\n } else {\n CI.end(currentCi);\n }\n } else {\n logger.warn('ATTEMPTED_END_ON_EMPTY_CI_STACK');\n }\n },\n endWith: buildSafeMethod('endWith'),\n error: error =>\n CI.getCurrentClientInteractionEvent()?.setMetadata?.(\n CI.Status.Error,\n error,\n ),\n ErrorReason: CI_ERROR_REASONS,\n Event: CUSTOMER_INTERACTION,\n fci: errorReason =>\n CI.getCurrentClientInteractionEvent()?.setMetadata?.(\n CI.Status.FCI,\n errorReason,\n ),\n flag: () =>\n CI.getCurrentClientInteractionEvent()?.setMetadata(\n CI.Status.Error,\n CI.ErrorReason.Flag,\n ),\n getClientInteractionEvent: buildSafeMethod('getClientInteractionEvent'),\n getCurrentClientInteractionEvent: buildSafeMethod(\n 'getCurrentClientInteractionEvent',\n ),\n\n // The module does not yet expose a way todo this, so we reach into it until it does\n getParent: childEventName => {\n const allInteractions = window.PPClientInteractions?.interaction // @ts-expect-error\n .interactions as InteractionEvent[];\n const childIndex = allInteractions.findIndex(\n event => event.interactionName === childEventName,\n );\n\n // Child must exist, not be first item (0 index)\n if (childIndex && allInteractions.length > 1) {\n return allInteractions[childIndex - 1]\n ?.interactionName as CustomerInteraction;\n }\n\n return childEventName;\n },\n isInitialized: buildSafeMethod('isInitialized'),\n ok: () => CI.getCurrentClientInteractionEvent()?.setMetadata?.(CI.Status.Ok),\n setLogger: buildSafeMethod('setLogger'),\n setMetadata: buildSafeMethod('setMetadata'),\n start: buildSafeMethod('start'),\n Status: CI_STATUS,\n updateMetadata: buildSafeMethod('updateMetadata'),\n userCanceled: () => CI.endCurrent(CI.Status.Cancel, CI.ErrorReason.User),\n};\n","import { appStore, dispatchFormAction } from '@/store';\nimport { features, getContentHash, getLocale, logger } from '@/lib';\n// Untyped imports\nimport {\n getDateOfBirthOrder,\n getDateOfBirthSeparator,\n padLeft,\n parseByDateOfBirthSeparator, // @ts-expect-error untyped-import\n} from '@checkout/react-components';\nimport type { GenericObjectType } from '@/types';\nimport type { FormAddressTypes, FormState } from '@/store/models/form/types';\nimport { getNationalityBasedKycValue } from '@/lib/features/utils';\n\n/* === Begin Types === */\ntype DateObj = {\n day: string;\n month: string;\n year: string;\n};\n/* === End Types === */\n/**\n * @function stringToDateObject\n * @param {string} dateString date in form of string (ex. '1/12/1990')\n * @returns {object} returns object with string fields year, month, day\n * @description used in serializeFormData since dateOfBirth is stored as string\n * but graphQL expects type DateOfBirth (object with fields year, month, day)\n */\nconst stringToDateObject = (dateString: string): DateObj => {\n const { dateMeta } = appStore.getState().api.griffinMetadata;\n const datePattern = dateMeta.datePattern;\n const separator = getDateOfBirthSeparator(datePattern);\n const dateOrder = getDateOfBirthOrder(datePattern, separator);\n const { day, month, year } = parseByDateOfBirthSeparator(\n dateOrder,\n dateString,\n separator,\n );\n\n // xobuyer requires a 2 digit day and month\n return {\n day: padLeft(day, 2, '0'),\n month: padLeft(month, 2, '0'),\n year,\n };\n};\n\nconst getPomaFlowData = (): { contentIdentifier: string } => {\n const { country, language, locale } = getLocale();\n const contentHash = getContentHash(locale);\n const pomaTermsVersion = 'terms.pomaTerms';\n\n // Hardcoded value at end identifies the content key that user agreed to\n const contentIdentifier = `${country}:${language}:${contentHash}:${pomaTermsVersion}`;\n\n return {\n contentIdentifier,\n };\n};\n\nconst legalAgreementsFunctionMap = {\n userAgreement: () => {\n let result = null;\n const { majorVersion, minorVersion } =\n appStore.getState().api.userAgreement || {};\n\n const shouldSendUserAgreement = Boolean(majorVersion && minorVersion);\n\n if (shouldSendUserAgreement) {\n result = {\n userAgreement: {\n majorVersion,\n minorVersion,\n },\n };\n }\n\n logger.info(\n `send_legal_agreements_user_agreement_${shouldSendUserAgreement}`,\n );\n return result;\n },\n};\n\n// TODO: Improve typing on this object\nconst getLegalAgreementsData = (): GenericObjectType => {\n const keys = Object.keys(\n legalAgreementsFunctionMap,\n ) as (keyof typeof legalAgreementsFunctionMap)[];\n const legalAgreements = keys\n .map(key => legalAgreementsFunctionMap[key]())\n .reduce((previous, current) => {\n if (current) {\n return { ...previous, ...current };\n }\n return previous;\n }, {});\n\n return { legalAgreements };\n};\n\n/**\n * @function getIsSignupIncentiveOptIn\n * @param {object} data raw installment data fetched from the server\n * @returns {object} Returns the object if isSignupIncentiveOptIn\n *\n */\nconst getIsSignupIncentiveOptIn = (\n data: FormState,\n): { isSignupIncentiveOptIn?: boolean } => {\n if (data.isSignupIncentiveOptIn) {\n return { isSignupIncentiveOptIn: data.isSignupIncentiveOptIn };\n }\n return {};\n};\n\ntype KycNationalityOnChangeParams = {\n nationality: string;\n addressType?: FormAddressTypes;\n};\n\n// TODO: AddressType is probably not needed here. Will re-examine in the future\n// This is only ever called when field === nationality which is not\n// considered an address field\nconst kycNationalityOnChange = ({\n nationality,\n addressType,\n}: KycNationalityOnChangeParams): void => {\n if (features.config.kycUsesNationalityOnChange) {\n const { form: formState } = appStore.getState();\n const { identityDocumentType } = formState;\n const kycIdTypes = getNationalityBasedKycValue(\n features.config.kycIdTypes,\n nationality,\n );\n\n const payload = { ...identityDocumentType, value: kycIdTypes[0] };\n dispatchFormAction({\n field: 'identityDocumentType',\n payload,\n });\n }\n};\n\nexport const stripAddressPrefix = (id: string): string => {\n const addressRegex = /^(billing|shipping|residential)(\\w)/;\n return id.replace(addressRegex, (_, __, l) => l.toLowerCase());\n};\n\nexport {\n getIsSignupIncentiveOptIn,\n getLegalAgreementsData,\n getPomaFlowData,\n kycNationalityOnChange,\n stringToDateObject,\n};\n","const CONTROL = 'Ctrl_FEATURE_VENMO_OVERLAY_VARIANT';\nconst INTERSTITIAL_WITH_RTM = 'Trmt_FEATURE_VENMO_OVERLAY_VARIANT';\nconst INTERSTITIAL_WITH_LOGIN = 'Trmt_FEATURE_VENMO_OVERLAY_VARIANT_2';\nconst HEADER = 'Trmt_FEATURE_VENMO_OVERLAY_VARIANT_3';\n\nexport const VENMO_OVERLAY_VARIANTS = {\n CONTROL,\n HEADER,\n INTERSTITIAL_WITH_LOGIN,\n INTERSTITIAL_WITH_RTM,\n};\n","// External libraries\nimport styled from '@emotion/styled';\n\n// Internal modules\nimport { StyledText } from '../Common';\nimport {\n FONT_SIZE_REGULAR,\n FONT_SIZE_SMALL,\n FONT_WEIGHT_NORMAL_PP,\n HIGH_CONTRAST_TEXT_COLOR,\n LABEL_COLOR,\n NON_INPUT_BORDER_COLOR,\n TEXT_COLOR,\n} from '@/styles';\n\nconst ApplePayGuestDisclaimerMessage = styled.p`\n color: ${TEXT_COLOR};\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n margin: 19px 0;\n text-align: center;\n`;\n\nconst DisclaimerMessageContainer = styled.p`\n color: ${TEXT_COLOR};\n font-size: 13px;\n font-weight: 400;\n line-height: 1.6;\n margin-bottom: 23.5px;\n`;\n\nconst BaslButtonContainer = styled.div`\n align-items: baseline;\n display: flex;\n justify-content: space-between;\n padding: 20px 0;\n\n @media (min-width: 376px) {\n padding: 12px 0 20px;\n }\n`;\n\nconst BaslHaveAnAccountText = styled.p`\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-size: ${FONT_SIZE_REGULAR};\n font-weight: ${FONT_WEIGHT_NORMAL_PP};\n line-height: 24px;\n margin-right: 32px;\n`;\n\nconst OrDivider = styled.div`\n border-top: 1px solid ${NON_INPUT_BORDER_COLOR};\n margin-bottom: 0.2em;\n text-align: center;\n`;\n\nconst OrText = styled(StyledText)`\n background-color: white;\n color: ${LABEL_COLOR};\n bottom: 11px;\n display: inline;\n font-size: ${FONT_SIZE_SMALL};\n font-weight: ${FONT_WEIGHT_NORMAL_PP};\n padding: 0 8px;\n position: relative;\n`;\n\nconst MainContentAreaComponent = styled.main`\n display: flex;\n flex-direction: column;\n`;\n\nexport {\n ApplePayGuestDisclaimerMessage,\n BaslButtonContainer,\n BaslHaveAnAccountText,\n MainContentAreaComponent,\n DisclaimerMessageContainer,\n OrDivider,\n OrText,\n};\n","import styled from '@emotion/styled';\nimport { Button } from '@paypalcorp/pp-react-buttons-weasley-v7';\n\nexport const ButtonPPReactV7 = styled(Button)`\n width: 100%;\n margin: 0 0 24px;\n`;\n","// External modules\nimport { useStoreState } from '@/store';\n\nexport const useButtonCurrencyCode = (): string => {\n const conversionData = useStoreState(({ api }) => api.currencyConversionData);\n\n const selection = useStoreState(({ form }) => {\n return form.currencyConversionSelection;\n });\n\n // Checking `from` prop because the default for the currency conversion data\n // is an empty object, which is truthy, so we can't just check `if (!data)`\n if (!conversionData?.from) {\n return '';\n }\n\n const conversionType = selection === 'VENDOR' ? 'to' : 'from';\n return conversionData[conversionType]?.currencyCode;\n};\n","// External modules\nimport type { ReactNode } from 'react';\nimport { useStoreState } from '@/store';\n\n// Internal modules\nimport { getContent, getLocale } from '@/lib';\nimport { features } from '@/lib/features';\nimport { isUserActionCommit } from '@/lib/globals';\nimport { useButtonCurrencyCode } from './useButtonCurrencyCode';\nimport { getFlowName, getSubFlow } from '../utils';\nimport { isLegacySubscription, isNextGenSubscription } from '@/lib/globals';\n\n/*\nOrder DOES matter throughout this file - there is a mix of compliance-,\ncountry-, and feature- specific logic throughout the file.\nWhen changing or altering the order of things, please test thoroughly\n*/\nexport const useSubmitButtonContent = (): {\n content: ReactNode;\n keyName: string;\n} => {\n const { value: accountType } = useStoreState(\n ({ form }) => form.onboardOption,\n );\n const isExistingAccount = useStoreState(({ api }) => api.isExistingAccount);\n const isNextGenSub = isNextGenSubscription();\n\n const currency = useButtonCurrencyCode();\n\n if (\n features.isActive('isPaymentServiceActApplied') &&\n features.isActive('isBillingAgreement') &&\n !isNextGenSub\n ) {\n const buttonKey = isUserActionCommit()\n ? 'buttons.signup.continueAsMemberAndPay'\n : 'buttons.poma.continueAsMember';\n\n return { content: getContent(buttonKey), keyName: buttonKey };\n }\n\n const isStreamlineForcedExperience = features.isActive(\n 'isStreamlineForcedExperience',\n );\n const isStreamlineOptionalExperience = features.isActive(\n 'isStreamlineOptionalExperience',\n );\n\n // Silent Member Matching & Toggle Suppression scenarios\n const isSilentMemberMatching = features.isActive('isMemberMatchNoOptIn');\n const toggleSuppression = features.isActive(\n 'isMemberMatchNoToggleWithInterstitial',\n );\n if (isExistingAccount && isSilentMemberMatching) {\n return {\n content: getContent('buttons.guest.base'),\n keyName: 'buttons.guest.base',\n };\n }\n if (isExistingAccount && toggleSuppression) {\n return {\n content: getContent('buttons.continueAsGuest'),\n keyName: 'buttons.continueAsGuest',\n };\n }\n\n // If currency conversion is needed, `conversionSelection` will\n // be \"PAYPAL\" or \"VENDOR\", otherwise it is an empty string\n const withConversion = Boolean(currency);\n const { country } = getLocale();\n const flowName = getFlowName(accountType);\n const subFlow = getSubFlow(withConversion);\n const isWPS = features.isActive('isWps');\n const isRecurringPayment = isLegacySubscription();\n const isECStreamline = isStreamlineOptionalExperience && !isWPS;\n const isWPSStreamline = isStreamlineOptionalExperience && isWPS;\n const deOnboardSwitchDefaultOverride = features.isActive(\n 'hasGuestXOSepaUpdate',\n );\n\n // EC subscriptions button content\n if (flowName === 'signup' && isRecurringPayment) {\n return {\n content: getContent('buttons.signup.subscribe'),\n keyName: 'buttons.signup.subscribe',\n };\n }\n\n // Next gen EC subscriptions are both guest and signup eligible for now\n // but there are discussions around removing it from guest flows\n // due to compliance concerns\n if (isNextGenSub) {\n let contentKey;\n\n if (country === 'SG') {\n const userActionCommit = isUserActionCommit();\n if (flowName === 'guest') {\n contentKey = userActionCommit\n ? 'buttons.confirmAndSubscribe'\n : 'buttons.confirmAndContinue';\n } else {\n contentKey = userActionCommit\n ? 'buttons.signup.subscribe'\n : 'buttons.poma.continueAsMember';\n }\n return {\n content: getContent(contentKey),\n keyName: contentKey,\n };\n }\n\n contentKey =\n flowName === 'signup'\n ? 'buttons.signup.subscribe'\n : 'buttons.agreeAndSubscribe';\n return {\n content: getContent(contentKey),\n keyName: contentKey,\n };\n }\n\n if (\n isUserActionCommit() &&\n (isStreamlineForcedExperience ||\n (isStreamlineOptionalExperience && !isWPSStreamline))\n ) {\n if (flowName === 'signup') {\n return {\n content: getContent('buttons.signup.commit'),\n keyName: 'buttons.signup.commit',\n };\n }\n return {\n content: getContent('buttons.guest.commit'),\n keyName: 'buttons.guest.commit',\n };\n }\n\n // EC streamline button content\n if (flowName === 'guest' && isECStreamline) {\n if (deOnboardSwitchDefaultOverride) {\n return {\n content: getContent('buttons.guest.commit'),\n keyName: 'buttons.guest.commit',\n };\n }\n\n return {\n content: getContent('buttons.continueAsGuest'),\n keyName: 'buttons.continueAsGuest',\n };\n }\n if (flowName === 'signup' && isECStreamline) {\n return {\n content: getContent('buttons.poma.continueAsMember'),\n keyName: 'buttons.poma.continueAsMember',\n };\n }\n // WPS streamline button content\n if (flowName === 'guest' && isWPSStreamline) {\n if (deOnboardSwitchDefaultOverride) {\n return {\n content: getContent('buttons.guest.commit'),\n keyName: 'buttons.guest.commit',\n };\n }\n\n return {\n content: getContent('buttons.poma.payAsGuest'),\n keyName: 'buttons.poma.payAsGuest',\n };\n }\n if (flowName === 'signup' && isWPSStreamline) {\n return {\n content: getContent('buttons.poma.continueAsMemberAndPay'),\n keyName: 'buttons.poma.continueAsMemberAndPay',\n };\n }\n\n const components = [\n 'buttons',\n flowName,\n withConversion && 'withConversion',\n subFlow,\n ];\n\n const contentKey = components.filter(Boolean).join('.');\n return { content: getContent(contentKey, { currency }), keyName: contentKey };\n};\n","import { features } from '@/lib/features';\nimport { isUserActionCommit } from '@/lib/globals';\n\nexport const getFlowName = (accountType: string): string => {\n if (accountType === 'signup') {\n const isPOMAEligible = features.isActive('isPOMAEligible');\n const isPasswordlessForcedSignup = features.isActive(\n 'passwordlessForcedSignup',\n );\n const isStreamlineOptionalSignup = features.isActive(\n 'isStreamlineOptionalExperience',\n );\n\n return (isPOMAEligible || isPasswordlessForcedSignup) &&\n !isStreamlineOptionalSignup\n ? 'poma'\n : 'signup';\n }\n\n return 'guest';\n};\n\nexport const getSubFlow = (\n withConversion: boolean,\n): 'donate' | 'commit' | 'base' => {\n if (features.isActive('isDonation')) {\n return 'donate';\n }\n\n // Content is the same as the base content for useraction='commit'\n // when conversion is needed\n const isCommit = !withConversion && isUserActionCommit();\n\n return isCommit ? 'commit' : 'base';\n};\n","import React, { useEffect } from 'react';\n\n// Internal modules\nimport { CI } from '@/lib';\nimport { useStoreState } from '@/store';\nimport { PaypalThemedProvider } from '@/styles';\nimport { ButtonPPReactV7 } from './StyledComponents';\nimport { logFPTICTAContentKey } from './fpti';\nimport { useInterstitialOpen, useSubmitButtonContent } from './hooks';\nimport type { ButtonProps } from './types';\n\nexport const Button = (props: ButtonProps): React.ReactElement => {\n const {\n children,\n contentKey,\n customerInteraction,\n disabled,\n interstitial,\n isLoading,\n onClick = () => {},\n secondary = false,\n size = 'lg',\n testID,\n tertiary,\n type = 'submit',\n } = props;\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const isInterstitialOpen = useInterstitialOpen();\n const baseDisabledState = isFormSubmitting || isLoading || disabled;\n const disabledState = interstitial ? disabled : baseDisabledState;\n\n const { content, keyName } = useSubmitButtonContent();\n const buttonContent = children ? children : content;\n\n const onClickHandler = (\n event: React.MouseEvent,\n ) => {\n if (customerInteraction) {\n CI.start(customerInteraction);\n }\n onClick(event);\n };\n\n useEffect(() => {\n if ((contentKey || keyName) && !isInterstitialOpen) {\n logFPTICTAContentKey({ contentKey: contentKey || keyName });\n }\n }, [keyName, contentKey]);\n\n return (\n \n \n {buttonContent}\n \n \n );\n};\n","// External modules\nimport { useStoreState } from '@/store';\n\n/*\n TODO!:\n This hook checks if some of interstitials are open. I need\n this logic for CTA content key spike work. We reuse SubmitButton\n on some of these interstitials and I do not need to log FPTI\n from interstitals, but only billing page.\n Once, spike work is done and finished. We can clean up\n code and along with other unused code when we take CTA standardize\n JIRA story\n*/\nexport const useInterstitialOpen = (): boolean => {\n const isMemberBenefitsInterstitialOpen = useStoreState(\n ({ ui }) => ui.isMemberBenefitsInterstitialOpen,\n );\n const isMemberBenefitsTrueGuestsInterstitialOpen = useStoreState(\n ({ ui }) => ui.isMemberBenefitsTrueGuestsInterstitialOpen,\n );\n const isPhoneConfirmationOpen = useStoreState(\n ({ ui }) => ui.isPhoneConfirmationOpen,\n );\n const isPasswordlessUpgradeOpen = useStoreState(\n ({ ui }) => ui.isPasswordlessUpgradeOpen,\n );\n\n return Boolean(\n isMemberBenefitsInterstitialOpen ||\n isMemberBenefitsTrueGuestsInterstitialOpen ||\n isPhoneConfirmationOpen ||\n isPasswordlessUpgradeOpen,\n );\n};\n","import { logger } from '@/lib';\n\nexport const logFPTICTAContentKey = ({\n contentKey,\n}: {\n contentKey: string;\n}): void => {\n logger.fpti('cta_content_key', {\n field_value: contentKey,\n state_name: 'billing_page_cta_content_key',\n transition_name: 'prepare_billing_page_cta_content_key',\n });\n};\n","import { getUserAgreementPath } from '@/lib/utils/terms';\n\nexport const TERMS_MAP = {\n acceptableUsePolicyLink: {\n contentKey: 'acceptableUsePolicy',\n path: 'ua/acceptableuse-full',\n },\n buyerProtectionLink: {\n contentKey: 'buyerProtection',\n path: 'ua/paypal-buyer-protection',\n },\n cfsgpdsLink: {\n contentKey: 'cfsgpds',\n path: 'ua/cfsgpds-full',\n },\n collectionNoticeLink: {\n contentKey: 'collectionNotice',\n path: 'ua/ppcollection-notice',\n },\n commissionInformationLink: {\n // Commission Information is the same as Fee Information for some countries\n contentKey: 'commissionInformation',\n useFunction: 'feeInformation',\n },\n countryUserAgreementLink: {\n contentKey: 'countryUserAgreement',\n getDynamicPath: getUserAgreementPath,\n },\n creditCheckLink: {\n contentKey: 'creditCheck',\n path: 'ua/creditchk',\n },\n eCommunicationsPolicyLink: {\n contentKey: 'eCommunicationsPolicy',\n path: 'ua/esign-full',\n },\n eSignConsent: {\n contentKey: 'eSignConsent',\n path: 'ua/esign-full',\n },\n eSignDisclosureAndConsent: {\n contentKey: 'eSignDisclosureAndConsent',\n path: 'ua/esign-full',\n },\n feeInformationLink: {\n contentKey: 'feeInformation',\n useFunction: 'feeInformation',\n },\n nonAccountCheckoutLink: {\n contentKey: 'privacyPolicy',\n path: 'ua/privacy-full',\n },\n paypalUserAgreementLink: {\n contentKey: 'paypalUserAgreement',\n getDynamicPath: getUserAgreementPath,\n },\n privacyPolicyLink: {\n contentKey: 'privacyPolicy',\n path: 'ua/privacy-full',\n },\n rightOfWithdrawalLink: {\n contentKey: 'rightOfWithdrawal',\n useFunction: 'rightOfWithdrawal',\n },\n safetyAndSecurityLink: {\n contentKey: 'safetyAndSecurity',\n path: 'ua/paypal-safety-and-security',\n },\n sanctionsLink: {\n contentKey: 'sanctions',\n path: 'support/overseas-remittance',\n },\n serviceDescriptionLink: {\n contentKey: 'serviceDescription',\n path: 'ua/servicedescription-full',\n },\n termsAndConditionsLink: {\n contentKey: 'termsAndConditions',\n path: 'ua/legalhub-full',\n },\n termsLink: {\n contentKey: 'terms',\n path: 'ua/privacywax-full',\n },\n userAgreementLink: {\n contentKey: 'userAgreement',\n getDynamicPath: getUserAgreementPath,\n },\n} as const;\n\nexport type TermsMapKey = keyof typeof TERMS_MAP;\n\nexport const RIGHT_OF_WITHDRAWAL_TERM_KEY = 'terms.signupRightOfWithdrawal';\n","// Internal modules\nimport { logger } from '@/lib/logger';\nimport { redirectToGenericError } from '@/lib/utils/redirects';\nimport {\n isIframe,\n isIncontext,\n isLegacyIncontext,\n isPopup,\n} from '@/lib/utils/incontext';\n\nconst checkFrameBust = (): void => {\n // @ts-expect-error (paypal is not typed on window right now)\n if (isIframe() && !window?.paypal?.allowIframe?.()) {\n logger.info('frame_bust_disallowed_iframe');\n\n try {\n // We want to allow this so that when window.top is null,\n // it will go in the catch statement.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n window.top!.location = window.location.href;\n } catch (err: any) {\n logger.error('frame_bust_failed', err);\n }\n\n setTimeout(() => {\n logger.error('frame_bust_did_not_redirect_after_2s');\n redirectToGenericError();\n }, 2000);\n }\n};\n\nconst logIncontext = (): void => {\n if (isIncontext()) {\n logger.info('incontext_integration', {\n isLegacyIntegration: isLegacyIncontext(),\n type: isPopup() ? 'popup' : 'iframe',\n xprops: Boolean(window.xprops),\n });\n }\n};\n\nexport { checkFrameBust, logIncontext };\n","// External modules\nimport { updateAppleShippingContact } from '@paypalcorp/checkout-apple-pay';\n\n// Internal modules\nimport { appStore } from '@/store';\nimport {\n features,\n getContent,\n getLocale,\n getShippingAddress,\n getShippingCountry,\n getToken,\n logger,\n} from '@/lib';\nimport { EXCLUDED_COUNTRIES } from '../constants';\nimport { redirectToGenericError } from '@/lib/utils/redirects';\nimport { logFPTIWhenDomesticTransactionBlocked } from '../fpti';\nimport { CountryCodes } from '@/generated/graphql';\nimport type { MerchantAddressConfiguration } from '@/components/Billing/types';\n\nimport type {\n Cart,\n CheckoutSession,\n Maybe,\n Merchant,\n Scalars,\n ShippingAndTaxCharges,\n ShippingOptionsSource,\n} from '@/generated/graphql';\nimport { apolloClient } from '@/lib/apollo';\nimport {\n CALCULATE_SHIPPING_AND_TAXES_QUERY,\n PROFILE_SHIPPING_OPTIONS_QUERY,\n} from '@/components/Shipping/graphql';\n// TODO: this needs to be cleaned up once the xobuyer schema is updated to\n// have ShippingAndTaxCharges.id field as a non-required field\nexport type ShippingAndTaxes = {\n __typename?: 'ShippingAndTaxes';\n /** List of shipping and tax charges */\n charges: Array>;\n /** Whether shipping is supported for this region */\n isShippingRegionSupported: Scalars['Boolean'];\n /** Whether tax is required for shipping */\n isTaxOnShippingRequired: Scalars['Boolean'];\n /** Whether profile override is allowed */\n profileOverrideAllowed?: Maybe;\n /** Shipping options source ('PROFILE' or 'CALLBACK' or 'FALLBACK') */\n shippingOptionsSource: ShippingOptionsSource;\n /** Whether shipping options are shown */\n shouldShowShippingOptions: Scalars['Boolean'];\n};\n\n/**\n * @function handleBlockedDomesticTransactions\n * @description Checks if a transaction is blocked based\n * on the merchant country and sets the UI error message.\n */\nconst handleBlockedDomesticTransactions = (): void => {\n let { country: merchantCountry } =\n appStore.getState().api.cartDetails.merchant;\n const { country: buyerCountry } = getLocale();\n const { ui: uiActions } = appStore.getActions();\n\n // Merchant country can sometimes come in as CN, we need to remap these to C2\n // since buyerCountry will always be C2\n merchantCountry =\n merchantCountry === CountryCodes.Cn ? CountryCodes.C2 : merchantCountry;\n\n if (\n features.isActive('shouldBlockDomesticTransactions') &&\n merchantCountry === buyerCountry\n ) {\n logFPTIWhenDomesticTransactionBlocked(merchantCountry);\n // Check if it's a blocked domestic transaction to handle it\n if (EXCLUDED_COUNTRIES.includes(merchantCountry)) {\n uiActions.setIsBlockedDomesticTransaction(true);\n }\n }\n};\n\n/**\n * @function handleSignupAndGuestIneligible\n * @description Redirect to a generic error when both signup and guest are\n * ineligible. This should only happen if the buyer is from a country that\n * disabled signup and if the merchant is enforcing signup (e.g. gambling)\n */\nconst handleSignupAndGuestIneligible = (): void => {\n const isSignupDisabled = features.isActive('shouldDisableSignup');\n const isOptionalSignup = features.isActive('isOptionalSignup');\n const { country } = getLocale();\n\n /**\n * Gibraltar is TEMPORARILY being ramped separately from the\n * main `shouldDisableSignup` feature flag. We should remove\n * references to this code once it is included in the default\n * allocation as part of ramp cleanup.\n * */\n const isSignupDisabledForGibraltar =\n features.isActive('shouldDisableSignupForGibraltar') &&\n country === CountryCodes.Gi;\n\n if ((isSignupDisabled || isSignupDisabledForGibraltar) && !isOptionalSignup) {\n logger.error('weasley_error_signup_and_guest_ineligible', {\n buyerCountry: getLocale().country,\n });\n redirectToGenericError();\n }\n};\n\nconst handleBuildApplePayMerchantConfig = ({\n cart = {},\n merchant = {},\n shippingAndTaxes,\n}: {\n cart?: Maybe;\n merchant?: Partial;\n shippingAndTaxes: Partial | undefined;\n}): MerchantAddressConfiguration | undefined => {\n const { country } = getLocale();\n\n if (!cart?.shippingAddress || !shippingAndTaxes?.shippingOptionsSource) {\n return; // Will go with default instantiated merchant config.\n }\n\n const charges = shippingAndTaxes?.charges || [];\n const shouldShowShippingOptions =\n shippingAndTaxes?.shouldShowShippingOptions || false;\n\n const updateAppleSheet = updateAppleShippingContact(\n charges,\n cart?.amounts,\n `${merchant?.name} ${getContent('applepay.viapaypal')}`,\n shouldShowShippingOptions,\n );\n\n const merchantPassedShippingAddress = cart?.shippingAddress;\n\n const merchantPassedAddressLines = [];\n if (merchantPassedShippingAddress?.line1) {\n merchantPassedAddressLines.push(merchantPassedShippingAddress.line1);\n }\n if (merchantPassedShippingAddress?.line2) {\n merchantPassedAddressLines.push(merchantPassedShippingAddress.line2);\n }\n\n return {\n merchantShippingConfig: {\n charges,\n shippingOptionsSource: shippingAndTaxes.shippingOptionsSource,\n },\n paymentRequest: {\n lineItems: updateAppleSheet.newLineItems,\n shippingContact: {\n ...(merchantPassedAddressLines.length && {\n addressLines: merchantPassedAddressLines,\n }),\n ...(merchantPassedShippingAddress.state && {\n administrativeArea: merchantPassedShippingAddress.state,\n }),\n ...(country && { countryCode: country }),\n ...(merchantPassedShippingAddress.lastName && {\n familyName: merchantPassedShippingAddress.lastName,\n }),\n ...(merchantPassedShippingAddress.firstName && {\n givenName: merchantPassedShippingAddress.firstName,\n }),\n ...(merchantPassedShippingAddress.city && {\n locality: merchantPassedShippingAddress.city,\n }),\n ...(merchantPassedShippingAddress.postalCode && {\n postalCode: merchantPassedShippingAddress.postalCode,\n }),\n },\n shippingMethods: updateAppleSheet.newShippingMethods,\n total: updateAppleSheet.newTotal,\n },\n };\n};\n\nconst getCachedCheckoutSession = (): {\n checkoutSession: Partial;\n} => {\n const cachedResponse = apolloClient.readQuery({\n query: PROFILE_SHIPPING_OPTIONS_QUERY,\n variables: {\n token: getToken(),\n },\n });\n\n return cachedResponse;\n};\n\nconst getCachedShippingAndTax = (): {\n calculateShippingAndTaxes: Partial;\n} => {\n const shippingAddress = getShippingAddress();\n const {\n line1: { value: line1 },\n line2: { value: line2 },\n postalCode: { value: postalCode },\n state: { value: state },\n city: { value: city },\n } = shippingAddress;\n\n const { language } = getLocale();\n const country = getShippingCountry();\n\n const variables = {\n locale: {\n country,\n lang: language,\n },\n shippingAddress: {\n city,\n country,\n line1,\n line2,\n postalCode,\n state,\n },\n token: getToken(),\n };\n\n const cachedResponse = apolloClient.readQuery({\n query: CALCULATE_SHIPPING_AND_TAXES_QUERY,\n variables,\n });\n\n return cachedResponse;\n};\n\nexport {\n getCachedCheckoutSession,\n getCachedShippingAndTax,\n handleBlockedDomesticTransactions,\n handleBuildApplePayMerchantConfig,\n handleSignupAndGuestIneligible,\n};\n","// Internal modules\nimport { logger } from '../../logger';\nconst isIframe = (): boolean => {\n return window.top !== window.self;\n};\n\nconst isPopup = (): boolean => {\n return Boolean(window.opener);\n};\n\nconst isModernIncontext = (): boolean => {\n return Boolean(window.xprops) && (isPopup() || isIframe());\n};\n\nconst isVzeroIntegration = () => {\n const hasVzeroParam = /[?&]nolegacy=1/.test(window.location.search);\n\n return window.name === 'PPFrameRedirect' || hasVzeroParam;\n};\n\nconst isLegacyIncontext = (): boolean => {\n const isIframeWindow = isIframe();\n const isPopupWindow = isPopup();\n const isVzeroIntegrationWindow = isVzeroIntegration();\n const windowName = window.name;\n const urlParams = window.location.search;\n const isXpropsPresent = Boolean(window.xprops);\n\n logger.info('integration_type_decider_params', {\n isIframeWindow,\n isPopupWindow,\n isVzeroIntegrationWindow,\n isXpropsPresent,\n urlParams,\n windowName,\n });\n\n // Check for Braintree vzero first, before we hit any other integration check\n // Reason: window.name for vZero is \"PPFrameRedirect\". If we check\n // for legacy incontext flow first, then \"PPFrame\" substring check on\n // line 47 will return true and vZero integration will be treated as\n // legacy incontext integration (vzero also returns isPopup() as true)\n if (isXpropsPresent || isVzeroIntegrationWindow) {\n return false;\n }\n\n const hasLegacyWindowName = /PPFrame|xcomponent__ppcheckout/.test(windowName);\n const hasLegacyNameAndIsPopup = hasLegacyWindowName && isPopupWindow;\n\n const hasIncontextParam = /[?&]incontext=1/.test(urlParams);\n const hasIncontextParamOrIframe = hasIncontextParam || isIframeWindow;\n\n return hasLegacyNameAndIsPopup || hasIncontextParamOrIframe;\n};\n\nconst isIncontext = (): boolean => {\n return isModernIncontext() || isLegacyIncontext();\n};\n\n/**\n * @function postToMerchantForOldIncontext\n * @param {string} msg\n * @returns {boolean}\n * @description old incontext integrations - send post message\n */\nconst postToMerchantForOldIncontext = (returnUrl?: string | null): boolean => {\n if (!isLegacyIncontext()) {\n return false;\n }\n\n try {\n const msg = JSON.stringify({\n operation: 'return_to_merchant',\n returnUrl,\n updateParent: true,\n });\n\n const isEdge = Boolean(window.navigator.userAgent.match(/edge/i));\n const isNotIE = Boolean(\n window.opener?.postMessage &&\n !window.navigator.userAgent.match(/msie|trident/i),\n );\n\n // If we are not in IE, attempt to send a postMessage\n if (isEdge || isNotIE) {\n logger.info('old_incontext_postmessage');\n window.opener.postMessage(msg, '*');\n return true;\n }\n\n // Otherwise, attempt to send a message through the iframe bridge\n const bridge =\n window.opener?.frames?.length && window.opener?.frames?.PayPalBridge;\n\n if (bridge?.returnToParent) {\n logger.info('old_incontext_bridgemessage');\n bridge.returnToParent(msg);\n return true;\n }\n } catch (err: any) {\n logger.warn('old_incontext_postback_error', {\n error: err.stack || err.toString(),\n });\n }\n\n logger.info('old_incontext_nopostback');\n\n return false;\n};\n\nexport {\n isIframe,\n isIncontext,\n isPopup,\n isLegacyIncontext,\n isModernIncontext,\n postToMerchantForOldIncontext,\n};\n","import { COMMA_WITH_OPTIONAL_SPACE } from './constants';\nimport { assertObject, isFunction, isObject, isString } from './typeChecks';\n\nvar getEnumerableSymbols = obj => {\n if (!isFunction(Object.getOwnPropertySymbols)) {\n return [];\n }\n\n return Object.getOwnPropertySymbols(obj).filter(sym => {\n return Object.getOwnPropertyDescriptor(obj, sym).enumerable;\n });\n};\n\nvar deepMergeObjects = function deepMergeObjects(target) {\n assertObject(target);\n\n for (var _len = arguments.length, objects = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n objects[_key - 1] = arguments[_key];\n }\n\n if (!objects.length) {\n return target;\n }\n\n var obj = objects[0];\n\n if (isObject(target) && isObject(obj)) {\n var properties = [...Object.keys(obj), ...getEnumerableSymbols(obj)];\n properties.forEach(prop => {\n if (isObject(obj[prop])) {\n if (!isObject(target[prop])) {\n target[prop] = {};\n }\n\n deepMergeObjects(target[prop], obj[prop]);\n } else {\n Object.assign(target, {\n [prop]: obj[prop]\n });\n }\n });\n }\n\n return deepMergeObjects(target, ...objects.slice(1));\n};\n\nvar ILLEGAL_TYPES = [undefined, null];\n\nvar hasOwnProp = (o, props) => {\n if (ILLEGAL_TYPES.includes(o)) {\n return false;\n }\n\n var propsArray = props;\n\n if (isString(props)) {\n propsArray = props.split(COMMA_WITH_OPTIONAL_SPACE);\n } else if (!Array.isArray(props)) {\n propsArray = [props];\n }\n\n return propsArray.every(prop => {\n return Object.prototype.hasOwnProperty.call(o, prop);\n });\n};\n\nvar invert = obj => {\n assertObject(obj);\n var inverted = {};\n Object.entries(obj).forEach(_ref => {\n var [key, val] = _ref;\n inverted[val] = key;\n });\n return inverted;\n};\n\nexport { deepMergeObjects, hasOwnProp, invert };","import type { ValueOf } from '@/types';\n\nexport const ALERT_TYPE = {\n ERROR: 'error',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n} as const;\n\nexport type AlertTypes = ValueOf;\n","import type { ReactNode } from 'react';\nimport { getContent as getReactContent } from 'pp-react-l10n';\nimport {\n hasOwnProp,\n isObject,\n // @ts-expect-error TODO: type-react-components\n} from '@checkout/react-components';\n\nimport { isFunction } from '@/lib/utils/typeUtils';\nimport { logger } from '../logger';\nimport { isTest } from '../utils/env';\nimport { getGlobals, getLocale, updateLocale } from '../globals';\nimport { getObjectProperty } from '../utils/miscUtils';\nimport { redirectToGenericError } from '../utils/redirects';\nimport type { GenericObjectType } from '@/types';\n\ntype ContentCacheEntry = {\n // TODO: Get typings for pp-react-l10n\n content: GenericObjectType;\n hash?: string | null;\n};\n\ntype ContentCache = {\n [key: string]: ContentCacheEntry;\n};\n\n// Initialize the cache with the content and locale from the\n// initial data object that was injected by the server.\nconst CONTENT_CACHE: ContentCache = {\n [getLocale().locale]: {\n content: getGlobals().content,\n hash: getGlobals().contentHash,\n },\n};\nconst MISSING_CONTENT_KEYS = new Set();\nconst NESTED_CONTENT_KEY_REGEX = /{\\w+(?=})/g;\nconst RTL_LANGUAGES = ['ar', 'fa', 'he'];\n\n/** Gets the current content object */\nconst getContentFromCache = (locale: string): GenericObjectType => {\n if (!hasCachedContentForLocale(locale)) {\n logger.error('no_content_found_for_locale', { locale });\n return {};\n }\n\n return CONTENT_CACHE[locale].content;\n};\n\nconst hasCachedContentForLocale = (locale: string): boolean =>\n hasOwnProp(CONTENT_CACHE, locale);\n\n/**\n * Conditionally updates the content cache. If the cache doesn't\n * have content for the particular locale or if the env is the test env then\n * the cache is updated with the passed argument.\n */\nconst updateContentCache = ({\n content,\n hash,\n locale,\n}: ContentCacheEntry & { locale?: string }): void => {\n if (!isObject(content)) {\n logger.error('content_cache_update_with_no_content');\n // Instead of returning a void function we should just exit or use else\n // not altering in TS convert PR to avoid functionality changes\n return redirectToGenericError();\n }\n\n const key = locale || getLocale().locale;\n if (isTest || !hasCachedContentForLocale(key)) {\n logger.info('updating_content_cache', { locale: key });\n CONTENT_CACHE[key] = {\n content,\n hash,\n };\n }\n};\n\n/**\n * Function that is fired when `getReactContent()` is called\n * with a key name that is not found in the content object. We log the content\n * path and locale for each path/locale pair once.\n * @NOTE\n * This should never be called, since getContentFromCache checks for content\n */\nconst onContentMissing = ({ path }: GenericObjectType) => {\n const { locale } = getLocale();\n\n // Prevent missing content from being logged more than once per locale\n if (MISSING_CONTENT_KEYS.has(`${locale}~${path}`)) {\n return;\n }\n\n MISSING_CONTENT_KEYS.add(`${locale}~${path}`);\n logger.warn(`content_missing_${locale}_${path}`);\n};\n\nlet __internalGetContent = getReactContent({\n content: getContentFromCache(getLocale().locale),\n onContentMissing,\n});\n\n/**\n * Used to reset the content used by the `getContent()` function.\n * This is needed for when a user changes their language.\n */\nconst resetContent = (): void => {\n const { language, locale } = getLocale();\n const content = getContentFromCache(locale);\n\n __internalGetContent = getReactContent({\n content,\n onContentMissing,\n });\n\n /**\n * @TECH_DEBT\n * When using content to populate some dropdown options, namely\n * the occupation list, we check the globals.content property so\n * we need to reset field on lang/locale change. We should probably\n * rethink how we're doing this.\n */\n getGlobals().content = content;\n\n // Update the `lang` and `dir` attributes on the tag\n const directionality = RTL_LANGUAGES.includes(language) ? 'rtl' : 'ltr';\n const currentDirectionality = document.documentElement.getAttribute('dir');\n document.documentElement.setAttribute('lang', language);\n if (currentDirectionality !== directionality) {\n updateLocale({ directionality });\n document.documentElement.setAttribute('dir', directionality);\n }\n};\n\n/**\n * Wrapper around the pp-react-l10n getReactContent\n * function that will ignore return values when they are functions.\n * pp-react-l10n allows for currying content, which we are not using.\n */\n\ntype JSXObject = {\n [key: string]:\n | JSX.Element\n | ReactNode[]\n | string\n | number\n | null\n | undefined\n | unknown;\n};\n\nconst getContent = (\n ...args: T\n): T extends string[] ? string : ReactNode[] => {\n const result = __internalGetContent(...args);\n return isFunction(result) ? null : result;\n};\n\n/**\n * Used to get a content \"group\" -- a set of content\n * that is grouped by an array or object. E.G. Some countries have\n * one header for the optional account section while other countries\n * have multiple. They are all grouped under the\n * `signup.optionalAccountDetailsHeading` namespace.\n */\nconst getContentGroup = (\n path: string,\n defaultValue: GenericObjectType = {},\n): GenericObjectType | string => {\n const { locale } = getLocale();\n const content = getContentFromCache(locale);\n const result = getObjectProperty(content, path, { defaultValue });\n // @ts-expect-error not touching functionality during TS conversion\n return result;\n};\n\nconst getContentHash = (locale: string): string | null => {\n const { hash } = CONTENT_CACHE[locale] || {};\n /**\n * @TECH_DEBIT\n * We weirdly turn null since null is our falsy default used in globals\n */\n return hash || null;\n};\n\n/**\n * Takes a content key, e.g. `'compliance.signupTerms'` and returns\n * an array of nested keys the content string accepts, e.g.\n * `['userAgreementLink', 'privacyPolicyLink']`\n */\nconst getNestedContentKeys = (contentKey?: string): string[] | null => {\n if (typeof contentKey !== 'string') {\n return null;\n }\n\n const { locale } = getLocale();\n const keys = contentKey.split('.');\n const contentStr = keys.reduce((content, key) => {\n // @ts-expect-error: TODO: Type isObject or move it into our app\n return isObject(content) ? content[key] : content;\n }, getContentFromCache(locale));\n\n if (typeof contentStr !== 'string') {\n return null;\n }\n\n // Regex look-behinds are not widely supported so we will need include { in\n // the regex and then map the matched strings to `.substring(1)` to get rid\n // of the preceding '{'\n const match = contentStr.match(NESTED_CONTENT_KEY_REGEX);\n return match ? match.map(str => str.substring(1)) : null;\n};\n\nexport {\n getContent,\n getContentFromCache,\n getContentGroup,\n getContentHash,\n getNestedContentKeys,\n hasCachedContentForLocale,\n resetContent,\n updateContentCache,\n};\n","// Internal modules\nimport { appStore } from '@/store';\nimport { ACCOUNT_CREATION_PAYLOAD, logger } from '@/lib/logger';\nimport { conditionallyDropLoginCookie, getLocale } from '@/lib';\nimport { isFunction } from '@/lib/utils/typeUtils';\n\n/**\n * @function responseContingencyHandlerFactory\n * @returns {object} Factory function which returns object to handle 3ds\n */\nconst responseContingencyHandlerFactory = () => {\n return data => {\n const { flags, paymentContingencies } = data;\n const {\n threeDomainSecure: threeDS1ContingencyData,\n threeDSContingencyData: threeDS2ContingencyData,\n } = paymentContingencies || {};\n\n if (flags?.is3DSecureRequired) {\n // if 3DS 1.0 and 2.0 is not success then there was a failure\n // and we need to throw to trigger error handling\n if (\n threeDS1ContingencyData &&\n threeDS1ContingencyData.status !== 'SUCCESS'\n ) {\n logger.error('3ds_1_status_not_success', {\n status: threeDS1ContingencyData.status,\n });\n throw new Error('WEASLEY_3DS_1_ERROR');\n } else if (\n threeDS2ContingencyData &&\n threeDS2ContingencyData.causeName !== 'NEED_3D_SECURE_AUTHENTICATION'\n ) {\n logger.error('3ds_2_status_not_success', {\n causeName: threeDS2ContingencyData.causeName,\n });\n throw new Error('WEASLEY_3DS_2_ERROR');\n } else if (!threeDS1ContingencyData && !threeDS2ContingencyData) {\n // Edge case handling\n // is3DSSecureRequired is set to true but contingency data is missing\n logger.error('3ds_contingency_data_missing');\n throw new Error('WEASLEY_3DS_ERROR');\n }\n }\n\n return {\n is3DSecureRequired: Boolean(flags?.is3DSecureRequired),\n threeDS1ContingencyData,\n threeDS2ContingencyData,\n };\n };\n};\n\n/**\n * @function responseHandlerFactory\n * @param {object} state\n * @returns {object} factory function which\n * returns response data from the api downstreams.\n */\nconst responseHandlerFactory = namespace => {\n return response => {\n const { api: apiState, form: formState } = appStore.getState();\n const { value: onboardOption } = formState.onboardOption;\n const isGuest = onboardOption === 'guest';\n const responseData = response?.data?.[namespace];\n const { accessToken } = responseData?.buyer.auth || {};\n const { api: apiActions } = appStore.getActions();\n const fundingOption = responseData.fundingOptions?.[0];\n const plan = fundingOption?.allPlans?.[0];\n const fundingSource = plan?.fundingSources?.[0];\n const fundingInstrument = apiState.isBillingWithoutPurchase\n ? fundingOption\n : fundingSource; // without purchase takes first funding instrument\n if (fundingInstrument) {\n const instrumentId = fundingInstrument.fundingInstrument?.id || '';\n\n logger.info('founding_source_found_and_stored_in_state', {\n instrumentIdPresent: Boolean(instrumentId),\n });\n apiActions.setInstrumentId(instrumentId);\n apiActions.setFundingSource(fundingInstrument);\n }\n\n // Save access token in store. Not dropping the login cookie until\n // after we check for errors because if we throw an error we'll drop\n // the cookie there\n if (accessToken) {\n const type = isGuest ? 'guest' : 'signup';\n const { cartAmount, merchantId } = apiState;\n if (isFunction(window.PAYPAL?.analytics?.instance?.recordClick)) {\n const data = ACCOUNT_CREATION_PAYLOAD({\n buyerId: responseData?.buyer?.userId,\n cartAmount,\n locale: getLocale(),\n merchantId,\n });\n\n logger.info('account_creation_marketing_log', data);\n try {\n // Wrapping this in a try catch because it was blowing up the\n // when we first tried using it. It's used for marketing and it\n // shouldn't kill the flow if it fails.\n window.PAYPAL.analytics.instance.recordClick({ data });\n } catch (error) {\n const { message, stack: stackTrace } = error;\n logger.warn('paypal_analytics_record_click_error', {\n message,\n stackTrace,\n });\n }\n }\n\n logger.info('access_token_present', { accountType: type });\n }\n\n // In the incontext flow update the parent window's access token.\n if (isFunction(window.xprops?.onAuth)) {\n logger.info('update_incontext_with_access_token');\n window.xprops.onAuth({ accessToken });\n }\n\n return conditionallyDropLoginCookie(responseData);\n };\n};\n\nconst onAfterOnboardAccountCreationHandler =\n responseHandlerFactory('onboardAccount');\nconst onAfterPaymentPlanCreationHandler = responseHandlerFactory(\n 'createOnboardingPaymentPlan',\n);\nconst onAfterCheckoutGuestWithMemberBenefits = responseHandlerFactory(\n 'checkoutGuestWithMemberBenefits',\n);\nconst onAfterOnboardAccountSuccessHandler = responseContingencyHandlerFactory();\nconst onAfterPaymentPlanSuccessHandler = responseContingencyHandlerFactory();\n\nexport {\n onAfterOnboardAccountCreationHandler,\n onAfterOnboardAccountSuccessHandler,\n onAfterPaymentPlanCreationHandler,\n onAfterPaymentPlanSuccessHandler,\n onAfterCheckoutGuestWithMemberBenefits,\n};\n","// External libraries\nimport gql from 'graphql-tag';\n//internal modules\nimport {\n CART_FRAGMENT,\n COMPLETED_PAYMENT_INFO_FRAGMENT,\n} from '@/lib/graphql/fragments';\n\nexport const APPROVE_ONBOARD_PAYMENT_MUTATION = gql`\n mutation ApproveOnboardPaymentMutation(\n $token: String!\n $instrumentId: String\n $isBillingAgreement: Boolean!\n ) {\n attemptSetStickyFi(token: $token, instrumentId: $instrumentId)\n @include(if: $isBillingAgreement) {\n buyer {\n userId\n }\n }\n approveGuestSignUpPayment(token: $token) {\n buyer {\n userId\n email {\n stringValue\n }\n name {\n fullName\n }\n }\n ...CartDonePage\n ...CompletedPaymentInfo\n fundingOptions {\n fundingInstrument {\n id\n lastDigits\n name\n nameDescription\n type\n }\n }\n merchant {\n name\n preferences {\n autoReturnToMerchant\n enablePaymentDataTransfer\n returnUrl\n }\n }\n shippingAddresses {\n fullAddress\n name {\n fullName\n }\n }\n }\n }\n ${CART_FRAGMENT}\n ${COMPLETED_PAYMENT_INFO_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\n//Internal Modules\nimport { BUYER_FRAGMENT } from '../fragments';\n\nexport const CREATE_MEMBER_ACCOUNT_MUTATION = gql`\n mutation CreateMemberAccountMutation(\n $billingAddress: AddressInput\n $contentIdentifier: String\n $country: CountryCodes!\n $crsData: CommonReportingStandardsInput\n $dateOfBirth: DateOfBirth\n $email: String!\n $firstName: String!\n $gender: Gender\n $identityDocument: IdentityDocumentInput\n $lastName: String!\n $marketingOptOut: Boolean\n $nationality: CountryCodes\n $occupation: Occupation\n $password: String\n $phone: PhoneInput!\n $placeOfBirth: CountryCodes\n $secondaryIdentityDocument: IdentityDocumentInput\n $shippingAddress: AddressInput\n $token: String!\n $residentialAddress: AddressInput\n $legalAgreements: LegalAgreementsInput\n ) {\n onboardAccount: createMemberAccount(\n billingAddress: $billingAddress\n contentIdentifier: $contentIdentifier\n country: $country\n crsData: $crsData\n dateOfBirth: $dateOfBirth\n email: $email\n firstName: $firstName\n gender: $gender\n identityDocument: $identityDocument\n lastName: $lastName\n marketingOptOut: $marketingOptOut\n nationality: $nationality\n occupation: $occupation\n password: $password\n phone: $phone\n placeOfBirth: $placeOfBirth\n secondaryIdentityDocument: $secondaryIdentityDocument\n shippingAddress: $shippingAddress\n token: $token\n residentialAddress: $residentialAddress\n legalAgreements: $legalAgreements\n ) {\n ...buyer\n }\n }\n ${BUYER_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\n//Internal Modules\nimport {\n BUYER_FRAGMENT,\n FUNDING_OPTIONS_FRAGMENT,\n THREE_DOMAIN_SECURE_FRAGMENT,\n THREE_DS_2_CONTINGENCY_FRAGMENT,\n} from '../fragments';\n\nexport const CREATE_ONBOARDING_PAYMENT_PLAN_MUTATION = gql`\n mutation CreateOnboardingPaymentPlanMutation(\n $currencyConversionType: CheckoutCurrencyConversionType\n $cvv: String\n $encryptedCardLoginAccountNumber: String\n $fundingInstrumentId: String!\n $shareAddressWithDonatee: Boolean\n $shippingAddress: AddressInput\n $supportedThreeDsExperiences: [ThreeDSPaymentExperience]\n $token: String!\n $userType: OnboardingExperienceType!\n ) {\n createOnboardingPaymentPlan(\n currencyConversionType: $currencyConversionType\n cvv: $cvv\n encryptedCardLoginAccountNumber: $encryptedCardLoginAccountNumber\n fundingInstrumentId: $fundingInstrumentId\n shareAddressWithDonatee: $shareAddressWithDonatee\n shippingAddress: $shippingAddress\n token: $token\n userType: $userType\n ) {\n ...buyer\n\n flags {\n is3DSecureRequired\n }\n\n ...fundingOptions\n\n paymentContingencies {\n ...threeDomainSecure\n ...threeDSContingencyData\n }\n }\n }\n ${BUYER_FRAGMENT}\n ${FUNDING_OPTIONS_FRAGMENT}\n ${THREE_DOMAIN_SECURE_FRAGMENT}\n ${THREE_DS_2_CONTINGENCY_FRAGMENT}\n`;\n","// External Libraries\nimport gql from 'graphql-tag';\n\n//Internal Modules\nimport {\n FUNDING_OPTIONS_FRAGMENT,\n THREE_DS_2_CONTINGENCY_FRAGMENT,\n} from '../fragments';\n\nexport const ONBOARD_GUEST_MUTATION = gql`\n mutation OnboardGuestMutation(\n $bank: BankAccountInput\n $billingAddress: AddressInput\n $card: CardInput\n $country: CountryCodes\n $currencyConversionType: CheckoutCurrencyConversionType\n $dateOfBirth: DateOfBirth\n $email: String\n $firstName: String!\n $lastName: String!\n $phone: PhoneInput\n $shareAddressWithDonatee: Boolean\n $shippingAddress: AddressInput\n $supportedThreeDsExperiences: [ThreeDSPaymentExperience]\n $token: String!\n ) {\n onboardAccount: onboardGuest(\n bank: $bank\n billingAddress: $billingAddress\n card: $card\n country: $country\n currencyConversionType: $currencyConversionType\n dateOfBirth: $dateOfBirth\n email: $email\n firstName: $firstName\n lastName: $lastName\n phone: $phone\n shareAddressWithDonatee: $shareAddressWithDonatee\n shippingAddress: $shippingAddress\n token: $token\n ) {\n buyer {\n auth {\n accessToken\n }\n userId\n }\n\n flags {\n is3DSecureRequired\n }\n\n ...fundingOptions\n\n paymentContingencies {\n threeDomainSecure(experiences: $supportedThreeDsExperiences) {\n status\n redirectUrl {\n href\n }\n method\n parameter\n experience\n requestParams {\n key\n value\n }\n }\n ...threeDSContingencyData\n }\n }\n }\n ${FUNDING_OPTIONS_FRAGMENT}\n ${THREE_DS_2_CONTINGENCY_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nimport {\n BUYER_FRAGMENT,\n FUNDING_OPTIONS_FRAGMENT,\n THREE_DOMAIN_SECURE_FRAGMENT,\n THREE_DS_2_CONTINGENCY_FRAGMENT,\n} from '../fragments';\n\nexport const SIGN_UP_NEW_MEMBER_MUTATION = gql`\n mutation SignUpNewMemberMutation(\n $bank: BankAccountInput\n $billingAddress: AddressInput\n $card: CardInput\n $contentIdentifier: String\n $country: CountryCodes\n $crsData: CommonReportingStandardsInput\n $currencyConversionType: CheckoutCurrencyConversionType\n $dateOfBirth: DateOfBirth\n $email: String!\n $firstName: String!\n $gender: Gender\n $identityDocument: IdentityDocumentInput\n $lastName: String!\n $marketingOptOut: Boolean\n $nationality: CountryCodes\n $occupation: Occupation\n $password: String\n $phone: PhoneInput!\n $placeOfBirth: CountryCodes\n $secondaryIdentityDocument: IdentityDocumentInput\n $selectedInstallmentOption: InstallmentsInput\n $shareAddressWithDonatee: Boolean\n $shippingAddress: AddressInput\n $supportedThreeDsExperiences: [ThreeDSPaymentExperience]\n $token: String!\n $residentialAddress: AddressInput\n $isSignupIncentiveOptIn: Boolean\n $isSignupIncentiveOptInStretch: Boolean\n $legalAgreements: LegalAgreementsInput\n $collectedConsents: [CollectedConsent]\n ) {\n onboardAccount: signUpNewMember(\n bank: $bank\n billingAddress: $billingAddress\n card: $card\n contentIdentifier: $contentIdentifier\n country: $country\n crsData: $crsData\n currencyConversionType: $currencyConversionType\n dateOfBirth: $dateOfBirth\n email: $email\n firstName: $firstName\n gender: $gender\n identityDocument: $identityDocument\n lastName: $lastName\n marketingOptOut: $marketingOptOut\n nationality: $nationality\n occupation: $occupation\n password: $password\n phone: $phone\n placeOfBirth: $placeOfBirth\n secondaryIdentityDocument: $secondaryIdentityDocument\n selectedInstallmentOption: $selectedInstallmentOption\n shareAddressWithDonatee: $shareAddressWithDonatee\n shippingAddress: $shippingAddress\n token: $token\n residentialAddress: $residentialAddress\n isSignupIncentiveOptIn: $isSignupIncentiveOptIn\n isSignupIncentiveOptInStretch: $isSignupIncentiveOptInStretch\n legalAgreements: $legalAgreements\n collectedConsents: $collectedConsents\n ) {\n ...buyer\n\n flags {\n is3DSecureRequired\n }\n\n ...fundingOptions\n\n paymentContingencies {\n ...threeDomainSecure\n ...threeDSContingencyData\n }\n }\n }\n ${BUYER_FRAGMENT}\n ${FUNDING_OPTIONS_FRAGMENT}\n ${THREE_DOMAIN_SECURE_FRAGMENT}\n ${THREE_DS_2_CONTINGENCY_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const PRE_AUTHORIZE_PAYMENT_MUTATION = gql`\n mutation PreAuthorizePaymentMutation($token: String!) {\n preAuthorizePayment(token: $token) {\n declinedInstruments {\n id\n name\n normalizedProcessorResponse\n }\n }\n }\n`;\n","export interface Features {\n isMemberMatch?: boolean;\n isOptionalSignupFlow?: boolean;\n}\n\nenum MutationName {\n onboardGuestMutation = 'onboardGuest',\n signUpNewMemberMutation = 'signUpNewMember',\n createMemberAccountMutation = 'createMemberAccount',\n}\n\nexport const getMutationName = (\n isSignup: boolean,\n isPayLater: boolean,\n isExistingAccount: boolean,\n features: Features = {},\n): MutationName => {\n const { isMemberMatch, isOptionalSignupFlow } = features;\n\n /**\n * DTOPPOR-1480 - When using BNPL the user is required to create an account.\n * The createMemberAccount mutation is used as it does not required a payment\n * method. The payment method is added after the user is redirected to the\n * member experience.\n */\n if (isPayLater) {\n return MutationName.createMemberAccountMutation;\n }\n\n /**\n * If we have detected that there is an existing account, and they in no opt\n * in treatment, we need to process this as a guest transaction, as they will\n * try to be member matched\n */\n // TODO: If we abstract this we can reuse it on the CI detection as well\n const isExistingAccountAndNoOptIn =\n isExistingAccount && isMemberMatch && isOptionalSignupFlow;\n\n return isSignup && !isExistingAccountAndNoOptIn\n ? MutationName.signUpNewMemberMutation\n : MutationName.onboardGuestMutation;\n};\n","// Internal modules\nimport { appStore } from '@/store';\nimport {\n CI,\n features,\n getLocale,\n parseGqlError,\n redirectToMember,\n} from '@/lib';\nimport { apolloMutation } from '@/lib/apollo';\nimport { logger } from '@/lib/logger';\nimport {\n logGuestToMemberTransitionToFpti,\n logOnboardSuccessToFpti,\n} from '../fpti';\nimport { threeDSHandler } from '../threeDSHandler';\nimport { serializeFormData } from '../utils';\nimport { onboardErrorHandler } from './errorHandlers';\n\nimport {\n CREATE_MEMBER_ACCOUNT_MUTATION,\n ONBOARD_GUEST_MUTATION,\n SIGN_UP_NEW_MEMBER_MUTATION,\n} from './mutations';\nimport {\n onAfterOnboardAccountCreationHandler,\n onAfterOnboardAccountSuccessHandler,\n} from './responseHandlers';\nimport { MULTI_PRODUCT_SUPPORTED } from '@/lib/constants';\nimport { clearAccessToken } from '../../../lib/globals';\nimport { getMutationName } from './getMutationName';\n\nconst onboardMutations = {\n createMemberAccount: CREATE_MEMBER_ACCOUNT_MUTATION,\n onboardGuest: ONBOARD_GUEST_MUTATION,\n signUpNewMember: SIGN_UP_NEW_MEMBER_MUTATION,\n};\n\n/**\n * @function onboardAction\n * @param {object} data\n * @returns {promise}\n */\nconst onboardAction = data => {\n const {\n api: apiState,\n form: formState,\n ui: { fiType },\n } = appStore.getState();\n const { value: onboardOption } = formState.onboardOption;\n const isExistingAccount = apiState.isExistingAccount;\n const country = getLocale().country;\n const isPOMAEligible = features.isActive('isPOMAEligible');\n const isPasswordlessForcedSignup = features.isActive(\n 'passwordlessForcedSignup',\n );\n const isPOMAFlow = isPOMAEligible || isPasswordlessForcedSignup;\n const isSignup = onboardOption === 'signup';\n const accountType = isPOMAFlow && isSignup ? 'poma' : onboardOption;\n const isPayLater = fiType === 'bnpl';\n const isMultiProductSupported = MULTI_PRODUCT_SUPPORTED.includes(country);\n\n const mutationName = getMutationName(\n isSignup,\n isPayLater,\n isExistingAccount,\n {\n isMemberMatch:\n features.isActive('isMemberMatchNoOptIn') ||\n features.isActive('isMemberMatchNoToggleWithInterstitial'),\n isOptionalSignup: features.isActive('isOptionalSignup'),\n },\n );\n\n const fptiPerfLogStart = Date.now();\n\n logger.info('onboard_account_init', {\n accountType,\n fiType,\n mutationName,\n });\n\n // We can clear access token for the all transactions irrespective of\n // guest/signup flows since user is anonymous anyway whether user wants\n // to create an account/ continue as a guest user.\n clearAccessToken();\n\n const mutation = onboardMutations[mutationName];\n\n const variables = serializeFormData(data);\n const mutationPromise = apolloMutation({ mutation, variables })\n .then(onAfterOnboardAccountCreationHandler)\n .then(data => {\n logOnboardSuccessToFpti(onboardOption, fptiPerfLogStart);\n return data;\n });\n\n if (isPayLater) {\n const fptiOptions = {\n payment_intent: 'pay_in_four',\n reason: 'signup',\n status: 'success',\n };\n\n return mutationPromise\n .then(() => {\n logGuestToMemberTransitionToFpti(fptiOptions);\n redirectToMember({\n fromSignup: true,\n fundingSource: 'paylater',\n multiProductSupported: isMultiProductSupported,\n });\n })\n .catch(err => {\n const { message } = parseGqlError(err);\n\n fptiOptions.status = 'failure';\n fptiOptions.int_error_code = message;\n fptiOptions.int_error_desc = 'Error during guest-to-member transition';\n logGuestToMemberTransitionToFpti(fptiOptions);\n onboardErrorHandler(err);\n });\n }\n\n return mutationPromise\n .then(onAfterOnboardAccountSuccessHandler)\n .then(threeDSHandler)\n .then(() => {\n // Mark CI as success\n CI.ok();\n })\n .catch(onboardErrorHandler);\n};\n\nexport { onboardAction };\n","// External Libraries\nimport gql from 'graphql-tag';\n\nexport const IS_GUEST_MEMBER_BENEFITS_ELIGIBLE_QUERY = gql`\n query IsGuestMemberBenefitsEligibleQuery(\n $bank: BankAccountInput\n $billingAddress: AddressInput\n $card: CardInput\n $country: CountryCodes!\n $email: String!\n $firstName: String!\n $lastName: String!\n $phone: PhoneInput!\n $shippingAddress: AddressInput\n $token: String!\n ) {\n isGuestMemberBenefitsEligible(\n bank: $bank\n billingAddress: $billingAddress\n card: $card\n country: $country\n email: $email\n firstName: $firstName\n lastName: $lastName\n phone: $phone\n shippingAddress: $shippingAddress\n token: $token\n ) {\n isEligible\n }\n }\n`;\n","// External modules\nimport styled from '@emotion/styled';\n\n// Internal modules\nimport {\n FONT_WEIGHT_NORMAL_PP,\n HEADER_COLOR,\n PAYPAL_OPEN_FONT,\n PP_SECONDARY_COLOR,\n PP_TERTIARY_COLOR,\n WARNING_COLOR_V2,\n} from '@/styles';\n\nexport const NationalityContainer = styled.div<{ isFirstField?: boolean }>`\n margin: 16px 0 24px;\n order: ${({ isFirstField }) => (isFirstField ? -1 : 0)};\n`;\n\nexport const NationalitySpan = styled.span`\n color: ${HEADER_COLOR};\n font-weight: ${FONT_WEIGHT_NORMAL_PP};\n`;\n\nexport const Flex = styled.div`\n align-items: center;\n display: flex;\n justify-content: space-between;\n min-height: 40px;\n`;\n\nexport const EditButton = styled.button`\n align-items: center;\n background-color: ${PP_TERTIARY_COLOR};\n border: none;\n border-radius: 90px;\n cursor: pointer;\n display: flex;\n height: 40px;\n justify-content: center;\n margin-left: 6px;\n width: 40px;\n\n &:hover {\n background-color: ${WARNING_COLOR_V2};\n }\n\n &:focus,\n &:active,\n &:focus-within {\n border: none;\n box-shadow:\n 0 0 0 3px ${PP_SECONDARY_COLOR} inset,\n 0 0 0 6px rgb(16 114 235 / 16%);\n outline: none;\n }\n\n & :first-child {\n flex-shrink: 0;\n }\n`;\n\nexport const SelectionMenuContainer = styled.div`\n .menuOption {\n p {\n /* The default font weight, size, and font are wrong using the PP react component */\n span {\n font-family: ${PAYPAL_OPEN_FONT};\n font-size: 18px;\n font-weight: 400;\n }\n /* This selects spans that include 'strong' in the class name */\n /* This ensures the selected element is bolded */\n span[class*='strong'] {\n font-weight: 500;\n }\n }\n }\n\n .selectionMenu {\n max-height: 400px;\n margin-top: 6px;\n right: 0;\n }\n`;\n","// Mutation names of the operations to create an account\nexport const ACCOUNT_CREATION_OPERATIONS = {\n APPROVE_GUEST_PAYMENT_APPLE_PAY:\n 'ApproveGuestPaymentWithApplePayTokenMutation',\n CREATE_MEMBER_ACCOUNT: 'CreateMemberAccountMutation',\n ONBOARD_GUEST: 'OnboardGuestMutation',\n SIGN_UP_NEW_MEMBER: 'SignUpNewMemberMutation',\n UPGRADE_GUEST_TO_MEMBER: 'UpgradeGuestToMemberMutation',\n};\n\nexport const ACCOUNT_UPDATE_OPERATIONS = {\n CHECKOUT_GUEST_WITH_MEMBER_BENEFITS:\n 'CheckoutGuestWithMemberBenefitsMutation',\n};\n\nexport const OPERATION_NAME_TO_RESPONSE_KEY_MAP = {\n CheckoutGuestWithMemberBenefitsMutation: 'checkoutGuestWithMemberBenefits',\n OnboardGuestMutation: 'onboardAccount',\n SignUpNewMemberMutation: 'onboardAccount',\n UpgradeGuestToMemberMutation: 'upgradeGuestToMember',\n};\n\n// Map of account creation operation names to the access token type\nexport const OPERATION_TO_ACCESS_TOKEN_MAP = {\n ApproveGuestPaymentWithApplePayTokenMutation: 'guest',\n CheckoutGuestWithMemberBenefitsMutation: 'guest',\n CreateMemberAccountMutation: 'signup',\n OnboardGuestMutation: 'guest',\n SignUpNewMemberMutation: 'signup',\n UpgradeGuestToMemberMutation: 'signup',\n};\n","import gql from 'graphql-tag';\n\nexport const APP_DOWNLOAD_BANNER_QUERY = gql`\n query AppDownloadBannerQuery(\n $deviceOS: String!\n $deviceOSVersion: String!\n $deviceType: DeviceType!\n $isMobile: Boolean!\n $nonce: String!\n $flow: String\n ) {\n appDownloadBanner(\n deviceOS: $deviceOS\n deviceOSVersion: $deviceOSVersion\n deviceType: $deviceType\n isMobile: $isMobile\n nonce: $nonce\n flow: $flow\n ) {\n __typename\n css\n html\n js\n }\n }\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\n// Internal modules\nimport { ADDRESS_METADATA_FRAGMENT } from '../fragments';\n\nexport const ADDRESS_METADATA_QUERY = gql`\n query AddressMetadataQuery(\n $countryCode: CountryCodes!\n $languageCode: CheckoutContentLanguageCode!\n ) {\n localeMetadata {\n address(countryCode: $countryCode, languageCode: $languageCode) {\n ...AddressMetadata\n }\n }\n }\n ${ADDRESS_METADATA_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\nimport {\n CART_AMOUNTS_FRAGMENT,\n CART_ITEMS_FRAGMENT,\n CART_OVERCAPTURE_FRAGMENT,\n CART_SUBSCRIPTION_FRAGMENT,\n SHIPPING_METHODS_FRAGMENT,\n} from '../fragments';\n\nexport const CHECKOUT_SESSION_QUERY = gql`\n query CheckoutSessionQuery($token: String!) {\n checkoutSession(token: $token) {\n cart {\n ...CartAmounts\n ...CartItems\n ...CartOvercapture\n ...ShippingMethods\n ...SubscriptionDetails\n }\n }\n }\n\n ${CART_AMOUNTS_FRAGMENT}\n ${CART_ITEMS_FRAGMENT}\n ${SHIPPING_METHODS_FRAGMENT}\n ${CART_OVERCAPTURE_FRAGMENT}\n ${CART_SUBSCRIPTION_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\n// Internal modules\nimport { ADDRESS_METADATA_FRAGMENT } from '../fragments';\n\nexport const GRIFFIN_METADATA_QUERY = gql`\n query GriffinMetadataQuery(\n $countryCode: CountryCodes!\n $languageCode: CheckoutContentLanguageCode!\n $shippingCountryCode: CountryCodes!\n ) {\n localeMetadata {\n address(countryCode: $countryCode, languageCode: $languageCode) {\n ...AddressMetadata\n }\n\n shippingAddress: address(\n countryCode: $shippingCountryCode\n languageCode: $languageCode\n ) {\n ...AddressMetadata\n }\n\n currencyCode(countryCode: $countryCode)\n\n date(countryCode: $countryCode, languageCode: $languageCode) {\n displayFormat\n datePattern\n }\n\n phone(countryCode: $countryCode) {\n masks {\n mobile\n }\n patterns {\n default\n }\n }\n\n territories(countryCode: $countryCode, languageCode: $languageCode) {\n code\n internationalDialingCode\n name\n region\n suggestedDefaultLanguage\n }\n }\n }\n ${ADDRESS_METADATA_FRAGMENT}\n`;\n","import gql from 'graphql-tag';\n\nexport const GUEST_UPGRADEABLE_TO_MEMBER_QUERY = gql`\n query GuestUpgradeableToMember(\n $token: String!\n $billingAddress: AddressInput!\n $card: CardInput!\n $country: CountryCodes!\n $email: String!\n $firstName: String!\n $lastName: String!\n ) {\n isGuestUpgradeableToMember(\n token: $token\n billingAddress: $billingAddress\n card: $card\n country: $country\n email: $email\n firstName: $firstName\n lastName: $lastName\n )\n }\n`;\n","import gql from 'graphql-tag';\nimport { CART_FRAGMENT, COMPLETED_PAYMENT_INFO_FRAGMENT } from '../fragments';\n\nexport const WPS_DONE_PAGE_QUERY = gql`\n query WPSDonePageQuery($token: String!) {\n checkoutSession(token: $token) {\n merchant {\n name\n preferences {\n autoReturnToMerchant\n enablePaymentDataTransfer\n returnUrl\n }\n }\n buyer {\n userId\n email {\n stringValue\n }\n name {\n fullName\n }\n }\n fundingOptions {\n fundingInstrument {\n lastDigits\n name\n nameDescription\n type\n }\n }\n shippingAddresses {\n fullAddress\n name {\n fullName\n }\n }\n ...CartDonePage\n ...CompletedPaymentInfo\n }\n }\n ${CART_FRAGMENT}\n ${COMPLETED_PAYMENT_INFO_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const CURRENCY_CONVERSION_FROM_CREDIT_CARD_QUERY = gql`\n query CurrencyConversionFromCreditCardQuery(\n $cardBrand: CardIssuerType\n $cardNumber: String!\n $country: CountryCodes\n $token: String!\n ) {\n currencyConversionFromCreditCard(\n cardBrand: $cardBrand\n cardNumber: $cardNumber\n country: $country\n token: $token\n ) {\n canChangeConversionType\n feeRateFormatted\n from {\n currencyCode\n currencyFormatSymbolISOCurrency\n }\n spread\n to {\n currencyCode\n currencyFormatSymbolISOCurrency\n currencyValue\n }\n type\n }\n }\n`;\n","// External libraries\nimport styled from '@emotion/styled';\nimport type { SerializedStyles } from '@emotion/core';\nimport { css } from '@emotion/core';\n\n// Internal modules\nimport { INPUT_DEFAULT_COLOR, PRIMARY_COLOR_V2 } from '@/styles';\nimport { getLinkStateStyles } from '@/components/Common';\n\n// CSS styles\nexport const customInputContainerStyles = css`\n display: flex;\n`;\n\nexport const inputContainerStyles = css`\n flex-grow: 1;\n`;\n\nexport const inputStyleOverrides = css`\n border-style: none;\n color: ${INPUT_DEFAULT_COLOR};\n text-overflow: ellipsis;\n\n &:focus {\n border-style: none;\n box-shadow: none;\n }\n`;\n\n// Styled components\nexport const AddressAndEditContainer = styled.div`\n position: relative;\n`;\n\nexport const EditButton = styled.button`\n background-color: transparent;\n border: none;\n color: ${PRIMARY_COLOR_V2};\n cursor: pointer;\n font-weight: bold;\n height: auto;\n margin: 5px 15px 5px 0;\n padding: 0;\n ${({ theme }) => getLinkStateStyles(theme)}\n\n &:focus {\n text-decoration: underline;\n }\n`;\n\nexport const getCustomInputContainerStyleOverrides = (\n isEditFocused: boolean,\n): SerializedStyles => css`\n display: flex;\n align-items: center;\n\n /* This is a special case. We don't want to show the focused border in the input itself,\n but in the parent container. */\n ${!isEditFocused &&\n css`\n &:focus-within {\n border-color: ${PRIMARY_COLOR_V2};\n box-shadow:\n 0 0 0 0.125rem ${PRIMARY_COLOR_V2} inset,\n 0 0 0 0.375rem rgb(16 114 235 / 16%);\n }\n `}\n`;\n","import { appStore } from '@/store';\n\nimport { logResidentialAddressEditToFPTI } from './fpti';\n\nexport const editButtonClick = (): void => {\n const { ui: uiActions } = appStore.getActions();\n\n logResidentialAddressEditToFPTI();\n\n // When clicking in the Edit button, we should always\n // have the interstitial button with Save action\n // instead of Save & Continue\n return uiActions.toggleIsResidentialAddressOpen(true);\n};\n","import { logger } from '@/lib';\n\nexport const logResidentialAddressEditToFPTI = (): void => {\n logger.fpti('residential_address_edit_clicked', {\n state_name: 'billing',\n transition_name: 'residential_address_edit_clicked',\n });\n};\n","// External libraries\nimport React, { useState } from 'react';\nimport {\n CustomInputContainer,\n FloatingLabelInput,\n // @ts-expect-error untyped-import\n} from '@checkout/react-components';\n\n// Internal modules\nimport { getContent } from '@/lib';\nimport { useMountLogging } from '@/lib/reactHooks';\n\nimport {\n AddressAndEditContainer,\n EditButton,\n getCustomInputContainerStyleOverrides,\n inputContainerStyles,\n inputStyleOverrides,\n} from './styles';\nimport { editButtonClick } from './handlers';\n\ntype PrimaryResidentialAddressProps = {\n value?: string;\n};\n\nexport const PrimaryResidentialAddress = (\n props: PrimaryResidentialAddressProps,\n): JSX.Element => {\n useMountLogging('PrimaryResidentialAddress');\n\n const [isEditFocused, setIsEditFocused] = useState(false);\n\n return (\n \n \n {() => (\n <>\n \n setIsEditFocused(true)}\n onBlur={() => setIsEditFocused(false)}\n >\n {getContent('buttons.edit')}\n \n \n )}\n \n \n );\n};\n","import { css } from '@emotion/core';\n\nconst passwordContainerStyleOverrides = css`\n margin-bottom: 12px;\n`;\n\nexport { passwordContainerStyleOverrides };\n","// External modules\nimport React from 'react';\nimport { useStoreState } from '@/store';\n\n// Internal modules\nimport {\n PrimaryResidentialAddress,\n usePrimaryResidentialAddressValue,\n} from './PrimaryResidentialAddress';\nimport { features } from '@/lib';\nimport { LazyKYCFields } from './Components';\n// @ts-expect-error untyped-import\nimport { LazyPasswordInput } from './PasswordInput';\nimport { LegalDisclosures } from './LegalDisclosures';\nimport { passwordContainerStyleOverrides } from './styles';\nimport { formInputHandlers } from '../Form/formInputHandlers';\nimport { StreamlineLegalDisclosures } from './LegalDisclosures/StreamlineLegalDisclosures';\n\ntype SignupFieldsProps = {\n isPasswordless?: boolean;\n isStreamlineExperience?: boolean;\n};\n\nexport const SignupFields = (props: SignupFieldsProps): JSX.Element | null => {\n const { isStreamlineExperience, isPasswordless } = props;\n const { changeHandler } = formInputHandlers;\n\n const restProps = {\n ...formInputHandlers,\n ...props,\n };\n\n const SelectedLegalDisclosures = isStreamlineExperience\n ? StreamlineLegalDisclosures\n : LegalDisclosures;\n\n // Reads Elmo treatment to render Primary Residential Address\n const primaryResidentialAddressValue = usePrimaryResidentialAddressValue();\n\n const isExistingAccount = useStoreState(({ api }) => api.isExistingAccount);\n if (features.isActive('isMemberMatchNoOptIn') && isExistingAccount) {\n return null;\n }\n\n return (\n <>\n {!isPasswordless && (\n \n )}\n \n\n {primaryResidentialAddressValue && (\n \n )}\n\n \n \n );\n};\n","import { useStoreState } from '@/store';\n\nimport { features, getAddressMetaKey } from '@/lib';\n\nexport const usePrimaryResidentialAddressValue = (): string | null => {\n const addressMetaKey = getAddressMetaKey();\n\n // We need address metadata from griffin to check the required fields\n // We only show Residential Address after Billing Address filled\n const addressMeta = useStoreState(\n ({ api }) => api.griffinMetadata.address[addressMetaKey],\n );\n const residentialAddress = useStoreState(\n ({ form }) => form.residentialAddress,\n );\n\n // If feature is inactive or we don't have it in the store\n // we don't return value for it not to render\n if (\n !features.isActive('hasPrimaryResidentialAddress') ||\n !addressMeta ||\n !residentialAddress\n ) {\n return null;\n }\n\n // If the Residential Address is dirty, we show it\n if (!residentialAddress.isDirty) {\n const someIsInvalid = addressMeta.layout\n .filter(field => field.isRequired)\n .some(({ name }) => {\n // @ts-expect-error Fix form state\n const field = residentialAddress[name];\n\n return field.isValid === false && field.errorCode === 'valueMissing';\n });\n\n if (someIsInvalid) {\n // If some input is invalid, we cannot send value for it not to render\n return null;\n }\n }\n\n return `${residentialAddress.line1.value}, ${residentialAddress.postalCode.value}`;\n};\n","import { logger } from '@/lib/logger';\n\nexport const logLookup = (\n eligibility: boolean,\n type: 'guest' | 'member',\n): void => {\n logger.fpti('billing_guest_login_otp_eligibility_called', {\n cust_type: type,\n eligibility,\n event_name: 'billing_guest_login_otp_eligibility_called',\n product: 'billing',\n state_name: 'billing_otp_eligible',\n transition_name: 'process_billing_otp_eligible',\n });\n};\n","import { lookup } from '@paypalcorp/identitywebcomponents';\n\nimport { logLookup } from './fpti/iwcEmailLookupFpti';\nimport { logger } from '@/lib/logger';\nimport { getGlobals, updateIwcContext } from '@/lib/globals';\nimport { isDev } from '@/lib/utils';\nimport { appStore } from '@/store';\n\n/**\n * ! You are likely looking to run emailLookup not iwcEmailLookup directly\n * Running this directly means handling of prev lookup and validate email\n * state must be implemented manually. e.g. see iwcAutofillEmailLookup\n */\n\n// IWC returns null if there is an error\nconst validateLookup = (\n lookupResponse?:\n | never[]\n | { notified: boolean; context: string }\n | null\n | undefined,\n): boolean => {\n const { setIdentityAuthProviderStatus, setIsAutoSmsNotified } =\n appStore.getActions().ui;\n if (Array.isArray(lookupResponse)) {\n logLookup(false, 'member');\n return true;\n } else if (lookupResponse) {\n const { context: updatedContext, notified } = lookupResponse;\n updateIwcContext(updatedContext);\n logLookup(true, 'member');\n // ! We do not currently catch race conditions on email change before res\n // Not going to add that in this PR and risk breaking OTP exp currently,\n // not sure if this has been an issue on prod but something to consider\n setIdentityAuthProviderStatus('eligible');\n setIsAutoSmsNotified(notified);\n return true;\n }\n\n logLookup(false, 'guest');\n return false;\n};\n\n/**\n * Looks up an email using IWC and sets app context if email is valid\n */\nexport const iwcEmailLookup = async (email: string): Promise => {\n try {\n const {\n uri: { base },\n deferredQueryData: { otpLoginContext },\n } = getGlobals();\n\n const response = await lookup({\n context: otpLoginContext.context,\n options: {\n baseUri: isDev ? globalThis.location.origin : base,\n },\n publicCredential: email,\n });\n\n return validateLookup(response);\n } catch (err: any) {\n const { message, stack } = err || {};\n logger.warn('otp_lookup_error', { message, stack });\n return false;\n }\n};\n","import { logger } from '@/lib/logger';\nimport { features } from '@/lib/features';\n\n/**\n * Moved over from Email.jsx, so I did not alter current code / instrumentation\n */\n\nconst getCommonPayload = () => {\n const forced_signup_offered = features.isActive('isForcedSignUp') ? 1 : 0;\n\n return {\n existingAccountCheck: {\n event_name: 'xo_guest_existing_account_check',\n field_name: 'email',\n forced_signup_offered,\n state_name: 'existing_account_check',\n },\n forced_signup_offered,\n };\n};\n\nexport const logEmailLookupCompleted = (isExistingAccount: boolean): void => {\n logger.fpti('is_existing_account_email_check_onCompleted', {\n ...getCommonPayload().existingAccountCheck,\n buyer_type: isExistingAccount ? 'existing_account' : 'new_account',\n transition_name: 'process_existing_account_check',\n });\n};\n\nexport const logEmailLookupError = (message: string): void => {\n logger.fpti('is_existing_account_email_check_onError', {\n ...getCommonPayload().existingAccountCheck,\n int_error_desc: message || 'EXISTING_ACCOUNT_CHECK_ERROR',\n });\n};\n\nexport const logEmailLookupStart = (): void => {\n logger.fpti('is_existing_account_email_check_onStart', {\n ...getCommonPayload().existingAccountCheck,\n transition_name: 'prepare_existing_account_check',\n });\n};\n","// @ts-expect-error TODO: type-react-components\nimport { genericValidationFn } from '@checkout/react-components';\n\nimport { logger } from '@/lib/logger';\nimport { getGlobals } from '@/lib/globals';\nimport { appStore } from '@/store';\nimport { getExperiment } from '@/lib/experiments';\nimport { iwcEmailLookup } from './iwcEmailLookup';\nimport { handleSignupSuppress } from './handleSignupSuppress';\nimport {\n logEmailLookupCompleted,\n logEmailLookupStart,\n} from './fpti/xobuyerLookupFpti';\n\nexport const validateEmail = (email: string): boolean => {\n const props = { required: true, type: 'email' };\n const { isValid } = genericValidationFn(email, { props });\n return isValid;\n};\n\nexport const shouldUseIWC = (): boolean => {\n if (!getExperiment('shouldShowOTP')) {\n return false;\n }\n\n // Even if in exp we can not use IWC if context is missing\n const context = getGlobals().deferredQueryData.otpLoginContext.context;\n\n if (!context) {\n logger.warn('MISSING_IWC_CONTEXT', {\n message:\n 'IWC email lookup was attempted, but IWC context is missing. Falling back to xobuyer lookup.',\n });\n\n return false;\n }\n\n return true;\n};\n\nexport const emailLookup = async (email: string): Promise => {\n const { setLastEmailLookup, setIsExistingAccount } =\n appStore.getActions().api;\n const { api } = appStore.getState();\n\n if (api.lastEmailLookup !== email && validateEmail(email) && shouldUseIWC()) {\n logEmailLookupStart();\n setLastEmailLookup(email);\n\n const isExistingAccount = await iwcEmailLookup(email);\n\n // Handle race conditions where user changed email before response\n const { form } = appStore.getState();\n if (email === form.email.value) {\n setIsExistingAccount(isExistingAccount);\n handleSignupSuppress(isExistingAccount);\n\n logEmailLookupCompleted(isExistingAccount);\n }\n }\n};\n","import { appStore } from '@/store';\nimport { getExperiment } from '@/lib/experiments';\nimport { features } from '@/lib/features';\n\nexport const handleSignupSuppress = (isExistingAccount: boolean): void => {\n const { ui: uiActions, form: formActions } = appStore.getActions();\n const { onboardOption } = appStore.getState().form;\n\n if (getExperiment('suppressSignup')) {\n const canBeToggledOn = features.isActive(\n 'shouldDisableOnboardToggleForMembers',\n );\n\n if (isExistingAccount) {\n formActions.updateOnboardOption('guest');\n } else if (\n // Toggle back on if they are in suppress state\n // and change the email to a none member email\n !isExistingAccount &&\n canBeToggledOn &&\n // Only force toggle back on if user has not manually altered toggle\n !onboardOption.isDirty &&\n // Avoid pointless redux state updates if already signup\n // since this is obj it causes rerenders even if it's the same\n onboardOption.value !== 'signup'\n ) {\n formActions.updateOnboardOption('signup');\n }\n\n uiActions.setShowIsExistingAccountEmailMessage(isExistingAccount);\n }\n};\n","import { getEmailAutofill } from '@/lib/globals';\nimport { appStore } from '@/store';\nimport { iwcEmailLookup } from './iwcEmailLookup';\nimport { shouldUseIWC, validateEmail } from './emailLookup';\n\nexport const iwcAutofillEmailLookup = async (): Promise => {\n const { setIsExistingAccount, setLastEmailLookup } =\n appStore.getActions().api;\n const email = appStore.getState().form.email?.value;\n const autoFill = getEmailAutofill();\n\n const autoFilledEmail = autoFill.ulEmail || autoFill.cartEmail;\n\n // We only want to run lookup if user didn't change email yet\n if (\n email === autoFilledEmail &&\n validateEmail(autoFilledEmail) &&\n shouldUseIWC()\n ) {\n setLastEmailLookup(email);\n const isExistingAccount = await iwcEmailLookup(autoFilledEmail);\n setIsExistingAccount(isExistingAccount);\n }\n};\n","// Internal\nimport type { ShippingCallbackErrorMapping } from './types';\n\n/**\n * Those errors are related to the Shipping and Callback feature for\n * the smart button integration. See:\n * {@link https://developer.paypal.com/api/rest/reference/orders/v2/errors/}\n * {@link https://developer.paypal.com/beta/accelerated-checkout/#link-errors}\n *\n * In an ideal scenario, the sdk would send us the error code,\n * but they are sending the error message instead. This should be revisited\n * when we can have the sdk send the error codes.\n */\nconst SHIPPING_CALLBACK_ERROR_MAPPING: ShippingCallbackErrorMapping = {\n DEFAULT: 'fieldErrors.shippingMethod.patchOrderFailed',\n 'Order could not be patched': 'fieldErrors.shippingMethod.patchOrderFailed',\n \"Part of your order isn't available at this store.\":\n 'fieldErrors.shippingMethod.storeUnavailable',\n 'The shipping method you chose is unavailable. To continue, choose another way to get your order.':\n 'fieldErrors.shippingMethod.methodUnavailable',\n \"Your order can't be shipped to this address.\":\n 'fieldErrors.shipping.addressReject',\n \"Your order can't be shipped to this country.\":\n 'fieldErrors.shipping.countryReject',\n \"Your order can't be shipped to this state.\":\n 'fieldErrors.shipping.stateReject',\n \"Your order can't be shipped to this zip.\": 'fieldErrors.shipping.zipReject',\n};\n\nexport { SHIPPING_CALLBACK_ERROR_MAPPING };\n","import { FIRST_LETTER, NON_ALPHANUM_GLOBAL, NON_DIGITS_GLOBAL } from './constants';\nimport { isFunction, isString } from './typeChecks';\n\nvar capitalizeFirst = s => {\n return isString(s) ? upperCase(s[0]) + s.substring(1) : '';\n};\n\nvar safeTrim = function safeTrim(str) {\n var defaultReturn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : str;\n return isString(str) ? str.trim() : defaultReturn;\n};\n\nvar lowerCase = s => setCase(s, 'toLowerCase');\n\nvar reverseString = str => {\n if (!isString(str)) {\n return '';\n }\n\n if (str.length < 2) {\n return str;\n }\n\n return reverseString(str.substr(1)) + str[0];\n};\n\nvar setCase = (s, fn) => {\n return isString(s) && isFunction(s[fn]) ? s[fn]() : '';\n};\n\nvar stripNonDigits = s => {\n return isString(s) ? safeNormalize(s).replace(NON_DIGITS_GLOBAL, '') : '';\n};\n\nvar stripNonAlphaNum = s => {\n return isString(s) ? safeNormalize(s).replace(NON_ALPHANUM_GLOBAL, '') : '';\n};\n\nvar stripPrefix = (s, prefixRegEx) => {\n return s.replace(prefixRegEx, '').replace(FIRST_LETTER, lowerCase);\n};\n\nvar upperCase = s => setCase(s, 'toUpperCase');\n\nvar padLeft = (s, length, pad) => {\n while (s.length < length) {\n s = pad + s;\n }\n\n return s;\n};\n\nvar safeNormalize = function safeNormalize(str) {\n var form = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'NFKD';\n var defaultReturn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : str;\n return isString(str) && isFunction(str.normalize) ? str.normalize(form) : defaultReturn;\n};\n\nvar splice = (str, idx, insert) => str.slice(0, idx) + insert + str.slice(idx);\n\nexport { capitalizeFirst, lowerCase, reverseString, safeTrim, stripNonDigits, stripNonAlphaNum, stripPrefix, upperCase, padLeft, safeNormalize, splice };","import { css as _css } from \"@emotion/core\";\nimport _styled from \"@emotion/styled-base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nimport { useRef } from 'react';\nimport { string } from 'prop-types';\nimport { css, jsx } from '@emotion/core';\nimport { uniqueStr } from '../../utils';\nimport { INPUT_BORDER_COLOR } from '../../styles';\nvar baseStyles = process.env.NODE_ENV === \"production\" ? {\n name: \"qjihts-baseStyles\",\n styles: \"svg{display:block;};label:baseStyles;\"\n} : {\n name: \"qjihts-baseStyles\",\n styles: \"svg{display:block;};label:baseStyles;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbW1vbi9Mb2FkaW5nRWxlbWVudC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV3NCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbW1vbi9Mb2FkaW5nRWxlbWVudC5qc3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbi8vIEV4dGVybmFsIGxpYnJhcmllc1xuaW1wb3J0IHsgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3RyaW5nIH0gZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MsIGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG4vLyBJbnRlcm5hbCBtb2R1bGVzXG5pbXBvcnQgeyB1bmlxdWVTdHIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBJTlBVVF9CT1JERVJfQ09MT1IgfSBmcm9tICcuLi8uLi9zdHlsZXMnO1xuXG5jb25zdCBiYXNlU3R5bGVzID0gY3NzYFxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5gO1xuXG5jb25zdCBMb2FkaW5nRWxlbWVudCA9ICh7XG4gIGhlaWdodCxcbiAgc3R5bGVPdmVycmlkZXMsXG4gIHRlc3RJZCxcbiAgdGl0bGUsXG4gIHZpZXdCb3hIZWlnaHQsXG4gIHZpZXdCb3hXaWR0aCxcbiAgd2lkdGgsXG59KSA9PiB7XG4gIGNvbnN0IHBhdGhJZCA9IHVzZVJlZih1bmlxdWVTdHIoKSk7XG4gIGNvbnN0IGdyYWRpZW50SWQgPSB1c2VSZWYodW5pcXVlU3RyKCkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtzdHlsZU92ZXJyaWRlc31cbiAgICAgIGNzcz17W2Jhc2VTdHlsZXMsIHN0eWxlT3ZlcnJpZGVzXX1cbiAgICAgIGRhdGEtdGVzdGlkPXt0ZXN0SWR9XG4gICAgPlxuICAgICAgPHN2Z1xuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJsb2FkaW5nLXRpdGxlXCJcbiAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgcm9sZT1cImltZ1wiXG4gICAgICAgIHZpZXdCb3g9e2AwIDAgJHt2aWV3Qm94V2lkdGh9ICR7dmlld0JveEhlaWdodH1gfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICA+XG4gICAgICAgIDx0aXRsZSBpZD1cImxvYWRpbmctdGl0bGVcIj57dGl0bGV9PC90aXRsZT5cbiAgICAgICAgPHJlY3RcbiAgICAgICAgICBjbGlwUGF0aD17YHVybCgjJHtwYXRoSWQuY3VycmVudH0pYH1cbiAgICAgICAgICBmaWxsPXtgdXJsKCMke2dyYWRpZW50SWQuY3VycmVudH0pYH1cbiAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgeD1cIjBcIlxuICAgICAgICAgIHk9XCIwXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgPGNsaXBQYXRoIGlkPXtwYXRoSWQuY3VycmVudH0+XG4gICAgICAgICAgICA8cmVjdCBoZWlnaHQ9e2hlaWdodH0gcng9XCI0XCIgcnk9XCI0XCIgd2lkdGg9e3dpZHRofSB4PVwiMFwiIHk9XCIwXCIgLz5cbiAgICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD17Z3JhZGllbnRJZC5jdXJyZW50fT5cbiAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIi0wLjA2MzEzMlwiIHN0b3BDb2xvcj1cIiNmMGYwZjBcIiBzdG9wT3BhY2l0eT1cIjFcIj5cbiAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwib2Zmc2V0XCJcbiAgICAgICAgICAgICAgICBkdXI9XCIyc1wiXG4gICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZXM9XCItMzsgMVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N0b3A+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzNjg2OFwiIHN0b3BDb2xvcj1cIiNlMGUwZTBcIiBzdG9wT3BhY2l0eT1cIjFcIj5cbiAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwib2Zmc2V0XCJcbiAgICAgICAgICAgICAgICBkdXI9XCIyc1wiXG4gICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZXM9XCItMjsgMlwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N0b3A+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxLjkzNjg3XCIgc3RvcENvbG9yPVwiI2YwZjBmMFwiIHN0b3BPcGFjaXR5PVwiMVwiPlxuICAgICAgICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJvZmZzZXRcIlxuICAgICAgICAgICAgICAgIGR1cj1cIjJzXCJcbiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlcz1cIi0xOyAzXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3RvcD5cbiAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgICA8L2RlZnM+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkxvYWRpbmdFbGVtZW50LmRlZmF1bHRQcm9wcyA9IHtcbiAgaGVpZ2h0OiAnNDgnLFxuICB2aWV3Qm94SGVpZ2h0OiAnNDgnLFxuICB2aWV3Qm94V2lkdGg6ICczNTQnLFxuICB3aWR0aDogJzEwMCUnLFxufTtcblxuTG9hZGluZ0VsZW1lbnQucHJvcFR5cGVzID0ge1xuICBoZWlnaHQ6IHN0cmluZyxcbiAgbWFyZ2luQm90dG9tOiBzdHJpbmcsXG4gIHN0eWxlT3ZlcnJpZGVzOiBzdHJpbmcsXG4gIHRlc3RJZDogc3RyaW5nLFxuICB0aXRsZTogc3RyaW5nLFxuICB2aWV3Qm94SGVpZ2h0OiBzdHJpbmcsXG4gIHZpZXdCb3hXaWR0aDogc3RyaW5nLFxuICB3aWR0aDogc3RyaW5nLFxufTtcblxuY29uc3QgTG9hZGluZ0lucHV0U2hlbGwgPSBzdHlsZWQuZGl2YFxuICBib3JkZXI6IDFweCBzb2xpZCAke0lOUFVUX0JPUkRFUl9DT0xPUn07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGVPdmVycmlkZXN9XG5gO1xuXG5Mb2FkaW5nSW5wdXRTaGVsbC5wcm9wVHlwZXMgPSB7XG4gIHN0eWxlT3ZlcnJpZGVzOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgeyBMb2FkaW5nRWxlbWVudCwgTG9hZGluZ0lucHV0U2hlbGwgfTtcbiJdfQ== */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar LoadingElement = _ref => {\n var {\n height,\n styleOverrides,\n testId,\n title,\n viewBoxHeight,\n viewBoxWidth,\n width\n } = _ref;\n var pathId = useRef(uniqueStr());\n var gradientId = useRef(uniqueStr());\n return jsx(\"div\", {\n className: styleOverrides,\n css: _css([baseStyles, styleOverrides], \";label:LoadingElement;\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbW1vbi9Mb2FkaW5nRWxlbWVudC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NNIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbW1vbi9Mb2FkaW5nRWxlbWVudC5qc3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbi8vIEV4dGVybmFsIGxpYnJhcmllc1xuaW1wb3J0IHsgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3RyaW5nIH0gZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MsIGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG4vLyBJbnRlcm5hbCBtb2R1bGVzXG5pbXBvcnQgeyB1bmlxdWVTdHIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBJTlBVVF9CT1JERVJfQ09MT1IgfSBmcm9tICcuLi8uLi9zdHlsZXMnO1xuXG5jb25zdCBiYXNlU3R5bGVzID0gY3NzYFxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5gO1xuXG5jb25zdCBMb2FkaW5nRWxlbWVudCA9ICh7XG4gIGhlaWdodCxcbiAgc3R5bGVPdmVycmlkZXMsXG4gIHRlc3RJZCxcbiAgdGl0bGUsXG4gIHZpZXdCb3hIZWlnaHQsXG4gIHZpZXdCb3hXaWR0aCxcbiAgd2lkdGgsXG59KSA9PiB7XG4gIGNvbnN0IHBhdGhJZCA9IHVzZVJlZih1bmlxdWVTdHIoKSk7XG4gIGNvbnN0IGdyYWRpZW50SWQgPSB1c2VSZWYodW5pcXVlU3RyKCkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtzdHlsZU92ZXJyaWRlc31cbiAgICAgIGNzcz17W2Jhc2VTdHlsZXMsIHN0eWxlT3ZlcnJpZGVzXX1cbiAgICAgIGRhdGEtdGVzdGlkPXt0ZXN0SWR9XG4gICAgPlxuICAgICAgPHN2Z1xuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJsb2FkaW5nLXRpdGxlXCJcbiAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgcm9sZT1cImltZ1wiXG4gICAgICAgIHZpZXdCb3g9e2AwIDAgJHt2aWV3Qm94V2lkdGh9ICR7dmlld0JveEhlaWdodH1gfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICA+XG4gICAgICAgIDx0aXRsZSBpZD1cImxvYWRpbmctdGl0bGVcIj57dGl0bGV9PC90aXRsZT5cbiAgICAgICAgPHJlY3RcbiAgICAgICAgICBjbGlwUGF0aD17YHVybCgjJHtwYXRoSWQuY3VycmVudH0pYH1cbiAgICAgICAgICBmaWxsPXtgdXJsKCMke2dyYWRpZW50SWQuY3VycmVudH0pYH1cbiAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgeD1cIjBcIlxuICAgICAgICAgIHk9XCIwXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgPGNsaXBQYXRoIGlkPXtwYXRoSWQuY3VycmVudH0+XG4gICAgICAgICAgICA8cmVjdCBoZWlnaHQ9e2hlaWdodH0gcng9XCI0XCIgcnk9XCI0XCIgd2lkdGg9e3dpZHRofSB4PVwiMFwiIHk9XCIwXCIgLz5cbiAgICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD17Z3JhZGllbnRJZC5jdXJyZW50fT5cbiAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIi0wLjA2MzEzMlwiIHN0b3BDb2xvcj1cIiNmMGYwZjBcIiBzdG9wT3BhY2l0eT1cIjFcIj5cbiAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwib2Zmc2V0XCJcbiAgICAgICAgICAgICAgICBkdXI9XCIyc1wiXG4gICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZXM9XCItMzsgMVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N0b3A+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjkzNjg2OFwiIHN0b3BDb2xvcj1cIiNlMGUwZTBcIiBzdG9wT3BhY2l0eT1cIjFcIj5cbiAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwib2Zmc2V0XCJcbiAgICAgICAgICAgICAgICBkdXI9XCIyc1wiXG4gICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZXM9XCItMjsgMlwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N0b3A+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxLjkzNjg3XCIgc3RvcENvbG9yPVwiI2YwZjBmMFwiIHN0b3BPcGFjaXR5PVwiMVwiPlxuICAgICAgICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJvZmZzZXRcIlxuICAgICAgICAgICAgICAgIGR1cj1cIjJzXCJcbiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlcz1cIi0xOyAzXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3RvcD5cbiAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgICA8L2RlZnM+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkxvYWRpbmdFbGVtZW50LmRlZmF1bHRQcm9wcyA9IHtcbiAgaGVpZ2h0OiAnNDgnLFxuICB2aWV3Qm94SGVpZ2h0OiAnNDgnLFxuICB2aWV3Qm94V2lkdGg6ICczNTQnLFxuICB3aWR0aDogJzEwMCUnLFxufTtcblxuTG9hZGluZ0VsZW1lbnQucHJvcFR5cGVzID0ge1xuICBoZWlnaHQ6IHN0cmluZyxcbiAgbWFyZ2luQm90dG9tOiBzdHJpbmcsXG4gIHN0eWxlT3ZlcnJpZGVzOiBzdHJpbmcsXG4gIHRlc3RJZDogc3RyaW5nLFxuICB0aXRsZTogc3RyaW5nLFxuICB2aWV3Qm94SGVpZ2h0OiBzdHJpbmcsXG4gIHZpZXdCb3hXaWR0aDogc3RyaW5nLFxuICB3aWR0aDogc3RyaW5nLFxufTtcblxuY29uc3QgTG9hZGluZ0lucHV0U2hlbGwgPSBzdHlsZWQuZGl2YFxuICBib3JkZXI6IDFweCBzb2xpZCAke0lOUFVUX0JPUkRFUl9DT0xPUn07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGVPdmVycmlkZXN9XG5gO1xuXG5Mb2FkaW5nSW5wdXRTaGVsbC5wcm9wVHlwZXMgPSB7XG4gIHN0eWxlT3ZlcnJpZGVzOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgeyBMb2FkaW5nRWxlbWVudCwgTG9hZGluZ0lucHV0U2hlbGwgfTtcbiJdfQ== */\")),\n \"data-testid\": testId\n }, jsx(\"svg\", {\n \"aria-labelledby\": \"loading-title\",\n height: height,\n preserveAspectRatio: \"none\",\n role: \"img\",\n viewBox: \"0 0 \".concat(viewBoxWidth, \" \").concat(viewBoxHeight),\n width: width\n }, jsx(\"title\", {\n id: \"loading-title\"\n }, title), jsx(\"rect\", {\n clipPath: \"url(#\".concat(pathId.current, \")\"),\n fill: \"url(#\".concat(gradientId.current, \")\"),\n height: height,\n width: width,\n x: \"0\",\n y: \"0\"\n }), jsx(\"defs\", null, jsx(\"clipPath\", {\n id: pathId.current\n }, jsx(\"rect\", {\n height: height,\n rx: \"4\",\n ry: \"4\",\n width: width,\n x: \"0\",\n y: \"0\"\n })), jsx(\"linearGradient\", {\n id: gradientId.current\n }, jsx(\"stop\", {\n offset: \"-0.063132\",\n stopColor: \"#f0f0f0\",\n stopOpacity: \"1\"\n }, jsx(\"animate\", {\n attributeName: \"offset\",\n dur: \"2s\",\n repeatCount: \"indefinite\",\n values: \"-3; 1\"\n })), jsx(\"stop\", {\n offset: \"0.936868\",\n stopColor: \"#e0e0e0\",\n stopOpacity: \"1\"\n }, jsx(\"animate\", {\n attributeName: \"offset\",\n dur: \"2s\",\n repeatCount: \"indefinite\",\n values: \"-2; 2\"\n })), jsx(\"stop\", {\n offset: \"1.93687\",\n stopColor: \"#f0f0f0\",\n stopOpacity: \"1\"\n }, jsx(\"animate\", {\n attributeName: \"offset\",\n dur: \"2s\",\n repeatCount: \"indefinite\",\n values: \"-1; 3\"\n }))))));\n};\n\nLoadingElement.defaultProps = {\n height: '48',\n viewBoxHeight: '48',\n viewBoxWidth: '354',\n width: '100%'\n};\n\nvar LoadingInputShell = _styled(\"div\", {\n target: \"e6xihnh0\",\n label: \"LoadingInputShell\"\n})(\"border:1px solid \", INPUT_BORDER_COLOR, \";border-radius:4px;height:48px;\", props => props.styleOverrides, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbW1vbi9Mb2FkaW5nRWxlbWVudC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEdvQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Db21tb24vTG9hZGluZ0VsZW1lbnQuanN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG4vLyBFeHRlcm5hbCBsaWJyYXJpZXNcbmltcG9ydCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0cmluZyB9IGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzLCBqc3ggfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcblxuLy8gSW50ZXJuYWwgbW9kdWxlc1xuaW1wb3J0IHsgdW5pcXVlU3RyIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgSU5QVVRfQk9SREVSX0NPTE9SIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcblxuY29uc3QgYmFzZVN0eWxlcyA9IGNzc2BcbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYDtcblxuY29uc3QgTG9hZGluZ0VsZW1lbnQgPSAoe1xuICBoZWlnaHQsXG4gIHN0eWxlT3ZlcnJpZGVzLFxuICB0ZXN0SWQsXG4gIHRpdGxlLFxuICB2aWV3Qm94SGVpZ2h0LFxuICB2aWV3Qm94V2lkdGgsXG4gIHdpZHRoLFxufSkgPT4ge1xuICBjb25zdCBwYXRoSWQgPSB1c2VSZWYodW5pcXVlU3RyKCkpO1xuICBjb25zdCBncmFkaWVudElkID0gdXNlUmVmKHVuaXF1ZVN0cigpKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVPdmVycmlkZXN9XG4gICAgICBjc3M9e1tiYXNlU3R5bGVzLCBzdHlsZU92ZXJyaWRlc119XG4gICAgICBkYXRhLXRlc3RpZD17dGVzdElkfVxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwibG9hZGluZy10aXRsZVwiXG4gICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICB2aWV3Qm94PXtgMCAwICR7dmlld0JveFdpZHRofSAke3ZpZXdCb3hIZWlnaHR9YH1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgPlxuICAgICAgICA8dGl0bGUgaWQ9XCJsb2FkaW5nLXRpdGxlXCI+e3RpdGxlfTwvdGl0bGU+XG4gICAgICAgIDxyZWN0XG4gICAgICAgICAgY2xpcFBhdGg9e2B1cmwoIyR7cGF0aElkLmN1cnJlbnR9KWB9XG4gICAgICAgICAgZmlsbD17YHVybCgjJHtncmFkaWVudElkLmN1cnJlbnR9KWB9XG4gICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICB5PVwiMFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkZWZzPlxuICAgICAgICAgIDxjbGlwUGF0aCBpZD17cGF0aElkLmN1cnJlbnR9PlxuICAgICAgICAgICAgPHJlY3QgaGVpZ2h0PXtoZWlnaHR9IHJ4PVwiNFwiIHJ5PVwiNFwiIHdpZHRoPXt3aWR0aH0geD1cIjBcIiB5PVwiMFwiIC8+XG4gICAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9e2dyYWRpZW50SWQuY3VycmVudH0+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCItMC4wNjMxMzJcIiBzdG9wQ29sb3I9XCIjZjBmMGYwXCIgc3RvcE9wYWNpdHk9XCIxXCI+XG4gICAgICAgICAgICAgIDxhbmltYXRlXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cIm9mZnNldFwiXG4gICAgICAgICAgICAgICAgZHVyPVwiMnNcIlxuICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiXG4gICAgICAgICAgICAgICAgdmFsdWVzPVwiLTM7IDFcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdG9wPlxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMC45MzY4NjhcIiBzdG9wQ29sb3I9XCIjZTBlMGUwXCIgc3RvcE9wYWNpdHk9XCIxXCI+XG4gICAgICAgICAgICAgIDxhbmltYXRlXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cIm9mZnNldFwiXG4gICAgICAgICAgICAgICAgZHVyPVwiMnNcIlxuICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiXG4gICAgICAgICAgICAgICAgdmFsdWVzPVwiLTI7IDJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdG9wPlxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMS45MzY4N1wiIHN0b3BDb2xvcj1cIiNmMGYwZjBcIiBzdG9wT3BhY2l0eT1cIjFcIj5cbiAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwib2Zmc2V0XCJcbiAgICAgICAgICAgICAgICBkdXI9XCIyc1wiXG4gICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZXM9XCItMTsgM1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N0b3A+XG4gICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgPC9kZWZzPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Mb2FkaW5nRWxlbWVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGhlaWdodDogJzQ4JyxcbiAgdmlld0JveEhlaWdodDogJzQ4JyxcbiAgdmlld0JveFdpZHRoOiAnMzU0JyxcbiAgd2lkdGg6ICcxMDAlJyxcbn07XG5cbkxvYWRpbmdFbGVtZW50LnByb3BUeXBlcyA9IHtcbiAgaGVpZ2h0OiBzdHJpbmcsXG4gIG1hcmdpbkJvdHRvbTogc3RyaW5nLFxuICBzdHlsZU92ZXJyaWRlczogc3RyaW5nLFxuICB0ZXN0SWQ6IHN0cmluZyxcbiAgdGl0bGU6IHN0cmluZyxcbiAgdmlld0JveEhlaWdodDogc3RyaW5nLFxuICB2aWV3Qm94V2lkdGg6IHN0cmluZyxcbiAgd2lkdGg6IHN0cmluZyxcbn07XG5cbmNvbnN0IExvYWRpbmdJbnB1dFNoZWxsID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyOiAxcHggc29saWQgJHtJTlBVVF9CT1JERVJfQ09MT1J9O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGhlaWdodDogNDhweDtcbiAgJHsocHJvcHMpID0+IHByb3BzLnN0eWxlT3ZlcnJpZGVzfVxuYDtcblxuTG9hZGluZ0lucHV0U2hlbGwucHJvcFR5cGVzID0ge1xuICBzdHlsZU92ZXJyaWRlczogc3RyaW5nLFxufTtcblxuZXhwb3J0IHsgTG9hZGluZ0VsZW1lbnQsIExvYWRpbmdJbnB1dFNoZWxsIH07XG4iXX0= */\");\n\nLoadingInputShell.propTypes = {\n styleOverrides: string\n};\nexport { LoadingElement, LoadingInputShell };","// Internal modules\nimport { STATE_NAME } from '@/lib/logger';\nimport type { CheckoutCurrencyConversion } from '@/generated/graphql';\nimport type { PrepareCurrencyConversionPayload } from './types';\n\nconst TRANSITION_NAME = {\n prepareDcc: 'prepare_currency_conversion',\n processDccSelection: 'process_currency_conversion_selection',\n};\n\nexport const PREPARE_CURRENCY_CONVERSION_PAYLOAD = (\n conversionData: CheckoutCurrencyConversion | undefined,\n): PrepareCurrencyConversionPayload => {\n const payload = {\n is_conversion_needed: true,\n state: STATE_NAME.billing,\n transition_name: TRANSITION_NAME.prepareDcc,\n };\n\n if (!conversionData?.canChangeConversionType) {\n return {\n ...payload,\n conversion_reason: 'restricted_card_type',\n conversion_selection: conversionData ? 'PAYPAL' : 'VENDOR',\n is_conversion_shown: 0,\n };\n }\n\n // 'PAYPAL' is hard coded as the `conversion_selection` because it is\n // always the default selection when we first show the conversion options\n return {\n ...payload,\n conversion_reason: 'user_selected',\n conversion_selection: 'PAYPAL',\n is_conversion_shown: 1,\n };\n};\n","// Internal\nimport { appStore } from '@/store';\nimport { logger } from '@/lib/logger';\nimport { getCurrencyConversionData } from './getCurrencyConversionData';\nimport {\n isConversionNeeded as getIsConversionNeeded,\n isBuyerFxEligible,\n} from '@/lib/utils/currencyConversion';\nimport { PREPARE_CURRENCY_CONVERSION_PAYLOAD } from '@/lib/utils/currencyConversion/fpti';\nimport { CI } from '@/lib/customerInteractions';\n\nexport const conditionallyFetchConversionData = (\n nextFocusedEl: HTMLInputElement | null | undefined,\n viaShippingCallback = false,\n): undefined | Promise => {\n const { form: formState, ui: uiState } = appStore.getState();\n const isConversionNeeded: boolean = getIsConversionNeeded();\n const isCardNumberValid: boolean = formState?.cardNumber?.isValid;\n const isConversionShown: boolean = uiState?.showCardConversionOptions;\n const isDccEligible: boolean = isBuyerFxEligible();\n\n // Return early if we don't need to show the conversion options\n // or if the conversion options are already shown\n if (\n !isConversionNeeded ||\n !isCardNumberValid ||\n (isConversionShown && !viaShippingCallback) ||\n !isDccEligible\n ) {\n logger.info('skip_fetch_card_conversion_call', {\n isCardNumberValid,\n isConversionNeeded,\n isConversionShown,\n isDccEligible,\n });\n return;\n }\n\n const { ui: uiActions } = appStore.getActions();\n // The `conditionallyFetchConversionData` operation is used by multiple\n // components and some of those components are handling their own loading\n // spinners. The issue is that we have a variety of loading spinners. Hence,\n // we don't want to trigger the default form submission spinner for the\n // shipping callbacks to avoid showing users two different spinners.\n // Ideally, we should have a unified loading spinner.\n // @TODO: unify loading spinners\n if (!viaShippingCallback) {\n uiActions.toggleIsFormSubmitting(true);\n }\n logger.info('fetching_currency_conversion_data');\n\n // Any errors returned by this API are swallowed since it doesn't\n // block the transaction. That logic is part of `getCurrencyConversionData()`\n return getCurrencyConversionData().then(conversionData => {\n uiActions.toggleIsFormSubmitting(false);\n\n // If an element to focus on after the call is completed\n // has been passed, focus on that element\n nextFocusedEl?.focus?.();\n\n const payload = PREPARE_CURRENCY_CONVERSION_PAYLOAD(conversionData);\n logger.fpti('prepare_currency_conversion_options', payload);\n\n // If the user cannot change the conversion type then we don't\n // display the conversion options\n if (conversionData?.canChangeConversionType) {\n CI.start(CI.Event.CURRENCY_CONVERSION_RENDER);\n uiActions.setShowCardConversionOptions(true);\n }\n });\n};\n","// Internal modules\nimport { appStore } from '@/store';\nimport { getLocale, getToken } from '@/lib/globals';\nimport { logger } from '@/lib/logger';\nimport { apolloClient } from '@/lib/apollo';\nimport { CURRENCY_CONVERSION_FROM_CREDIT_CARD_QUERY } from '../../queries';\nimport type { CurrencyConversionFromCreditCardVariables } from './types';\nimport type { CheckoutCurrencyConversion } from '@/generated/graphql';\n\nconst getCurrencyConversionData = (): Promise<\n CheckoutCurrencyConversion | undefined\n> => {\n const { form: formState } = appStore.getState();\n const { cardType, value: cardNumber } = formState.cardNumber;\n const variables: CurrencyConversionFromCreditCardVariables = {\n cardBrand: cardType,\n cardNumber,\n country: getLocale().country,\n token: getToken(),\n };\n\n return apolloClient\n .query({\n fetchPolicy: 'no-cache',\n query: CURRENCY_CONVERSION_FROM_CREDIT_CARD_QUERY,\n variables,\n })\n .then(response => {\n if (response?.errors?.length) {\n throw new Error(response.errors[0] as any);\n }\n\n const { currencyConversionFromCreditCard: conversionData } =\n response.data;\n const { cardType } = appStore.getState().form.cardNumber;\n\n /**\n * For certain cards the response will be null. This could happen if the\n * card type either does not support currency conversion (e.g. Discover)\n * or if we always force the conversion type to be vendor (e.g. Amex). In\n * either case the user does not have the option to change the conversion\n * type so we don't need to set the data.\n */\n if (!conversionData) {\n logger.info('currency_conversion_response_empty', { cardType });\n return;\n }\n\n const { api: apiActions, form: formActions } = appStore.getActions();\n const { type: conversionType } = conversionData;\n formActions.updateCurrencyConversionSelection(conversionType || 'PAYPAL');\n\n // If the user cannot change the conversion type then we do not\n // save the data in the store since the user cannot change options.\n if (!conversionData.canChangeConversionType) {\n logger.info('currency_conversion_not_changeable', { cardType });\n return;\n }\n\n logger.info('currency_conversion_changeable', { cardType });\n\n apiActions.setCurrencyConversionData(conversionData);\n\n return conversionData;\n })\n .catch(error => {\n // We ignore any errors that come back from this API and instead\n // rely on the planning response for currency conversion\n logger.warn('currency_conversion_error', error);\n });\n};\n\nexport { getCurrencyConversionData };\n","export const LANDING_PAGE = 'landingVIP';\nexport const APP_NAME_FOR_FPTI_LOGS = 'weasley';\n\nexport const FEATURE_GUEST_APPLE_PAY_SHOWN = 'FEATURE_GUEST_APPLE_PAY_SHOWN';\nexport const APPLE_PAY_IDENTITY_BUTTON_METRICS = {\n CLICK_COMPLETE: 'GUEST_SIGNUP.IDENTITY_PAY_WITH_APPLE_PAY_CLICKED.COMPLETE',\n CLICK_ERROR: 'GUEST_SIGNUP.IDENTITY_PAY_WITH_APPLE_PAY_CLICKED.ERROR',\n} as const;\nexport const APPLE_PAY_PAYSHEET_ERROR = 'GUEST_SIGNUP.APPLE_PAY_PAYSHEET.ERROR';\n","export const PASSWORDLESS_SIGNUP_CONTENT_KEYS = Object.freeze({\n COMMIT: Object.freeze({\n DEFAULT: 'buttons.poma.continueAsMemberAndPay',\n EXISTING_MEMBER_ACCOUNT_BASED_CTA_V1: 'buttons.poma.payNowAndCreateAccount',\n }),\n DEFAULT: Object.freeze({\n DEFAULT: 'buttons.poma.continueAsMember',\n EXISTING_MEMBER_ACCOUNT_BASED_CTA_V1:\n 'buttons.poma.continueAndCreateAccount',\n }),\n});\n","import { getCheckoutSessionFlags, isUserActionCommit } from '../../globals';\nimport {\n getVariantFromTreatmentName,\n includesTreatment,\n} from '../../features/utils';\nimport { PASSWORDLESS_SIGNUP_CONTENT_KEYS } from './constants';\nimport { getPOMAEligibility } from '../../features/featureEligibility';\n\n// Elmo link:\nexport const passwordlessContentKey = (): string => {\n const isWPS = getCheckoutSessionFlags()?.isWPS;\n const feature = 'FEATURE_MERCHANT_BASED_FLOW_TYPE';\n\n const isTreatment = includesTreatment({\n feature,\n treatment: 'EXISTING_MEMBER_ACCOUNT_BASED_CTA',\n });\n\n const contentKeys = isUserActionCommit()\n ? PASSWORDLESS_SIGNUP_CONTENT_KEYS.COMMIT\n : PASSWORDLESS_SIGNUP_CONTENT_KEYS.DEFAULT;\n\n const defaultKey = contentKeys.DEFAULT;\n\n if (getPOMAEligibility() && isWPS) {\n return contentKeys.DEFAULT;\n }\n\n if (isTreatment) {\n const variant = getVariantFromTreatmentName({\n defaultVariant: 'DEFAULT',\n feature,\n }) as keyof typeof contentKeys;\n\n return contentKeys[variant] || defaultKey;\n }\n\n return defaultKey;\n};\n","import { hasTreatment, includesTreatment } from '@/lib/features/utils';\nimport { features } from '@/lib/features/features';\n\n// Experiments related to specific features\n\nexport const shouldShowOTP = (): boolean => {\n return hasTreatment('FEATURE_ONBOARDING_OTP');\n};\n\nexport const suppressSignup = (): boolean => {\n if (features.isActive('isForcedSignUp')) {\n return false;\n }\n\n const memberMatchSilent = includesTreatment({\n feature: 'FEATURE_EXPAND_MEMBER_MATCHING',\n treatment: 'Trmt_FEATURE_EXPAND_MEMBER_MATCHING_2',\n });\n const wpsMemberMatchSilent = includesTreatment({\n feature: 'FEATURE_EXPAND_MEMBER_MATCHING_WPS',\n treatment: 'Trmt_FEATURE_EXPAND_MEMBER_MATCHING_WPS_NO_OPT_IN',\n });\n const memberMatchInterstitialWithNoToggle = includesTreatment({\n feature: 'FEATURE_EXPAND_MEMBER_MATCHING',\n treatment:\n 'Trmt_FEATURE_EXPAND_MEMBER_MATCHING_NO_TOGGLE__WITH_INTERSTITIAL',\n });\n const wpsMemberMatchInterstitialWithNoToggle = includesTreatment({\n feature: 'FEATURE_EXPAND_MEMBER_MATCHING_WPS',\n treatment:\n 'Trmt_FEATURE_EXPAND_MEMBER_MATCHING_WPS_NO_TOGGLE__WITH_INTERSTITIAL',\n });\n const toggleSuppressRoW = hasTreatment(\n 'FEATURE_EXISTING_EMAIL_SUPPRESS_SIGNUP',\n );\n\n return (\n memberMatchSilent ||\n wpsMemberMatchSilent ||\n memberMatchInterstitialWithNoToggle ||\n wpsMemberMatchInterstitialWithNoToggle ||\n toggleSuppressRoW\n );\n};\n","import { logger } from '../logger';\nimport { isDev } from '../utils/env';\n\nimport * as resolvers from './resolvers';\n\nexport type TExperimentNames = keyof typeof resolvers;\nexport type TExperimentReturn = ReturnType<\n (typeof resolvers)[T]\n>;\n\nconst experimentResultCache = new Map();\n\nexport const resetExperimentCache = (\n experimentName: TExperimentNames,\n): void => {\n experimentResultCache.delete(experimentName);\n};\n\nexport const resetAllExperimentsCache = (): void =>\n experimentResultCache.clear();\n\nexport const getExperiment = (\n experimentName: T,\n): TExperimentReturn | undefined => {\n try {\n if (!experimentResultCache.has(experimentName)) {\n const result = resolvers[experimentName]() as TExperimentReturn;\n experimentResultCache.set(experimentName, result);\n logger.info(`experiment_${experimentName}`, { result });\n return result;\n }\n\n return experimentResultCache.get(experimentName);\n } catch (err) {\n logger.error('experiment_resolver_does_not_exist', { experimentName });\n }\n};\n\n// Test and Dev tools below here\nexport const experimentTesting = {\n /* istanbul ignore next - testing tool */\n getFromCache: (\n experimentName: T,\n ): TExperimentReturn | undefined =>\n experimentResultCache.get(experimentName),\n /* istanbul ignore next - testing tool */\n setExperiment: (\n experimentName: T,\n value: TExperimentReturn,\n ): void => {\n experimentResultCache.set(experimentName, value);\n },\n};\n\n/* istanbul ignore next - dev tools */\nif (isDev) {\n // @ts-expect-error\n globalThis.ppExperiments = {\n experimentTesting,\n getExperiment,\n resetAllExperimentsCache,\n resetExperimentCache,\n resolvers,\n };\n}\n","// External libraries\nimport { css } from '@emotion/core';\n\n// Internal modules\nimport {\n DISABLED_BACKGROUND_COLOR,\n DISABLED_BORDER_COLOR,\n ERROR_COLOR,\n HEADER_COLOR,\n WHITE_COLOR,\n} from '@/styles';\n\nconst containerStyles = css`\n background-color: ${DISABLED_BACKGROUND_COLOR};\n border-color: ${DISABLED_BORDER_COLOR};\n\n > select {\n color: ${HEADER_COLOR};\n }\n`;\n\nconst tooltipErrorStyle = css`\n background-color: ${ERROR_COLOR};\n border: 0;\n color: ${WHITE_COLOR};\n font-size: 15px;\n font-weight: 400;\n max-width: 100%;\n position: relative;\n`;\n\nexport { containerStyles, tooltipErrorStyle };\n","// External libraries\nimport React, { useState } from 'react';\n// @ts-expect-error untyped import\nimport { Tooltip } from '@checkout/react-components';\nimport {\n FloatingLabelSelect,\n // @ts-expect-error untyped import\n} from '@checkout/react-components';\nimport { Alert } from '@paypalcorp/pp-react-alert-weasley-v7';\n\n// Internal modules\nimport { PaypalThemedProvider } from '@/styles';\nimport { useStoreState } from '@/store';\nimport { ARIA_ATTRIBUTES } from '../shared';\nimport { containerStyles, tooltipErrorStyle } from './styles';\nimport { getCountryChangeHandler } from './handlers';\nimport {\n features,\n getContent,\n getLocale,\n logger,\n useMountLogging,\n} from '@/lib';\nimport type { CountryCodes } from '@/generated/graphql';\nimport { isValidCountrySelection } from '../shared/helpers';\nimport { useShippingAddressCallbacks } from '@/hooks/shippingCallbacks';\nimport { LoadingElement } from '@/components/Common';\n\ntype BlockNonDomesticPayerProps = {\n hasBlockNonDomesticPayerRestriction: boolean;\n};\n\nconst BlockNonDomesticPayer: React.FC = ({\n hasBlockNonDomesticPayerRestriction,\n}) => {\n if (!hasBlockNonDomesticPayerRestriction) {\n return null;\n }\n\n return (\n \n \n {getContent('messages.blockNonDomesticPayer')}\n \n \n );\n};\n\nconst CountryDropdown = (): JSX.Element => {\n useMountLogging('CountryDropdown');\n const { country: globalsCountry, locale } = getLocale();\n const hasBlockNonDomesticPayerRestriction = features.isActive(\n 'blockNonDomesticPayer',\n );\n const isBoltActive = features.isActive('blockDomesticPayers');\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const countriesList = useStoreState(({ api }) => {\n return api.griffinMetadata.territories[locale];\n });\n\n const isBlockedDomesticTransaction = useStoreState(\n ({ ui }) => ui.isBlockedDomesticTransaction,\n );\n const onShippingAddressCallback = useShippingAddressCallbacks();\n\n // We need to use local state for this component since we debounce the change\n // for non-Mac OS machines on the web. This is done so keyboard users don't\n // trigger a change every time they press the down/up arrow.\n const [country, setCountry] = useState(globalsCountry);\n\n if (!countriesList?.length) {\n return ;\n }\n\n const isDisabled = isFormSubmitting || hasBlockNonDomesticPayerRestriction;\n const handleCountryChange = getCountryChangeHandler(\n isDisabled,\n onShippingAddressCallback,\n );\n\n return (\n <>\n \n\n ,\n toCountry: CountryCodes,\n ) => {\n /**\n * @see https://paypal.atlassian.net/browse/LI-4008\n * Auto-fill features, such as Chrome, appear to be selecting\n * out-of-range values from the select causing an unexpected crash.\n *\n * In the event of an out-of-range selection the toCountry will be\n * and empty string and will fail validation. We log the values for\n * debugging and return to prevent the handlers from being called\n * which would otherwise crash.\n */\n if (!isValidCountrySelection('value', toCountry, countriesList)) {\n logger.info('weasley_dropdown_country_invalid_value', {\n selectedIndex: e?.target?.selectedIndex,\n toCountry,\n value: e?.target?.value,\n });\n return;\n }\n\n setCountry(toCountry);\n handleCountryChange(toCountry, e);\n }}\n disabled={isDisabled}\n floatingLabelContainerStyleOverrides={\n hasBlockNonDomesticPayerRestriction && containerStyles\n }\n id=\"country\"\n isChangeBlocked={hasBlockNonDomesticPayerRestriction}\n isRequired={true}\n label={getContent('fieldLabels.country')}\n name=\"country\"\n selectOptions={countriesList}\n value={country}\n {...(hasBlockNonDomesticPayerRestriction && ARIA_ATTRIBUTES)}\n />\n\n {isBlockedDomesticTransaction && (\n
\n \n {getContent('messages.blockedDomesticTransaction', {\n merchantCountry: getContent(`countryName.${country}`),\n })}\n \n
\n )}\n\n {isBoltActive && (\n \n {getContent('messages.blockOffDomesticTransactions')}\n \n )}\n \n );\n};\n\nexport { CountryDropdown };\n","import styled from '@emotion/styled';\nimport { HEADER_COLOR } from '@/styles';\n\nconst CountryAsTextContainer = styled.p`\n color: ${HEADER_COLOR};\n font-size: 14px;\n font-weight: 600;\n`;\n\nexport { CountryAsTextContainer };\n","/** @jsx jsx */\n// External libraries\nimport { css, jsx } from '@emotion/core';\n// @ts-expect-error untyped import\nimport { TextButtonWithUnderline } from '@checkout/react-components';\nimport { useStoreState } from '@/store';\n// @ts-expect-error untyped import\nimport { LoadingElement } from '@checkout/react-components';\n\n// Internal modules\nimport { getContent, getLocale } from '@/lib';\nimport { CountryAsTextContainer } from './StyledComponents';\n\nconst changeButtonStyleOverrides = css`\n line-height: 1;\n margin-left: 8px;\n text-decoration: none;\n`;\n\ntype CountryAsTextProps = {\n clickHandler: () => void;\n isFormSubmitting: boolean;\n};\n\nconst CountryAsText = (props: CountryAsTextProps): JSX.Element => {\n const { country: globalCountry, locale } = getLocale();\n\n const country = useStoreState(({ api }) => {\n const countryList = api.griffinMetadata.territories[locale];\n return (\n countryList && countryList.find(country => country.key === globalCountry)\n );\n });\n\n if (!country) {\n return ;\n }\n\n return (\n \n {country.text}\n \n {getContent('base.change')}\n \n \n );\n};\n\nexport { CountryAsText };\n","// External libraries\nimport React, { useState } from 'react';\nimport { useStoreState } from '@/store';\n\n// Internal libraries\nimport { logger } from '@/lib/logger';\nimport { CountryDropdown } from '../Dropdown';\nimport { CountryAsText } from '../Text';\nimport { features, useMountLogging } from '@/lib';\n\nconst CountrySelector = (): JSX.Element => {\n useMountLogging('CountrySelector');\n const [showDropdown, setShowDropdown] = useState(false);\n\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const shouldDisplayCountryAsText = features.isActive('isCountryDropdownText');\n\n const handleCountryAsTextClick = () => {\n logger.fpti('weasley_change_country', {\n state_name: 'signup',\n transition_name: 'prepare_show_country_options',\n });\n setShowDropdown(true);\n };\n\n if (!shouldDisplayCountryAsText) {\n return ;\n }\n\n return (\n
\n {showDropdown ? (\n \n ) : (\n \n )}\n
\n );\n};\n\nexport { CountrySelector };\n","// Internal modules\nimport { fetchContentAndMetadata, logger, updateLocale } from '@/lib';\nimport { appStore } from '@/store';\nimport {\n queryCookieBanner,\n removeCookieBanner,\n setCookieBanner,\n} from '../../shared';\n\nconst handleLanguageChange = (language: string): void => {\n logger.fpti('weasley_language_changed', {\n change_to_lang: language,\n state_name: 'signup',\n transition_name: 'language_change',\n });\n\n removeCookieBanner();\n updateLocale({ language });\n appStore.getActions().ui.setCurrentLanguage(language);\n fetchContentAndMetadata();\n // @ts-expect-error Check the error and undefined cases\n queryCookieBanner().then(setCookieBanner);\n};\n\nexport { handleLanguageChange };\n","//External libraries\nimport { css } from '@emotion/core';\n\n// Internal modules\nimport { LINK_COLOR } from '@/styles';\n\nconst languageSelectorStyles = css`\n border: 0;\n box-shadow: none;\n width: max-content;\n\n label {\n opacity: 0;\n }\n\n select {\n color: ${LINK_COLOR};\n height: 24px;\n padding: 0 36px 0 0;\n\n &:focus {\n outline: auto;\n }\n }\n`;\n\nexport { languageSelectorStyles };\n","//External libraries\nimport styled from '@emotion/styled';\n\nexport const LanguageDropdownContainer = styled.div`\n @media (max-width: 375px) {\n border-bottom: 1px solid #cbd2d6;\n margin: 0 -18px;\n padding: 0 18px 10px;\n }\n`;\n","//External libraries\nimport styled from '@emotion/styled';\n\n// Internal modules\nimport {\n FONT_SIZE_SMALL,\n LANG_COUNTRY_DIVIDER_COLOR,\n PRIMARY_COLOR_V2,\n} from '@/styles/styleVariables';\nimport { getLinkStateStyles } from '@/components/Common';\n\nconst LanguageButton = styled.button`\n background-color: transparent;\n border: 0;\n color: ${PRIMARY_COLOR_V2};\n cursor: pointer;\n font-size: ${FONT_SIZE_SMALL};\n line-height: 20px;\n padding: 0 7.5px;\n\n ${({ theme }) => getLinkStateStyles(theme)}\n\n &:hover, &:focus {\n text-decoration: underline;\n }\n`;\n\nconst LanguageListContainer = styled.div`\n display: flex;\n padding-right: 12px;\n\n &::after {\n background-color: ${LANG_COUNTRY_DIVIDER_COLOR};\n content: '';\n left: 5px;\n margin-right: 1px;\n position: relative;\n width: 1px;\n }\n`;\n\nexport { LanguageListContainer, LanguageButton };\n","//External libraries\nimport React from 'react';\n\n//Internal modules\nimport { features, getContent } from '@/lib';\nimport { handleLanguageChange } from '../shared';\nimport { useMountLogging } from '@/lib/reactHooks';\nimport { LanguageButton, LanguageListContainer } from './StyledComponents';\n\nconst LanguageList = ({\n currLanguage,\n}: {\n currLanguage: string;\n}): JSX.Element => {\n useMountLogging('LanguageList');\n return (\n \n {features.config.enabledLanguages\n .filter((lang: string) => lang !== currLanguage)\n .map((lang: string) => (\n handleLanguageChange(lang)}\n >\n {getContent(`languages.${lang}`)}\n \n ))}\n \n );\n};\n\nexport { LanguageList };\n","var DEFAULT_PASSWORD_HINTS = ['tooShort', 'missingNumberOrSymbol'];\nvar DIGIT_REG_EX = /\\d/;\nvar DOUBLE_BYTE_REG_EX = /[^\\u0000-\\u00ff]/;\nvar FOUR_CHAR_SEQUENCES = ['`1231234234534564567567867897890890-90-=', 'qwerwertertyrtyutyuiyuiouiopiop[op[]p[]\\\\', \"asdfsdfgdfghfghjghjkhjkljkl;kl;'\", 'zxcvxcvbcvbnvbnmbnm,nm,.m,./', '~!@#!@#$@#$%#$%^$%^&%^&*^&*(&*()*()_()_+', 'QWERWERTERTYRTYUTYUIYUIOUIOPIOP{OP{}P{}|', 'ASDFSDFGDFGHFGHJGHJKHJKLJKL:KL:\"', 'ZXCVXCVBCVBNVBNMBNMM<>?'].join(' ');\nvar FOUR_REPEATED_REG_EX = /(.)\\1{3}/;\nvar MAX_HINTS = 5;\nvar NON_VALID_CHARS_REG_EX = /[\\x00-\\x08\\x0E-\\x1F\\x80-\\xFF ]/;\nvar PASSWORD_HINT_KEYS = ['tooShort', 'tooLong', 'missingNumberOrSymbol', 'hasFourCharSequence', 'hasFourCharRepeated', 'hasNonValidChars', 'hasNonValidSymbol', 'hasDoubleByte', 'infoSecViolation'];\nvar PASSWORD_HINT_MAP = {\n hasDoubleByte: {\n name: 'noDoubleByte',\n type: 'restriction'\n },\n hasFourCharRepeated: {\n name: 'fourRepeatedChars',\n type: 'restriction'\n },\n hasFourCharSequence: {\n name: 'fourConsecutiveChars',\n type: 'restriction'\n },\n hasNonValidChars: {\n name: 'noInvalidChars',\n type: 'restriction'\n },\n hasNonValidSymbol: {\n name: 'noInvalidSymbol',\n type: 'restriction'\n },\n infoSecViolation: {\n name: 'infoSec',\n type: 'restriction'\n },\n missingNumberOrSymbol: {\n name: 'specialChar',\n type: 'requirement'\n },\n tooLong: {\n name: 'tooLong',\n type: 'requirement'\n },\n tooShort: {\n name: 'tooShort',\n type: 'requirement'\n }\n};\nvar PROPS_TO_FILTER = ['allowHints', 'allowRawValue', 'ariaLabelledBy', 'autoComplete', 'blurHandler', 'changeHandler', 'containerStyleOverrides', 'countryCode', 'displayError', 'error', 'focusHandler', 'hintsContent', 'hintsStyleOverrides', 'id', 'inputStyleOverrides', 'name', 'required', 'showButtonAriaLabel', 'showButtonContent', 'showButtonIcon', 'type', 'value'];\nvar SYMBOL_REG_EX = /[!@#$%^&*()+~=\\\\]/;\nvar NON_VALID_SYMBOL_REG_EX = /[-?_|`{}[\\]:';'<>,./]/;\nexport { DEFAULT_PASSWORD_HINTS, DIGIT_REG_EX, DOUBLE_BYTE_REG_EX, FOUR_CHAR_SEQUENCES, FOUR_REPEATED_REG_EX, MAX_HINTS, NON_VALID_CHARS_REG_EX, NON_VALID_SYMBOL_REG_EX, PASSWORD_HINT_KEYS, PASSWORD_HINT_MAP, PROPS_TO_FILTER, SYMBOL_REG_EX };","// Internal modules\nimport { appStore } from '@/store';\n\nconst getUserAgreementPath = (): string => {\n const { api: apiState } = appStore.getState();\n const noticeAndConsentUrl = apiState?.userAgreement?.activeUrl;\n\n return noticeAndConsentUrl || 'ua/useragreement-full';\n};\n\nexport { getUserAgreementPath };\n","// External modules\nimport { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nconst errorStyleOverrides = css`\n padding-left: 37px;\n`;\n\nconst PrivacyTermsList = styled.ul`\n list-style: disc;\n padding-left: 37px;\n font-size: 13px;\n height: auto;\n line-height: 1.6;\n min-height: 28px;\n`;\n\nconst PrivacyTermsContainer = styled.div`\n margin-top: 16px;\n margin-bottom: 16px;\n`;\n\nexport { errorStyleOverrides, PrivacyTermsList, PrivacyTermsContainer };\n","import { BillingType, CountryCodes } from '@/generated/graphql';\n\nexport const FEATURE_SIGNUP_RIGHT_OF_WITHDRAW_CHECKBOX_COUNTRIES = [\n CountryCodes.De,\n];\n\nexport const APP_NAME = 'CHECKOUTUINODEWEB_ONBOARDING_LITE';\n\n// Countries where BOLT (Block Off Domestic -Local- Transactions) apply\nexport const BOLT_COUNTRIES = [CountryCodes.Kr, CountryCodes.Tw];\n\n// Waiting for legal to approve these two countries for the new BFX experience\nexport const DCC_INELIGIBLE_COUNTRIES = [CountryCodes.Hu, CountryCodes.Il];\n\n// Every country PayPal supports has English enabled, so we fallback to that\nexport const DEFAULT_ENABLED_LANGUAGES = ['en'];\n\n// These countries are part of GROUP-EMEA but have different legal content\nexport const EMEA_LITE_COUNTRIES = [\n CountryCodes.Bg,\n CountryCodes.Cy,\n CountryCodes.Gf,\n CountryCodes.Gi,\n CountryCodes.Hr,\n CountryCodes.Li,\n CountryCodes.Mq,\n CountryCodes.Re,\n CountryCodes.Sm,\n CountryCodes.Va,\n CountryCodes.Yt,\n];\n\nexport const EMEA_PASSWORDLESS_WITHOUT_COOKIES = [\n CountryCodes.Ch,\n CountryCodes.Eg,\n CountryCodes.Sa,\n CountryCodes.Ua,\n CountryCodes.Za,\n];\n\nexport const FRAUD_NET_FIELD_LIST = [\n // FI fields\n { id: 'cardCvv', min: 3 },\n { id: 'cardExpiry', min: 7 },\n { id: 'cardNumber', min: 8 },\n\n // Contact information\n { id: 'email', min: 13 },\n { id: 'firstName', min: 5 },\n { id: 'lastName', min: 5 },\n { id: 'phone', min: 10 },\n\n // Address fields\n { id: 'city', min: 5 },\n { id: 'line1', min: 5 },\n { id: 'line2', min: 2 },\n { id: 'postalCode', min: 5 },\n { id: 'state', min: 2 },\n\n // Signup fields\n { id: 'dob', min: 8 },\n { id: 'password', min: 8 },\n];\n\nexport const GEO_REGIONS = ['APAC', 'EMEA', 'LATAM'];\n\nexport const KYC_DOB_NATIONALITY = ['DateOfBirth', 'Nationality'];\n\nexport const KYC_DOB_NATIONALITY_ID = [\n 'DateOfBirth',\n 'Nationality',\n 'IdentityDocumentType',\n 'IdentityDocumentNumber',\n];\n\nexport const MULTI_PRODUCT_SUPPORTED = [CountryCodes.Us];\n\nexport const LOG_PREFIX = /^weasley_/i;\n\nexport const X_APP_NAME = 'checkoutuinodeweb_weasley';\n\nexport const CHECKOUT_SESSION_TYPES = {\n BILLING_WITH_PURCHASE: 'BILLING_WITH_PURCHASE',\n BILLING_WITHOUT_PURCHASE: 'BILLING_WITHOUT_PURCHASE',\n};\n\n// EC Sub has three variants\n// https://engineering.paypalcorp.com/confluence/display/Checkout/Subscription+Migration\nexport const EC_SUBSCRIPTION_VARIANTS: string[] = [\n BillingType.RecurringPayments,\n BillingType.RecurringPaymentsV1,\n BillingType.SubscriptionsV1,\n];\n\nexport const USER_ACTIONS = {\n commit: 'COMMIT',\n continue: 'CONTINUE',\n};\n\nexport const REGULATION_E_COUNTRIES = [CountryCodes.Us];\n\nexport const SEPA_MANDATE_COUNTRIES = [CountryCodes.De];\n\nexport const SELECT_ALL_SIGNUP_TERMS_COUNTRIES = [CountryCodes.Kr];\n","// External libraries\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/core';\n\nexport const ValuePropContainer = styled.div`\n display: none;\n @media (min-width: 699px) {\n display: block;\n margin: 0 0 0 7px;\n text-align: center;\n width: 36%;\n }\n`;\n\nexport const MerchantLogoContainer = styled.div`\n display: none;\n @media (min-width: 699px) {\n display: block;\n flex: 0 0 100%;\n line-height: 1.2;\n margin-bottom: 2px;\n overflow: hidden;\n z-index: 1;\n }\n`;\n\nexport const MerchantLogo = styled.img`\n height: auto;\n max-height: 90px;\n max-width: 780px;\n vertical-align: middle;\n width: auto;\n`;\n\nconst FlexWrapperStyles = css`\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-between;\n`;\n\nexport const FlexWrapper = styled.div`\n ${({ showValueProps }) => showValueProps && FlexWrapperStyles}\n`;\n\nexport const AppWrapper = styled.div`\n font-weight: 500;\n margin: 0 auto;\n max-width: ${({ pageName }) => (pageName === 'receipt' ? '100%' : '390px')};\n padding: ${({ pageName }) => (pageName === 'landing' ? 'unset' : '0 18px')};\n\n @media (min-width: 699px) {\n max-width: ${({ pageName }) =>\n pageName === 'receipt' ? '448px' : '780px'};\n }\n`;\n\n// TODO: max-width is only being used for /signup route. We need to remove this\n// from theme and make a layout specific attribute as this layout is being used\n// in multiple pages like /landing /signup /receipt etc.\nexport const ContentWrapper = styled.div`\n ${({ isContentFullWidth, theme }) =>\n isContentFullWidth\n ? 'width: 100%'\n : `max-width: ${theme.wrappers.content.maxWidth}`};\n`;\n","// External libraries\nimport gql from 'graphql-tag';\n\nexport const COOKIE_BANNER_QUERY = gql`\n query CookieBannerQuery {\n cookieBanner {\n js\n css\n html\n }\n }\n`;\n","// Internal modules\nimport type { CookieBannerQueryQuery } from '@/generated/graphql';\nimport { apolloClient } from '@/lib/apollo';\nimport { isProd } from '@/lib/utils/env';\nimport { COOKIE_BANNER_QUERY } from '../queries';\n\nexport const queryCookieBanner = (): Promise<\n CookieBannerQueryQuery['cookieBanner']\n> => {\n /**\n * Why are we setting the `fetchPolicy` to `'network-only'`?\n *\n * The banner result depends on current cookies. If the user has accepted\n * the cookies before changing locales, maybe they just did it out of habit\n * to get rid of the thing, then we won't show the banner again, even though\n * the country/language is changing. Additionally, the content on the banner\n * can change based on banner policy (CCPA, GDPR, etc) and language.\n * Therefore, we don't ever want to rely on the Apollo cache but instead use\n * the `commonutils-client` backend module as the source of truth.\n */\n // @ts-expect-error the catch portion of this breaks the typing\n return apolloClient\n .query({\n context: {\n isBatchedQuery: true,\n },\n fetchPolicy: 'network-only',\n query: COOKIE_BANNER_QUERY,\n })\n .catch(err => {\n /**\n * The cookie banner service is fairly unreliable in non-production\n * environments and often returns { js: null, ... }, which causes an\n * error due to returning null from a non-nullable field. This block\n * of code is to prevent this error from causing a fallback since the\n * cookie banner isn't critical in non-production environments.\n */\n if (!isProd) {\n // eslint-disable-next-line no-console\n console.log(\n '%cIGNORING COOKIE BANNER ERROR IN NON-PRODUCTION ENV',\n 'color: red',\n );\n\n return {\n data: {\n cookieBanner: {},\n },\n };\n }\n\n throw err;\n })\n .then(({ data }) => data.cookieBanner);\n};\n","// Internal modules\nimport { logger } from '@/lib/logger';\n\nexport const logPrepareCookieBannerToFPTI = (hasContent: boolean): void => {\n logger.fpti('prepare_cookie_banner', {\n is_consent_shown: hasContent ? 1 : 0,\n state_name: 'billing',\n transition_name: 'prepare_cookie_banner',\n });\n};\n","// Internal modules\nimport { getGlobals, getLocale, logger } from '@/lib';\nimport { logPrepareCookieBannerToFPTI } from '../fpti';\n\n// Exported for testing purposes only\nexport const CONTAINER_ID = 'cookie-banner-container';\nconst BODY_CLASS_NAME_REG_EXP = /\\b\\w+CookieBanner-acceptedAll\\b/g;\nconst HTML_TAG_REG_EXP = /^<[a-z]+ nonce=\".*\">(.+)<\\/[a-z]+>$/;\n\nexport const removeCookieBanner = (): void => {\n const { country, language } = getLocale();\n\n // `div#cookie-banner-container` is the container we have in our index.html\n // file that we inject the cookie banner scripts into\n const containerEl = document.getElementById(CONTAINER_ID);\n\n // fix misalignment of cookie banner in new header\n document.body.style.paddingTop = '0px';\n\n if (!containerEl?.firstChild) {\n logger.info('no_cookie_banner_to_remove', { country, language });\n return;\n }\n\n document.body.className = document.body.className\n .replace(BODY_CLASS_NAME_REG_EXP, '')\n .trim();\n\n while (containerEl.firstChild) {\n containerEl.removeChild(containerEl.firstChild);\n }\n\n logger.info('cookie_banner_removed', { country, language });\n};\n\n// Exported for testing purposes only\nexport const createCookieBannerElement = (\n str: string,\n tagName: string,\n): HTMLElement => {\n const el = document.createElement(tagName);\n\n // `commonutils-client` returns the script and styles as a string. We need\n // to strip the tags from the string so we are only inserting the code.\n el.textContent = str.replace(HTML_TAG_REG_EXP, '$1');\n el.nonce = getGlobals().nonce;\n\n return el;\n};\n\nexport const setCookieBanner = ({\n css,\n html,\n js,\n}: {\n css: string;\n html: string;\n js: string;\n}): void => {\n const { country, language } = getLocale();\n if (!css || !html || !js) {\n logger.info('cookie_banner_scripts_not_available', {\n country,\n language,\n });\n return;\n }\n\n let containerEl = document.getElementById(CONTAINER_ID);\n const fragment = document.createDocumentFragment();\n\n const markupContainer = document.createElement('div');\n markupContainer.innerHTML = html;\n\n /**\n * START @TECH_DEBT\n * There is a bug in cookieserv that results in the commonutils-client\n * returning cookie banner data for countries that shouldn't show the cookie\n * banner. For some countries there won't even be any text for the cookie\n * banner. In that case we won't show the banner. Once this bug is fixed\n * on cookieserv we can remove this check.\n *\n * Ticket for cookie banner bug:\n * https://engineering.paypalcorp.com/jira/browse/DTCONPRI-1167\n */\n const hasContent = Boolean(markupContainer.textContent?.length);\n logPrepareCookieBannerToFPTI(hasContent);\n\n if (!hasContent) {\n logger.info('cookie_banner_content_missing');\n return;\n }\n /**\n * END @TECH_DEBT\n */\n\n const { nonce } = getGlobals();\n const bannerEl = markupContainer.firstElementChild;\n const styleEl = createCookieBannerElement(css, 'style');\n const scriptEl = createCookieBannerElement(js, 'script');\n\n styleEl.setAttribute('nonce', nonce);\n scriptEl.setAttribute('nonce', nonce);\n if (bannerEl) {\n fragment.appendChild(bannerEl);\n }\n fragment.appendChild(styleEl);\n fragment.appendChild(scriptEl);\n\n // If the container element doesn't exists for some reason we need to create\n // it so we don't cause an error trying to call `.appendChild()` on `null`.\n // This should never happen but that probably means it will... ¯\\_(ツ)_/¯\n if (!containerEl) {\n logger.info('cookie_banner_container_not_found');\n containerEl = document.createElement('div');\n containerEl.id = CONTAINER_ID;\n document.body.appendChild(containerEl);\n }\n\n containerEl.appendChild(fragment);\n logger.info('cookie_banner_inserted_into_dom', {\n country,\n language,\n });\n};\n","// Unique id created for every user or every app load\n// We use this id as a unique identifier of a user in\n// address autosuggest call to maintain a session for\n// requests to address suggestion feature\nconst SESSION_ID =\n Date.now().toString(36) + Math.random().toString(36).substr(2, 5);\n\nconst MERCHANT_NAME_LENGTH_LIMIT = 75;\n\n// `country` is not part of this list since it's not treated as part of the\n// shipping/billing address\nconst SHIPPING_AND_CALLBACK_ADDRESS_FIELDS = new Set([\n 'city',\n 'state',\n 'postalcode',\n]);\n\nconst ADDRESS_TYPES = {\n BILLING_ADDRESS: 'billingAddress',\n RESIDENTIAL_ADDRESS: 'residentialAddress',\n SHIPPING_ADDRESS: 'shippingAddress',\n};\n\nexport {\n ADDRESS_TYPES,\n MERCHANT_NAME_LENGTH_LIMIT,\n SESSION_ID,\n SHIPPING_AND_CALLBACK_ADDRESS_FIELDS,\n};\n","// HU and IL legal are still in the process of approving the new buyer FX\n// experience. These countries should be eligible in the near future.\nexport const BUYER_FX_INELIGIBLE_COUNTRIES: string[] = ['HU', 'IL'];\n\n// See link below for information regarding Buyer FX eligibility\n\n// https://engineering.paypalcorp.com/confluence/display/~jmurari/BuyerFX+eligibility\n\n// The following card vendors do not support currency conversion so we have\n// to use the 'PAYPAL' rate for any transaction that uses one of these cards\nexport const FORCED_PAYPAL_CONVERSION_CARD_BRANDS: string[] = [\n 'CB_NATIONALE',\n 'CBNATIONALE',\n 'CETELEM',\n 'COFIDIS',\n 'COFINOGA',\n 'DISCOVER',\n 'JCB',\n 'MAESTRO',\n 'SOLO',\n 'SWITCH',\n];\n\n// We have an agreement with AMEX to always allow them to perform conversion\nexport const FORCED_VENDOR_CONVERSION_CARD_BRANDS: string[] = ['AMEX'];\n","// Internal modules\nimport { appStore } from '@/store';\nimport { features } from '@/lib/features';\nimport { getLocale } from '@/lib/globals';\nimport {\n BUYER_FX_INELIGIBLE_COUNTRIES,\n FORCED_PAYPAL_CONVERSION_CARD_BRANDS,\n FORCED_VENDOR_CONVERSION_CARD_BRANDS,\n} from './constants';\nimport { hasTreatment } from '@/lib/features/utils';\n\n/**\n * @function isBuyerFxEligible\n * @returns {boolean}\n * @description Checks for Buyer FX eligibility based on:\n * 1. Country eligibility\n * 2. Card type eligibility\n * 3. Domestic transactions restricted to domestic currency (ex: IN)\n */\nconst isBuyerFxEligible = (): boolean => {\n const { api: apiState, form: formState } = appStore.getState();\n const type = formState.cardNumber.cardType || '';\n const { country: merchantCountry } = apiState.cartDetails.merchant || {};\n const { country: buyerCountry } = getLocale();\n const isDomesticTransaction = buyerCountry === merchantCountry;\n const isRestrictedDomesticTransaction =\n features.isActive('hasDccDomesticRestriction') && isDomesticTransaction;\n const isBFXEnabledOnIneligibleCountry = hasTreatment(\n 'FEATURE_BFX_RAMP_UP_WEASLEY',\n );\n\n return (\n (!BUYER_FX_INELIGIBLE_COUNTRIES.includes(buyerCountry) ||\n isBFXEnabledOnIneligibleCountry) &&\n !FORCED_PAYPAL_CONVERSION_CARD_BRANDS.includes(type) &&\n !FORCED_VENDOR_CONVERSION_CARD_BRANDS.includes(type) &&\n !isRestrictedDomesticTransaction\n );\n};\n\n/**\n * @returns {boolean} whether or not the currency conversion is needed.\n */\nconst isConversionNeeded = (): boolean => {\n const { cartAmount, griffinMetadata } = appStore.getState().api;\n const { currencyCode: cartCurrency } = cartAmount ?? {};\n const { currencyCode: localeCurrency } = griffinMetadata ?? {};\n\n /**\n * If this function is called before the initial data is\n * returned we'll just return `false`. This shouldn't ever\n * happen since the places this function is used, serializing the form\n * and fetching conversion data after a card number is entered, aren't\n * called until we have this information.\n */\n if (!cartCurrency || !localeCurrency) {\n return false;\n }\n\n return cartCurrency !== localeCurrency;\n};\n\nexport { isConversionNeeded, isBuyerFxEligible };\n","// Internal modules\nimport {\n getEmailAutofill,\n getGlobals,\n getLocale,\n getMerchantPrefilledFields,\n getToken,\n getUnifiedLoginContextData,\n} from '@/lib/globals';\nimport { LOG_PREFIX } from '../constants';\nimport { COMMON_PAYLOAD, STATE_NAME } from './fptiPayloads';\nimport type { GenericObjectType } from '@/types';\nimport { APP_MODE } from '@/types';\nimport type { CustomLoggerInitParams } from './types';\nimport type { LoggerType } from './logger';\n\n/**\n * Logs the initial FPTI log and configures logger.fpti() with common payload\n * so these attrs get added to all FPTI payloads\n */\nexport const configureLoggerForFPTI = (\n logger: LoggerType,\n {\n token,\n mode = APP_MODE.SIGNUP,\n isWps,\n shipping_address_collection,\n shipping_preference,\n variant,\n }: CustomLoggerInitParams,\n): void => {\n const { isBasl } = getGlobals();\n\n COMMON_PAYLOAD.context_id = token;\n COMMON_PAYLOAD.buyer_type = mode !== 'signup' ? 'GuestUser' : 'NewUser';\n const integrationType = isWps ? 'WPS' : 'EC';\n COMMON_PAYLOAD.context_type = `${integrationType}-token`;\n COMMON_PAYLOAD['x-paypal-fpti'] = {\n context_type: `${integrationType}-token`,\n };\n\n const { loginMethod } = getUnifiedLoginContextData();\n const { fptiCustType, fptiEmail } = getEmailAutofill();\n const fptiPrefilledFields = getMerchantPrefilledFields();\n\n const payload = {\n api_integration_type: 'standard',\n app_int_type: '', // BROWSER or WebView\n context_id: token,\n context_type: `${integrationType}-token`,\n cust_type: fptiCustType,\n design: 'full context',\n email: fptiEmail,\n experience: 'onboarding_lite',\n feed_name: 'checkoutuinodeweb',\n integration_type: integrationType,\n landing_page: isBasl ? 'BILLING' : 'LOGIN',\n login_type: loginMethod || (isBasl && 'BASL') || null,\n market: 'MERCHANT',\n merchant_prefill: fptiPrefilledFields,\n planning_activity_handle: '',\n shipping_address_collection,\n shipping_preference,\n state_name: STATE_NAME.init,\n token: token, // --> this is overwritten by the logger token builderPayload function\n transition_name: 'prepare_billing_page_init',\n variant,\n };\n\n logger.info('WEASLEY_FPTI_INIT_PAYLOAD', payload);\n\n logFPTI.call(logger, 'INIT', payload);\n};\n\n/**\n * Logs to FPTI. MUST be called with `this` context.\n * @param logger beaver-Logger wrapped instance\n * @param event FPTI event name\n * @param payload FPTI event payload\n * @param immediateFlush Optional, true if event needs to be flushed immediately\n */\n// eslint-disable-next-line func-style\nexport function logFPTI(\n this: LoggerType, // for TS ONLY. Will be ignored by JS\n event: string,\n payload: GenericObjectType = {},\n immediateFlush?: boolean,\n): void {\n const initialData = getGlobals();\n\n // Tack on common payload, required for every FPTI event,\n // and the current timestamp\n const integrationType =\n initialData.initialGqlData?.checkoutSession?.flags?.isWPS ||\n initialData.landingIWCData?.isWPS\n ? 'WPS'\n : 'EC';\n\n const token = getToken();\n\n COMMON_PAYLOAD.context_id = token;\n COMMON_PAYLOAD.context_type = `${integrationType}-token`;\n COMMON_PAYLOAD.integration_type = integrationType;\n COMMON_PAYLOAD.token = token;\n\n const finalPayload = {\n ...COMMON_PAYLOAD,\n ...payload,\n event_name: payload.event_name ?? event,\n server_epoch_timestamp: Date.now(),\n sessn_id: '',\n visitor_id: '',\n };\n\n const xPaypalFptiStr = initialData['x-paypal-fpti'];\n\n if (xPaypalFptiStr) {\n try {\n const xPaypalFpti = JSON.parse(xPaypalFptiStr);\n\n finalPayload.sessn_id = xPaypalFpti.user_session_guid;\n finalPayload.visitor_id = xPaypalFpti.user_guid;\n } catch (error: any) {\n this.info('weasley_log_fpti_parse_xpaypalfpti_error', error);\n }\n }\n\n // Log to CAL for debugging\n const { country, locale } = getLocale();\n const action = LOG_PREFIX.test(event)\n ? `${event.toUpperCase()}_FPTI`\n : `WEASLEY_${event.toUpperCase()}_FPTI`;\n\n this.info(action, {\n clientCountry: country,\n clientLocale: locale,\n ...finalPayload,\n });\n\n // Fire off an FPTI event\n this.track(finalPayload);\n\n // FIXME: test this...\n if (immediateFlush) {\n this.flush();\n }\n}\n","export const ARIA_ATTRIBUTES = {\n 'aria-describedby': 'country-info-message',\n};\n\nexport const BATCHED_QUERY_OPTIONS_OVERRIDES = {\n context: {\n isBatchedQuery: true,\n },\n};\n\n/**\n * isPageLoading: We don't want to hide the page spinner until all\n * operations are finished, so we reset the store with the page spinner\n * shown.\n *\n * showVenmoMessage: This interstital message is only shown on initial\n * page load. The user has already opted to pay with PayPal so we don't\n * need to show the popup again.\n */\nconst RESET_STORE_OVERRIDES_DEFAULT = {\n ui: {\n isPageLoading: true,\n showVenmoMessage: false,\n },\n};\n\n/**\n * used as parameter to queryInitialData when user is getting\n * redirected to /landing route to /signup route\n * isPageLoading - is set to false as there is another loading spinner\n * on /landing page\n * showVenmoMessage - setting it to false as we dont take venmo traffic\n * for /landing route for initial ramp\n */\nconst RESET_STORE_OVERRIDES_LANDING_TO_BILLING = {\n ui: {\n isPageLoading: false,\n showVenmoMessage: false,\n },\n};\n\nexport const RESET_STORE_OVERRIDES_MAPPER = {\n default: RESET_STORE_OVERRIDES_DEFAULT,\n landingToBilling: RESET_STORE_OVERRIDES_LANDING_TO_BILLING,\n};\n","// Internal modules\nimport type {\n CountryCodes,\n LocaleTerritoryMetadata,\n Maybe,\n} from '@/generated/graphql';\nimport { CheckoutContentLanguageCode } from '@/generated/graphql';\nimport { logger } from '@/lib/logger';\n\n// All countries support en so we use that as a fallback\nconst FALLBACK_LANGUAGE = CheckoutContentLanguageCode.En;\n\ntype getSuggestedDefaultLanguageForCountryParams = {\n countryCode: CountryCodes;\n territories: Pick<\n LocaleTerritoryMetadata,\n 'code' | 'suggestedDefaultLanguage'\n >[];\n};\nexport const getSuggestedDefaultLanguageForCountry = ({\n countryCode,\n territories,\n}: getSuggestedDefaultLanguageForCountryParams):\n | Maybe\n | undefined\n | null => {\n const data = territories.find(({ code }) => code === countryCode);\n\n if (!data) {\n logger.info('suggested_default_langauge_not_found', {\n countryCode,\n });\n return FALLBACK_LANGUAGE;\n }\n\n return data.suggestedDefaultLanguage;\n};\n","// Internal modules\nimport { logger } from '@/lib/logger';\nimport type { GenericObjectType } from '@/types';\n\nconst logCountryChange = (data: GenericObjectType) => {\n const { fromCountry, toCountry, transitionName, ...rest } = data;\n logger.fpti(transitionName, {\n billing_country: fromCountry,\n billing_country_changed: toCountry,\n state_name: 'change_country',\n transition_name: transitionName,\n ...rest,\n });\n};\n\nexport const logCountryChangeAttemptToFPTI = (\n payload: GenericObjectType,\n): void => {\n logCountryChange({ transitionName: 'prep_change_cntry', ...payload });\n};\n\nexport const logCountryChangeSuccessToFPTI = (\n payload: GenericObjectType,\n): void => {\n logCountryChange({\n transitionName: 'process_change_cntry',\n ...payload,\n });\n};\n\nexport const logCountryChangeErrorToFPTI = (\n payload: GenericObjectType,\n): void => {\n logCountryChange({\n transitionName: 'process_change_cntry_error',\n ...payload,\n });\n};\n","// Internal modules\nimport { appStore } from '@/store';\nimport { features, logger } from '@/lib';\nimport { fetchAndResetContent } from '@/lib/content';\nimport { updateLocale } from '@/lib/globals';\nimport { noop, redirectToGenericError } from '@/lib/utils';\nimport { BATCHED_QUERY_OPTIONS_OVERRIDES } from './constants';\nimport {\n queryCookieBanner,\n removeCookieBanner,\n setCookieBanner,\n} from '../../shared';\nimport {\n getSuggestedDefaultLanguageForCountry,\n queryInitialData,\n readSuggestedLanguagesQuery,\n} from './graphql';\nimport {\n logCountryChangeAttemptToFPTI,\n logCountryChangeErrorToFPTI,\n logCountryChangeSuccessToFPTI,\n} from './fpti';\nimport {\n cacheInitialDataInReduxStore,\n fetchCheckoutSessionData,\n fetchLocaleMetadata,\n // @ts-expect-error untyped import\n} from '@/components/App/api';\nimport { conditionallyCalculateShippingAndTaxes } from '@/components/Shipping/utils';\nimport {\n handleBlockedDomesticTransactions,\n handleSignupAndGuestIneligible,\n} from '@/components/Billing/utils';\nimport { CountryCodes } from '@/generated/graphql';\n\n/**\n * When the user changes country we need to do the following:\n * 1. Remove the cookie banner if it is present\n * 2. Toggle the page loading spinner, which will be shown while\n * we fetch all the necessary new data\n * 3. Get the suggested default language for the new country. This is\n * needed to fetch the correct content as well as the correct\n * locale metadata.\n * 4. Update the locale - this needs to be done before we make any API\n * calls so that the correct country and language headers are set\n * on the API requests. The checkoutSession request relies on the\n * resolved locale for formatting the cart amounts, not an argument\n * passed to the query. The cookie banner also relies on the locale\n * instead of an argument.\n * 5. Fetch new data\n * CDN:\n * - content for new country/language combo\n * API:\n * - Locale metadata for country/language\n * - Cart amounts to make sure they are correctly formatted\n * - Cookie banner - will only be shown if the user did not already\n * accept a previously shown cookie banner.\n * - Initial data (elmo experiments, checkout session flags, etc)\n * 6. Reset the store and the content, show the cookie banner if it is\n * required and finally hide the loading spinner.\n */\nconst handleCountryChange = (\n {\n fromCountry,\n toCountry,\n }: { fromCountry: CountryCodes; toCountry: CountryCodes },\n onShippingCallback = noop,\n): Promise => {\n // If the `blockNonDomesticPayer` flag is active then the user is not\n // allowed to change countries.\n if (features.isActive('blockNonDomesticPayer')) {\n // @ts-expect-error Make this return a promise\n return logger.info('non_domestic_payer_country_change_blocked', {\n fromCountry,\n toCountry,\n });\n }\n\n removeCookieBanner();\n appStore.getActions().ui.toggleIsPageLoading(true);\n logCountryChangeAttemptToFPTI({ fromCountry, toCountry });\n\n const territories = readSuggestedLanguagesQuery();\n const suggestedDefaultLanguage = getSuggestedDefaultLanguageForCountry({\n countryCode: toCountry,\n // @ts-expect-error type readSuggestedLanguagesQuery\n territories,\n });\n\n updateLocale({\n country: toCountry,\n // @ts-expect-error Type GlobalLocality\n language: suggestedDefaultLanguage,\n });\n\n const { form: formState } = appStore.getState();\n const { shippingAddress } = formState;\n\n // Fix for LI-12385: shipping country code should be passed as 2nd param for\n // fetchLocaleMetadata to load griffin data. Previously we passed toCountry\n // which is redundant as fetchLocaleMetadata grabs billing country from locale\n const shippingCountryCode = shippingAddress?.country?.value ?? toCountry;\n\n /**\n * @TO_DO @APOLLO_MIGRATION\n * When migrating to Apollo Client for state management switch to using\n * the checkoutSessionQuery from `lib/graphql`. I'm reusing this\n * query for now since the data needs to be saved in the redux store so it\n * can be accessed by components that need it.\n */\n const promises = [\n queryCookieBanner(),\n fetchLocaleMetadata(BATCHED_QUERY_OPTIONS_OVERRIDES, shippingCountryCode),\n fetchCheckoutSessionData({\n fetchPolicy: 'network-only',\n ...BATCHED_QUERY_OPTIONS_OVERRIDES,\n }),\n fetchAndResetContent(),\n queryInitialData({\n countryCode: toCountry,\n languageCode: suggestedDefaultLanguage,\n }),\n ];\n\n return Promise.all(promises)\n .then(([cookieBanner, localeMetadata, checkoutSession]) => {\n logCountryChangeSuccessToFPTI({ fromCountry, toCountry });\n appStore.getActions().ui.toggleIsPageLoading(false);\n cacheInitialDataInReduxStore({\n checkoutSessionResponse: checkoutSession,\n localeMetadataResponse: localeMetadata,\n shippingCountryCode,\n });\n appStore.getActions().ui.setIsReduxStoreHydrated(true);\n setCookieBanner(cookieBanner);\n })\n .then(() => {\n handleBlockedDomesticTransactions();\n handleSignupAndGuestIneligible();\n conditionallyCalculateShippingAndTaxes();\n onShippingCallback();\n // Customer defaulted back to US after dismissing KYC on India Billing.\n if (fromCountry === CountryCodes.In && toCountry === CountryCodes.Us) {\n appStore.getActions().ui.setGuestIneligibleAlertDisplayed(true);\n }\n })\n .catch(error => {\n logCountryChangeErrorToFPTI({\n fromCountry,\n int_error_code: error.message,\n int_error_desc: 'country_change_contingency',\n toCountry,\n });\n redirectToGenericError();\n });\n};\n\nexport { handleCountryChange };\n","// External libraries\nimport gql from 'graphql-tag';\nimport { CART_AMOUNTS_FRAGMENT } from '@/lib/graphql';\n\nexport const UPDATE_CALLBACK_OPTIONS_MUTATION = gql`\n mutation UpdateCallbackOptionsMutation(\n $callbackShippingMethods: [CallbackShippingMethodInput]\n $shippingOptionsSource: ShippingOptionsSource\n $token: String!\n ) {\n updateCallbackOptions(\n callbackShippingMethods: $callbackShippingMethods\n shippingOptionsSource: $shippingOptionsSource\n token: $token\n ) {\n cart {\n ...CartAmounts\n }\n }\n }\n\n ${CART_AMOUNTS_FRAGMENT}\n`;\n","// External libraries\nimport gql from 'graphql-tag';\nimport { CART_AMOUNTS_FRAGMENT } from '@/lib/graphql';\n\nexport const UPDATE_PROFILE_SHIPPING_OPTIONS_MUTATION = gql`\n mutation UpdateProfileShippingOptionsMutation(\n $hideShipping: Boolean!\n $profileOverrideAllowed: Boolean!\n $profileShippingMethods: [ProfileShippingMethodInput]\n $token: String!\n ) {\n updateProfileShippingOptions(\n hideShipping: $hideShipping\n profileOverrideAllowed: $profileOverrideAllowed\n profileShippingMethods: $profileShippingMethods\n token: $token\n ) {\n cart {\n ...CartAmounts\n shippingAddress {\n firstName\n lastName\n line1\n line2\n city\n state\n postalCode\n country\n }\n }\n }\n }\n\n ${CART_AMOUNTS_FRAGMENT}\n`;\n","import { appStore } from '@/store';\nimport { CI, features, logger } from '@/lib';\nimport { EVENTS, startLogPerformanceTime } from '@/lib/logger/cplUtils';\n\n// If imported from ./graphql we get circular dependency\nimport { approvePayment, preAuthorizePaymentPlan } from './graphql/api';\n\nconst threeDSHandler = ({\n is3DSecureRequired,\n threeDS2ContingencyData,\n threeDS1ContingencyData,\n}) => {\n logger.info('threeds_handler_called');\n // If 3DS is not required we are done and can approve\n // the payment and return the user to the merchant\n if (!is3DSecureRequired) {\n const isCPAEligible = features.config.CTAMessageTreatment !== 'CONTROL';\n\n if (isCPAEligible) {\n return preAuthorizePaymentPlan();\n }\n return approvePayment();\n }\n\n startLogPerformanceTime(EVENTS.THREE_DS_CONTINGENCY);\n if (!threeDS1ContingencyData) {\n logger.info('threeds_2_handler_called');\n threeDS2ContingencyHandler(threeDS2ContingencyData);\n }\n};\n\nconst threeDS2ContingencyHandler = threeDS2ContingencyData => {\n CI.start(CI.Event.CONTINGENCY_RESOLVE_3DS_USER_INPUT);\n\n const { api: apiActions, ui: uiActions } = appStore.getActions();\n\n // TODO: ADD_CARD integration bug fix - missing 'r' in confirmation\n if (threeDS2ContingencyData.confimationMethod) {\n threeDS2ContingencyData.confirmationMethod =\n threeDS2ContingencyData.confimationMethod;\n }\n\n // If the contingency handling is after checkout session call\n // which can be determined based on confirmationMethod presence\n // in contingency object, we should populate amount and currency\n // of the transaction from fundingOption returned by createCheckoutSession\n if (!threeDS2ContingencyData.confirmationMethod) {\n const { api: apiState } = appStore.getState();\n const { amount = {} } = apiState.fundingSource || {};\n const { currencyCode, currencyValue } = amount;\n\n logger.info('three_ds_2_transaction_setting_amount_and_currency_code', {\n currencyCodePresent: Boolean(currencyCode),\n currencyValuePresent: Boolean(currencyValue),\n });\n\n threeDS2ContingencyData.currencyCode = currencyCode;\n threeDS2ContingencyData.currencyValue = currencyValue;\n }\n\n apiActions.setThreeDS2ContingencyData(threeDS2ContingencyData);\n uiActions.toggleIsFormSubmitting(false);\n uiActions.toggleIsThreeDS2Shown(true);\n};\n\nexport { threeDSHandler };\n","import type { CountryCodes } from '@/generated/graphql';\nimport { features, getCheckoutSessionFlags, logger, STATE_NAME } from '@/lib';\n\nexport const logFPTIWhenDomesticTransactionBlocked = (\n country: CountryCodes,\n): void => {\n logger.fpti(`${country}_domestic_transaction_blocked`, {\n int_error_desc: `Domestic transaction blocked in ${country}`,\n state_name: 'billing',\n transition_name: 'process_billing_error',\n });\n};\n\nexport const logBillingPageShown = (): void => {\n const { isGuestEligible } = getCheckoutSessionFlags();\n const applePayButtonShown = features.isActive('applePayButtonShown');\n const eventName = 'billing_page_shown';\n\n logger.fpti(eventName, {\n account_signup_type: isGuestEligible ? 'guest' : 'signup',\n event_name: eventName,\n state_name: STATE_NAME.billing,\n transition_name: 'billing_page_shown',\n ...(applePayButtonShown && {\n flow_name: 'wps_apple_pay',\n }),\n });\n};\n\nexport const logBillingApplePayButtonShown = (): void => {\n const { isGuestEligible } = getCheckoutSessionFlags();\n const applePayButtonShown = features.isActive('applePayButtonShown');\n const eventName = 'apple_pay_button_shown';\n\n logger.fpti(eventName, {\n account_signup_type: isGuestEligible ? 'guest' : 'signup',\n event_name: eventName,\n state_name: STATE_NAME.billing,\n transition_name: 'apple_pay_button_shown',\n ...(applePayButtonShown && {\n flow_name: 'wps_apple_pay',\n }),\n });\n};\n\nexport const logBillingApplePayButtonClicked = (): void => {\n const { isGuestEligible } = getCheckoutSessionFlags();\n const applePayButtonShown = features.isActive('applePayButtonShown');\n const eventName = 'billing_pay_with_other_funding_source_clicked';\n\n logger.fpti(eventName, {\n account_signup_type: isGuestEligible ? 'guest' : 'signup',\n event_name: eventName,\n selected_funding_option: 'apple_pay',\n state_name: STATE_NAME.billing,\n transition_name: 'pay_with_other_funding_source',\n ...(applePayButtonShown && {\n flow_name: 'wps_apple_pay',\n }),\n });\n};\n","// Internal\nimport { logger } from '@/lib/logger';\nimport type { LogOnShippingChangeReceivedToFPTIPayload } from './types';\n\nconst logonShippingAddressChangeReceivedToFPTI = (\n payload: LogOnShippingChangeReceivedToFPTIPayload,\n): void => {\n const { errorDescription = 'none', status } = payload;\n logger.fpti('checkout_merchant_shipping_calculation_received', {\n api_response: status,\n error_description: errorDescription,\n state_name: 'review',\n transition_name: 'process_review_merchant_shipping_calculation',\n });\n};\n\nconst logShippingOptionsChangeReceivedToFPTI = (\n payload: LogOnShippingChangeReceivedToFPTIPayload,\n): void => {\n const { errorDescription = 'none', status } = payload;\n logger.fpti('checkout_merchant_shipping_option_change_received', {\n api_response: status,\n error_description: errorDescription,\n state_name: 'review',\n transition_name: 'process_review_merchant_shipping_option_calculation',\n });\n};\n\nexport {\n logonShippingAddressChangeReceivedToFPTI,\n logShippingOptionsChangeReceivedToFPTI,\n};\n","// External libraries\nimport stylisRTL from 'stylis-plugin-rtl';\nimport legacyStylisRTL from 'stylis-plugin-rtl-legacy';\nimport createCacheLegacy from '@emotion/cache-legacy';\nimport createCache from '@emotion/cache';\n\n// Internal modules\nimport { getGlobals, isRtlLang } from '@/lib/globals';\n\nconst { nonce } = getGlobals();\n\nexport enum EMOTION_CACHE_KEYS {\n LTR = 'ltr',\n RTL = 'rtl',\n}\n\n// Emotion Cache Config Settings\nconst ltrConfig = {\n key: 'css-ltr',\n nonce,\n stylisPlugins: [],\n};\n\nexport const EMOTION_CACHE = {\n [EMOTION_CACHE_KEYS.LTR]: createCache(ltrConfig),\n [EMOTION_CACHE_KEYS.RTL]: createCache({\n key: 'css-rtl',\n nonce,\n stylisPlugins: [stylisRTL],\n }),\n} as const;\n\nexport const LEGACY_EMOTION_CACHE = {\n [EMOTION_CACHE_KEYS.LTR]: createCacheLegacy(ltrConfig),\n [EMOTION_CACHE_KEYS.RTL]: createCacheLegacy({\n key: 'css-rtl',\n nonce,\n stylisPlugins: [legacyStylisRTL],\n }),\n} as const;\n\nexport const getEmotionCacheKey = (): EMOTION_CACHE_KEYS => {\n return isRtlLang() ? EMOTION_CACHE_KEYS.RTL : EMOTION_CACHE_KEYS.LTR;\n};\n","// External libraries\nimport { css } from '@emotion/core';\n\n// Internal modules\nimport {\n FONT_SIZE_MEDIUM,\n FONT_WEIGHT_NORMAL_PP,\n HIGH_CONTRAST_TEXT_COLOR,\n PAYPAL_OPEN_FONT,\n} from '@/styles';\n\nexport const valuePropHeaderStyles = css`\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-size: ${FONT_SIZE_MEDIUM};\n font-family: ${PAYPAL_OPEN_FONT};\n font-weight: ${FONT_WEIGHT_NORMAL_PP};\n line-height: 1.2;\n margin: 15px 0 10px;\n`;\n\nexport const valuePropSubHeaderStyles = css`\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-size: 14px;\n font-family: ${PAYPAL_OPEN_FONT};\n font-weight: 400;\n line-height: 20px;\n margin: 5px 0;\n`;\n","import React from 'react';\n\nconst ShieldImage = ({\n ariaDescribedByContent,\n}: {\n ariaDescribedByContent?: React.ReactNode;\n}): React.ReactElement => (\n \n {ariaDescribedByContent}\n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport { ShieldImage };\n","import type { ReactNode } from 'react';\nimport React from 'react';\n/** @jsx jsx */\n// External libraries\n// @ts-expect-error - untyped import\nimport { LoadingSpinner } from '@checkout/react-components';\nimport {\n CacheProvider as CacheProviderLegacy,\n css,\n Global,\n jsx,\n} from '@emotion/core';\n\nimport { CacheProvider } from '@emotion/react';\n\n// Internal modules\nimport { features, getContent, getGlobals } from '@/lib';\nimport { globalStyles, resetStyles } from '@/styles';\nimport { StyledText } from '../Common';\nimport {\n EMOTION_CACHE,\n getEmotionCacheKey,\n LEGACY_EMOTION_CACHE,\n} from './constants';\nimport {\n MerchantLogo as Logo,\n MerchantLogoContainer,\n ValuePropContainer,\n // @ts-expect-error - convert to TS after c3 is removed\n} from './StyledComponents';\nimport { valuePropHeaderStyles, valuePropSubHeaderStyles } from './styles';\nimport { ShieldImage } from '../Common/Images';\nimport type { GenericObjectType } from '@/types';\n\nconst EmotionWrapper = ({\n pageName,\n children,\n}: {\n pageName?: string;\n children: ReactNode;\n}): JSX.Element => {\n /*\n While migrating from Emotion 10 to 11 we will need to support two versions\n of Emotion cache. Once the migration is complete we should remove\n references to the legacy cache\n */\n const cacheKey = getEmotionCacheKey();\n\n return (\n \n \n \n {children}\n \n \n );\n};\n\nconst PageLoadingSpinner = (props: GenericObjectType): JSX.Element => (\n \n);\n\nconst PayPalValueProps = (): JSX.Element => (\n \n \n \n {getContent('valueProps.image.header')}\n \n \n {getContent('valueProps.image.subHeader')}\n \n \n);\n\nconst MerchantLogo = (): JSX.Element | null => {\n const { initialGqlData } = getGlobals();\n const merchantlogo =\n initialGqlData?.checkoutSession?.merchant?.logo?.href || '';\n\n const shouldLoadMerchantLogo = Boolean(\n features.isActive('hasMerchantLogo') && merchantlogo,\n );\n\n if (!shouldLoadMerchantLogo) {\n return null;\n }\n\n return (\n \n \n \n );\n};\n\nexport { EmotionWrapper, MerchantLogo, PageLoadingSpinner, PayPalValueProps };\n","var uniqueStr = () => {\n var rand = Math.random();\n var rand2 = Math.random();\n var now = Date.now();\n var randAdj = rand + Math.floor(rand2 * 10);\n return \"xorc-uid-\".concat(randAdj).concat(now).replace(/\\./g, 'n');\n};\n\nexport { uniqueStr };","// External\nimport { useCallback } from 'react';\nimport { useStoreState } from '@/store';\n\n// Internal\nimport { useStoreActions } from '@/store';\nimport { queryCheckoutSession } from '@/lib/graphql';\nimport { getToken } from '@/lib/globals';\nimport { features } from '@/lib/features';\nimport { logger } from '@/lib/logger';\nimport { noop } from '@/lib/utils/miscUtils';\nimport {\n getSelectedShippingMethod,\n getShippingAddress,\n getShippingCountry,\n mapAddressValues,\n} from '@/lib/utils/shipping';\nimport type {\n EmptyObject,\n MappedAddressValues,\n OnShippingChangeCallbackWrapper,\n OnShippingChangeWrapper,\n OnShippingChangeWrapperPayload,\n ShippingOption,\n} from '@/lib/utils/shipping/types';\nimport { SHIPPING_CALLBACK_ERROR_MAPPING } from '@/lib/utils/shipping/constants';\nimport {\n logonShippingAddressChangeReceivedToFPTI,\n logShippingOptionsChangeReceivedToFPTI,\n} from '@/lib/utils/shipping/fpti';\nimport { useShippingChangeCallback } from './useShippingChangeCallback';\nimport { conditionallyFetchConversionData } from '@/lib/graphql/operations/currencyConversion';\n\n/**\n * @NOTE\n * This is the hook that will be utilized by other components, such as\n * `Shipping`, and `Address`.\n *\n * {@link https://engineering.paypalcorp.com/confluence/pages/viewpage.action?pageId=853380692}\n */\nexport const useShippingChange = (): OnShippingChangeWrapper | typeof noop => {\n const cartId: string = getToken();\n const cartDetails = useStoreState(({ api }) => api.cartDetails);\n const shippingMethods = useStoreState(({ api }) => api.shippingMethods);\n\n const setCartData = useStoreActions(({ api }) => api.setCartData);\n const setPageLevelError = useStoreActions(({ ui }) => ui.setPageLevelError);\n const setShowLoadingSpinnerWithMessage = useStoreActions(\n ({ ui }) => ui.setShowLoadingSpinnerWithMessage,\n );\n const fiType = useStoreState(({ ui }) => ui.fiType);\n\n const isBankForm = fiType === 'bank' && features.isActive('hasAddBank');\n const isShippingCallbackV1Eligible: boolean = features.isActive(\n 'isShippingCallbackV1Eligible',\n );\n const { amounts } = cartDetails;\n\n const onShippingChangeCbWrapper: OnShippingChangeCallbackWrapper =\n // @ts-expect-error Fix cartDetails\n useShippingChangeCallback(cartId, amounts);\n\n const execute = useCallback(\n async (payload?: OnShippingChangeWrapperPayload): Promise => {\n // `isViaShippingOptionsChange` indicates whether or not the\n // shipping callback was invoked by a shipping option change.\n const { isViaShippingOptionsChange = false } = payload ?? {};\n const selectedShippingOption: ShippingOption | undefined =\n // @ts-expect-error Fix cartDetails\n getSelectedShippingMethod(shippingMethods);\n const logShippingChangeReceivedToFPTI = isViaShippingOptionsChange\n ? logShippingOptionsChangeReceivedToFPTI\n : logonShippingAddressChangeReceivedToFPTI;\n const spinnerMessage: string = isViaShippingOptionsChange\n ? 'spinner.fetchingDelivery'\n : 'spinner.fetchingShipping';\n let didCallbackFire = false;\n\n try {\n const shippingAddress = {\n ...getShippingAddress(),\n country: { value: getShippingCountry() },\n };\n const formattedShippingAddress: MappedAddressValues | EmptyObject =\n mapAddressValues(shippingAddress);\n\n // Fire onShippingChange callback\n didCallbackFire = Boolean(\n await onShippingChangeCbWrapper({\n formattedShippingAddress,\n isViaShippingOptionsChange,\n selectedShippingOption,\n setShowLoadingSpinnerWithMessage,\n spinnerMessage,\n }),\n );\n } catch (err: Error | unknown) {\n setShowLoadingSpinnerWithMessage(null);\n // Errors in this catch block means that the merchant\n // does not support the buyer's address.\n setPageLevelError('fieldErrors.shipping.addressReject');\n\n const errMsg = err instanceof Error ? err?.message : err;\n\n logShippingChangeReceivedToFPTI({\n errorDescription: errMsg,\n status: 'failure',\n });\n logger.error('on_shipping_change_callback_known_error', {\n error_description: errMsg,\n });\n window.scrollTo(0, 0);\n }\n\n try {\n // We only want to refetch the checkoutSession and the\n // currency conversion queries if callback has been run\n // to avoid UI latency.\n if (didCallbackFire) {\n // The checkoutSession and currency conversion queries\n // do NOT depend on each other; hence, invoking them\n // in parallel is fine.\n const [checkoutSessionData] = await Promise.all([\n queryCheckoutSession(),\n // There are two currency conversion queries:\n // 1. Credit card - for all countries\n // 2. Bank - as of now, only for `Germany` and `Japan`\n // The bank form component handles refetching the currency\n // conversion data; hence, we're returning a resolved promise.\n isBankForm\n ? Promise.resolve()\n : conditionallyFetchConversionData(null, true),\n ]);\n const { cart } = checkoutSessionData ?? {};\n const { amounts, items, shippingMethods } = cart ?? {};\n\n setCartData({\n cartAmount: amounts?.total,\n cartDetails: {\n ...cartDetails,\n // @ts-expect-error Fix cartDetails\n amounts,\n // @ts-expect-error Fix cartDetails\n items,\n },\n shippingMethods: shippingMethods ?? [],\n });\n logShippingChangeReceivedToFPTI({ status: 'success' });\n logger.info('on_shipping_change_callback_is_called', {\n isViaShippingOptionsChange,\n selectedShippingOption,\n });\n\n // Clear spinner and error message\n setShowLoadingSpinnerWithMessage(null);\n setPageLevelError('');\n }\n } catch (err: Error | unknown) {\n // Clear spinner\n setShowLoadingSpinnerWithMessage(null);\n const errMsg: string | unknown =\n err instanceof Error ? err?.message : err;\n // Handle generic error\n setPageLevelError(SHIPPING_CALLBACK_ERROR_MAPPING.DEFAULT);\n\n logShippingChangeReceivedToFPTI({\n errorDescription: SHIPPING_CALLBACK_ERROR_MAPPING.DEFAULT,\n status: 'failure',\n });\n logger.error('on_shipping_change_callback_generic_error', {\n error_description: errMsg,\n });\n window.scrollTo(0, 0);\n }\n },\n [onShippingChangeCbWrapper, shippingMethods, isBankForm],\n );\n\n if (!isShippingCallbackV1Eligible) {\n return noop;\n }\n\n return execute;\n};\n","// External\nimport { useCallback, useRef } from 'react';\n\n// Internal\nimport {\n addressAreEqual,\n buildAmountBreakdown,\n normalizeAddressForMerchant,\n normalizeShippingOption,\n} from '@/lib/utils/shipping';\nimport type {\n Breakdown,\n EmptyObject,\n OnShippingChange,\n OnShippingChangeCallbackWrapper,\n OnShippingChangeCallbackWrapperPayload,\n} from '@/lib/utils/shipping/types';\nimport { noop } from '@/lib/utils/miscUtils';\nimport { logger } from '@/lib/logger';\n\n/**\n * @NOTE\n * `useShippingChangeCallback` is a hook that wraps the `onShippingChange`\n * callback from the sdk. It can return:\n * true - the callback has run successfully\n * false - the callback was skipped\n */\nexport const useShippingChangeCallback = (\n cartId: string,\n amounts: Breakdown,\n): OnShippingChangeCallbackWrapper => {\n const onShippingChangeCb = window?.xprops?.onShippingChange as\n | OnShippingChange\n | undefined;\n const merchantShippingAddressRef = useRef<\n Weasley.Xprops.NormalizedAddressForMerchant | EmptyObject\n >({});\n\n const execute = useCallback(\n async (\n payload: OnShippingChangeCallbackWrapperPayload,\n ): Promise => {\n if (typeof onShippingChangeCb !== 'function' || !cartId) {\n logger.info('ON_SHIPPING_ADDRESS_CHANGE_CALLBACK_NOT_PROVIDED');\n return false;\n }\n\n const {\n formattedShippingAddress: shippingAddress,\n selectedShippingOption,\n isViaShippingOptionsChange,\n setShowLoadingSpinnerWithMessage,\n spinnerMessage,\n } = payload;\n const sanitizedSelectedShippingOption: Weasley.Xprops.NormalizedShippingOption | null =\n selectedShippingOption\n ? normalizeShippingOption(selectedShippingOption)\n : null;\n\n // This ref keeps track of the address used in the previous\n // run of the callback so that we don't try and run the\n // callback repeatedly for the same address.\n const shippingAddressForMerchant: Weasley.Xprops.NormalizedAddressForMerchant =\n normalizeAddressForMerchant(shippingAddress);\n\n const hasAddressChanged = !addressAreEqual(\n shippingAddressForMerchant,\n merchantShippingAddressRef.current,\n );\n\n // The `onShippingChange` can be invoked when the shipping address\n // or shipping options is updated. However, we don't need to apply\n // the address equality check when it's invoked by a shipping option\n // change.\n if (!hasAddressChanged && !isViaShippingOptionsChange) {\n return false;\n }\n\n const onShippingChangeParams: Weasley.Xprops.OnShippingChangeData = {\n amount: {\n breakdown: buildAmountBreakdown(amounts),\n currency_code: amounts?.total?.currencyCode,\n value: amounts?.total?.currencyValue,\n },\n appName: 'weasley',\n orderID: cartId,\n paymentToken: cartId,\n selected_shipping_option: sanitizedSelectedShippingOption,\n shipping_address: shippingAddressForMerchant,\n };\n\n // Update our current ref for the shipping address\n // we notified the merchant with.\n merchantShippingAddressRef.current = shippingAddressForMerchant;\n\n const actions: Weasley.Xprops.OnShippingChangeActions = {\n reject: () => {\n /**\n * Merchants who are using the old `onShippingChange` callback will\n * only reject the address without passing any errors. When merchants\n * call it, it means that the merchant does not support the shipping\n * address provided by the buyer.\n *\n * See {@link https://developer.paypal.com/sdk/js/reference/#link-onshippingchange}\n */\n const error: Error = new Error(\n \"Your order can't be shipped to this address.\",\n );\n return Promise.reject(error);\n },\n // Based on JS SDK docs, this function indicates to PayPal\n // that you do not need to make any changes to the buyer’s cart.\n // However, none of the other apps are using it including\n // `xoonboardingnodeweb`, so it's a noop function for now.\n resolve: noop,\n };\n\n try {\n setShowLoadingSpinnerWithMessage(spinnerMessage);\n\n // ****callback****\n await onShippingChangeCb?.(onShippingChangeParams, actions);\n return true;\n } catch (error: Error | unknown) {\n return Promise.reject(error);\n }\n },\n [cartId, amounts, merchantShippingAddressRef.current],\n );\n\n return execute;\n};\n","// External\nimport { useCallback, useRef } from 'react';\n\n// Internal\nimport {\n addressAreEqualV2,\n buildAmountBreakdownV2,\n normalizeAddressForMerchantV2,\n} from '@/lib/utils/shipping';\nimport type { CartAmounts, CartShippingMethod } from '@/generated/graphql';\nimport type {\n Breakdown,\n EmptyObject,\n MappedAddressValues,\n OnShippingAddressChangeActions,\n OnShippingAddressChangeData,\n} from '@/lib/utils/shipping/types';\n\ntype onShippingAddressChangeCallback =\n | ((\n payload: OnShippingAddressChangeData,\n actions: OnShippingAddressChangeActions,\n ) => void)\n | undefined;\ntype executeFunction = (\n shippingAddress: MappedAddressValues | EmptyObject,\n toggleLoadingSpinner: (spinner: string | null) => void,\n) => Promise;\n\nconst PATCH_OP = {\n add: 'add',\n replace: 'replace',\n};\n\n// TODO: Cleanup once shared shipping cb hooks are used\nexport const useShippingAddressChangeCallback = (\n cartId: string,\n shippingMethods: CartShippingMethod[],\n amounts: CartAmounts,\n): executeFunction | null => {\n const onShippingAddressChangeCb = window?.xprops\n ?.onShippingAddressChange as onShippingAddressChangeCallback;\n const merchantShippingAddressRef = useRef({});\n\n const execute = useCallback(\n async (shippingAddress, toggleLoadingSpinner) => {\n const shippingAddressForMerchant =\n normalizeAddressForMerchantV2(shippingAddress);\n\n const hasAddressChanged = !addressAreEqualV2(\n shippingAddressForMerchant,\n merchantShippingAddressRef.current,\n );\n\n if (!hasAddressChanged) {\n return false;\n }\n\n const { total } = amounts;\n\n const onShippingAddressChangeParams = {\n amount: {\n breakdown: buildAmountBreakdownV2(amounts as Breakdown),\n currencyCode: total?.currencyCode,\n value: total?.currencyValue,\n },\n event:\n shippingMethods && shippingMethods.length > 0\n ? PATCH_OP.replace\n : PATCH_OP.add,\n orderId: cartId,\n shippingAddress: shippingAddressForMerchant,\n };\n\n // Update our current ref for the\n //shipping address we notified the merchant with\n merchantShippingAddressRef.current = shippingAddressForMerchant;\n\n const actions = {\n reject: (errorMessage: string) => {\n /**\n * Validating error messages are happening on the sdk so\n * we just need to pass these values.\n *\n * {\n * \"Your order can't be shipped to this address.\": 'ADDRESS_ERROR',\n * \"Your order can't be shipped to this country.\": 'COUNTRY_ERROR',\n * \"Your order can't be shipped to this state.\": 'STATE_ERROR',\n * \"Your order can't be shipped to this zip.\": 'ZIP_ERROR',\n * };\n *\n */\n return Promise.reject(errorMessage);\n },\n };\n\n try {\n toggleLoadingSpinner('spinner.fetchingShipping');\n await onShippingAddressChangeCb?.(\n onShippingAddressChangeParams as unknown as OnShippingAddressChangeData,\n actions as unknown as OnShippingAddressChangeActions,\n );\n return true;\n } catch (error) {\n toggleLoadingSpinner(null);\n return Promise.reject(error);\n }\n },\n [cartId, amounts, merchantShippingAddressRef.current],\n );\n\n if (typeof onShippingAddressChangeCb !== 'function' || !cartId) {\n return null;\n }\n\n return execute;\n};\n","// External\nimport { useCallback } from 'react';\nimport { useStoreActions, useStoreState } from '@/store';\n\n// Internal\nimport { queryCheckoutSession } from '@/lib/graphql';\nimport { getToken } from '@/lib/globals';\nimport { features } from '@/lib/features';\nimport { logger } from '@/lib/logger';\nimport { noop } from '@/lib/utils/miscUtils';\nimport {\n getShippingAddress,\n getShippingCountry,\n mapAddressValues,\n} from '@/lib/utils/shipping';\nimport { SHIPPING_CALLBACK_ERROR_MAPPING } from '@/lib/utils/shipping/constants';\nimport { logonShippingAddressChangeReceivedToFPTI } from '@/lib/utils/shipping/fpti';\nimport { useShippingAddressChangeCallback } from './useShippingAddressChangeCallback';\nimport { conditionallyFetchConversionData } from '@/lib/graphql/operations/currencyConversion';\n\n/**\n * @NOTE\n * This is the hook that will be utilized by other components such as `Address`.\n *\n * {@link https://engineering.paypalcorp.com/confluence/pages/viewpage.action?pageId=853380692}\n */\nexport const useShippingAddressChange = () => {\n const cartId = getToken();\n const cartDetails = useStoreState(({ api }) => api.cartDetails);\n const shippingMethods = useStoreState(({ api }) => api.shippingMethods);\n\n const setCartData = useStoreActions(({ api }) => api.setCartData);\n const setPageLevelError = useStoreActions(({ ui }) => ui.setPageLevelError);\n const setShowLoadingSpinnerWithMessage = useStoreActions(\n ({ ui }) => ui.setShowLoadingSpinnerWithMessage,\n );\n const isShippingCallbacksV2Eligible = features.isActive(\n 'isShippingCallbacksV2Eligible',\n );\n const { amounts } = cartDetails;\n\n const onShippingAddressChange = useShippingAddressChangeCallback(\n cartId,\n shippingMethods,\n amounts,\n );\n\n const execute = useCallback(async () => {\n try {\n const shippingAddress = {\n ...getShippingAddress(),\n country: { value: getShippingCountry() },\n };\n const formattedShippingAddress = mapAddressValues(shippingAddress);\n // Fire onShippingAddressChange callback\n const didCallbackFire = await onShippingAddressChange(\n formattedShippingAddress,\n setShowLoadingSpinnerWithMessage,\n );\n\n if (didCallbackFire) {\n // The checkoutSession and currency conversion queries\n // do NOT depend on each other; hence, invoking them\n // in parallel is fine.\n const [checkoutSessionData] = await Promise.all([\n queryCheckoutSession(),\n conditionallyFetchConversionData(null, true),\n ]);\n const { cart } = checkoutSessionData ?? {};\n const { amounts, items, shippingMethods = [] } = cart ?? {};\n\n setCartData({\n cartAmount: amounts?.total,\n cartDetails: {\n ...cartDetails,\n amounts,\n items,\n },\n shippingMethods: shippingMethods,\n });\n\n setPageLevelError(''); // Clear error on success\n setShowLoadingSpinnerWithMessage(null);\n\n logonShippingAddressChangeReceivedToFPTI({ status: 'success' });\n logger.info('on_shipping_address_change_callback_is_called');\n }\n } catch (err) {\n setShowLoadingSpinnerWithMessage(null);\n const errMsg = typeof err === 'string' ? err : err?.message;\n const errorLookup = SHIPPING_CALLBACK_ERROR_MAPPING[errMsg];\n if (errorLookup) {\n logonShippingAddressChangeReceivedToFPTI({\n errorDescription: errorLookup,\n status: 'failure',\n });\n setPageLevelError(errorLookup);\n logger.error('on_shipping_address_change_callback_known_error', {\n error_description: errorLookup,\n });\n } else {\n logonShippingAddressChangeReceivedToFPTI({\n errorDescription: SHIPPING_CALLBACK_ERROR_MAPPING.DEFAULT,\n status: 'failure',\n });\n // Handle generic error\n setPageLevelError(SHIPPING_CALLBACK_ERROR_MAPPING.DEFAULT);\n logger.error('on_shipping_address_change_callback_generic_error', {\n error_description: errMsg,\n });\n }\n window.scrollTo(0, 0);\n }\n }, [onShippingAddressChange, shippingMethods]);\n\n if (!isShippingCallbacksV2Eligible) {\n return noop;\n }\n\n return execute;\n};\n","// Internal\nimport { features } from '@/lib/features';\nimport { noop } from '@/lib/utils/miscUtils';\n// @ts-expect-error untyped-import\nimport { useShippingAddressChange } from './v2';\nimport { useShippingChange } from './v1';\nimport type { OnShippingChangeWrapper } from '@/lib/utils/shipping/types';\nimport type { Noop } from '@/types';\n\n// Returns the appropriate shipping address callback based on the integration.\n// For info about the difference between `v1` and `v2`. See\n// https://github.paypal.com/Checkout-R/checkoutuinodeweb/blob/develop/apps/weasley/src/lib/features/resolvers.ts#L546-L563\n// OR\n// https://engineering.paypalcorp.com/confluence/pages/viewpage.action?pageId=853380692\nexport const useShippingAddressCallbacks = ():\n | OnShippingChangeWrapper\n | Noop => {\n // v2\n const onShippingAddressChange = useShippingAddressChange();\n // v1\n const onShippingChange = useShippingChange();\n\n // Order here is unimportant; v1 and v2 callbacks\n // can not be eligible at the same time.\n if (features.isActive('isShippingCallbackV1Eligible')) {\n return onShippingChange;\n }\n\n if (features.isActive('isShippingCallbacksV2Eligible')) {\n return onShippingAddressChange;\n }\n\n return noop;\n};\n","// Internal modules\nimport { logger } from '@/lib/logger';\n\nexport const logShippingMethodsShownToFPTI = selectedShippingOption => {\n logger.fpti('shipping_method_shown', {\n shipping_preference: selectedShippingOption.label,\n state_name: 'shipping',\n transition_name: 'prepare_shipping_methods_shown',\n });\n};\n\nexport const logMissingShippingMethodsToFPTI = () => {\n logger.fpti('missing_shipping_methods', {\n state_name: 'shipping',\n transition_name: 'prepare_missing_shipping_methods',\n });\n};\n\nexport const logFetchingShippingMethodsToFPTI = () => {\n logger.fpti('fetching_shipping_method', {\n state_name: 'shipping',\n transition_name: 'process_fetching_shipping_method',\n });\n};\n\nexport const logShippingMethodSelectedToFPTI = selectedShippingOption => {\n logger.fpti('shipping_method_selected', {\n shipping_preference: selectedShippingOption.label,\n state_name: 'shipping',\n transition_name: 'process_shipping_method_selected',\n });\n};\n\nexport const logShippingInsuranceSelectedToFPTI = () => {\n logger.fpti('shipping_insurance_selected', {\n state_name: 'shipping',\n transition_name: 'process_shipping_insurance_selected',\n });\n};\n\nexport const logShippingOptionSelectedToFPTI = (\n optionSource,\n optionSelected,\n hasInsurance,\n) => {\n logger.fpti('shipping_option_selected', {\n optsel: JSON.stringify({ hasInsurance, optionSelected }),\n state_name: `shipping_method_with_${optionSource}`,\n transition_name: 'process_shipping_method',\n });\n};\n","/**\n * @function formatGriffinAddressMeta\n * @param {object} address\n * @description Griffin address metadata uses the name `postcode`, but\n * xobuyernodeserv expects it to be named `postalCode`.\n */\nconst formatGriffinAddressMetadata = address => {\n const { layout = [], strings = {} } = address;\n\n /**\n * Why are we manipulating the layout?\n * POSTCODE: We get the name from xobuyernodeserv as 'postcode', but when we\n * send it back to xobuyernodeserv for the onboard call it need to be\n * postalCode\n * STATE: Griffin sends back the US regex and maxLength for the state field\n * for a number of non-US countries (e.g. CN/C2, IM, UM, etc). Because of\n * this, we won't set the pattern attr or the maxLength on the state\n * field. If we did then any non-US country that got the US states attrs\n * would fail validation.\n */\n address.layout = layout.map(item => {\n const { maxLength, name, regex } = item;\n const isState = name === 'state';\n const isPostalCode = name === 'postcode';\n\n return {\n ...item,\n maxLength: isState ? null : maxLength,\n name: isPostalCode ? 'postalCode' : name,\n regex: isState ? null : regex,\n };\n });\n\n // Need to match the manipulation of `'postcode'` above\n if (strings.hasOwnProperty('postcodeLabel')) {\n strings.postalCodeLabel = strings.postcodeLabel;\n delete strings.postcodeLabel;\n }\n\n // When we get the state name for prefilling the form it is in all caps,\n // so we need to have the values be in all caps to have it match\n if (strings.stateList) {\n strings.stateList = strings.stateList.map(({ displayText, value }) => ({\n displayText,\n value: value?.toUpperCase(),\n }));\n }\n\n return address;\n};\n\nexport { formatGriffinAddressMetadata };\n","// External libraries\n//@ts-expect-error untyped import\nimport { hasOwnProp } from '@checkout/react-components';\n//@ts-expect-error untyped import\nimport { PAYPAL as ULInject } from 'ul-inline/dist/inject';\n\n// Internal modules\nimport { logger } from '@/lib/logger';\nimport { getGlobals, getLocale } from '@/lib';\nimport { isFunction } from '@/lib/utils/typeUtils';\n\n/**\n * @function dropOneTouchCookie\n * @param {string} token Checkout token\n * @returns\n * @description injects an iframe from unified login onto the page in order\n * to exchange id_token for refresh_token in case of one touch\n */\n\nconst dropOneTouchCookie = (\n token: string,\n timeoutValue = 10 * 1000,\n): Promise => {\n return new Promise((resolve, reject) => {\n let timeoutPromise: NodeJS.Timeout;\n\n const startTimer = () => {\n timeoutPromise = setTimeout(() => {\n reject('one_touch_timeout');\n }, timeoutValue);\n };\n\n const failureHandler = (err: Event | string) => {\n clearTimeout(timeoutPromise);\n const message = typeof err === 'object' ? err?.message : err;\n reject(message || 'one_touch_error');\n };\n\n const ulEventHandlers = {\n oneTouchInterstitialOptInFailed: (err: Event | string) =>\n failureHandler(err),\n oneTouchInterstitialOptInNotAuthorized: (err: Event | string) => {\n // Removing the ulTarget element from DOM to avoid any other accidental\n // actions on the element\n document.getElementById('ulTarget')?.remove();\n failureHandler(err);\n },\n oneTouchInterstitialOptInSuccess: () => {\n clearTimeout(timeoutPromise);\n logger.info('one_touch_success');\n resolve();\n },\n\n // Don't do anything for these events - maybe we should just remove it\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n oneTouchInterstitialOptInAttempted: () => {}, // eslint-disable-line sort-keys\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n oneTouchInterstitialOptInLoaded: () => {},\n };\n\n type Event = {\n event: keyof typeof ulEventHandlers;\n message?: string;\n };\n\n type ResponseType = {\n data: Event;\n error: Event;\n };\n\n const postMessageHandler = (response: ResponseType): void => {\n logger.info('one_touch_post_response', response);\n const { event } = response.data || response.error;\n\n if (event && hasOwnProp(ulEventHandlers, event)) {\n const handler = ulEventHandlers[event];\n isFunction(handler) && handler(event);\n }\n };\n\n // Loads an iframe from unified login that drops the POMA cookie\n const ulTargetElement = document.createElement('div');\n ulTargetElement.setAttribute('id', 'ulTarget');\n\n // Hiding the iframe\n ulTargetElement.style.height = '0px';\n ulTargetElement.style.width = '0px';\n ulTargetElement.style.margin = '0px';\n ulTargetElement.style.padding = '0px';\n\n document.body.appendChild(ulTargetElement);\n\n const { country, locale } = getLocale();\n\n const options = {\n iframePathname: '/signin/activate-one-touch',\n onPostMessage: postMessageHandler,\n origin: getGlobals().uri.base,\n queryParams: {\n correlationId: getGlobals().correlationId,\n 'country.x': country,\n flowId: token,\n flowName: 'checkoutOnlyMember', // default is poma flow\n 'locale.x': locale,\n },\n targetElement: ulTargetElement,\n };\n\n // Timer is used to throw an error if we don't get a response from UL\n startTimer();\n ULInject.unifiedLogin.inject(options);\n });\n};\n\n/**\n * @function pomaLogout\n * @returns {Promise}\n * @description logouts for poma flow and resolves the promise with\n * `true` if it was a success or `false` if it wasn't\n */\nconst pomaLogout = (): Promise => {\n return fetch('/checkoutweb/poma-logout')\n .then(() => {\n logger.info('poma_logout_success');\n return true;\n })\n .catch(({ message }) => {\n logger.error('poma_logout_error', { message });\n return false;\n });\n};\n\ntype PomaToolTipRenderPositionProps = {\n questionButtonRef: React.RefObject;\n tooltipContentRef: React.RefObject;\n};\nconst getPomaTooltipRenderPosition = ({\n questionButtonRef,\n tooltipContentRef,\n}: PomaToolTipRenderPositionProps): {\n arrowRightPosition: number | undefined;\n tooltipMarginTop: number | undefined;\n} => {\n const tooltipHeightOffset = 60;\n const tooltipArrowOffset = 5;\n\n const questionIconElement = questionButtonRef?.current;\n const questionTooltipContentElement = tooltipContentRef?.current;\n\n let tooltipMarginTop, arrowRightPosition;\n\n if (questionTooltipContentElement) {\n tooltipMarginTop = -(\n questionTooltipContentElement?.offsetHeight + tooltipHeightOffset\n );\n }\n\n if (questionTooltipContentElement && questionIconElement) {\n arrowRightPosition =\n questionTooltipContentElement?.offsetWidth -\n questionIconElement?.offsetLeft +\n tooltipArrowOffset;\n }\n\n return { arrowRightPosition, tooltipMarginTop };\n};\n\nexport { dropOneTouchCookie, getPomaTooltipRenderPosition, pomaLogout };\n","import gql from 'graphql-tag';\n\nexport const WEASLEY_ELIGIBILITY_QUERY = gql`\n query WeasleyEligibility(\n $channel: String!\n $countryCodeAsString: String!\n $res: String!\n $token: String!\n ) {\n elmoExperimentWithRealTimeFilters(\n app: \"checkoutuinodeweb\"\n filters: [\n { key: \"Country\", value: $countryCodeAsString }\n { key: \"Channel\", value: $channel }\n ]\n realTimeFilters: [\n { key: \"IsJunoCachedFilters\", value: WEASLEY_ELIGIBILITY_FILTERS }\n ]\n res: $res\n token: $token\n ) {\n __typename\n treatments {\n __typename\n experimentId\n experimentName\n factors {\n __typename\n key\n value\n }\n treatmentId\n treatmentName\n }\n }\n }\n`;\n","export const WEASLEY_ELIGIBILITY_RESOURCE_OBJECT = [\n {\n filters: [\n { key: 'IsWpsFlow', value: false },\n { key: 'IsInvoiceFlow', value: false },\n ],\n operation: 'every',\n res: 'xo_lite_onboarding_ramp_phase_two',\n },\n {\n filters: [\n { key: 'IsWpsFlow', value: true },\n { key: 'IsInvoiceFlow', value: true },\n ],\n operation: 'some',\n res: 'wps_buynow_weasley',\n },\n];\n\n// Not reading res from above object, as elmo allows different values\n// in name and resource\nexport const WEASLEY_RAMP_ELMO_EXPERIMENT_NAMES = [\n 'wps_buynow_weasley',\n 'xo_lite_onboarding_ramp_phase_two',\n];\n","import { WEASLEY_ELIGIBILITY_QUERY } from './graphql/queries/weasleyEligibilityQuery.gql';\nimport { getGlobals, getLocale, getToken } from '../globals';\nimport { apolloClient } from '../apollo';\nimport { logger } from '../logger';\n\nimport {\n WEASLEY_ELIGIBILITY_RESOURCE_OBJECT,\n WEASLEY_RAMP_ELMO_EXPERIMENT_NAMES,\n} from './constants';\n\nexport const getWeasleyEligibility = async (): Promise<{\n eligible: boolean;\n}> => {\n const { device } = getGlobals();\n const { country } = getLocale();\n\n try {\n const eligibilityResponse = await apolloClient.query({\n query: WEASLEY_ELIGIBILITY_QUERY,\n variables: {\n channel: device?.channel,\n countryCodeAsString: country,\n res: JSON.stringify(WEASLEY_ELIGIBILITY_RESOURCE_OBJECT),\n token: getToken(),\n },\n });\n const { data } = eligibilityResponse;\n const { treatments = [] } = data.elmoExperimentWithRealTimeFilters || {};\n\n const matchingExperiment = treatments.find((treatment: any) =>\n WEASLEY_RAMP_ELMO_EXPERIMENT_NAMES.includes(treatment?.experimentName),\n );\n\n if (matchingExperiment) {\n // If it is Control then traffic is not weasley eligible\n const returnObject = {\n eligible: matchingExperiment.treatmentName.startsWith('Trmt_'),\n };\n logger.info('getWeasleyEligibility_response', returnObject);\n return returnObject;\n }\n // No elmo experiment in response means use case is not controlled by\n // by elmo, we can safely assume that it is ramped to 100% on weasley\n // NOTE: Phase One ramp has covered most happy path and ramped to 100%\n logger.info('getWeasleyEligibility_eligible_with_no_elmo_response');\n return { eligible: true };\n } catch (err: any) {\n const { message, stack } = err;\n logger.warn('getWeasleyEligibility_eligible_missing_elmo_response', {\n message,\n stack,\n });\n // Default any error scenario to weasley application as xoon is on path\n // to deprecation and we dont want to add tech debt by redirecting to xoon\n return { eligible: true };\n }\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\n\n// This spinner is a copy of loading spinner from index.html file\n// This spinner has inline styles already on index.html file\n// Purpose: This spinner is present always and we dont have to wait\n// for react-components LoadingSpinner component to be loaded\n// Bug: If we use LoadingSpinner from react-components in app.tsx/LazyBilling\n// or LazyLanding files, then react-components/LoadingSpinner has to be\n// preloaded and ready to render. So this is a fallback until all the\n// required components load, we show this default spinner\nexport const LoadingSpinnerFromIndexFile = (): JSX.Element => (\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n);\n","import styled from '@emotion/styled';\n\n/**\n * Visually hidden, used for screen reader only\n */\nexport const HiddenElementA11y = styled.span`\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n`;\n","import { css } from '@emotion/core';\n\nconst infoMessageContainerOverrides = css`\n padding: 16px;\n gap: 8px;\n background: #faf8f5;\n border-radius: 6px;\n margin-bottom: 12px;\n`;\n\nconst infoMessageOverrides = css`\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #001435;\n`;\n\nexport { infoMessageOverrides, infoMessageContainerOverrides };\n","/** @jsx jsx */\n// External Libraries\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport type { SerializedStyles } from '@emotion/core';\nimport { jsx } from '@emotion/core';\n// @ts-expect-error TODO: type or globally ignore react-components\nimport { PageInfoMessage } from '@checkout/react-components';\nimport { infoMessageContainerOverrides, infoMessageOverrides } from './styles';\nimport type { IconType } from '../Spots/Icons/types';\nimport { isFunction } from '@/lib/utils/typeUtils';\n\ninterface StyleOverrides {\n container?: SerializedStyles;\n icon?: SerializedStyles;\n message?: SerializedStyles;\n}\n\ninterface InfoMessagePropsWithoutIcon {\n message: ReactNode;\n testId: string;\n withoutIcon: true;\n styleOverrides?: StyleOverrides;\n logOnMount?: () => void;\n icon?: undefined | null;\n id?: string;\n}\n\ntype InfoMessagePropsWith = Omit<\n InfoMessagePropsWithoutIcon,\n 'withoutIcon' | 'icon'\n> & {\n icon: IconType;\n withoutIcon?: false;\n};\n\nexport const InfoMessage = ({\n icon,\n message,\n logOnMount,\n styleOverrides = {\n container: infoMessageContainerOverrides,\n message: infoMessageOverrides,\n },\n testId,\n withoutIcon,\n id,\n}: InfoMessagePropsWithoutIcon | InfoMessagePropsWith): JSX.Element => {\n useEffect(() => {\n if (isFunction(logOnMount)) {\n logOnMount();\n }\n }, []);\n\n return (\n \n );\n};\n","export const getTimeToInteract = (): number => {\n try {\n const entries = window.performance.getEntriesByType('navigation');\n // @ts-expect-error\n return Math.round(entries[0].domInteractive);\n } catch (err: any) {\n // hitting circular dependency to log anything here\n return 0;\n }\n};\n\nexport const getPageLoadTime = (): number => {\n const time = window?.performance?.timing;\n const loadEventEnd = time?.loadEventEnd || time?.loadEventStart;\n // send the difference only when time is available\n // tt - The whole process of navigation and page load\n return time ? loadEventEnd - time.navigationStart : 0;\n};\n\nexport interface CPLDeviceNetworkInfo {\n /** Approximate amount of device memory in gigabytes. */\n readonly device_memory?: number;\n /**\n * Approximate bandwidth of the client's connection to the server in Mbps\n */\n readonly network_downlink?: number;\n /** Maximum downlink speed in Mbps for the underlying connection. */\n readonly network_downlinkMax?: number;\n /**\n * determined using observed round-trip times and downlink values\n */\n readonly network_effectiveType?: 'slow-2g' | '2g' | '3g' | '4g';\n /** Approximate round trip time on the application layer, in mills. */\n readonly network_roundTripTime?: number;\n /** User has set a reduced data usage option on the user agent. */\n readonly network_saveData?: boolean;\n /** connection a device is using to communicate with the network. */\n readonly network_type?: unknown;\n /**\n * Interior height of the window in pixels,\n * including the height of the horizontal scroll bar, if present.\n */\n readonly screen_height?: number;\n /**\n * Interior width of the window in pixels.\n * This includes the width of the vertical scroll bar, if one is present.\n */\n readonly screen_width?: number;\n}\n\nexport const getDeviceAndNetworkInfo = (): CPLDeviceNetworkInfo => {\n // @ts-expect-error (experimental feature not in TS yet)\n const netInfo = window?.navigator?.connection;\n // Adding prefix's for 'network_', 'device_', 'screen_'\n return {\n // @ts-expect-error (experimental feature not in TS yet)\n device_memory: window?.navigator?.deviceMemory,\n network_downlink: netInfo?.downlink,\n network_downlinkMax: netInfo?.downlinkMax,\n network_effectiveType: netInfo?.effectiveType,\n network_roundTripTime: netInfo?.rtt,\n network_saveData: netInfo?.saveData,\n network_type: netInfo?.type,\n screen_height:\n window?.innerHeight || document?.documentElement?.clientHeight, // fallback to clientHeight to support ie, quirks\n screen_width: window?.innerWidth || document?.documentElement?.clientWidth, // fallback to clientWidth to support ie, quirks\n };\n};\n","// External libraries\nimport { css } from '@emotion/core';\n\n// Internal modules\nimport {\n BUTTON_FOCUSED_COLOR,\n FONT_SIZE_SMALL,\n FONT_WEIGHT_NORMAL_PP,\n HIGH_CONTRAST_TEXT_COLOR,\n PRIMARY_COLOR_V2,\n WARNING_COLOR,\n WARNING_MESSAGE_BACKGROUND_COLOR,\n WHITE_COLOR,\n} from '@/styles/styleVariables';\n\nconst logInButtonStyleOverrides = css`\n align-items: center;\n background-color: ${BUTTON_FOCUSED_COLOR};\n border-radius: 16px;\n color: ${WHITE_COLOR};\n display: flex;\n flex: none;\n flex-grow: 0;\n font-size: 14px;\n height: 32px;\n justify-content: center;\n min-width: 78px;\n order: 1;\n padding: 0 16px;\n width: auto;\n\n &:focus {\n background-color: ${BUTTON_FOCUSED_COLOR};\n border-color: ${PRIMARY_COLOR_V2};\n box-shadow:\n 0 0 0 0.125rem ${PRIMARY_COLOR_V2} inset,\n 0 0 0 0.375rem rgb(16 114 235 / 16%);\n text-decoration: none;\n }\n\n &:hover {\n background-color: ${PRIMARY_COLOR_V2};\n text-decoration: none;\n }\n`;\n\nconst nonBaslLinkStyles = css`\n color: ${HIGH_CONTRAST_TEXT_COLOR};\n font-size: ${FONT_SIZE_SMALL};\n font-weight: ${FONT_WEIGHT_NORMAL_PP};\n margin-bottom: 23.5px;\n text-align: center;\n\n a {\n font-weight: 700;\n }\n`;\n\nconst pageWarningContainerStyles = css`\n background-color: ${WARNING_MESSAGE_BACKGROUND_COLOR};\n border: 1px solid ${WARNING_COLOR};\n display: flex;\n margin-bottom: 15px;\n padding: 10px;\n`;\n\nconst BaslApplePayLinkStyles = css`\n margin-top: 23.5px;\n margin-bottom: 23.5px;\n text-align: center;\n font-weight: 400;\n font-size: 15px;\n color: #2b2e2f;\n`;\n\nexport {\n BaslApplePayLinkStyles,\n nonBaslLinkStyles,\n logInButtonStyleOverrides,\n pageWarningContainerStyles,\n};\n","// External libraries\nimport gql from 'graphql-tag';\nimport {\n CART_AMOUNTS_FRAGMENT,\n CART_ITEMS_FRAGMENT,\n CART_OVERCAPTURE_FRAGMENT,\n CART_SUBSCRIPTION_FRAGMENT,\n SHIPPING_METHODS_FRAGMENT,\n} from '@/lib/graphql';\n\nexport const CHECKOUT_SESSION_DATA_QUERY = gql`\n query CheckoutSessionDataQuery($token: String!) {\n checkoutSession(token: $token) {\n allowedCardIssuers\n\n cart {\n soldoutUrl\n showSoldoutPage\n ...CartAmounts\n\n ...CartItems\n\n ...CartOvercapture\n\n ...SubscriptionDetails\n\n billingAddress {\n city\n country\n line1\n line2\n postalCode\n state\n formattedFullAddress\n }\n\n cancelUrl {\n href\n }\n\n description\n\n email {\n stringValue\n }\n\n intent\n\n noteToBuyer\n\n payer {\n name {\n familyName\n givenName\n }\n }\n\n formattedPhoneNumber(shouldValidate: true, useInternationalFormat: true)\n phoneNumber(shouldValidate: true, stripDialingCode: true)\n\n shippingAddress {\n city\n country\n firstName\n isStoreAddress\n lastName\n line1\n line2\n postalCode\n state\n formattedFullAddress\n }\n\n ...ShippingMethods\n }\n\n checkoutSessionType\n\n merchant {\n country\n merchantId\n name\n }\n }\n }\n\n ${CART_OVERCAPTURE_FRAGMENT}\n ${CART_AMOUNTS_FRAGMENT}\n ${CART_ITEMS_FRAGMENT}\n ${CART_SUBSCRIPTION_FRAGMENT}\n ${SHIPPING_METHODS_FRAGMENT}\n`;\n","// Internal modules\nimport { fraudNet } from '@paypalcorp/c3-init-fraudnet';\nimport { appStore } from '@/store';\nimport { apolloClient, apolloQuery } from '@/lib/apollo';\nimport { getGlobals, getLocale, getToken } from '@/lib/globals';\nimport { CHECKOUT_SESSION_DATA_QUERY } from './graphql';\nimport { GRIFFIN_METADATA_QUERY } from '@/lib/graphql';\nimport {\n conditionallyUpdateShippingCountry,\n mapGriffinMetadata,\n prefillFormFields,\n} from './utils';\nimport {\n getAddressMetaKey,\n getFraudNetConfig,\n handleApiError,\n logger,\n parseGqlError,\n TRANSACTION_DETAILS_PAYLOAD,\n validateGraphQLResponse,\n} from '@/lib';\n\nconst initFraudNet = prefilledFields => {\n // Wrapping this in a try/catch because in the past we have seen occasional\n // errors with FraudNet being initialized which was blowing up the app\n try {\n const fraudNetConfig = getFraudNetConfig(prefilledFields);\n\n // `fraudNet()` is located in checkoutuinodeweb/shared directory\n fraudNet(fraudNetConfig);\n logger.info('weasley_fraud_net_init', fraudNetConfig);\n } catch (e) {\n logger.warn('weasley_fraud_net_init_failure', { message: e?.message });\n }\n};\n\nconst fetchCheckoutSessionData = async queryOptions => {\n const token = getToken();\n const response = await apolloQuery({\n query: CHECKOUT_SESSION_DATA_QUERY,\n variables: { token },\n ...queryOptions,\n });\n\n /**\n * @TO_DO @TECH_DEBT\n * Temporarily leaving this check until we refactor our error handling\n */\n validateGraphQLResponse(\n response,\n 'initial_session_data',\n 'INITIAL_DATA_ERROR',\n );\n\n return response;\n};\n\nconst fetchLocaleMetadata = (queryOptions, shippingCountryCode) => {\n const { country: countryCode, language: languageCode } = getLocale();\n\n return apolloClient\n .query({\n query: GRIFFIN_METADATA_QUERY,\n variables: { countryCode, languageCode, shippingCountryCode },\n ...queryOptions,\n })\n .then(response => {\n /**\n * @TO_DO @TECH_DEBT\n * Temporarily leaving this check until we refactor our error handling\n */\n validateGraphQLResponse(\n response,\n 'initial_griffin_data',\n 'INITIAL_DATA_ERROR',\n );\n\n return response;\n });\n};\n\nconst cacheInitialDataInReduxStore = ({\n checkoutSessionResponse,\n localeMetadataResponse,\n shippingCountryCode,\n}) => {\n const { localeMetadata: rawLocaleMetadata } = localeMetadataResponse.data;\n const { checkoutSession } = checkoutSessionResponse.data;\n const localeMetadata = mapGriffinMetadata(\n rawLocaleMetadata,\n shippingCountryCode,\n );\n const addressMeta = localeMetadata.address[getAddressMetaKey()];\n const shippingAddressMeta =\n localeMetadata.address[getAddressMetaKey(shippingCountryCode)];\n const { cart = {}, merchant = {} } = checkoutSession || {};\n const { total: cartAmount = {} } = cart?.amounts || {};\n const { amounts, description, intent, items, noteToBuyer } = cart;\n const cartDetails = {\n amounts,\n description,\n intent,\n items,\n merchant,\n noteToBuyer,\n };\n\n appStore.getActions().api.setGriffinMetadata(localeMetadata);\n\n // If it is a non-domestic transaction and the shipping country is\n // restricted to the merchant country, we update ship to billing to\n // `false` so the shipping fields will be shown\n conditionallyUpdateShippingCountry(merchant);\n\n // Actions to update the users information with the data passed\n // from the merchant\n prefillFormFields({\n addressMeta,\n cart,\n merchant,\n phoneMeta: localeMetadata.phoneMeta,\n shippingAddressMeta,\n });\n\n const { api: apiActions } = appStore.getActions();\n const prefilledAddressFields = Object.entries(cart.shippingAddress || {})\n .filter(([key, value]) => value && key !== 'isStoreAddress')\n .map(([key]) => key);\n\n apiActions.setPrefillAddressMetadata({\n hasPrefillAddress: Boolean(prefilledAddressFields.length),\n });\n apiActions.setCartData({\n allowedCardTypes: checkoutSession?.allowedCardIssuers || [],\n cancelUrl: cart.cancelUrl?.href || '',\n cartAmount,\n cartDetails,\n isShipToStore: Boolean(cart.shippingAddress?.isStoreAddress),\n shippingMethods: cart.shippingMethods || [],\n });\n apiActions.setMerchantId(checkoutSession?.merchant?.merchantId);\n};\n\nconst fetchInitialData = () => {\n // For tracking total page load times\n logger.fptiTrackPageLoad.registerItem('initialData');\n logger.info('weasley_initial_data_call');\n const { ui: uiActions } = appStore.getActions();\n\n const { country: countryCode } = getLocale();\n const shippingCountryCode =\n getGlobals().initialGqlData?.checkoutSession?.cart?.shippingAddress\n ?.country ?? countryCode;\n\n return Promise.all([\n fetchLocaleMetadata({}, shippingCountryCode),\n fetchCheckoutSessionData(),\n ])\n .then(([localeMetadataResponse, checkoutSessionResponse]) => {\n cacheInitialDataInReduxStore({\n checkoutSessionResponse,\n localeMetadataResponse,\n shippingCountryCode,\n });\n uiActions.setIsReduxStoreHydrated(true);\n\n const { checkoutSession } = checkoutSessionResponse.data;\n const { cart } = checkoutSession;\n\n // We need to pass fields that are prefilled so FraudNet will ignore them.\n // If we don't do this FraudNet might tag them as being programmatically\n // entered and therefore potentially suspicious.\n const prefilledAddressFields = Object.entries(cart.shippingAddress || {})\n .filter(([key, value]) => value && key !== 'isStoreAddress')\n .map(([key]) => key);\n const prefilledNonAddressFields = [\n cart.email && 'email',\n cart.phoneNumber && 'phone',\n ].filter(f => f);\n\n logger.fptiTrackPageLoad.handleItemLoaded('initialData');\n\n const payload = TRANSACTION_DETAILS_PAYLOAD(checkoutSession);\n logger.fpti('weasley_transaction_details', payload);\n initFraudNet([...prefilledAddressFields, ...prefilledNonAddressFields]);\n\n logger.flush();\n })\n .catch(err => {\n const { error, message } = parseGqlError(err);\n\n logger.error('initial_data_err', {\n message,\n ...(err?.stack && { stack: err.stack }),\n });\n handleApiError(error);\n });\n};\n\nexport {\n cacheInitialDataInReduxStore,\n fetchCheckoutSessionData,\n fetchLocaleMetadata,\n fetchInitialData,\n};\n","import type { FraudParameters, InitFraudNet } from './types';\n\n/**\n * fraudNet\n *\n * initializes FraudNet v2.1 for client app by writing to document body\n * with your app's set configuration\n *\n * @param userToken the EC/PAY/BA token of the end user\n * @param sourceId the unique source Id of your app to be registered\n * for lite apps we recommend a namespace fo CHECKOUTUINODEWEB_\n * i.e. CHECKOUTUINODEWEB_MEMBER_LITE\n * @param endpoint the endpoint that your app will post FraudNet payloads to\n * @param typingSpeed Enables and configures telemetry for input fields\n */\nexport const fraudNet = ({\n addCrossOrigin = true,\n endpoint,\n sourceId,\n typingSpeed,\n userToken,\n}: InitFraudNet) => {\n /**\n * There have been occurrences of the `removeChild()` call throwing:\n * NotFoundError: Failed to execute 'removeChild' on 'Node': The\n * node to be removed is not a child of this node.\n */\n const existingConfig = document.getElementById('fconfig');\n if (existingConfig) {\n try {\n // reset fraudnet if somehow initialized beforehand\n if (existingConfig.parentElement) {\n existingConfig.parentElement.removeChild(existingConfig);\n }\n } catch (e) {\n // Change the id so that fraudnet won't use this config. The config should\n // be static on a token basis but if an error is being thrown by trying to\n // remove the element we'll update the reset the config just to be safe.\n existingConfig.id = 'stale_fconfig';\n }\n }\n\n // See `Configuration parameters` section\n // https://engineering.paypalcorp.com/confluence/display/RiskDataAcquisition/FraudNet+v2.x+SDK+Developer+Guide\n const configuration: FraudParameters = {\n f: userToken,\n s: sourceId,\n };\n\n if (typingSpeed) {\n configuration.ts = typingSpeed;\n }\n\n // this HAS to be done before loading fraudnet as fraudnet relies on the\n // fconfig block to properly intialize\n const fconfig: HTMLScriptElement = document.createElement('script');\n fconfig.id = 'fconfig';\n fconfig.type = 'application/json';\n // these values are provided by the FraudNet team and hard coded purposely\n fconfig.setAttribute('fncls', 'fnparams-dede7cc5-15fd-4c75-a9f4-36c430ee3a99');\n fconfig.text = JSON.stringify(configuration);\n document.body.appendChild(fconfig);\n\n const fraudnet: HTMLScriptElement = document.createElement('script');\n fraudnet.async = true; // async load fraudnet lib\n fraudnet.src = endpoint;\n\n // CORS headers are present only in production\n // so on localhost / stage script won't be loaded with \"crossOrigin\" attribute\n if (addCrossOrigin) {\n fraudnet.crossOrigin = 'anonymous';\n }\n\n document.body.appendChild(fraudnet);\n};\n","// External libraries\nimport {\n genericValidationFn,\n getMaskedPhoneNumber,\n validatePhone,\n} from '@checkout/react-components';\n\n// Internal modules\nimport { appStore } from '@/store';\nimport { logger } from '@/lib/logger';\nimport { getLocale } from '@/lib/globals';\nimport { features } from '@/lib/features';\nimport { redirectToGenericError } from '@/lib/utils/redirects';\n\nconst conditionallyUpdateShippingCountry = ({ country: merchantCountry }) => {\n const isDomesticShippingOnly = features.isActive('blockNonDomesticShipping');\n const buyerCountry = getLocale().country;\n const isNonDomesticTransaction =\n merchantCountry && merchantCountry !== buyerCountry;\n\n // If it is a domestic transaction or the merchant offers international\n // shipping then we do not need to update the shipping country\n if (!isNonDomesticTransaction || !isDomesticShippingOnly) {\n return;\n }\n\n logger.info('weasley_non_domestic_transaction_with_restricted_shipping', {\n buyerCountry,\n merchantCountry,\n });\n\n // Fetch address metadata for merchant country\n import('@/components/Address/api')\n .then(addressApi => {\n addressApi.fetchAddressMetadata(merchantCountry);\n })\n .catch(({ message }) => {\n logger.error('weasley_error_loading_address_api_file', { message });\n redirectToGenericError();\n });\n\n const { form: formActions } = appStore.getActions();\n formActions.updateShipToBilling(false);\n formActions.updateAddressField({\n addressType: 'shippingAddress',\n field: 'country',\n payload: { value: merchantCountry },\n });\n};\n\n/**\n * @function filterTerritories\n * @description Handles filtering logic for the data returned from the Griffin\n * metadata query. The filtering is currently only used to remove RU/TR from the\n * country dropdown list.\n */\nconst filterTerritories = territories => {\n if (!Array.isArray(territories)) {\n return territories;\n }\n const shouldExcludeGibraltar = features.isActive(\n 'shouldDisableSignupForGibraltar',\n );\n\n return territories.filter(\n ({ code }) =>\n code !== 'RU' &&\n code !== 'TR' &&\n (shouldExcludeGibraltar ? code !== 'GI' : true),\n );\n};\n\n/**\n * @function getBillingNameFromCart\n * @param {object} payer\n * @param {object} shippingAddress\n * @returns {object} { firstName, lastName }\n */\nconst getBillingNameFromCart = ({ payer, shippingAddress }) => {\n const { familyName, givenName } = payer?.name || {};\n if (givenName || familyName) {\n return {\n firstName: givenName,\n lastName: familyName,\n };\n }\n\n const { firstName, isStoreAddress, lastName } = shippingAddress || {};\n // If the shipping address is a store address then we don't want to\n // pre-fill the billing name fields with the store name\n if (isStoreAddress) {\n return {};\n }\n\n return { firstName, lastName };\n};\n\n/**\n * @function getPhoneValidator\n * @param {object} phoneMeta { mask | pattern }\n * @returns {function}\n * @description Generates a function that takes a string value\n * for a phone number and returns a validation object.\n */\nconst getPhoneValidator = ({ mask, pattern }) => {\n return value => {\n const props = {\n maxLength: mask?.length,\n minLength: mask?.length,\n pattern,\n required: true,\n };\n const maskedValue = getMaskedPhoneNumber(value, mask);\n return validatePhone(value, { maskedValue, props });\n };\n};\n\n/**\n * @function validateEmail\n * @param {string} value\n * @returns {object}\n */\nconst validateEmail = value => {\n const props = { required: true, type: 'email' };\n return genericValidationFn(value, { props });\n};\n\nexport {\n conditionallyUpdateShippingCountry,\n filterTerritories,\n getBillingNameFromCart,\n getPhoneValidator,\n validateEmail,\n};\n","// External libraries\nimport { validateName } from '@checkout/react-components';\n\n// Internal modules\nimport { appStore } from '@/store';\nimport { logger } from '@/lib/logger';\nimport { features } from '@/lib/features';\nimport { filterObject } from '@/lib/utils/miscUtils';\nimport { validateAddressFields } from '../../Address/utils';\nimport {\n getBillingNameFromCart,\n getPhoneValidator,\n validateEmail,\n} from './miscUtils';\n\nconst getPrefillPayloadForField = (value, validationFn) => {\n const { isValid, errors } = validationFn(value);\n\n return {\n errorCode: errors[0] || '',\n isValid,\n value,\n };\n};\n\n/**\n * @function prefillNonAddressFields\n * @param {object} data\n */\nconst prefillNonAddressFields = ({ cart, phoneMeta }) => {\n const { email, phoneNumber } = cart;\n const { form: formState } = appStore.getState();\n const validatePhoneNumber = getPhoneValidator(phoneMeta);\n const { firstName, lastName } = getBillingNameFromCart(cart);\n\n const actions = [\n { field: 'email', validator: validateEmail, value: email?.stringValue },\n { field: 'firstName', validator: validateName, value: firstName },\n { field: 'lastName', validator: validateName, value: lastName },\n { field: 'phone', validator: validatePhoneNumber, value: phoneNumber },\n ];\n\n const prefillActions = actions.filter(({ field, value }) => {\n const currentStoreValue = formState[field].value;\n // If the value is not passed or the user has already entered\n // a value into the field then we will not prefill it.\n return Boolean(value) && !currentStoreValue;\n });\n\n const { form: formActions } = appStore.getActions();\n prefillActions.forEach(({ field, validator, value }) => {\n formActions.updateNonAddressField({\n field,\n payload: getPrefillPayloadForField(value, validator),\n });\n });\n\n if (prefillActions.length) {\n logger.info('weasley_prefill_form_actions', {\n actions: prefillActions.map(({ field }) => field),\n });\n }\n};\n\n/**\n * @param prefillAddressFields\n * @param {object} { addressMeta, shippingAddress }\n * @description Prefill address fields with data sent from merchant\n */\nconst prefillAddressFields = ({ addressMeta, cart }) => {\n const { form: formState } = appStore.getState();\n const { form: formActions } = appStore.getActions();\n\n // 1. Filter out `null` and empty strings as well as fields that the user\n // has already started to fill out.\n // 2. filter _typename key from both billing and shipping address objects,\n // so that length will be zero and do early return when address is\n // null and no need to update the store.\n // {\"__typename\":\"CartAddress\"} - for billing\n // {\"__typename\":\"CartShippingAddress\"} - for shipping\n const billingAddress = filterObject(\n cart.billingAddress,\n ([key, value]) =>\n key !== '__typename' && !formState.billingAddress?.[key]?.value && value,\n );\n const shippingAddress = filterObject(\n cart.shippingAddress,\n ([key, value]) =>\n key !== '__typename' && !formState.shippingAddress?.[key]?.value && value,\n );\n const isAddressless = features.isActive('isAddressless');\n const shouldPrefillBilling = Boolean(Object.keys(billingAddress).length);\n const shouldPrefillShipping = Boolean(Object.keys(shippingAddress).length);\n\n // Early return if don't need to prefill any fields\n if ((!shouldPrefillBilling || isAddressless) && !shouldPrefillShipping) {\n logger.info('no_prefill_required', {\n isAddressless,\n shouldPrefillBilling,\n shouldPrefillShipping,\n });\n return;\n }\n\n /**\n * 1. If we are in an address-less flow we won't be showing the address\n * fields. In this case we will not be sending the billing address on\n * form submission so we don't need to update it in the store.\n * 2. If the billing address was not sent by the merchant and shipping\n * address is a store address (ship to store) then we do not prefill the\n * billing address.\n */\n const { isStoreAddress } = cart?.shippingAddress || {};\n if (!isAddressless && (shouldPrefillBilling || !isStoreAddress)) {\n // Merchants occasionally pass the postal code with leading/trailing\n // whitespace. We need to trim this whitespace because it won’t pass client\n // side validation which in turn will block form submission.\n if (billingAddress.hasOwnProperty('postalCode')) {\n billingAddress.postalCode = billingAddress.postalCode?.trim();\n }\n formActions.updateAllAddressFieldsUsingMerchantPrefilledData({\n addressType: 'billingAddress',\n isBatchUpdate: true,\n payload: getPrefillAddressPayload(\n shouldPrefillBilling ? billingAddress : shippingAddress,\n addressMeta,\n ),\n });\n\n logger.info('prefill_billing_address', {\n isStoreAddress: cart.isStoreAddress,\n shouldPrefillBilling,\n shouldPrefillShipping,\n });\n }\n\n if (shouldPrefillShipping) {\n // If the shipping address is a store address then we do not want the\n // shipt to billing checkbox checked.\n if (isStoreAddress) {\n formActions.updateShipToBilling(false);\n }\n\n // Merchants occasionally pass the postal code with leading/trailing\n // whitespace. We need to trim this whitespace because it won’t pass client\n // side validation which in turn will block form submission.\n if (shippingAddress.hasOwnProperty('postalCode')) {\n shippingAddress.postalCode = shippingAddress.postalCode?.trim();\n }\n\n // The shipping address also has a first and last name\n // that need to be validated\n const shippingPayload = ['firstName', 'lastName'].reduce(\n (accum, field) => {\n const value = shippingAddress[field];\n if (value) {\n accum[field] = getPrefillPayloadForField(value, validateName);\n }\n return accum;\n },\n getPrefillAddressPayload(shippingAddress, addressMeta),\n );\n\n formActions.updateAllAddressFieldsUsingMerchantPrefilledData({\n addressType: 'shippingAddress',\n isBatchUpdate: true,\n payload: shippingPayload,\n });\n\n logger.info('prefill_shipping_address');\n }\n};\n\n/**\n * @param prefillFormFields\n * @param {object} { cart, addressMeta }\n * @description Prefills user info with data sent from merchant\n */\nconst prefillFormFields = ({ addressMeta, cart, phoneMeta }) => {\n prefillAddressFields({ addressMeta, cart });\n prefillNonAddressFields({ cart, phoneMeta });\n};\n\nconst getPrefillAddressPayload = (address, addressMeta) => {\n const validatedAddress = validateAddressFields({\n address,\n addressMeta,\n shouldUpdateValue: true,\n });\n\n return Object.entries(validatedAddress).reduce(\n (accum, [key, data]) => ({\n ...accum,\n ...(data.value && { [key]: data }),\n }),\n {},\n );\n};\n\nexport { prefillAddressFields, prefillFormFields, prefillNonAddressFields };\n","// Internal modules\nimport { getLocale } from '@/lib/globals';\nimport { getAddressMetaKey } from '@/lib/utils/miscUtils';\nimport { formatGriffinAddressMetadata } from '@/lib/utils/responseMappers';\nimport { filterTerritories } from './miscUtils';\n\nconst NORTH_AMERICA = ['CA', 'US'];\nconst getTerritoryRegion = ({ code, region }) => {\n return region === 'LATAM' || NORTH_AMERICA.includes(code)\n ? 'AMERICAS'\n : region;\n};\n\nconst mapGriffinMetadata = localeMetadata => {\n const { currencyCode, phone } = localeMetadata;\n const { masks, patterns } = phone;\n const { default: pattern } = patterns;\n const { country } = getLocale();\n const addressKey = getAddressMetaKey();\n const address = localeMetadata.address\n ? { [addressKey]: formatGriffinAddressMetadata(localeMetadata.address) }\n : {};\n\n const filteredTerritories = filterTerritories(localeMetadata.territories);\n\n return {\n address,\n currencyCode,\n dateMeta: localeMetadata.date,\n phoneMeta: {\n mask: masks.mobile,\n // ⬇ Getting rid of ^ at index 0 and $ at last index\n pattern: pattern.substring(1, pattern.length - 1),\n },\n ...mapTerritories(filteredTerritories, country),\n };\n};\n\n/**\n * @function mapTerritories\n * @param {array} territories\n * @param {string} countryCode\n * @returns {object}\n * @description Maps the response from `localeMetadata.territories`\n */\nconst mapTerritories = territories => {\n const { locale } = getLocale();\n const defaultTerritories = {\n dialingCodeSelectOptions: [],\n territories: { [locale]: [] },\n territoriesByRegion: {\n [locale]: {\n AMERICAS: [],\n APAC: [],\n EMEA: [],\n },\n },\n territoriesToDialingCodeMap: {},\n };\n\n if (!Array.isArray(territories)) {\n return defaultTerritories;\n }\n\n return territories.reduce((accum, territory) => {\n const { code, internationalDialingCode, name } = territory;\n\n // dialingCodeSelectOptions\n accum.dialingCodeSelectOptions.push({\n key: code,\n text: `${name} +${internationalDialingCode}`,\n value: code,\n });\n\n // territories\n accum.territories[locale].push({ key: code, text: name, value: code });\n\n // territoriesToDialingCodeMap\n accum.territoriesToDialingCodeMap[code] = `${internationalDialingCode}`;\n\n // territoriesByRegion\n const region = getTerritoryRegion(territory);\n accum.territoriesByRegion[locale][region].push(territory);\n\n return accum;\n }, defaultTerritories);\n};\n\nexport { mapGriffinMetadata, mapTerritories };\n","import type { Feature } from '@paypalcorp/c3-graphql-schema';\nimport type ApolloClient from 'apollo-client';\nimport type { SharedGlobals, GlobalUser, GlobalAuth } from './types';\n\n/**\n * These values represent the `__INITIAL_DATA__` payload provided by the server, and is\n * used by all client apps for hydration. Do not update values here without taking\n * into consideration updating the server supplied payload in InitialData.js.\n *\n * To use this file, import from your client app:\n * `import * as globals from '@paypalcorp/c3-shared-globals';`\n */\n\nconst checkWindow = (): boolean => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const check = window;\n return true;\n } catch (e) {\n return false;\n }\n};\n\nlet globals: Partial = Object.assign(\n {\n fundingSource: null,\n user: {\n ecToken: null,\n email: null,\n firstName: null,\n lastName: null,\n auth: {\n state: null,\n type: null,\n access_token: null,\n claims: [],\n },\n },\n locality: {\n country: 'US',\n language: 'en',\n directionality: 'ltr',\n },\n geo: {\n // point to these urls by default\n domain: 'paypal.com',\n cdnHostName: 'www.paypalobjects.com',\n stagingHostName: 'msmaster.qa.paypal.com',\n },\n uri: {\n queryEndpoint: null,\n loggerEndpoint: null,\n fallbackEndpoint: null,\n authchallengeEndpoint: null,\n },\n useraction: null,\n fallback: {\n endpoint: null,\n redirectOnError: null,\n },\n isInternalRequest: null,\n widgetBundleUrls: {\n cap: {\n capBaseUri: 'https://www.paypalobjects.com/cap-assets/', // Point to prod by default\n },\n },\n deployEnv: {},\n features: {},\n experiments: {},\n isLinkAndPay: false,\n isScaRegion: false,\n mockedMode: false,\n northstar: false,\n redirectedToAuth: false,\n commonWebFlows: {\n returnParams: {},\n },\n cookielessQueryParams: null,\n credit: {\n productIdentifier: null,\n offerToken: null,\n newUser: false,\n isCreditSecondButton: false,\n },\n isV3: false,\n },\n checkWindow() ? window.__INITIAL_DATA__ || {} : {}\n);\n\nexport const initGlobals = () => {\n // remove initial data in production from the global window object / DOM\n // so initial data is not easily accessible, especially such stuff as access_token and other user info\n // Have to use `parentNode.removeChild` for IE11 compatibility.\n if (process.env.NODE_ENV === 'production') {\n delete window.__INITIAL_DATA__;\n const dataScript = document.getElementById('initial-data-script');\n if (dataScript && dataScript.parentNode) {\n dataScript.parentNode.removeChild(dataScript);\n }\n }\n return globals;\n};\n\nexport const updateGlobals = (updatedGlobals: Partial): Partial => {\n if (updatedGlobals) {\n globals = Object.assign(globals, updatedGlobals);\n }\n return globals;\n};\n\nexport const isTesting: boolean = process.env.NODE_ENV?.toLowerCase() === 'test';\nexport const getGlobals = () => globals;\nexport const getWidgetBundleUrls = () => globals.widgetBundleUrls || {};\nexport const getUser = (): Partial => globals.user || {};\nexport const getUserFullName = (): string => `${getUser().firstName} ${getUser().lastName}`;\nexport const getToken = (): string | undefined | null => getUser()?.ecToken;\nexport const getAuth = (): GlobalAuth | undefined => getUser()?.auth || {};\nexport const getAccessToken = () => getAuth()?.access_token || '';\nexport const getAuthState = () => getAuth()?.state;\nexport const getClaims = () => getAuth()?.claims || [];\nexport const getCountry = () => globals.locality?.country;\nexport const getLocale = () => globals.locality?.language;\nexport const getDirectionality = () => globals.locality?.directionality;\nexport const getFallback = () => globals.fallback || ({} as Record);\nexport const getUserAction = () => (window?.xprops?.commit ? 'commit' : globals.useraction);\nexport const getFeatures = () => globals.features;\nexport const getExperiments = (): Record> =>\n globals.experiments ?? {}; // get elmo experiments from init data\nexport const getIsInternalRequest = () => getGlobals().isInternalRequest || isTesting;\nexport const getIsLinkAndPay = () => globals.isLinkAndPay;\nexport const getIsScaRegion = () => globals.isScaRegion;\nexport const getIsMockedMode = () => globals.mockedMode;\nexport const getIsNorthstar = () => globals.northstar;\nexport const getCredit = () => globals.credit;\nexport const getFundingSource = () => globals.fundingSource;\nexport const getCommonWebFlows = () => globals.commonWebFlows;\nexport const getCookielessQueryParams = () => {\n return globals.cookielessQueryParams;\n};\nexport const getIsV3Global = () => globals.isV3;\n\nlet _client: ApolloClient;\n\nexport function getClient(): ApolloClient {\n if (!_client) {\n throw new Error('ApolloClient not initialized');\n }\n return _client;\n}\n\nexport function setClient(client: ApolloClient): void {\n _client = client;\n}\n\n/**\n * Return if a feature exists in the feature flag list\n * @param feature the feature flag\n * @returns true if feature flag exists in list\n */\nexport const hasFeature = (feature: string): Feature | undefined => globals.features?.[feature];\n\nexport const getServerGqlData = (): any => globals.serverGqlData;\nexport const setServerGqlData = (serverGqlData: unknown) => updateGlobals({ serverGqlData });\nexport const getPayPalDomain = () => globals.geo?.domain;\nexport const getCdnHostName = () => globals.geo?.cdnHostName;\nexport const getStagingHostName = () => globals.geo?.stagingHostName;\n","export enum Status {\n /** Success */\n Success = 'SUCCESS',\n /** Failure */\n Failed = 'FAILED',\n}\n","/**\n * Utility methods needed for health checks\n */\n\ntype MaybeInput = Element & Partial;\nexport type RootElType = MaybeInput | null;\n\nexport function getRootElDimensions(rootEl: RootElType): {\n height: number;\n width: number;\n} {\n return {\n height: rootEl?.offsetHeight || 0,\n width: rootEl?.offsetWidth || 0,\n };\n}\n\nexport function getVisibleTextCount(rootEl: RootElType): number {\n return rootEl?.innerText?.length || 0;\n}\n\n/**\n * Checks depth of a domNode. The assumption is that a blank page will have a\n * very shallow (visible) domTree\n */\nexport function getVisibleRootDepth(\n root: RootElType | null,\n depthCount = 0,\n): number {\n if (!root) {\n return depthCount;\n }\n\n // if el is hidden then bail. (no safari/ie support)\n // https://drafts.csswg.org/cssom-view-1/#dom-element-checkvisibility\n if (root.checkVisibility?.() === false) {\n return depthCount;\n }\n\n // if el has been marked to be ignored by healthcheck then bail\n // (like devTools slideout) and shound't be counted towards rootDepth\n if (root.dataset?.healthcheckIgnore) {\n return depthCount;\n }\n\n depthCount++;\n\n if (root.firstElementChild) {\n // each of these will return the depth of that tree. We need to maintain\n // the max, so we keep the shallowest, and it's not overridden by a node\n // that's more shallow\n const nodeDepth = getVisibleRootDepth(root.firstElementChild, depthCount);\n const siblingDepth = getVisibleRootDepth(\n root.nextElementSibling,\n depthCount,\n );\n\n // keep the deepest of the node depths\n depthCount = Math.max(nodeDepth, siblingDepth, depthCount);\n }\n\n return depthCount;\n}\n\n/**\n * Visits every node in the domTree\n * FIXME:\n *\n * Need to track indent count 3>\n * 4>\n *\n */\nexport function generateSimpleDomTree(root: RootElType): string {\n if (!root) {\n return '';\n }\n\n // if el has been marked to be ignored by healthcheck then bail\n // (like devTools slideout) and shound't be counted towards rootDepth\n // if (root?.dataset?.healthcheckIgnore) {\n // return arrOfSimpleStrings;\n // }\n\n const simplifiedHtmlElements: string[] = [];\n\n /**\n * Visit each node in the tree\n */\n function visit(\n node: MaybeInput,\n depthCounter = -1, // depth of the current node relative to root (for indentation purposes later). Starts at -1 so root will be one\n ) {\n if (!node) {\n return depthCounter;\n }\n\n depthCounter++;\n\n // capture string snapshot of current element, then keep traversing\n const simpleHtmlTag = stringifyHtmlTag(node, depthCounter);\n simplifiedHtmlElements.push(simpleHtmlTag);\n\n // if El don't visit the children\n if (node.tagName.toLowerCase() === 'svg') {\n return;\n }\n // if
\n {activeSCAPhoneConfirmation && }\n \n {getContent('terms.pomaHeader')}\n \n\n \n \n \n
\n );\n};\n\nconst PomaTermsWithOneTouch = (): JSX.Element => {\n const webLLSTreatment = features.isActive('isWebLLS');\n\n let contentKey = features.isActive('passwordlessForcedSignup')\n ? 'terms.passwordlessForcedSignup'\n : 'terms.pomaSimplified';\n\n if (webLLSTreatment) {\n contentKey = 'terms.signup';\n }\n\n const isSubmitting = useStoreState(({ ui }) => ui.isSubmitting);\n const termsLinks = getTermsLinks(contentKey, isSubmitting);\n\n const content = getContent(contentKey, termsLinks, {\n useHTML: !webLLSTreatment,\n });\n\n return ;\n};\n\nconst PasswordlessTooltip = ({\n content,\n}: {\n content: React.ReactNode;\n}): JSX.Element => {\n const webLLSTreatment = features.isActive('isWebLLS');\n const isEmeaNoCookies = isEmeaPasswordlessWithoutCookiesCountry();\n const questionButtonRef = useRef(null);\n const tooltipContentRef = useRef(null);\n const [isDisplayTooltip, setIsDisplayTooltip] = useState(false);\n\n // Decide the offset of tooltip based on poma terms height and\n // height of tooltip itself\n const positioningProps = getPomaTooltipRenderPosition({\n questionButtonRef,\n tooltipContentRef,\n });\n const tooltipStyleOverrides = getTooltipStyleOverrides({\n isDisplayTooltip,\n ...positioningProps,\n });\n\n const QuestionButtonBlurHandler = (\n e: FocusEvent,\n ): void => {\n setIsDisplayTooltip(false);\n };\n const QuestionButtonKeyDownHandler = (\n e: KeyboardEvent,\n ): void => {\n // on Space or Enter press\n // @ts-expect-error similar error as infoButtonKeyDownHandler in Email.tsx\n // TODO: TS says this should be string key numbers\n if (e.key === 32 || e.key === 13) {\n e.preventDefault();\n setIsDisplayTooltip(!isDisplayTooltip);\n }\n };\n const QuestionButtonClickHandler = (\n e: React.MouseEvent,\n ): void => {\n setIsDisplayTooltip(!isDisplayTooltip);\n };\n return (\n <>\n \n {content}\n {!webLLSTreatment && !isEmeaNoCookies && (\n \n \n \n \n \n )}\n \n \n \n
  • {getContent('poma.tooltip.noPassword')}
  • \n
  • {getContent('poma.tooltip.speedCheckout')}
  • \n
  • {getContent('poma.tooltip.inControl')}
  • \n
  • {getContent('poma.tooltip.security')}
  • \n \n
    \n \n );\n};\n\nexport { POMAHeader, PomaTermsWithOneTouch, PasswordlessTooltip };\n","// Internal modules\nimport { appStore } from '@/store';\nimport { apolloClient, apolloMutation } from '@/lib/apollo';\nimport {\n onAfterCheckoutGuestWithMemberBenefits,\n onAfterPaymentPlanCreationHandler,\n onAfterPaymentPlanSuccessHandler,\n // @ts-expect-error untyped import\n} from './responseHandlers';\nimport {\n filterFormState,\n serializeFormDataForGuestUpgradeEligible,\n serializeOnboardingPlanData,\n} from '../utils';\nimport { pomaLogout } from '../../PasswordlessOnboarding/utils';\nimport {\n APPROVE_ONBOARD_PAYMENT_MUTATION,\n CREATE_ONBOARDING_PAYMENT_PLAN_MUTATION,\n PRE_AUTHORIZE_PAYMENT_MUTATION,\n} from './mutations';\nimport {\n features,\n flushLogsAndRedirect,\n getToken,\n logAtomicsTransactionSuccessfulAndLeaveCheckout,\n postToMerchantForOldIncontext,\n redirectToBilling,\n redirectToMerchantOnSuccess,\n} from '@/lib';\nimport { handleApiError } from '@/lib/errors';\nimport { getFptiFlowName } from '@/lib/features/utils';\nimport { logger } from '@/lib/logger';\nimport {\n GUEST_UPGRADEABLE_TO_MEMBER_QUERY,\n WPS_DONE_PAGE_QUERY,\n} from '@/lib/graphql/queries';\nimport { setProgressiveSpinnerType } from '../../Common/Spinner/utils';\nimport {\n EVENTS,\n logPerformanceWithStartTime as logUserInteractionTime,\n startLogPerformanceTime,\n} from '@/lib/logger/cplUtils';\nimport { isFunction } from '@/lib/utils/typeUtils';\nimport { CHECKOUT_GUEST_WITH_MEMBER_BENEFITS_MUTATION } from '../../Interstitials/MemberBenefitsInterstitial/memberBenefitsMutation.gql';\nimport type {\n ApproveOnboardPaymentMutationMutation,\n ApproveOnboardPaymentMutationMutationVariables,\n CheckoutGuestWithMemberBenefitsMutationMutation,\n CheckoutGuestWithMemberBenefitsMutationMutationVariables,\n CreateOnboardingPaymentPlanMutationMutation,\n CreateOnboardingPaymentPlanMutationMutationVariables,\n GuestUpgradeableToMemberQuery,\n GuestUpgradeableToMemberQueryVariables,\n PreAuthorizePaymentMutationMutation,\n PreAuthorizePaymentMutationMutationVariables,\n} from '@/generated/graphql';\nimport type { ApolloQueryResult } from 'apollo-client';\nimport type { FetchResult } from 'apollo-link';\nimport { isBillingTypeSubscriptionV1 } from '@/lib/globals';\n\nexport const preAuthorizePaymentPlan = (): ReturnType<\n typeof approvePayment\n> => {\n const token = getToken();\n\n setProgressiveSpinnerType();\n\n return apolloClient\n .mutate<\n PreAuthorizePaymentMutationMutation,\n PreAuthorizePaymentMutationMutationVariables\n >({\n mutation: PRE_AUTHORIZE_PAYMENT_MUTATION,\n variables: { token },\n })\n .then(approvePayment);\n};\n\nconst approveOnboardPaymentMutationCall = async (\n token: string,\n): Promise> => {\n const { api: apiState } = appStore.getState();\n const instrumentId = apiState.instrumentId;\n const isBillingAgreement = !!features.get('billingType');\n const fptiFlowName = getFptiFlowName({\n clientFeatures: features.config,\n });\n\n const response = await apolloMutation<\n ApproveOnboardPaymentMutationMutation,\n ApproveOnboardPaymentMutationMutationVariables\n >({\n mutation: APPROVE_ONBOARD_PAYMENT_MUTATION,\n update: (cache, { data }) => {\n const approveGuestSignupData = data?.approveGuestSignUpPayment;\n if (approveGuestSignupData?.completedPaymentInfo) {\n cache.writeQuery({\n data: { checkoutSession: approveGuestSignupData },\n query: WPS_DONE_PAGE_QUERY,\n });\n }\n },\n variables: {\n instrumentId,\n isBillingAgreement,\n token,\n },\n });\n if (response?.errors?.length) {\n logger.error('approve_guest_sign_up_payment_failure', {\n errors: response.errors,\n });\n throw new Error(response.errors.join(','));\n }\n\n logUserInteractionTime(fptiFlowName, EVENTS.PROCESS_APPROVE);\n return response;\n};\n\nconst isGuestUpgradeableToMemberQuery = async (\n token: string,\n): Promise> => {\n const { form: formState } = appStore.getState();\n const filteredFormState = filterFormState(formState);\n const guestUpgradeToMemberRequiredVariables =\n // @ts-expect-error - TODO: type filterFormState\n serializeFormDataForGuestUpgradeEligible(filteredFormState);\n const response = await apolloClient.query<\n GuestUpgradeableToMemberQuery,\n GuestUpgradeableToMemberQueryVariables\n >({\n query: GUEST_UPGRADEABLE_TO_MEMBER_QUERY,\n // @ts-expect-error\n variables: {\n token,\n ...guestUpgradeToMemberRequiredVariables,\n },\n });\n\n return response;\n};\n\n/**\n * @function approvePayment\n * @description This function works as a helper function to approve a\n * given checkout session and redirect back to the merchant if successful\n * @return null\n */\ntype PaymentPromises =\n | [ReturnType]\n | [\n ReturnType,\n ReturnType,\n ];\n\n// Need to get the type for xprops onAuthorize\nexport const approvePayment = (): Promise => {\n const token = getToken();\n const { api: apiState } = appStore.getState();\n const { ui: uiActions } = appStore.getActions();\n const intent = apiState.cartDetails.intent;\n const isWpsGuestUpgradeEligible = features.isActive(\n 'isWpsGuestUpgradeEligible',\n );\n const isPOMAEligible = features.isActive('isPOMAEligible');\n const promises = [\n approveOnboardPaymentMutationCall(token),\n ] as PaymentPromises;\n const isPasswordlessUpgrade = features.isActive('isPasswordlessUpgrade');\n const fptiFlowName = getFptiFlowName({\n clientFeatures: features.config,\n });\n\n logUserInteractionTime(fptiFlowName, EVENTS.USER_INTERACTION);\n startLogPerformanceTime(EVENTS.PROCESS_APPROVE);\n\n setProgressiveSpinnerType();\n\n if (isWpsGuestUpgradeEligible && !isPOMAEligible) {\n logger.info('batch_guestUpgradeableToMember_query');\n promises[1] = isGuestUpgradeableToMemberQuery(token);\n }\n\n // TODO: A lot of conditionals on xprops, should we check once\n // instead of many times and log / skip?\n return Promise.all(promises)\n .then(\n ([\n approveOnboardPaymentMutationResponse,\n guestUpgradeableToMemberResponse,\n ]) => {\n // Lot of calls to possibly null values, since this is a TS conversion\n // only adding logging for now and avoid altering prod code\n if (!isFunction(window.xprops?.onAuthorize)) {\n logger.warn('xprops.onAuthorize is not a function', {\n methods: Object.keys(window.xprops || {}),\n });\n }\n if (!isFunction(window.xprops?.getConnectURL)) {\n logger.warn('xprops.getConnectURL is not a function', {\n methods: Object.keys(window.xprops || {}),\n });\n }\n\n const { buyer, cart, completedPaymentInfo } =\n approveOnboardPaymentMutationResponse?.data\n ?.approveGuestSignUpPayment || {};\n const returnUrl = cart?.returnUrl?.href;\n if (!returnUrl) {\n logger.warn('approve_payment_return_url_missing');\n }\n const { value: onboardOption } = appStore.getState().form.onboardOption;\n\n // For the Next generation subscriptions flows, we need to redirect users to\n // billingNodeWeb app in order to activate the subscription. The billing app\n // will handle redirecting users back to the merchant.\n // @NOTE the order here is _IMPORTANT_\n if (isBillingTypeSubscriptionV1()) {\n logAtomicsTransactionSuccessfulAndLeaveCheckout();\n redirectToBilling(onboardOption);\n logger.metric('GUEST_SIGNUP.FLOW_END');\n return;\n }\n\n if (isFunction(window.xprops?.onAuthorize)) {\n const authorizeData = {\n intent: intent?.toLowerCase(),\n orderID: token,\n payerID: buyer?.userId, // Payer ID of the buyer. Required for onAuthorize - is otherwise optional.\n paymentID: cart?.paymentId, // Payment ID of the transaction. Only present if created via the payments API.\n paymentToken: token,\n returnUrl,\n };\n\n if (window.xprops && isFunction(window.xprops?.getConnectURL)) {\n return window.xprops\n .getConnectURL({ payerID: buyer?.userId })\n .then(connectURL => {\n logAtomicsTransactionSuccessfulAndLeaveCheckout();\n return flushLogsAndRedirect({ url: connectURL });\n })\n .catch(err => {\n logger.error('xprops_getconnecturl_error', {\n err: err.stack || err.toString(),\n });\n // `redirectToMerchantOnSuccess` will not be called for SPB.\n // The incontext popup will be closed automatically.\n logAtomicsTransactionSuccessfulAndLeaveCheckout();\n logger.metric('GUEST_SIGNUP.FLOW_END');\n return window.xprops?.onAuthorize?.(authorizeData);\n });\n }\n\n logger.info('xprops_on_authorize', authorizeData);\n logger.fpti('xprops_on_authorize', {\n state_name: 'billing',\n transition_name: 'process_on_authorize',\n });\n // `redirectToMerchantOnSuccess` will not be called for SPB\n // The incontext popup will be closed automatically\n logger.metric('GUEST_SIGNUP.FLOW_END');\n logAtomicsTransactionSuccessfulAndLeaveCheckout();\n window.xprops?.onAuthorize(authorizeData);\n return;\n }\n\n // For old checkout.js integration send post message\n const didPostForIncontext = postToMerchantForOldIncontext(returnUrl);\n if (didPostForIncontext) {\n logger.fpti('xprops_legacy_authorize', {\n state_name: 'billing',\n transition_name: 'process_legacy_on_authorize',\n });\n // The old checkout.js incontext integration is a popup that will\n // be closed via `postToMerchantForOldIncontext`.\n // `redirectToMerchantOnSuccess` will not be called\n logAtomicsTransactionSuccessfulAndLeaveCheckout();\n logger.metric('GUEST_SIGNUP.FLOW_END');\n return;\n }\n\n /**\n * Logging out for POMA because the access token dropped during passive\n * login has an 8 hour expiration, so we want to remove all cookies\n * except refresh token, which hermes does RT to AT exchange and gets\n * a limited AccessToken\n */\n const isGuest = onboardOption === 'guest';\n const hasReturnUrl = Boolean(returnUrl);\n const isPOMAEligible = features.isActive('isPOMAEligible');\n\n const isPasswordlessOptionalSignup = features.isActive(\n 'passwordlessOptionalSignup',\n );\n const isStreamlinePasswordlessOptionalSignup =\n features.isActive('isStreamlineOptionalExperience') &&\n isPasswordlessOptionalSignup;\n\n const isWps = features.isActive('isWps');\n const isPasswordlessForcedSignup = features.isActive(\n 'passwordlessForcedSignup',\n );\n const isStreamlinePasswordlessForcedSignup =\n features.isActive('isStreamlineForcedExperience') &&\n isPasswordlessForcedSignup;\n\n const isPasswordlessFlow =\n isPOMAEligible ||\n isPasswordlessForcedSignup ||\n isStreamlinePasswordlessForcedSignup ||\n isStreamlinePasswordlessOptionalSignup;\n\n // EC flow\n if (isPasswordlessFlow && !isWps) {\n if (isGuest) {\n // Redirect to merchant page\n logger.info('attempting_redirect_to_merchant', {\n hasReturnUrl,\n isPasswordlessFlow,\n isWps,\n });\n return redirectToMerchantOnSuccess(returnUrl);\n }\n\n // At this point, the onboardOption is signup\n return pomaLogout().then(() => {\n // Redirect to merchant page\n logger.info('attempting_redirect_to_merchant_after_poma_logout', {\n hasReturnUrl,\n });\n return redirectToMerchantOnSuccess(returnUrl);\n });\n }\n\n // WPS flow\n if (isPasswordlessFlow && isWps) {\n if (isGuest) {\n // Redirect to receipt page\n logger.info('redirect_to_receipt_page', {\n isPasswordlessFlow,\n isWps,\n });\n uiActions.toggleIsFormSubmitting(false);\n uiActions.toggleIsWPSDonePageOpen(true);\n return;\n }\n\n // At this point, the onboardOption is signup\n return pomaLogout().then(() => {\n // Redirect to merchant page\n logger.info('redirect_to_receipt_after_poma_logout', {\n hasReturnUrl,\n isPasswordlessFlow,\n isWps,\n });\n uiActions.toggleIsFormSubmitting(false);\n uiActions.toggleIsWPSDonePageOpen(true);\n return;\n });\n }\n\n /**\n * Checking the returned backend boolean for an eligible guest upgrade\n * for WPS flow\n */\n if (isWpsGuestUpgradeEligible) {\n if (\n guestUpgradeableToMemberResponse?.data?.isGuestUpgradeableToMember\n ) {\n logger.info('guestUpgradeableToMember_response_present');\n uiActions.toggleIsFormSubmitting(false);\n\n isPasswordlessUpgrade\n ? uiActions.toggleIsPasswordlessUpgradeOpen(true)\n : uiActions.toggleIsUpgradeInterstitialOpen(true);\n return;\n }\n logger.info(\n 'guestUpgradeableToMember_response_not_present_or_false',\n {\n isGuestUpgradeableToMember:\n guestUpgradeableToMemberResponse?.data\n ?.isGuestUpgradeableToMember,\n },\n );\n logger.fpti('wps_upgrade_interstitial_not_shown_backend_error', {\n state_name: 'Create_account',\n transition_name: 'wps_upgrade_interstitial_not_shown_backend_error',\n });\n }\n\n /**\n * Checking for WPS flag to prevent merchant redirect and\n * show the WPSDonePageInterstitial instead.\n */\n if (features.isActive('isWps') && completedPaymentInfo) {\n uiActions.toggleIsWPSDonePageOpen(true);\n return;\n }\n\n // Redirect to merchant page\n logger.info('attempting_redirect_to_merchant', { hasReturnUrl });\n return redirectToMerchantOnSuccess(returnUrl);\n },\n )\n .catch((err: Error) => {\n uiActions.toggleIsFormSubmitting(false);\n handleApiError(err);\n });\n};\n\nexport const createOnboardingPaymentPlan = (\n /** type when filterFormState method is typed */ data: unknown,\n): Promise> => {\n // @ts-expect-error - TODO: type filterFormState\n const variables = serializeOnboardingPlanData(data);\n\n return apolloMutation<\n CreateOnboardingPaymentPlanMutationMutation,\n CreateOnboardingPaymentPlanMutationMutationVariables\n >({\n mutation: CREATE_ONBOARDING_PAYMENT_PLAN_MUTATION,\n // @ts-expect-error\n variables,\n })\n .then(onAfterPaymentPlanCreationHandler)\n .then(onAfterPaymentPlanSuccessHandler);\n};\n\nexport const checkoutGuestAsMember = (\n data: CheckoutGuestWithMemberBenefitsMutationMutationVariables,\n): Promise> => {\n return apolloClient\n .mutate<\n CheckoutGuestWithMemberBenefitsMutationMutation,\n CheckoutGuestWithMemberBenefitsMutationMutationVariables\n >({\n mutation: CHECKOUT_GUEST_WITH_MEMBER_BENEFITS_MUTATION,\n variables: data,\n })\n .then(onAfterCheckoutGuestWithMemberBenefits)\n .then(onAfterPaymentPlanSuccessHandler);\n};\n","import React from 'react';\n\n// Internal modules\nimport type { IconProps } from './types';\n\nexport const CheckMark = ({\n color = '#38AF88',\n}: IconProps): React.ReactElement => (\n \n \n \n);\nexport default CheckMark;\n","import { logger } from '@/lib/logger';\n\nexport const logFPTIForANSInterstitial = (status: string): void => {\n logger.fpti(`address_normalization_interstitial_${status}`, {\n state_name: 'address_normalization',\n transition_name: `process_address_normalization_interstitial_${status}`,\n });\n};\n\nexport const logFPTIForANSApi = (status: string, payLoad = {}): void => {\n logger.fpti('address_normalization_api', {\n state_name: 'address_normalization',\n transition_name: `${status}_address_normalization_api`,\n ...payLoad,\n });\n};\n","import {\n apolloClient,\n CI,\n features,\n getContent,\n getGlobals,\n getLocale,\n getToken,\n handleApiError,\n logger,\n WPS_DONE_PAGE_QUERY,\n} from '@/lib';\nimport type { GlobalsType } from '@/lib/globals';\nimport type { GenericObjectType } from '@/types';\nimport type { NavigateToReceiptPageCallback } from '@/lib/reactHooks/types';\nimport type { Maybe } from '@/generated/graphql';\nimport { APPLE_PAY_PAYSHEET_ERROR } from '@/components/Landing/constants';\nimport type {\n CreateSessionOptions,\n MerchantAddressConfig,\n} from '@paypalcorp/checkout-apple-pay';\nimport { getErrorFromResponse } from '@/lib/apollo/utils';\n\nconst parseInitialData = (\n initialData:\n | GlobalsType['landingIWCData']\n | GlobalsType['initialGqlData']['checkoutSession'],\n) => {\n // CheckoutSession typecheck\n if (\n initialData &&\n ('cart' in initialData ||\n 'flags' in initialData ||\n 'merchant' in initialData)\n ) {\n const { cart, flags, merchant } = initialData;\n return {\n cartData: cart,\n hideShipping: flags?.hideShipping,\n isChangeShippingAddressAllowed: flags?.isChangeShippingAddressAllowed,\n isSntSupported: flags?.isSntSupported,\n merchantCountry: merchant?.country,\n merchantName: merchant?.name,\n };\n }\n return initialData;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const merchantAddressConfigRequired = (cartData: any): boolean => {\n const cart = cartData;\n const merchantPassShippingAddress = cart?.shippingAddress;\n return Boolean(\n merchantPassShippingAddress?.city &&\n merchantPassShippingAddress?.state &&\n merchantPassShippingAddress?.postalCode,\n );\n};\n\nexport const applePayPaymentRequest = (\n initialData:\n | GlobalsType['landingIWCData']\n | GlobalsType['initialGqlData']['checkoutSession'],\n navigateToReceiptPage: NavigateToReceiptPageCallback,\n merchantAddressConfig?: MerchantAddressConfig,\n): CreateSessionOptions => {\n const { country: buyerCountry } = getLocale();\n const {\n cartData,\n hideShipping,\n merchantCountry,\n merchantName,\n isSntSupported,\n } = parseInitialData(initialData) ?? {};\n const shouldUseShippingAndTaxId = features.isActive('isShippingAndTaxId');\n if (shouldUseShippingAndTaxId) {\n logger.info('IN_GUEST_APPLE_PAY_SHIPPING_AND_TAX_ID_TREATMENT');\n }\n\n const requiredShippingContactFields = ['email', 'phone'];\n\n if (!hideShipping) {\n requiredShippingContactFields.push('postalAddress', 'name');\n }\n\n // @ts-expect-error: ApplePayJS is only defined for users using Safari browser\n // through safari itself.\n const paymentRequest: ApplePayJS.ApplePayPaymentRequest = {\n // The merchant's two-letter ISO 3166 country code as a string.\n countryCode: merchantCountry as string,\n // The three-letter ISO 4217 currency code as a string\n currencyCode: cartData?.amounts?.total?.currencyCode as string,\n merchantCapabilities: ['supports3DS', 'supportsDebit', 'supportsCredit'],\n requiredBillingContactFields: ['name', 'postalAddress', 'phone'],\n requiredShippingContactFields,\n supportedNetworks: [], // This gets overwritten by Checkout Apple Pay Module\n ...(!hideShipping && { shippingType: 'shipping' }),\n total: {\n amount: cartData?.amounts?.total?.currencyValue as string,\n label: `${merchantName} ${getContent('applepay.viapaypal')}`,\n type: 'final',\n },\n };\n\n const merchantDidPassAddress =\n merchantAddressConfig?.paymentRequest?.shippingContact;\n const merchantAddressConfigNeeded = merchantAddressConfigRequired(cartData);\n\n if (!merchantDidPassAddress && merchantAddressConfigNeeded) {\n // No merchant config data detected, despite it being required.\n // This could be because the user clicked the Apple Pay button\n // before merchant config hooked finished loading. However, they would have to\n // do that in less than a second during page load. Very Low chance as\n // merchant config hook runs in parallel with eligibiltiy.\n logger.error('NO_MERCHANT_CONFIG_FOUND_BUT_REQUIRED', {\n merchantAddressConfigNeeded,\n merchantDidPassAddress,\n });\n }\n\n const merchantShippingConfig = merchantAddressConfig?.merchantShippingConfig;\n\n if (merchantDidPassAddress) {\n paymentRequest.total = merchantAddressConfig?.paymentRequest?.total;\n if (!hideShipping) {\n // show shipping address selector and shipping information in paysheet\n paymentRequest.lineItems =\n merchantAddressConfig?.paymentRequest?.lineItems;\n paymentRequest.shippingContact =\n merchantAddressConfig?.paymentRequest?.shippingContact;\n paymentRequest.shippingMethods =\n merchantAddressConfig?.paymentRequest?.shippingMethods;\n }\n }\n\n const onError = (appleError: any) => {\n if (\n appleError?.payload?.networkError ||\n appleError?.payload.graphQLErrors\n ) {\n if (!appleError.userCanRetry) {\n const error = getErrorFromResponse(appleError.payload);\n CI.fci();\n logger.flushThen(() => handleApiError(error));\n }\n logger.info('WEASLEY_APPLE_PAY_CAN_RETRY', appleError.userCanRetry);\n } else {\n CI.fci();\n // Shouldn't ever fall into this else case.\n logger.error('WEASLEY_APPLE_PAY_PAYLOAD_ERROR', appleError?.payload);\n }\n };\n // Apple Pay CI integration on Cancel Apple Pay Payment (Cancel button click)\n const onCancelApplePayPayment = () => CI.userCanceled();\n\n return {\n apiConfig: {\n apolloClient,\n cachePaymentApproval: {\n cacheQuery: WPS_DONE_PAGE_QUERY,\n variables: { token: getToken() },\n },\n token: getToken(),\n },\n eventHandlers: {\n onCancel: onCancelApplePayPayment,\n onError: onError,\n onSuccessfulPayment: navigateToReceiptPage,\n },\n logger: {\n ...logger,\n track: (payload: GenericObjectType) => {\n const eventName = payload.event_name || 'apple_pay_payment_sheet_event';\n if (payload.error_source) {\n // error occurred during apple sheet flow, track for signalfx\n logger.metric(APPLE_PAY_PAYSHEET_ERROR, {\n dimensions: {\n error_source: payload.error_source,\n },\n });\n }\n logger.fpti(eventName, payload);\n },\n },\n loggerConfig: {\n trackingBuilder: () => ({ selected_funding_option: 'apple_pay' }),\n },\n merchantDomain: parseMerchantDomain(),\n ...(merchantDidPassAddress && !hideShipping && { merchantShippingConfig }),\n buyerCountry,\n hideShipping,\n isSntSupported,\n paymentRequest,\n shouldUseShippingAndTaxId,\n version: 3,\n };\n};\n\nexport const parseMerchantDomain = (): string => {\n try {\n const { uri } = getGlobals() || {};\n const base = uri?.base || 'https://www.paypal.com';\n const url = new URL(base);\n const merchantDomain = url.hostname;\n logger.info('APPLE_PAY_MERCHANT_DOMAIN_ON_HALF_SHEET', { merchantDomain });\n return merchantDomain;\n } catch (err) {\n logger.error('failed_to_parse_apple_pay_merchant_domain', { err });\n return 'www.paypal.com';\n }\n};\n\nexport const getApplePayIneligibilityReason = (payload: {\n eligibilityResult?: { eligibility: boolean; reason: string };\n applePayButtonSeen?: Maybe;\n isApplePayTreatment: boolean;\n isTreatmentOrControl?: boolean;\n}): Array => {\n const reasons: string[] = [];\n if (payload.eligibilityResult?.eligibility === false) {\n reasons.push(payload.eligibilityResult?.reason);\n }\n if (payload.applePayButtonSeen) {\n reasons.push('apple_pay_button_already_seen_on_previous_page');\n }\n if (payload.isApplePayTreatment === false) {\n reasons.push('user_not_in_apple_pay_treatment_group');\n }\n if (payload.isTreatmentOrControl === false) {\n reasons.push('user_not_in_treatment_group_and_not_in_control_group');\n }\n return reasons;\n};\n","// Internal modules\nimport type { CountryCodes } from '@/generated/graphql';\nimport { CI, features, getToken, postToMerchantForOldIncontext } from '@/lib';\nimport { logger, STATE_NAME, TRANSITION_NAME } from '@/lib/logger';\nimport type { ActionCreator } from 'easy-peasy';\n\nconst getFooterLegalLinks = (\n country: CountryCodes,\n region: string | null,\n): string[] => {\n const footerLinksMap = features.get('footerLinks');\n return (\n // @ts-expect-error\n footerLinksMap[country] || footerLinksMap[region] || footerLinksMap.DEFAULT\n );\n};\n\nconst getFooterLegalContent = (): string => {\n /* this is temporary (ramp elmo waiting for legal/compliance green light)\n the content will be then set into legalFooter.entity and this check will be removed */\n if (features.isActive('shouldShowNewPhilippinesFooterDisclaimer')) {\n return 'legalFooter.issued3PlLicensePH';\n }\n\n return 'legalFooter.entity';\n};\n\nconst handleReturnToMerchantLinkClick = (\n e: React.MouseEvent,\n toggleIsPageLoading: ActionCreator,\n isFormSubmitting: boolean,\n intent: string,\n cancelUrl: string,\n): void => {\n e.preventDefault();\n\n if (isFormSubmitting) {\n return;\n }\n\n CI.endAll(CI.Status.Cancel, CI.ErrorReason.User);\n\n toggleIsPageLoading(true);\n const { cancelAndRtm } = TRANSITION_NAME;\n\n logger.fpti(`weasley_${cancelAndRtm}`, {\n state_name: STATE_NAME.backToMerchant,\n transition_name: cancelAndRtm,\n });\n\n logger.metric('GUEST_SIGNUP.CANCEL', {\n dimensions: {\n outcome: 'Cancel and return to merchant',\n outcomeReason: 'return link clicked',\n state_name: STATE_NAME.backToMerchant,\n transition_name: cancelAndRtm,\n },\n });\n\n logger.flushThen(() => {\n if (window.xprops) {\n const token = getToken();\n const data = {\n cancelUrl,\n intent: intent?.toLowerCase(),\n orderID: token,\n paymentToken: token,\n };\n\n window.xprops.onCancel(data);\n return;\n }\n\n // for old checkout.js integration send post message\n const didPostToMerchantForOldIncontext =\n postToMerchantForOldIncontext(cancelUrl);\n if (didPostToMerchantForOldIncontext) {\n return;\n }\n\n window.location.assign(cancelUrl);\n });\n};\n\nexport {\n getFooterLegalLinks,\n getFooterLegalContent,\n handleReturnToMerchantLinkClick,\n};\n","import { action } from 'easy-peasy';\n\nimport type { GenericObjectType } from '@/types';\nimport {\n getGlobals,\n getLocale,\n getUnifiedLoginContextData,\n} from '@/lib/globals';\nimport { logger } from '@/lib/logger';\nimport type { CheckoutSession, Merchant } from '@/generated/graphql';\nimport { CheckoutSessionType } from '@/generated/graphql';\nimport type {\n ApiModel,\n ApiState,\n CartActions,\n CartState,\n GriffinActions,\n GriffinState,\n MiscApiActions,\n MiscApiState,\n} from './types';\n\n/**\n * CART MODEL\n * Data in this model is only set only once, when the\n * initial session data API call returns\n */\nconst getCartState = (): CartState => {\n const { checkoutSession } = getGlobals().initialGqlData;\n\n const { cart, merchant, creditMeta, checkoutSessionType } =\n checkoutSession || ({} as Partial);\n\n const {\n country: merchantCountry,\n name: merchantName,\n billPayIntegratorName,\n } = merchant || ({} as Partial);\n\n const { currencyCode, currencyValue = 0 } = cart?.amounts?.total || {};\n const isBillingWithoutPurchase =\n checkoutSessionType === CheckoutSessionType.BillingWithoutPurchase;\n\n return {\n allowedCardTypes: [],\n cancelUrl: '',\n cartAmount: {\n currencyCode: currencyCode || '',\n currencyFormat: '',\n currencyFormatSymbolISOCurrency: '',\n currencySymbol: '',\n currencyValue: currencyValue || '',\n },\n cartDetails: {\n amounts: {},\n description: '',\n intent: '',\n items: [],\n merchant: {\n billPayIntegratorName: billPayIntegratorName || '',\n // @ts-expect-error - Should likely be null like graph would return\n country: merchantCountry || '',\n name: merchantName || '',\n },\n noteToBuyer: '',\n },\n consentCode: cart?.consentCode || '',\n creditMeta: {\n upstreamCreditPresentment: creditMeta?.upstreamCreditPresentment || false,\n },\n isBillingWithoutPurchase: isBillingWithoutPurchase,\n isShipToStore: false,\n shippingMethods: [],\n subscriptionDetails: {\n initialPaymentInfo: cart?.subscriptionDetails?.initialPaymentInfo,\n plan: cart?.subscriptionDetails?.plan,\n },\n };\n};\n\nconst createCartActions = (): CartActions => ({\n setCartData: action((state, payload) => {\n Object.assign(state, payload);\n }),\n setUpstreamCreditPresentment: action((state, payload) => {\n state.creditMeta.upstreamCreditPresentment = payload;\n }),\n});\n\n/**\n * GRIFFIN METADATA MODEL\n * This model contains metadata generated by Griffin that\n * is fetched from the API. It is set after the initial Griffin\n * metadata API call returns as well as when\n */\nconst getGriffinState = (): GriffinState => {\n const INITIAL_LOCALE = getLocale().locale;\n const { localeMetadata } = getGlobals().initialGqlData;\n\n return {\n griffinMetadata: {\n address: {},\n currencyCode: localeMetadata?.currencyCode,\n dateMeta: {\n datePattern: '',\n displayFormat: '',\n },\n phoneMeta: {\n mask: '',\n pattern: '',\n },\n territories: {\n [INITIAL_LOCALE]: [],\n },\n territoriesByRegion: {\n [INITIAL_LOCALE]: {\n AMERICAS: [],\n APAC: [],\n EMEA: [],\n },\n },\n territoriesToDialingCodeMap: {},\n },\n };\n};\n\nconst createGriffinActions = (): GriffinActions => ({\n // eslint-disable-next-line sort-keys\n addAddressMetadata: action((state, { key, payload }) => {\n if (!state) {\n logger.warn('easy_peasy_state_missing', {\n action: 'addAddressMetadata',\n });\n }\n // `key` will be in the format of `country~lang`, e.g. 'US~en'\n state.griffinMetadata.address[key] = payload;\n }),\n setGriffinMetadata: action((state, payload) => {\n if (!state) {\n logger.warn('easy_peasy_state_missing', {\n action: 'setGriffinMetadata',\n });\n }\n /**\n * Spreading the payload for the following use case:\n * User with locale en_US lands on page and changes their country to GB\n * Since we don't overwrite the address meta here if the users changes\n * their shipping address to the US we won't have to re-fetch that address\n * meta for the US.\n */\n state.griffinMetadata = {\n ...payload,\n address: {\n ...state.griffinMetadata.address,\n ...payload.address,\n },\n territories: {\n ...state.griffinMetadata.territories,\n ...payload.territories,\n },\n territoriesByRegion: {\n ...state.griffinMetadata.territoriesByRegion,\n ...payload.territoriesByRegion,\n },\n };\n }),\n updatePhoneMetadata: action((state, payload) => {\n if (!state) {\n logger.warn('easy_peasy_state_missing', {\n action: 'updatePhoneMetadata',\n });\n }\n state.griffinMetadata.phoneMeta = payload;\n }),\n});\n\n/**\n * MISC API MODEL\n * This model contains misc data returned from an API call\n */\nconst getMiscApiState = (): MiscApiState => {\n // Whether UL detected an existing account\n const { hasExistingAccount } = getUnifiedLoginContextData();\n\n const userAgreement = getGlobals()?.initialGqlData?.userAgreement;\n\n logger.info(\n `is_user_agreement_url_from_notice_and_consent_${Boolean(\n userAgreement?.activeUrl,\n )}`,\n );\n\n // Whether a merchant passed email is detected as an existing account\n const isUserAccount = Boolean(\n getGlobals().initialGqlData?.checkoutSession?.cart?.payer?.evaluatedUserData\n ?.emailHasExistingAccount,\n );\n\n const isExistingAccount =\n (typeof hasExistingAccount === 'boolean' && hasExistingAccount) ||\n isUserAccount;\n\n return {\n //Data pertaining to Bank Candidate data for Sepa flow\n bankCandidateData: {\n accountNumber: '',\n accountNumberShort: '',\n bankIdentifierCode: '',\n beneficiaries: [\n {\n fullName: '',\n },\n ],\n billingAddress: {\n city: '',\n fullAddress: '',\n },\n creditor: {\n address: {\n fullAddress: '',\n },\n id: '',\n name: '',\n },\n currencyCode: '',\n id: '',\n issuer: {\n branchLocation: '',\n city: '',\n // TODO: Can we default to a country code? Check code usage\n // @ts-expect-error - We default to a blank string\n country: '',\n name: '',\n },\n nickname: '',\n routingNumber: '',\n // TODO: Can we default to unknown? Check code usage\n // @ts-expect-error - We default to a blank string\n type: '',\n },\n\n bankCurrencyConversionData: {},\n\n /**\n * Default values for OTP\n * These are required by xobuyernodeserv\n */\n cupOtpEncryptedCardLoginAccountNumber: '',\n cupOtpfundingInstrumentId: '',\n\n currencyConversionData: {},\n\n installmentData: [],\n\n instrumentId: '',\n\n isEligibleForMemberBenefits: false,\n\n isExistingAccount,\n\n isMemberCheckoutError: false,\n\n lastEmailLookup: null,\n\n merchantId: '',\n\n // Data pertaining to Normalized Billing Address\n // eslint-disable-next-line sort-keys\n normalizedBillingAddress: {\n alreadyNormalized: false,\n city: '',\n griffinFormattedAddresses: {\n formattedNormalizedAddress: [],\n formattedOriginalAddress: [],\n },\n line1: '',\n line2: '',\n postalCode: '',\n state: '',\n },\n\n // Data pertaining to Normalized Shipping Address\n // eslint-disable-next-line sort-keys\n normalizedShippingAddress: {\n alreadyNormalized: false,\n city: '',\n griffinFormattedAddresses: {\n formattedNormalizedAddress: [],\n formattedOriginalAddress: [],\n },\n line1: '',\n line2: '',\n postalCode: '',\n state: '',\n },\n\n // Data used to help determine what address state should be\n // validated on form submission\n // eslint-disable-next-line sort-keys\n prefillAddressMetadata: {\n hasPrefillAddress: false,\n isPartialAddress: false,\n },\n\n // Optional boolean used to help determine shipping calculations\n // during WPS Shipping and Tax flows\n profileOverrideAllowed: false,\n\n shippingOptionsSource: '',\n\n // Data pertaining to 3DS (1.0)\n threeDS1ContingencyData: {},\n\n // Data pertaining to 3DS 2.0\n threeDS2ContingencyData: {},\n\n userAgreement: {\n activeUrl: userAgreement?.activeUrl || '',\n majorVersion: userAgreement?.majorVersion || '',\n minorVersion: userAgreement?.minorVersion || '',\n },\n };\n};\n\nconst createMiscApiActions = (): MiscApiActions => ({\n setBankCandidateData: action((state, payload) => {\n state.bankCandidateData = payload;\n }),\n\n setBankCurrencyConversionData: action((state, payload) => {\n state.bankCurrencyConversionData = payload;\n }),\n\n setCupOtpEncryptedCardLoginAccountNumber: action((state, payload) => {\n state.cupOtpEncryptedCardLoginAccountNumber = payload;\n }),\n\n setCupOtpFundingInstrumentId: action((state, payload) => {\n state.cupOtpfundingInstrumentId = payload;\n }),\n\n setCurrencyConversionData: action((state, payload) => {\n state.currencyConversionData = payload;\n }),\n\n setFundingSource: action((state, payload) => {\n state.fundingSource = payload;\n }),\n\n setInstallmentData: action((state, payload) => {\n state.installmentData = payload;\n }),\n\n setInstrumentId: action((state, payload) => {\n state.instrumentId = payload;\n }),\n\n setIsEligibleForMemberBenefits: action((state, payload) => {\n state.isEligibleForMemberBenefits = payload;\n }),\n\n setIsExistingAccount: action((state, payload) => {\n state.isExistingAccount = payload;\n }),\n\n setIsMemberCheckoutError: action((state, payload) => {\n state.isMemberCheckoutError = Boolean(payload);\n }),\n\n setLastEmailLookup: action((state, payload) => {\n state.lastEmailLookup = payload;\n }),\n\n setMerchantId: action((state, payload) => {\n state.merchantId = payload;\n }),\n\n setNormalizedBillingAddress: action((state, payload) => {\n state.normalizedBillingAddress = payload;\n }),\n\n setNormalizedShippingAddress: action((state, payload) => {\n state.normalizedShippingAddress = payload;\n }),\n\n setPrefillAddressMetadata: action((state, payload) => {\n state.prefillAddressMetadata = {\n ...state.prefillAddressMetadata,\n ...payload,\n };\n }),\n\n setProfileOverrideAllowed: action((state, payload) => {\n state.profileOverrideAllowed = payload;\n }),\n\n setShippingOptionsSource: action((state, payload) => {\n state.shippingOptionsSource = payload;\n }),\n\n setThreeDS1ContingencyData: action((state, payload) => {\n state.threeDS1ContingencyData = payload;\n }),\n\n setThreeDS2ContingencyData: action((state, payload) => {\n state.threeDS2ContingencyData = payload;\n }),\n\n setUserAgreement: action((state, payload) => {\n state.userAgreement = payload;\n }),\n});\n\nexport const getApiState = (\n overrides = {} as T,\n): ApiState & T => ({\n ...getCartState(),\n ...getGriffinState(),\n ...getMiscApiState(),\n ...overrides,\n});\n\nexport const apiModelFactory = (): ApiModel => ({\n ...getApiState(),\n ...createCartActions(),\n ...createGriffinActions(),\n ...createMiscApiActions(),\n});\n","import type { CardIssuerType } from '@/generated/graphql';\nimport type { AddressNormalizationPageType } from '@/types';\n// Types exported in this file will be exported from the main store directory\n\n// Likely will need to move several & share if we convert form to TS\nexport type DefaultInputState = {\n displayError: boolean;\n cardType?: CardIssuerType;\n cobrand?: string;\n error: string;\n errorCode: string;\n /** True - Input that has had value changed */\n isDirty: boolean;\n isValid: boolean;\n value: T;\n};\n\nexport type CrsFields =\n | 'countryCode'\n | 'taxPayerIdType'\n | 'taxPayerIdValue'\n | 'noTaxPayerIdReason'\n | 'comment';\n\nexport type CrsFieldResults = {\n [key in CrsFields]: {\n displayError: boolean;\n error: string;\n value: string;\n };\n};\n\nexport type BaseAddressFields =\n | 'city'\n | 'houseNumber'\n | 'line1'\n | 'line2'\n | 'postalCode'\n | 'state'\n | 'streetName';\n\nexport type BaseAddressFieldResults = {\n [key in BaseAddressFields]: DefaultInputState;\n};\n\nexport enum AUTO_COMPLETE_TYPE {\n ANS = 'ANS',\n BROWSER = 'BROWSER',\n GOOGLE = 'GOOGLE',\n MANUAL = 'MANUAL',\n MERCHANT_PREFILLED = 'MERCHANT_PREFILLED',\n}\n\nexport type AddressValidationPayload = {\n [key in T]: {\n displayError: boolean;\n errorCode: string;\n isValid: boolean;\n };\n};\n\nexport type AddressValidationMeta = {\n meta: { hasValidationError: boolean };\n};\n\nexport type IncentiveOfferState = {\n shouldDisplayOffer?: boolean;\n shouldDisplayOfferAccepted?: boolean;\n};\n\nexport type AddressNormalizationState = {\n page: AddressNormalizationPageType;\n showBackButton: boolean;\n showNextButton: boolean;\n showSubmitButton: boolean;\n};\n","// External libraries\nimport { action, actionOn } from 'easy-peasy';\n// @ts-expect-error TODO: type or globally ignore react-components\nimport { isBoolean } from '@checkout/react-components';\n\n// Internal modules\nimport type { AppMode, GenericObjectType, ValueOf } from '@/types';\nimport { logger } from '@/lib/logger';\nimport { features } from '@/lib/features';\nimport {\n getLocale,\n getUnifiedLoginContextData,\n hasSelectAllSignupTerms,\n isSepaMandateCountry,\n} from '@/lib/globals';\nimport { CountryCodes } from '@/generated/graphql';\nimport {\n getAddressValidationPayload,\n getBaseAddressFields,\n getCrsFields,\n getDefaultEmailState,\n getDefaultInputState,\n getDefaultKycStateOverride,\n revalidatePassword,\n wasInfoSecFieldChanged,\n} from '../utils';\nimport { ADDRESS_GROUP_REGEX } from '../constants';\nimport type { DefaultInputState } from '../types';\nimport { AUTO_COMPLETE_TYPE } from '../types';\nimport type {\n FormAddressActions,\n FormAddressState,\n FormAddressTypes,\n FormAddressUpdate,\n FormInputActions,\n FormInputState,\n FormModel,\n FormPhoneMetadata,\n FormState,\n} from './types';\nimport {\n SIGNUP_AGREE_TO_PRIVACY_STATEMENTS,\n SIGNUP_AGREE_TO_TERMS,\n THIRD_PARTY_DATA_CONSENT,\n UNIQUE_INFORMATION_PROCESSING,\n} from '@/lib/features/constants';\n\nconst DEFAULT_PHONE_METADATA: FormPhoneMetadata = {\n isConfirmed: false,\n verificationId: '',\n};\n\n// Returns if the Primary Residential Address is in the form\nconst isResidentialAddressEnabled = () =>\n features.isActive('hasPrimaryResidentialAddress');\n\n/**\n * Returns an object with kycFields\n */\nconst getKycFields = (): GenericObjectType => {\n const kycFields = features.config.kycFields\n // change first letter to be lower cased\n // @ts-expect-error - TODO: Type feature resolvers\n .map(fieldName => fieldName.charAt(0).toLowerCase() + fieldName.slice(1))\n // @ts-expect-error - TODO: Type feature resolvers\n .reduce((accObj, field) => {\n const override = getDefaultKycStateOverride(field);\n accObj[field] = getDefaultInputState(override);\n\n return accObj;\n }, {});\n\n return kycFields;\n};\n\n/**\n * @function updateResidentialByBillingAddress\n * @description Replicates the data from the billing to the residential address\n * @param {object} state Current state\n * @param {object} data Address data being updated\n */\nconst updateResidentialByBillingAddress = (\n state: FormState,\n data: FormAddressUpdate,\n): void => {\n if (!isResidentialAddressEnabled() || !state.residentialAddress) {\n return;\n }\n\n const { addressType, field, isBatchUpdate } = data;\n\n // If Residential Address is dirty\n // we cannot update it based on Billing Address\n if (addressType !== 'billingAddress' || state.residentialAddress.isDirty) {\n return;\n }\n\n if (isBatchUpdate) {\n const billingAddressData = Object.keys(state.billingAddress).reduce(\n (addressData, key) => ({\n ...addressData,\n [key]: {\n // @ts-expect-error TODO: This could throw errors in prod code today\n ...state.billingAddress[key],\n\n // Force `isDirty` to false as the user didn't update\n // Residential Address\n isDirty: false,\n },\n }),\n {},\n );\n\n state.residentialAddress = {\n ...state.residentialAddress,\n ...billingAddressData,\n };\n return;\n }\n\n // @ts-expect-error TODO: This could throw errors in prod code today\n state.residentialAddress[field] = {\n // @ts-expect-error TODO: This could throw errors in prod code today\n ...state[addressType][field],\n\n // Force `isDirty` to false as the user didn't update\n // Residential Address\n isDirty: false,\n };\n};\n\nconst updateAddressField = (\n state: FormState,\n data: FormAddressUpdate,\n): void => {\n const { addressType, field, isBatchUpdate, payload } = data;\n\n if (!ADDRESS_GROUP_REGEX.test(addressType)) {\n return logger.warn('weasley_update_address_invalid_type', {\n addressType,\n });\n }\n\n if (isBatchUpdate) {\n const entries = Object.entries(payload) as [\n keyof typeof payload,\n ValueOf,\n ][];\n\n // We have a few errors, if we make this more specific we won't need them\n // TODO: Refactor to make logic easier to understand and work better w/ TS\n const updatedAddressFields = entries.reduce(\n (accum, [fieldName, fieldData]) => {\n const hasIsDirtyProperty = isBoolean(\n // @ts-expect-error - Not all fields have isDirty, that's ok\n state[addressType]?.[fieldName]?.isDirty,\n );\n const isDirty =\n // @ts-expect-error - Not all fields have isDirty, that's ok\n state[addressType]?.[fieldName]?.isDirty ||\n // @ts-expect-error - Not all fields have isDirty, that's ok\n fieldData.isDirty ||\n // @ts-expect-error - Not all fields have value, that's ok\n Boolean(fieldData.value);\n\n accum[fieldName] = {\n // @ts-expect-error TODO: This could throw errors in prod code today\n ...state[addressType][fieldName],\n ...fieldData,\n ...(hasIsDirtyProperty && { isDirty }),\n };\n return accum;\n },\n // TODO: Update this to more specific type in the future when we know it\n {} as GenericObjectType,\n );\n\n state[addressType] = {\n ...state[addressType],\n ...updatedAddressFields,\n };\n\n updateResidentialByBillingAddress(state, data);\n\n return;\n }\n\n // @ts-expect-error - Not all fields have isDirty, that's ok\n const hasIsDirtyProperty = isBoolean(state[addressType]?.[field]?.isDirty);\n const isDirty =\n // @ts-expect-error - Not all fields have isDirty, that's ok\n state[addressType]?.[field]?.isDirty ||\n // @ts-expect-error - Not all fields have isDirty, that's ok\n payload.isDirty ||\n // @ts-expect-error - Not all fields have value, that's ok\n Boolean(payload.value);\n\n // TODO: updateAddressValidationError does not have a field\n // Avoiding refactors in TS conversion\n // @ts-expect-error TODO: This could throw errors in prod code today\n state[addressType][field] = {\n // @ts-expect-error TODO: This could throw errors in prod code today\n ...state[addressType][field],\n ...payload,\n ...(hasIsDirtyProperty && { isDirty }),\n };\n\n updateResidentialByBillingAddress(state, data);\n};\n\nconst updateAutoCompleteType =\n (type: AUTO_COMPLETE_TYPE) =>\n (state: FormState, data: { addressType: FormAddressTypes }) => {\n const isWps = features.isActive('isWps');\n const { addressType } = data;\n\n logger.info('updateAutoCompleteType', {\n addressType,\n isWps,\n type,\n });\n\n // TODO: Can we refactor to assign isManipulated intead of spreading?\n // @ts-expect-error See note abouve, avoid refactor in TS conversion\n state[addressType] = {\n ...state[addressType],\n autoCompleteType: {\n value: type,\n },\n };\n };\n\nconst updateIsManipulated =\n (value: boolean) =>\n (state: FormState, data: { addressType: FormAddressTypes }) => {\n const { addressType } = data;\n // TODO: Can we refactor to assign isManipulated intead of spreading?\n // @ts-expect-error See note abouve, avoid refactor in TS conversion\n state[addressType] = {\n ...state[addressType],\n isManipulated: {\n value,\n },\n };\n };\n\nconst getDefaultOnboardOption = (): DefaultInputState => {\n const isOptionalSignup = features.isActive('isOptionalSignup');\n const isStreamlineOptionalExperience = features.isActive(\n 'isStreamlineOptionalExperience',\n );\n const isPoma = features.isActive('isPOMAEligible');\n const isForcedGuest = features.someActive(\n 'isWpsGuestUpgradeEligible',\n 'isForcedGuest',\n );\n const isPasswordlessForcedSignup = features.isActive(\n 'passwordlessForcedSignup',\n );\n const { country } = getLocale();\n const isSignupIneligible =\n features.isActive('shouldDisableSignup') ||\n (features.isActive('shouldDisableSignupForGibraltar') &&\n country === CountryCodes.Gi);\n\n const { hasExistingAccount } = getUnifiedLoginContextData();\n // This is for SEPA guest flow\n const hasGuestXOSepaUpdate = features.isActive('hasGuestXOSepaUpdate');\n\n const hasMemberAccount =\n hasExistingAccount &&\n features.isActive('shouldDisableOnboardToggleForMembers');\n\n // Default for forced signup\n const overrides: DefaultInputState = {\n displayError: false,\n error: '',\n errorCode: '',\n isDirty: false,\n isValid: true,\n value: 'signup',\n };\n\n // By default, no option is selected for radio buttons\n if (isOptionalSignup) {\n if (isStreamlineOptionalExperience) {\n overrides.errorCode = '';\n overrides.isValid = true;\n overrides.value =\n hasMemberAccount || hasGuestXOSepaUpdate ? 'guest' : 'signup'; // Can assume they don't want to sign up.\n } else {\n overrides.errorCode = 'valueMissing';\n overrides.isValid = false;\n // @ts-expect-error - Why do we assign this to invalid empty value?\n overrides.value = '';\n }\n }\n\n if (\n isPoma ||\n isSignupIneligible ||\n isForcedGuest ||\n isPasswordlessForcedSignup\n ) {\n overrides.errorCode = '';\n overrides.isValid = true;\n overrides.value = 'guest';\n }\n\n return getDefaultInputState(overrides);\n};\n\n/** Generate a base form state for address fields */\nconst getAddressState = (): FormAddressState => ({\n billingAddress: {\n ...getBaseAddressFields(),\n autoCompleteType: { value: AUTO_COMPLETE_TYPE.MANUAL },\n isManipulated: { value: false },\n meta: { hasValidationError: false },\n },\n /**\n * Residential address is visible just for some countries\n * These countries are in the experiment FEATURE_RESIDENTIAL_ADDRESS_LITE\n * Its default value is the billing address but the user can change it\n */\n ...(isResidentialAddressEnabled() && {\n residentialAddress: {\n ...getBaseAddressFields(),\n autoCompleteType: { value: AUTO_COMPLETE_TYPE.MANUAL },\n // Managing isDirty on the object to avoid overriding with billingAddress\n // after user changed it\n isDirty: false,\n isManipulated: { value: false },\n meta: { hasValidationError: false },\n },\n }),\n shareAddressWithDonatee: {\n value: !features.isActive('isDonationOptionallyShareAddress'),\n },\n shippingAddress: {\n autoCompleteType: { value: AUTO_COMPLETE_TYPE.MANUAL },\n country: getDefaultInputState({\n errorCode: '',\n isValid: true,\n value: getLocale().country,\n }),\n firstName: getDefaultInputState(),\n isManipulated: { value: false },\n lastName: getDefaultInputState(),\n meta: { hasValidationError: false },\n ...getBaseAddressFields(),\n },\n shipToBilling: {\n hasChanged: false,\n value: true,\n },\n bypassAddressNormalization: false, // eslint-disable-line sort-keys\n});\n\nconst createAddressActions = (): FormAddressActions => ({\n updateAddressField: action((state, data) => {\n updateIsManipulated(true)(state, data);\n updateAddressField(state, data);\n }),\n\n updateAddressValidationError: action((state, data) => {\n updateAddressField(state, {\n addressType: data.addressType,\n isBatchUpdate: true,\n payload: getAddressValidationPayload(data),\n });\n }),\n\n updateAllAddressFieldsUsingANS: action((state, data) => {\n updateAddressField(state, data);\n updateAutoCompleteType(AUTO_COMPLETE_TYPE.ANS)(state, data);\n updateIsManipulated(false)(state, data);\n }),\n\n updateAllAddressFieldsUsingGoogleAutocomplete: action((state, data) => {\n updateAddressField(state, data);\n updateAutoCompleteType(AUTO_COMPLETE_TYPE.GOOGLE)(state, data);\n updateIsManipulated(false)(state, data);\n }),\n\n updateAllAddressFieldsUsingMerchantPrefilledData: action((state, data) => {\n updateAddressField(state, data);\n updateAutoCompleteType(AUTO_COMPLETE_TYPE.MERCHANT_PREFILLED)(state, data);\n updateIsManipulated(false)(state, data);\n }),\n\n updateBypassAddressNormalization: action((state, payload) => {\n state.bypassAddressNormalization = Boolean(payload);\n }),\n\n updateShareAddressWithDonatee: action((state, payload) => {\n state.shareAddressWithDonatee = { value: payload };\n }),\n\n updateShipToBilling: action((state, payload) => {\n state.shipToBilling = {\n hasChanged: true,\n value: payload,\n };\n }),\n\n // Listeners\n // eslint-disable-next-line sort-keys\n bypassAddressNormalizationListener: actionOn(\n // Target resolver\n actions => actions.updateAddressField,\n (state, target) => {\n const { addressType } = target.payload;\n const shipTo = state.shipToBilling.value\n ? 'billingAddress'\n : 'shippingAddress';\n\n // If the user changes the shipping address then set the\n // bypass address normalization flag to `false`\n if (\n (features.isActive('hasAddressNormalizationShipping') ||\n features.isActive('hasAddressNormalizationBoth')) &&\n addressType === shipTo &&\n state.bypassAddressNormalization\n ) {\n state.bypassAddressNormalization = false;\n }\n },\n ),\n\n // Set Residential Address as dirty to avoid updating it\n // based on Billing Address\n updateResidentialAddressIsDirty: action((state, payload) => {\n // Residential Address doesn't exists, so feature is disabled\n if (!state.residentialAddress) {\n return;\n }\n\n state.residentialAddress.isDirty = payload;\n }),\n});\n\nconst getInputState = (): FormInputState => {\n const onboardOption = getDefaultOnboardOption();\n const hasSepaMandate = isSepaMandateCountry();\n const hasSelectAllSignupTermsExperience = hasSelectAllSignupTerms();\n return {\n bankAccountNumber: getDefaultInputState(),\n bankAccountType: {\n value: 'iban',\n },\n bankIban: getDefaultInputState(),\n bankSortCode: getDefaultInputState(),\n cardCvv: getDefaultInputState(),\n cardExpiry: getDefaultInputState(),\n cardNumber: getDefaultInputState({\n cardType: '',\n cobrand: '',\n }),\n cardProductClass: getDefaultInputState(),\n currencyConversionSelection: '',\n dialingCode: getDefaultInputState({\n errorCode: '',\n isValid: true,\n value: getLocale().country,\n }),\n email: getDefaultEmailState(),\n firstName: getDefaultInputState(),\n guestAgreeToTerms: getDefaultInputState({\n isValid: features.isNotActive('hasGuestTermsAndConditionsCheckbox'),\n value: false,\n }),\n initialOnboardOption: onboardOption,\n installmentTerm: getDefaultInputState(),\n isSignupIncentiveOptIn: false,\n lastName: getDefaultInputState(),\n marketingOptIn: getDefaultInputState({\n errorCode: '',\n isValid: true,\n value:\n !features.isActive('hasMarketingOptInCheckbox') ||\n features.isActive('isMarketingOptInCheckedByDefault'),\n }),\n onboardOption: onboardOption,\n password: getDefaultInputState(),\n phone: {\n ...getDefaultInputState(),\n meta: DEFAULT_PHONE_METADATA,\n },\n phoneType: getDefaultInputState({\n errorCode: '',\n isValid: true,\n value: 'MOBILE',\n }),\n residentialAddressButtonShouldSubmit: false,\n sepaMandate: getDefaultInputState({\n isValid: !hasSepaMandate,\n value: false,\n }),\n shippingInsuranceSelected: false,\n [SIGNUP_AGREE_TO_TERMS]: getDefaultInputState({\n isValid:\n features.isNotActive('hasSignupTermsAndConditionsCheckbox') &&\n !hasSelectAllSignupTermsExperience,\n value: false,\n }),\n // Right of Withdraw checkbox, just exists for countries in\n // TREATMENT_2 of FEATURE_SIGNUP_RIGHT_OF_WITHDRAW\n ...(features.isActive('signupRightOfWithdrawalCheckbox') && {\n rightOfWithdrawal: getDefaultInputState({\n isValid: false,\n value: false,\n }),\n }),\n // Privacy Statement checkbox\n ...(features.isActive('hasPrivacyStatementTerms') && {\n [SIGNUP_AGREE_TO_PRIVACY_STATEMENTS]: getDefaultInputState({\n isValid: false,\n value: false,\n }),\n }),\n // Third party data consent checkbox (KR)\n ...(features.isActive('hasThirdPartyDataConsentCheckbox') && {\n [THIRD_PARTY_DATA_CONSENT]: getDefaultInputState({\n isValid: false,\n value: false,\n }),\n }),\n // Unique information processing checkbox (KR)\n ...(features.isActive('hasUniqueInformationProcessingCheckbox') && {\n [UNIQUE_INFORMATION_PROCESSING]: getDefaultInputState({\n isValid: false,\n value: false,\n }),\n }),\n ...getKycFields(),\n ...getCrsState(),\n };\n};\n\nconst getCrsState = () => {\n if (!features.isActive('shouldShowCRSInterstitial')) {\n return {};\n }\n\n return {\n bypassCRSInterstitial: false,\n crsLegalFirstName: getDefaultInputState({\n errorCode: '',\n isValid: true,\n value: '',\n }),\n crsLegalLastName: getDefaultInputState({\n errorCode: '',\n isValid: true,\n value: '',\n }),\n crsTaxDetails: {\n value: [getCrsFields()],\n },\n crsTaxStatus: getDefaultInputState({\n errorCode: '',\n isValid: true,\n value: null,\n }),\n };\n};\n\nconst createInputActions = (): FormInputActions => ({\n updateCurrencyConversionSelection: action((state, selection) => {\n state.currencyConversionSelection = selection;\n }),\n\n updateNonAddressField: action((state, { field, payload }) => {\n const isDirty =\n state[field]?.isDirty || payload.isDirty || Boolean(payload.value);\n state[field] = {\n ...state[field],\n ...payload,\n // @ts-expect-error: TODO: update code to check if this is a input\n // avoid refactors in TS conversion\n isDirty,\n };\n }),\n\n updateOnboardOption: action((state, option) => {\n state.onboardOption.value = option;\n state.onboardOption.isValid = true;\n state.onboardOption.errorCode = '';\n }),\n\n updateShippingInsuranceSelected: action((state, payload) => {\n state.shippingInsuranceSelected = Boolean(payload);\n }),\n\n // eslint-disable-next-line sort-keys\n onUpdateNonAddressField: actionOn(\n actions => actions.updateNonAddressField,\n (state, target) => {\n const { country } = getLocale();\n if (\n country === CountryCodes.Au &&\n wasInfoSecFieldChanged(target.payload.field)\n ) {\n const { errors, isValid } = revalidatePassword(state);\n\n if (isValid !== state.password.isValid) {\n state.password = {\n ...state.password,\n displayError: Boolean(state.displayError) && !isValid,\n errorCode: errors[0] || '',\n isValid,\n };\n }\n }\n },\n ),\n\n onUpdateStreetNameAndHouseNumber: actionOn(\n actions => actions.updateAddressField,\n (state, target) => {\n const isStreetNameOrHouseNumberField = [\n 'streetName',\n 'houseNumber',\n // @ts-expect-error\n // TODO: Refactor TS error due to TS knowing it can only be a string\n ].includes(target.payload.field);\n const addressType = target.payload.addressType;\n\n if (!isStreetNameOrHouseNumberField || !state[addressType]) {\n return;\n }\n\n const { houseNumber, streetName } = state[addressType] || {};\n const newLine1 = `${streetName?.value}, ${houseNumber?.value}`;\n // @ts-expect-error: Residential Address might be undefined\n state[addressType].line1 = {\n // @ts-expect-error: Residential Address might be undefined\n ...state[addressType].line1,\n isDirty: true,\n isValid: (houseNumber?.isValid && streetName?.isValid) ?? false,\n value: newLine1,\n };\n },\n ),\n\n resetNamesErrorOnChangeNationality: actionOn(\n actions => actions.updateNonAddressField,\n (state, target) => {\n if (target.payload.field !== 'nationality') {\n return;\n }\n\n const defaultValues = {\n displayError: false,\n error: '',\n errorCode: '',\n isValid: true,\n };\n\n const firstNameField = state.firstName;\n if (\n firstNameField.errorCode === 'INVALID_FIRST_NAME' &&\n firstNameField.displayError\n ) {\n state.firstName = {\n ...state.firstName,\n ...defaultValues,\n };\n }\n\n const lastNameField = state.lastName;\n if (\n lastNameField.errorCode === 'INVALID_LAST_NAME' &&\n lastNameField.displayError\n ) {\n state.lastName = {\n ...state.lastName,\n ...defaultValues,\n };\n }\n },\n ),\n\n resetPhoneMetadataWhenValueChanged: actionOn(\n actions => actions.updateNonAddressField,\n (state, target) => {\n const isConfirmedPhoneUpdateAction =\n // @ts-expect-error Looks like there may be an issue in easy-peasy d.ts\n // Notice pyload.payload type ahead\n // TODO: Verify this is an issue in easy-peasy types and look into fix\n target.payload.field === 'phone' && target.payload.meta === undefined;\n\n if (!isConfirmedPhoneUpdateAction) {\n state.phone = {\n ...state.phone,\n meta: DEFAULT_PHONE_METADATA,\n };\n }\n },\n ),\n\n updateBypassCRSInterstitial: action((state, payload) => {\n state.bypassCRSInterstitial = Boolean(payload);\n }),\n updateIsSignupIncentiveOptIn: action((state, payload) => {\n state.isSignupIncentiveOptIn = Boolean(payload);\n }),\n updateResidentialAddressButtonShouldSubmit: action((state, payload) => {\n state.residentialAddressButtonShouldSubmit = Boolean(payload);\n }),\n});\n\nconst getFormState = (\n overrides = {} as T,\n): FormState & T => ({\n ...getAddressState(),\n ...getInputState(),\n ...overrides,\n});\n\nconst formModelFactory = (): FormModel => ({\n ...getFormState(),\n ...createAddressActions(),\n ...createInputActions(),\n});\n\nexport { formModelFactory, getFormState, getKycFields, AUTO_COMPLETE_TYPE };\n","// External libraries\nimport { action } from 'easy-peasy';\n\n// Internal modules\nimport { features } from '@/lib/features';\nimport { getParams } from '@/lib/utils/params';\nimport { CARD_FIELDS_TO_DISPLAY } from '../constants';\nimport type { FiTypes } from '@/types';\nimport type { UiActions, UiModel, UiState } from './types';\nimport type { IncentiveOfferState } from '../types';\nimport { SPINNER_TYPES } from '../constants';\nimport { getLocale } from '@/lib/globals/globals';\nimport { CI } from '@/lib/customerInteractions';\nimport { CountryCodes } from '@/generated/graphql';\n\n/**\n * UI MODEL\n * Contains data that relates to the state of the UI\n */\n\nconst getInitialFundingInstrumentType = (): FiTypes => {\n const { country } = getLocale();\n const hasBank = features.someActive('hasAddBank', 'hasConsumerAddBank');\n const isCardTabDefault = country === CountryCodes.Jp;\n const isBankDefaultFiType = hasBank && !isCardTabDefault;\n\n return isBankDefaultFiType ? 'bank' : 'card';\n};\n\nconst isTabFeatureEnabled = (): boolean => {\n const bnplExperience = features.get('bnplExperience');\n const hasPayLaterTab = bnplExperience === 'TAB';\n const hasBank = features.someActive('hasAddBank', 'hasConsumerAddBank');\n const isBoltActive = features.isActive('blockDomesticPayers');\n\n // Bolt UI is only implemented on PayNowForm so other tabs aren't supported\n return (hasPayLaterTab || hasBank) && !isBoltActive;\n};\n\nconst getInitialIncentiveOfferState = (): IncentiveOfferState => {\n return {\n shouldDisplayOffer: false,\n shouldDisplayOfferAccepted: false,\n };\n};\n\nconst getWeasleyTheme = (): string => {\n const hasPPReactStyles = features.isActive('isPPReactStylesEligible');\n return hasPPReactStyles ? 'ppReactTheme' : 'controlTheme';\n};\n\nconst getUiState = (overrides: Partial = {}): UiState => ({\n // State\n addressNormalizationState: {\n page: 'shipToBilling',\n showBackButton: false,\n showNextButton: false,\n showSubmitButton: false,\n },\n cardFieldsToDisplay: CARD_FIELDS_TO_DISPLAY,\n checkForMemberBenefits: false,\n continueToAutoReturn: false,\n country: getLocale().country,\n countToggles: 0,\n currentLanguage: '',\n fiType: getInitialFundingInstrumentType(),\n guestIneligibleAlertDisplayed: false,\n hasCardTypeSelector: features.isActive('hasCardTypeSelector'),\n hasCupOneTimePasswordConfirmationMessage: false,\n // At ay point has the user focused into the form\n hasFormBeenFocused: false,\n identityAuthProviderStatus: 'notChecked',\n incentiveOfferState: getInitialIncentiveOfferState(),\n isAddressNormalizeOpen: false,\n isAutoSmsNotified: false,\n isBlockedDomesticTransaction: false,\n isCRSInterstitialOpen: false,\n isFILimitExceededInterstitialOpen: false,\n isFormSubmitting: false,\n isInstallmentButtonShown: false,\n isInstallmentInterstitialShown: false,\n isInventorySoldOutOpen: false,\n isKYCTeslaRedirectIntersitialOpen: features.isActive(\n 'shouldRedirectToTeslaOnboarding',\n ),\n isMemberBenefitsInterstitialOpen: false,\n isMemberBenefitsTrueGuestsInterstitialOpen: false,\n isMemberBenefitsTrueGuestsInterstitialReject: false,\n isOneTimePasswordConfirmationOpen: false,\n isOverCaptureVisible: false,\n isPageLoading: false,\n isPasswordlessUpgradeOpen: false,\n isPhoneConfirmationOpen: false,\n isReduxStoreHydrated: false,\n isResidentialAddressOpen: false,\n isRiskPhoneConfirmation: false,\n isSepaInterstitialOpen: false,\n isShippingAndTaxLoaded: false,\n isShippingShown: false,\n isSubmitting: false,\n isThreeDS2Shown: false,\n isUpgradeErrorShown: false,\n isUpgradeInterstitialOpen: false,\n isWPSDonePageOpen: false,\n multiBrandCardTypes: [],\n pageLevelError: '',\n pageWarningMessage: '',\n phoneConfirmationAlertType: '',\n showCardConversionOptions: false,\n showIsExistingAccountEmailMessage: false,\n showLoadingSpinnerWithMessage: null,\n showTabs: isTabFeatureEnabled(),\n showVenmoMessage: getParams().fundingSource === 'venmo',\n soldOutUrlFromError: undefined,\n spinnerType: SPINNER_TYPES.empty,\n theme: getWeasleyTheme(),\n ...overrides,\n});\n\nconst createUiActions = (): UiActions => ({\n // Actions\n // eslint-disable-next-line sort-keys\n setAddressNormalizationState: action((state, payload) => {\n state.addressNormalizationState = payload;\n }),\n setCardFieldsToDisplay: action((state, payload) => {\n state.cardFieldsToDisplay = payload;\n }),\n setCheckForMemberBenefits: action((state, payload) => {\n state.checkForMemberBenefits = Boolean(payload);\n }),\n setContinueToAutoReturn: action((state, payload) => {\n state.continueToAutoReturn = Boolean(payload);\n }),\n setCountToggles: action((state, payload) => {\n state.countToggles = payload;\n }),\n setCurrentLanguage: action((state, payload) => {\n state.currentLanguage = payload;\n }),\n setFiType: action((state, payload) => {\n state.fiType = payload;\n }),\n setGuestIneligibleAlertDisplayed: action((state, payload) => {\n state.guestIneligibleAlertDisplayed = Boolean(payload);\n }),\n setHasCardTypeSelector: action((state, payload) => {\n state.hasCardTypeSelector = Boolean(payload);\n }),\n setHasCupOneTimePasswordConfirmationMessage: action((state, payload) => {\n state.hasCupOneTimePasswordConfirmationMessage = Boolean(payload);\n }),\n setHasFormBeenFocused: action((state, payload) => {\n state.hasFormBeenFocused = Boolean(payload);\n }),\n setIdentityAuthProviderStatus: action((state, payload) => {\n state.identityAuthProviderStatus = payload;\n }),\n setIncentiveOfferState: action((state, payload) => {\n state.incentiveOfferState = payload;\n }),\n setIsAutoSmsNotified: action((state, payload) => {\n state.isAutoSmsNotified = Boolean(payload);\n }),\n setIsBlockedDomesticTransaction: action((state, payload) => {\n state.isBlockedDomesticTransaction = Boolean(payload);\n }),\n setIsFILimitExceededInterstitialOpen: action((state, payload) => {\n state.isFILimitExceededInterstitialOpen = payload;\n }),\n setIsInstallmentButtonShown: action((state, payload) => {\n state.isInstallmentButtonShown = Boolean(payload);\n }),\n setIsInstallmentInterstitialShown: action((state, payload) => {\n state.isInstallmentInterstitialShown = payload;\n }),\n setIsMemberBenefitsInterstitialOpen: action((state, payload) => {\n state.isMemberBenefitsInterstitialOpen = Boolean(payload);\n }),\n setIsMemberBenefitsTrueGuestsInterstitialReject: action((state, payload) => {\n state.isMemberBenefitsTrueGuestsInterstitialReject = Boolean(payload);\n }),\n setIsOneTimePasswordConfirmationOpen: action((state, payload) => {\n state.isOneTimePasswordConfirmationOpen = Boolean(payload);\n }),\n setIsReduxStoreHydrated: action((state, payload) => {\n state.isReduxStoreHydrated = payload;\n }),\n setIsRiskPhoneConfirmation: action((state, payload) => {\n state.isRiskPhoneConfirmation = Boolean(payload);\n }),\n setIsShippingAndTaxLoaded: action((state, payload) => {\n state.isShippingAndTaxLoaded = payload;\n }),\n setIsShippingShown: action((state, payload) => {\n state.isShippingShown = Boolean(payload);\n }),\n setMultiBrandCardTypes: action((state, payload) => {\n state.multiBrandCardTypes = payload;\n }),\n setOverCaptureVisible: action((state, payload) => {\n state.isOverCaptureVisible = Boolean(payload);\n }),\n setPageLevelError: action((state, payload) => {\n state.pageLevelError = payload;\n }),\n setPageWarningMessage: action((state, payload) => {\n state.pageWarningMessage = payload;\n }),\n setPhoneConfirmationAlertType: action((state, payload) => {\n state.phoneConfirmationAlertType = payload;\n }),\n setShowCardConversionOptions: action((state, payload) => {\n state.showCardConversionOptions = payload;\n }),\n setShowIsExistingAccountEmailMessage: action((state, payload) => {\n state.showIsExistingAccountEmailMessage = payload;\n }),\n setShowLoadingSpinnerWithMessage: action((state, payload) => {\n state.showLoadingSpinnerWithMessage = payload;\n }),\n setShowVenmoMessage: action((state, payload) => {\n state.showVenmoMessage = Boolean(payload);\n }),\n setSoldOutUrlFromError: action((state, payload) => {\n state.soldOutUrlFromError = payload;\n }),\n setSpinnerType: action((state, payload) => {\n state.spinnerType = payload;\n }),\n setTheme: action((state, payload) => {\n state.theme = payload;\n }),\n toggleIsAddressNormalizeOpen: action((state, payload) => {\n if (payload === true) {\n CI.start(CI.Event.CONTINGENCY_ADDRESS_NORMALIZATION_USER_INPUT);\n } else {\n CI.end(CI.Event.CONTINGENCY_ADDRESS_NORMALIZATION_USER_INPUT);\n }\n state.isAddressNormalizeOpen = Boolean(payload);\n }),\n toggleIsCRSInterstitialOpen: action((state, payload) => {\n if (payload === true) {\n CI.start(CI.Event.CONTINGENCY_TAX_INFORMATION_USER_INPUT);\n } else {\n CI.end(CI.Event.CONTINGENCY_TAX_INFORMATION_USER_INPUT);\n }\n state.isCRSInterstitialOpen = Boolean(payload);\n }),\n toggleIsFormSubmitting: action((state, payload) => {\n state.isFormSubmitting = Boolean(payload);\n }),\n toggleIsInventorySoldOutOpen: action((state, payload) => {\n state.isInventorySoldOutOpen = Boolean(payload);\n }),\n toggleIsKYCTeslaRedirectIntersitialOpen: action((state, payload) => {\n state.isKYCTeslaRedirectIntersitialOpen = Boolean(payload);\n }),\n toggleIsMemberBenefitsTrueGuestsInterstitialOpen: action((state, _) => {\n state.isMemberBenefitsTrueGuestsInterstitialOpen = Boolean(\n !state.isMemberBenefitsTrueGuestsInterstitialOpen,\n );\n }),\n toggleIsPageLoading: action((state, payload) => {\n state.isPageLoading = Boolean(payload);\n }),\n toggleIsPasswordlessUpgradeOpen: action((state, payload) => {\n state.isPasswordlessUpgradeOpen = Boolean(payload);\n }),\n toggleIsPhoneConfirmationOpen: action((state, payload) => {\n state.isPhoneConfirmationOpen = Boolean(payload);\n }),\n toggleIsResidentialAddressOpen: action((state, payload) => {\n state.isResidentialAddressOpen = Boolean(payload);\n }),\n toggleIsSepaInterstitialOpen: action((state, payload) => {\n state.isSepaInterstitialOpen = Boolean(payload);\n }),\n toggleIsThreeDS2Shown: action((state, payload) => {\n state.isThreeDS2Shown = Boolean(payload);\n }),\n toggleIsUpgradeErrorShown: action((state, payload) => {\n state.isUpgradeErrorShown = Boolean(payload);\n }),\n toggleIsUpgradeInterstitialOpen: action((state, payload) => {\n state.isUpgradeInterstitialOpen = Boolean(payload);\n }),\n toggleIsWPSDonePageOpen: action((state, payload) => {\n state.isWPSDonePageOpen = Boolean(payload);\n }),\n});\n\nconst uiModelFactory = (): UiModel => ({\n ...getUiState(),\n ...createUiActions(),\n});\n\nexport { getUiState, uiModelFactory };\n","// External libraries\nimport { action } from 'easy-peasy';\n\nimport type { UserActions, UserModel, UserState } from './types';\n\nexport const getUserState = (\n overrides: Partial = {},\n): UserState => ({\n isUserLoggedIn: false,\n ...overrides,\n});\n\nconst createUserActions = (): UserActions => ({\n setUserLoggedIn: action(state => {\n state.isUserLoggedIn = true;\n }),\n setUserLoggedOut: action(state => {\n state.isUserLoggedIn = false;\n }),\n});\n\nexport const userModelFactory = (): UserModel => ({\n ...getUserState(),\n ...createUserActions(),\n});\n","// External modules\nimport { action } from 'easy-peasy';\n\n// Internal modules\nimport { logger } from '@/lib/logger';\nimport { apiModelFactory, getApiState } from './api/api';\nimport { formModelFactory, getFormState } from './form';\nimport { getUiState, uiModelFactory } from './ui';\nimport { getUserState, userModelFactory } from './user/user';\nimport type { GenericObjectType } from '@/types';\nimport type { UserModel } from './user';\n\ntype getInitialStoreStateParam =\n | {\n api?: GenericObjectType;\n form?: GenericObjectType;\n ui?: GenericObjectType;\n user?: UserModel;\n }\n | undefined;\n\nconst getInitialStoreState = ({\n api,\n form,\n ui,\n user,\n}: getInitialStoreStateParam = {}) => ({\n api: getApiState(api),\n form: getFormState(form),\n ui: getUiState(ui),\n user: getUserState(user),\n});\n\nexport const storeModel = {\n api: apiModelFactory(),\n form: formModelFactory(),\n ui: uiModelFactory(),\n user: userModelFactory(),\n\n // This probably doesn't need to be an action, which is causing the\n // odd typing due to action, but not touching prod code in TS conversion PR\n // eslint-disable-next-line sort-keys\n resetStore: action((_, overrides: getInitialStoreStateParam) => {\n logger.info('reset_app_store');\n return getInitialStoreState(overrides);\n }),\n};\n\nexport type StoreModelType = typeof storeModel;\nexport * from './utils';\nexport * from './types';\n","// External libraries\n// Internal modules\nimport { getGlobals } from '../globals';\nimport { logger } from '../logger';\nimport { isFunction } from '@/lib/utils/typeUtils';\n\nexport const browserFeatureDetection = {\n paymentRequestApi(): void {\n const { device } = getGlobals();\n\n if (!isFunction(window.PaymentRequest)) {\n logger.info('payment_request_api_unavailable', device);\n return;\n }\n\n try {\n // Dummy transaction amount. We don't need to send the actual data\n // to make the call to `.canMakePayment()`\n const total = {\n amount: {\n currency: 'USD',\n value: '0.00',\n },\n label: 'Total',\n };\n const supportedMethods = 'basic-card';\n const request = new PaymentRequest([{ supportedMethods }], { total });\n\n request\n .canMakePayment()\n .then(canMakePayment => {\n logger.info('payment_request_api_available', {\n canMakePayment,\n ...device,\n });\n })\n .catch(error => {\n logger.info('payment_request_api_can_make_payment_error', {\n error,\n ...device,\n });\n });\n } catch (error) {\n logger.info('payment_request_api_error', { error, ...device });\n }\n },\n};\n","// Internal modules\nimport { logger } from '../logger';\nimport { isFunction } from '@/lib/utils/typeUtils';\nconst kebabToCamelCase = (s: string): string => {\n return s.replace(/-(\\w)/g, (_, match) => match.toUpperCase());\n};\n\nconst logPerformanceTiming = (): void => {\n /**\n * PerformanceNavigationTiming API is not available in some\n * browsers (e.g. IE 11, Safari). For those browsers we fallback\n * to the older window.performance.timing object, which is an instance\n * of PerformanceTiming.\n */\n if (\n isFunction(window.PerformanceNavigationTiming) &&\n isFunction(window.performance?.getEntriesByType)\n ) {\n const [navTiming] = performance.getEntriesByType('navigation') || [];\n const paintTimings = performance.getEntriesByType('paint') || [];\n\n if (!navTiming) {\n logger.info('performance_navigation_timing_event_not_found');\n return;\n }\n\n const {\n domComplete,\n domInteractive,\n requestStart,\n responseEnd,\n responseStart,\n } = navTiming as PerformanceNavigationTiming;\n const paintTimingData = paintTimings.reduce(\n (obj, item) => ({\n ...obj,\n // 'first-paint', 'first-contentful-paint'\n [kebabToCamelCase(item.name)]: item.startTime,\n }),\n {},\n );\n const payload = {\n domComplete,\n domInteractive,\n firstByte: responseStart - requestStart,\n serverRequestTime: responseEnd - requestStart,\n source: 'PerformanceNavigationTiming',\n ...paintTimingData,\n };\n\n logger.info('performance_load_time', payload);\n } else if (window.performance?.timing) {\n // ! performance.timing is deprecated, it needs to be replaced\n // https://developer.mozilla.org/en-US/docs/Web/API/Performance/timing\n const {\n domComplete,\n domContentLoadedEventEnd,\n domInteractive,\n navigationStart,\n requestStart,\n responseEnd,\n responseStart,\n } = performance.timing;\n // domComplete is 0 in Safari\n const complete = domComplete || domContentLoadedEventEnd;\n\n logger.info('performance_load_time', {\n domComplete: complete - navigationStart,\n domInteractive: domInteractive - navigationStart,\n firstByte: responseStart - requestStart,\n serverRequestTime: responseEnd - requestStart,\n source: 'PerformanceTiming',\n });\n } else {\n logger.info('performance_apis_not_available');\n }\n};\n\nexport const logPerformanceTimingOnLoadEvent = (): void => {\n window.addEventListener('load', logPerformanceTiming);\n};\n","import { isUserActionCommit } from '../../../lib/globals';\nimport { appStore } from '@/store';\nimport { SPINNER_TYPES } from '@/store/models/constants';\n\n/**\n * @function setProgressiveSpinnerType\n * @description Sets the type of Progressive spinner\n * to use in the UI state\n */\nconst setProgressiveSpinnerType = (): void => {\n const { ui: uiActions } = appStore.getActions();\n\n //note: feature check is inside SpinnerRender component\n if (isUserActionCommit()) {\n // completing a transaction - useraction=commit\n uiActions.setSpinnerType(SPINNER_TYPES.thankYou);\n } else {\n // sending back to merchant - useraction=continue\n uiActions.setSpinnerType(SPINNER_TYPES.almostDone);\n }\n};\n\n/**\n * @function markSpinnerOnRender\n * @description creates a performance marker to get duration\n * of progressive spinner\n * @param spinnerType adds the spinner type to detail property\n * of PerformanceMark\n */\nconst markSpinnerOnRender = ({\n spinnerType,\n}: {\n spinnerType: string;\n}): void => {\n window.performance?.mark('TransitionSpinnerRender', {\n detail: { spinnerType },\n });\n};\n\nexport { setProgressiveSpinnerType, markSpinnerOnRender };\n","export const EXCLUDED_COUNTRIES = ['IN', 'RU', 'C2'];\n\nexport const APPLE_PAY_BILLING_BUTTON_METRICS = {\n CLICK_COMPLETE:\n 'GUEST_SIGNUP.BILLING_PAY_WITH_OTHER_FUNDING_SOURCE_CLICKED.COMPLETE',\n CLICK_ERROR:\n 'GUEST_SIGNUP.BILLING_PAY_WITH_OTHER_FUNDING_SOURCE_CLICKED.ERROR',\n} as const;\n","// External Modules\nimport styled from '@emotion/styled';\n\n//Internal modules\nimport { StyledText } from '../Common';\nimport {\n FONT_SIZE_SMALL,\n FONT_WEIGHT_NORMAL_PP,\n LABEL_COLOR,\n} from '@/styles/styleVariables';\n\nexport const StyledOnboardTermsText = styled(StyledText)`\n color: ${LABEL_COLOR};\n font-size: ${FONT_SIZE_SMALL};\n font-weight: ${FONT_WEIGHT_NORMAL_PP};\n line-height: 20px;\n text-align: left;\n`;\n","// Internal modules\nimport type { CountryCodes } from '@/generated/graphql';\nimport type { TermsMap } from './types';\nimport { getUserAgreementPath } from '@/lib/utils/terms';\n\nexport const BILLING_WITH_PURCHASE_FLOW_TO_CONTENT_KEY_MAP = {\n CHANNEL_INITIATED_BILLING: 'customerInitiated',\n CHANNEL_INITIATED_BILLING_SINGLE_AGREEMENT: 'customerInitiated',\n MERCHANT_INITIATED_BILLING: 'merchantInitiated',\n MERCHANT_INITIATED_SINGLE_BILLING: 'merchantInitiated',\n};\n\nexport const ENTERPRISE_CONTENT_KEYS = [\n 'eBayPolicyLinkText',\n 'facebookp2pPrivacyStatementLinkText',\n];\n\nexport const BILL_PAY_CONSENT = 'billPayConsent';\n\nexport const getTermsMap = ({\n locale,\n country,\n}: {\n locale: string;\n country: CountryCodes;\n}): TermsMap => ({\n backupPaymentPolicyLink: {\n contentKey: 'paypalPolicy',\n path: 'backupPayment',\n },\n ebayPolicyLink: {\n contentKey: 'eBayPolicyLinkText',\n path: `https://wmsapp.ebay.com/wmsapp/ppba?locale=${locale}&country_code=${country}&_https2httpredirect=false`,\n },\n fbPrivacyLink: {\n contentKey: 'facebookp2pPrivacyStatementLinkText',\n path: 'https://www.facebook.com/privacy/explanation',\n },\n overseasRemittance: {\n contentKey: 'overseasRemittance',\n path: 'webapps/mpp/corporate/overseas-remittance',\n },\n paypalLink: {\n contentKey: 'paypalLink',\n path: '/',\n },\n paypalPolicy: {\n contentKey: 'paypalPolicy',\n path: 'popup/about-payment-methods',\n },\n recurringPaymentsPolicyLink: {\n contentKey: 'paypalPolicy',\n path: 'webapps/mpp/ua/recurringpymts-full',\n },\n userAgreement: {\n contentKey: 'userAgreement',\n getDynamicPath: getUserAgreementPath,\n },\n});\n","// Internal modules\nimport { logger } from '@/lib/logger';\nimport { camelToSnakeCase } from '@/lib/utils';\n\nexport const logBillingTermLinkClickToFpti = (linkName: string): void => {\n const snakedLinkName = camelToSnakeCase(linkName);\n const eventName = `prepare_${snakedLinkName}_terms`;\n\n logger.fpti(eventName, {\n state_name: 'signup',\n transition_name: eventName,\n });\n};\n","// External libraries\nimport type { ReactElement, ReactNode } from 'react';\nimport React from 'react';\nimport { appStore } from '@/store';\n\n// Internal modules\nimport { ENTERPRISE_CONTENT_KEYS, getTermsMap } from './constants';\nimport { Link } from '@/components/Common';\nimport { logBillingTermLinkClickToFpti } from './fpti';\nimport {\n buildTermsUrl,\n getContent,\n getLocale,\n getNestedContentKeys,\n} from '@/lib';\n\nexport const getTermsLinks = (termsKey: string): Record => {\n const TERMS_MAP = getTermsMap(getLocale());\n\n const nestedKeys = getNestedContentKeys(termsKey);\n\n const allowedKeys = Object.keys(TERMS_MAP);\n\n if (!Array.isArray(nestedKeys)) {\n return {};\n }\n /* \n TS gives us a hard time here due to a over complicated\n dynamic integration. We should refactor this code in the future.\n */\n return nestedKeys\n .filter(key => allowedKeys.includes(key))\n .reduce((termsObj, link) => {\n //@ts-expect-error\n termsObj[link] =\n //@ts-expect-error\n link === 'brTag' ?
    : ;\n return termsObj;\n }, {});\n};\n\nexport const TermLink = ({\n contentKey,\n getDynamicPath,\n path,\n}: {\n contentKey: string;\n getDynamicPath: () => string;\n path: string;\n}): ReactElement => {\n const { consentCode } = appStore.getState().api;\n\n const isEnterpriseLink =\n consentCode && ENTERPRISE_CONTENT_KEYS.includes(contentKey);\n\n const termsKey = `${\n isEnterpriseLink ? 'enterpriseAgreement' : 'billingAgreement'\n }.${contentKey}`;\n const content = getContent(termsKey);\n\n let href;\n if (path === 'backupPayment') {\n href = buildTermsUrl({ useFunction: 'backupPayment' });\n }\n if (isEnterpriseLink) {\n href = path;\n }\n return (\n logBillingTermLinkClickToFpti(contentKey)}\n href={!href ? buildTermsUrl({ getDynamicPath, path }) : href}\n text={content}\n />\n );\n};\n","// Internal modules\nimport type { ReactNode } from 'react';\nimport { getLocale } from '@/lib/globals';\nimport { appStore } from '@/store';\nimport { getContent } from '@/lib/content';\nimport {\n BILL_PAY_CONSENT,\n BILLING_WITH_PURCHASE_FLOW_TO_CONTENT_KEY_MAP,\n} from './constants';\nimport { features } from '@/lib';\nimport {\n isChannelInitiatedBillingAgreement,\n isLegacySubscription,\n isMerchantInitiatedBillingAgreement,\n isNextGenSubscription,\n isUserActionCommit,\n} from '@/lib/globals';\nimport { BillingType, CountryCodes as countrycodes } from '@/generated/graphql';\nimport type { CartState } from '@/store/models/api/types';\nimport type { CountryCodes } from '@/generated/graphql';\nimport type { AppMode, FiTypes } from '@/types';\nimport { APP_MODE } from '@/types';\n\nconst getBillingAgreementKey = (\n accountType: AppMode,\n billingType: BillingType,\n fiType: FiTypes,\n): string => {\n const userAction = isUserActionCommit() ? 'commit' : 'continue';\n const { country } = getLocale();\n\n const {\n isChannelInitiatedBA,\n isBrProjectMacawNoBalanceFlow,\n isPaymentServiceActAppliedFlow,\n isRecurringPaymentsFlow,\n isBillingWithoutPurchase,\n isNextGenSubscriptionFlow,\n } = getFlowEligibility(country);\n\n if (isBrProjectMacawNoBalanceFlow) {\n return 'billingAgreement.noBalanceSignupAgreement';\n }\n\n if (isPaymentServiceActAppliedFlow) {\n return isChannelInitiatedBA\n ? `billingAgreement.${userAction}.channelInitiated`\n : `billingAgreement.${userAction}.merchantInitiated`;\n }\n\n if (isRecurringPaymentsFlow) {\n return getRecurringPaymentsKey(country, userAction);\n }\n\n if (isNextGenSubscriptionFlow) {\n return getNextGenSubscriptionKey(\n accountType,\n billingType,\n country,\n fiType,\n userAction,\n );\n }\n\n if (isBillingWithoutPurchase) {\n return getBAWithoutPurchaseContentKey(billingType, userAction);\n }\n\n // Billing Agreement With Purchase Flows\n // @ts-expect-error - note above\n const flowType = BILLING_WITH_PURCHASE_FLOW_TO_CONTENT_KEY_MAP[billingType];\n return `billingAgreement.${flowType}`;\n};\n\ntype FlowEligibility = {\n isChannelInitiatedBA: boolean;\n isBrProjectMacawNoBalanceFlow: boolean;\n isPaymentServiceActAppliedFlow: boolean;\n isRecurringPaymentsFlow: boolean;\n isBillingWithoutPurchase: boolean;\n isNextGenSubscriptionFlow: boolean;\n};\n\nconst getFlowEligibility = (country: CountryCodes): FlowEligibility => {\n const isChannelInitiatedBA = isChannelInitiatedBillingAgreement();\n const isMerchantInitiatedBA = isMerchantInitiatedBillingAgreement();\n\n /**\n * BR: In weasley there is no user.noBalance flag\n * Project Macaw: disables the disclaimer for BR users - all BA Flows\n */\n const isBrProjectMacawNoBalanceFlow = country === countrycodes.Br;\n\n /**\n * SG: Singapore Payment Service Act - Compliance Feature\n * BA with Purchase and without Purchase: MIB, MISB, CIB, and CISB\n */\n const isPaymentServiceActAppliedFlow =\n features.isActive('isPaymentServiceActApplied') &&\n (isChannelInitiatedBA || isMerchantInitiatedBA);\n\n const isRecurringPaymentsFlow = isLegacySubscription();\n\n const { isBillingWithoutPurchase } = appStore.getState().api;\n const isNextGenSubscriptionFlow =\n isNextGenSubscription() && isBillingWithoutPurchase;\n\n return {\n isBillingWithoutPurchase,\n isBrProjectMacawNoBalanceFlow,\n isChannelInitiatedBA,\n isNextGenSubscriptionFlow,\n isPaymentServiceActAppliedFlow,\n isRecurringPaymentsFlow,\n };\n};\n\nconst getMerchantName = (\n cartDetails: CartState['cartDetails'],\n): string | ReactNode => {\n return cartDetails.merchant.name || getContent('base.theMerchant');\n};\n\nconst getBAWithoutPurchaseContentKey = (\n billingType: BillingType,\n userAction: string,\n): string => {\n const { consentCode } = appStore.getState().api;\n const isBillPayConsent = consentCode === BILL_PAY_CONSENT; // Validation for billpay model 3 flow\n\n if (consentCode && consentCode !== '') {\n return isBillPayConsent\n ? 'enterpriseAgreement.billPayConsentMIBWithNoBalanceChoice'\n : `enterpriseAgreement.${consentCode}NoFiStickyConsentSignup`;\n }\n\n return getBAWithoutPurchaseDefaultKey(userAction, billingType);\n};\n\nconst getBAWithoutPurchaseDefaultKey = (\n userAction: string,\n billingType: BillingType,\n): string => {\n const action = userAction === 'commit' ? 'Pay' : 'Continue';\n const keySuffix = getKeySuffix(action, billingType);\n\n return `billingAgreement.signupAgreement${keySuffix}`;\n};\n\nconst getKeySuffix = (action: string, type: BillingType): string => {\n const isCIB = type === BillingType.ChannelInitiatedBilling;\n // 'Fi' type applicable to both MIB and subscriptionsV1\n const contentBillingType = isCIB ? 'CibSticky' : 'FiSticky';\n const { country } = getLocale();\n const {\n cartDetails: { merchant },\n } = appStore.getState().api;\n const isIndianMerchant = merchant.country === countrycodes.In;\n\n if (country === countrycodes.In) {\n if (!isIndianMerchant && !isCIB) {\n return 'IndiaCrossBorderWithoutCib';\n } else if (isCIB) {\n return 'IndiaRtCib';\n } else if (isIndianMerchant && isReferenceTransaction(type)) {\n return 'IndiaDomesticRt';\n }\n return contentBillingType;\n }\n\n if (country === countrycodes.Us || isCIB) {\n return contentBillingType;\n }\n\n // Some countries share content in symlink'd country group folders\n // (GROUP-APAC/GROUP-LATAM/GROUP-EMEA), but have their own unique content.\n // To bypass the symlink, we are building the content key dynamically\n return getContent(\n `billingAgreement.signupAgreement${contentBillingType}${action}${country}`,\n )\n ? `${contentBillingType}${action}${country}`\n : `${contentBillingType}${action}`;\n};\n\nconst isReferenceTransaction = (type: BillingType): boolean => {\n const isChannelInitiatedBilling =\n type === BillingType.ChannelInitiatedBilling;\n const isMerchantInitiatedBilling =\n type === BillingType.MerchantInitiatedBilling;\n const isMerchantInitiatedSingleBilling =\n type === BillingType.MerchantInitiatedSingleBilling;\n\n return Boolean(\n isChannelInitiatedBilling ||\n isMerchantInitiatedBilling ||\n isMerchantInitiatedSingleBilling,\n );\n};\n\nconst getNextGenSubscriptionKey = (\n accountType: AppMode,\n billingType: BillingType,\n country: CountryCodes,\n fiType: FiTypes,\n userAction: string,\n): string => {\n if (country === countrycodes.Sg) {\n if (userAction === 'continue') {\n return 'billingAgreement.guestAgreementSubscriptionV1Continue';\n }\n return 'billingAgreement.guestAgreementSubscriptionsV1';\n }\n if (accountType === APP_MODE.GUEST) {\n if (fiType === 'bank') {\n return 'billingAgreement.guestAgreementSubscriptionsV1Bank';\n }\n return 'billingAgreement.guestAgreementSubscriptionsV1';\n }\n\n // Using MIB BA text for subscription V1 signup flow\n return getBAWithoutPurchaseDefaultKey(userAction, billingType);\n};\n\nconst getRecurringPaymentsKey = (\n country: CountryCodes,\n userAction: string,\n): string => {\n const billingAgreementContentKey =\n 'billingAgreement.signupRpAgreementFiSticky';\n if (country === countrycodes.Us) {\n return billingAgreementContentKey;\n }\n\n const action = userAction === 'commit' ? 'Pay' : 'Continue';\n // Some countries share content in symlink'd country group folders\n // (GROUP-APAC/GROUP-LATAM/GROUP-EMEA), but have their own unique content.\n // To bypass the symlink, we are building the content key dynamically\n return getContent(`${billingAgreementContentKey}${action}${country}`)\n ? `${billingAgreementContentKey}${action}${country}`\n : `${billingAgreementContentKey}${action}`;\n};\n\nexport { getBillingAgreementKey, getMerchantName };\n","// External libraries\nimport { css } from '@emotion/core';\n\nconst textStyles = css`\n font-size: 0.8rem;\n line-height: 1.6;\n text-align: left;\n\n strong {\n font-weight: bold;\n }\n`;\n\nexport { textStyles };\n","/** @jsx jsx */\n// External libraries\nimport { useEffect } from 'react';\nimport { jsx } from '@emotion/core';\nimport { appStore, useStoreState } from '@/store';\nimport { getContent, getLocale, logger } from '@/lib';\n\n// Internal modules\nimport { getTermsLinks } from './Components';\nimport { useMountLogging } from '@/lib/reactHooks';\nimport { getBillingAgreementKey, getMerchantName } from './utils';\nimport { textStyles } from './styles';\nimport { StyledText } from '@/components/Common';\nimport { CheckoutSessionType } from '@/generated/graphql';\nimport type { BillingType } from '@/generated/graphql';\n\nexport const BillingTerms = ({\n billingType,\n}: {\n billingType: BillingType;\n}): React.ReactElement => {\n useMountLogging(`${billingType}BillingTerms`);\n const { cartDetails, isBillingWithoutPurchase } = appStore.getState().api;\n const accountType = useStoreState(({ form }) => form.onboardOption.value);\n const locale = getLocale();\n const fiType = useStoreState(({ ui }) => ui.fiType);\n const billingAgreementKey = getBillingAgreementKey(\n accountType,\n billingType,\n fiType,\n );\n\n useEffect(() => {\n logger.fpti(\n 'guest_signup_billing_agreement_terms_content_decision_occurred',\n {\n account_type: accountType,\n billing_intent: isBillingWithoutPurchase\n ? CheckoutSessionType.BillingWithoutPurchase\n : CheckoutSessionType.BillingWithPurchase,\n billing_type: billingType,\n event_name:\n 'guest_signup_billing_agreement_terms_content_decision_occurred',\n locale,\n state_name: 'guest_signup_billing_agreements',\n terms_key: billingAgreementKey,\n transition_name: 'guest_signup_billing_agreement_terms',\n },\n );\n }, [\n accountType,\n billingAgreementKey,\n billingType,\n isBillingWithoutPurchase,\n locale,\n ]);\n\n return (\n \n {getContent(billingAgreementKey, {\n billPayIntegratorName: (\n {cartDetails?.merchant?.billPayIntegratorName}\n ),\n merchantName: {getMerchantName(cartDetails)},\n ...getTermsLinks(billingAgreementKey),\n })}\n \n );\n};\n","// External libraries\nimport React from 'react';\nimport { func, string } from 'prop-types';\n\n// Internal modules\nimport {\n streamlineGuestTermsEmbeddedLinks,\n streamlineSignupTermsEmbeddedLinks,\n} from './streamlineTermsEmbeddedLinks';\nimport {\n features,\n getContent,\n getLocale,\n hasSelectAllSignupTerms,\n} from '@/lib';\nimport { useMountLogging } from '@/lib/reactHooks';\nimport { getOnboardTermsStreamlineKey } from '../utils';\nimport { SectionSubHeading } from '@/components/Headings';\nimport { StyledOnboardTermsText } from '../StyledComponents';\nimport { OnboardTermsWithCheckbox } from '../OnboardTermsWithCheckbox';\nimport { STREAMLINE_COUNTRIES_WITH_CHECKBOX_TERMS } from '@/lib/constants';\nimport { PasswordlessTooltip } from '@/components/PasswordlessOnboarding/Components';\nimport { LazySelectAllTerms } from '../../SignupFields/SelectAllTerms';\nimport { LazyPrivacyStatement } from '../../SignupFields/LegalDisclosures/Components';\nimport { FONT_SIZE_SMALL, LABEL_COLOR } from '@/styles/styleVariables';\nimport type { AppMode } from '@/types';\n\ninterface StreamlineOnboardTermsProps {\n changeHandler: (e: React.ChangeEvent) => void;\n isPasswordless: boolean | undefined;\n type: AppMode;\n}\n\nconst StreamlineOnboardTerms = ({\n changeHandler,\n isPasswordless,\n type,\n}: StreamlineOnboardTermsProps): JSX.Element => {\n useMountLogging(`${type}OnboardTerms`);\n const hasSelectAllExp = hasSelectAllSignupTerms();\n const contentString = getOnboardTermsStreamlineKey({\n isPasswordless,\n type,\n });\n\n if (type === 'guest') {\n // Compliance: Domestic guest transactions in JP require UA acceptance with a checkbox\n const isShowCheckboxGuestFlow = features.isActive(\n 'shouldShowDomesticUserAgreementAcceptance',\n );\n\n if (isShowCheckboxGuestFlow) {\n return (\n \n );\n }\n\n return (\n \n {getContent(contentString, streamlineGuestTermsEmbeddedLinks())}\n \n );\n }\n\n const signupContent = getContent(\n contentString,\n streamlineSignupTermsEmbeddedLinks(),\n );\n\n // Show T&C checkbox for streamline flow in required countries\n const isShowCheckbox = STREAMLINE_COUNTRIES_WITH_CHECKBOX_TERMS.includes(\n getLocale()?.country,\n );\n\n if (isShowCheckbox) {\n return (\n <>\n {hasSelectAllExp && }\n\n \n\n {features.isActive('hasPrivacyStatementTerms') && (\n \n )}\n \n );\n }\n\n if (isPasswordless) {\n return (\n \n \n \n );\n }\n\n return (\n \n {signupContent}\n \n );\n};\n\nStreamlineOnboardTerms.propTypes = {\n changeHandler: func.isRequired,\n isPasswordless: string.isRequired,\n type: string.isRequired,\n};\n\nexport { StreamlineOnboardTerms };\n","// External libraries\nimport React from 'react';\nimport { useStoreState } from '@/store';\n\n// Internal modules\nimport { features } from '@/lib';\nimport { isNextGenSubscription, isSepaMandateCountry } from '@/lib/globals';\nimport {\n LazyRightOfWithdrawal,\n LazySepaMandate,\n LazyThirdPartyDataConsent,\n LazyUniqueInformationProcessing,\n} from '../Components';\nimport { MarketingOptIn } from '../MarketingOptIn';\nimport { BillingTerms } from '../../../BillingTerms';\nimport { DisclosuresContainer } from '../styledComponents';\nimport { StreamlineOnboardTerms } from '../../../OnboardTerms/StreamlineOnboardTerms';\nimport type { AppMode } from '@/types';\nimport type { BillingType } from '@/generated/graphql';\n\ntype StreamlineLegalDisclosuresProps = {\n changeHandler: (e: React.ChangeEvent) => void;\n isPasswordless?: boolean;\n type: AppMode;\n};\n\nconst StreamlineLegalDisclosures = ({\n changeHandler,\n type,\n isPasswordless,\n}: StreamlineLegalDisclosuresProps): JSX.Element => {\n const fiType = useStoreState(({ ui }) => ui.fiType);\n const billingType = features.get('billingType');\n //uses same determination logic for now but will not in the future\n const isBillingAgreement = !!billingType;\n const isNextGenSub = isNextGenSubscription();\n const hasMarketingOptInCheckbox =\n features.isActive('hasMarketingOptInCheckbox') ||\n features.isActive('hasMarketingOptInCheckboxForWps');\n const hasSepaMandate = isSepaMandateCountry();\n const showSepaIfGuest =\n type === 'guest' && hasSepaMandate && fiType === 'bank';\n // Right of Withdraw checkbox is enabled just for countries\n // in TREATMENT_2 of FEATURE_SIGNUP_RIGHT_OF_WITHDRAW\n const shouldRenderRightOfWithdrawalCheckbox = features.get(\n 'signupRightOfWithdrawalCheckbox',\n );\n\n return (\n \n \n {showSepaIfGuest && }\n {type === 'signup' && (\n <>\n {hasSepaMandate && fiType === 'bank' && (\n \n )}\n\n {shouldRenderRightOfWithdrawalCheckbox && (\n \n )}\n\n {features.isActive('hasThirdPartyDataConsentCheckbox') && (\n \n )}\n\n {features.isActive('hasUniqueInformationProcessingCheckbox') && (\n \n )}\n\n {hasMarketingOptInCheckbox && (\n \n )}\n\n {isBillingAgreement && }\n \n )}\n {type === 'guest' && isNextGenSub && (\n \n )}\n \n );\n};\n\nexport { StreamlineLegalDisclosures };\n","// External libraries\nimport React from 'react';\nimport { useStoreState } from '@/store';\n\n// Internal modules\nimport type { InputOnChange } from '@/types';\nimport { buildMPPUrl, getContent, hasSelectAllSignupTerms } from '@/lib';\nimport { getMarketingOptinContentKey } from './utils';\nimport { Checkbox, Link } from '@/components/Common';\nimport { MARKETING_OPT_IN } from '@/lib/features/constants';\n\nconst getTermsLinks = () => ({\n moreInformationLink: (\n \n ),\n});\n\ntype MarketingOptInProps = {\n changeHandler: InputOnChange;\n};\n\nconst MarketingOptIn = ({\n changeHandler,\n}: MarketingOptInProps): JSX.Element => {\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const marketingOptIn = useStoreState(({ form }) => form[MARKETING_OPT_IN]);\n const isSelectAllExperience = hasSelectAllSignupTerms();\n const content = getMarketingOptinContentKey({ isSelectAllExperience });\n\n return (\n \n );\n};\n\nexport { MarketingOptIn };\n","import { features } from '@/lib/features';\nconst getMarketingOptinContentKey = ({\n isSelectAllExperience,\n}: {\n isSelectAllExperience: boolean;\n}): string => {\n if (isSelectAllExperience) {\n return 'simplifiedSectionHeaders.multiTerms.marketingOptIn.terms';\n }\n\n const isStreamlineExperience = features.someActive(\n 'isStreamlineOptionalExperience',\n 'isStreamlineForcedExperience',\n );\n return isStreamlineExperience\n ? 'simplifiedSectionHeaders.marketingOptIn.terms'\n : 'terms.marketingOptIn';\n};\n\nexport { getMarketingOptinContentKey };\n","import { apolloClient } from '@/lib/apollo';\n\nimport { appStore } from '@/store';\nimport { IS_GUEST_MEMBER_BENEFITS_ELIGIBLE_QUERY } from '../graphql';\nimport { features, getGlobals, getLocale, getToken } from '@/lib';\nimport {\n getBankPayload,\n getCardPayload,\n getDialingCode,\n serializeAddressFields,\n} from '../utils';\n\n/**\n * Serlizes data to be used in eligiblity query and use benefits mutation\n * @param {object} data // Form state\n * @returns {object}\n */\nexport const serializeDataForMemberBenefits = data => {\n const {\n email: { value: email },\n firstName: { value: firstName },\n lastName: { value: lastName },\n phone: { value: number },\n phoneType: { value: phoneType },\n } = data;\n const dialingCode = getDialingCode(data);\n\n return {\n ...getBankPayload(data),\n ...getCardPayload(data),\n country: getLocale().country,\n email: email.trim(),\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n phone: {\n countryCode: `${dialingCode}`,\n number,\n type: phoneType,\n },\n supportedThreeDsExperiences: [features.get('threeDsV1Experience')],\n token: getToken(),\n ...serializeAddressFields(data),\n };\n};\n\n/**\n * Calls GQL query to see if this user matches a member account\n * @param {object} data // Form state\n * @returns {object}\n */\nexport const checkMemberBenefits = async data => {\n try {\n const {\n ui: { checkForMemberBenefits, fiType },\n } = appStore.getState();\n const { api: apiActions } = appStore.getActions();\n const isGuest = features.isActive('isForcedGuest');\n const isForcedSignUp = features.isActive('isForcedSignUp');\n const isGuestEligible =\n getGlobals()?.initialGqlData?.checkoutSession?.flags?.isGuestEligible;\n const isBNPL = features.get('bnplExperience') && fiType === 'bnpl';\n if (\n (isGuest || isGuestEligible || isForcedSignUp) &&\n checkForMemberBenefits &&\n !isBNPL\n ) {\n const variables = serializeDataForMemberBenefits(data);\n\n const isMemberEligible = await apolloClient.query({\n query: IS_GUEST_MEMBER_BENEFITS_ELIGIBLE_QUERY,\n variables,\n });\n\n const isEligible = Boolean(\n isMemberEligible?.data?.isGuestMemberBenefitsEligible?.isEligible,\n );\n apiActions.setIsEligibleForMemberBenefits(isEligible);\n\n return isEligible;\n }\n\n return false;\n } catch (err) {\n return false;\n }\n};\n","// External libraries\nimport { css } from '@emotion/core';\n\nexport const errorStyleOverrides = css`\n padding-left: 37px;\n`;\n\nexport const textStyles = css`\n line-height: 1.6;\n text-align: left;\n`;\n","// External modules\nimport type { ReactNode } from 'react';\nimport React from 'react';\nimport { useStoreState } from '@/store';\n// @ts-expect-error untyped import\nimport { FieldError } from '@checkout/react-components';\n\n// Internal modules\nimport { Checkbox } from '@/components/Common';\nimport { getContent } from '@/lib';\nimport { useMountLogging } from '@/lib/reactHooks';\nimport { errorStyleOverrides } from './styles';\nimport { logBlurOrFocusEvent } from '../Form/utils';\nimport type { AppMode, InputOnChange } from '@/types';\nimport { APP_MODE } from '@/types';\nimport { SIGNUP_AGREE_TO_TERMS } from '@/lib/features/constants';\n\ninterface OnboardTermsWithCheckboxProps {\n changeHandler: InputOnChange;\n errorContentKey?: string;\n label?: ReactNode;\n type: AppMode;\n}\n\nexport const OnboardTermsWithCheckbox = ({\n changeHandler,\n type,\n label,\n errorContentKey = 'fieldErrors.signupTermsMissing',\n}: OnboardTermsWithCheckboxProps): JSX.Element => {\n useMountLogging(`${type}OnboardTermsCheckbox`);\n const checkboxName =\n type === APP_MODE.GUEST ? 'guestAgreeToTerms' : SIGNUP_AGREE_TO_TERMS;\n const isSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const agreeToTerms = useStoreState(({ form }) => form[checkboxName]);\n const hasError = Boolean(agreeToTerms?.displayError);\n\n return (\n <>\n \n\n {hasError && (\n \n {getContent(errorContentKey)}\n \n )}\n \n );\n};\n","import { NON_WHITESPACE } from '../../../utils';\nvar PATTERN = /[\\d~`!@#$%^&*()_=+[\\];\"\\\\/<>?:{}|\\\\]/;\n\nvar validateName = value => {\n var isPresent = Boolean(value.length) && NON_WHITESPACE.test(value);\n var result = {\n patternMismatch: PATTERN.test(value),\n tooLong: isPresent && value.length > 100,\n valueMissing: !isPresent\n };\n result.errors = Object.keys(result).filter(key => result[key]);\n result.isValid = !result.errors.length;\n return result;\n};\n\nexport { validateName };","import { safeNormalize } from '../../../utils';\nvar LETTER_TO_PROP_NAME = {\n D: 'day',\n M: 'month',\n Y: 'year'\n};\n\nvar getDateOfBirthOrder = (datePattern, separator) => {\n var formatComponents = datePattern.toUpperCase().split(separator).map(str => str.trim());\n var dayIdx = formatComponents.indexOf('DD');\n var monthIdx = formatComponents.indexOf('MM');\n\n if (dayIdx === 0 && monthIdx === 1) {\n return 'DMY';\n } else if (dayIdx === 1 && monthIdx === 0) {\n return 'MDY';\n }\n\n return 'YMD';\n};\n\nvar getDateOfBirthSeparator = datePattern => {\n var matchArr = datePattern.match(/[-./]/);\n return (matchArr === null || matchArr === void 0 ? void 0 : matchArr[0]) || '';\n};\n\nvar parseByDateOfBirthSeparator = (dateOrder, dobInput, separator) => {\n var inputComponents = dobInput.split(separator);\n var dateOfBirth = {};\n var first = inputComponents[0];\n var sec = inputComponents[1] || '';\n var third = inputComponents[2] || '';\n dateOfBirth.inputValue = dobInput;\n\n if (dateOrder === 'DMY') {\n dateOfBirth.day = first;\n dateOfBirth.month = sec;\n dateOfBirth.year = third;\n } else if (dateOrder === 'YMD') {\n dateOfBirth.year = first;\n dateOfBirth.month = sec;\n dateOfBirth.day = third;\n } else {\n dateOfBirth.month = first;\n dateOfBirth.day = sec;\n dateOfBirth.year = third;\n }\n\n return dateOfBirth;\n};\n\nvar replaceDateOfBirthNonDigits = (value, separator) => {\n var numNonDigitGroups = 0;\n var normalizedValue = safeNormalize(value);\n return normalizedValue.replace(/\\D+/g, (match, foundAtIdx) => {\n var shouldRemove = foundAtIdx === 0 || ++numNonDigitGroups > 2;\n return shouldRemove ? '' : separator;\n });\n};\n\nvar autoFormatDateOfBirth = (dateInput, dateOrder) => {\n var isRoughlyValid = {\n day: d => ('' + d).length <= 2 && d <= 31,\n month: m => ('' + m).length <= 2 && m <= 12,\n year: y => ('' + y).length <= 4\n };\n var formattedDate = {};\n var nextProp;\n\n for (var i = 0; i < 2; i++) {\n var dateUnitLetter = dateOrder[i];\n var dateUnit = LETTER_TO_PROP_NAME[dateUnitLetter];\n var overflowStart = 1;\n var overflow = dateInput[dateUnit].substr(1);\n formattedDate[dateUnit] = dateInput[dateUnit][0] ? dateInput[dateUnit][0] : '';\n\n while (overflow.length !== 0 && isRoughlyValid[dateUnit](formattedDate[dateUnit] + overflow[0])) {\n formattedDate[dateUnit] += dateInput[dateUnit][overflowStart];\n overflow = overflow.substr(1);\n overflowStart++;\n }\n\n var nextPropLetter = dateOrder[i + 1];\n nextProp = LETTER_TO_PROP_NAME[nextPropLetter];\n dateInput[nextProp] = overflow + dateInput[nextProp];\n }\n\n var lastUnit = '';\n\n for (var j = 0; j < dateInput[nextProp].length; j++) {\n var digit = dateInput[nextProp][j];\n\n if (isRoughlyValid[nextProp](lastUnit + digit)) {\n lastUnit += digit;\n }\n }\n\n formattedDate[nextProp] = lastUnit;\n formattedDate.inputValue = dateInput.inputValue;\n return formattedDate;\n};\n\nvar dateOfBirthToString = (date, dateOrder, separator) => {\n var firstUnit = date[LETTER_TO_PROP_NAME[dateOrder[0]]],\n secUnit = date[LETTER_TO_PROP_NAME[dateOrder[1]]],\n thirdUnit = date[LETTER_TO_PROP_NAME[dateOrder[2]]];\n var result = firstUnit;\n\n if (secUnit.length !== 0) {\n result += separator + secUnit;\n }\n\n if (thirdUnit.length !== 0) {\n result += separator + thirdUnit;\n }\n\n var hasLessThanTwoSeparators = result.split(separator).length < 3;\n\n if (hasLessThanTwoSeparators && date.inputValue.substr(-1) === separator) {\n result += separator;\n }\n\n return result;\n};\n\nvar inputToFormattedDateOfBirth = (input, datePattern) => {\n var separator = getDateOfBirthSeparator(datePattern);\n var dateOrder = getDateOfBirthOrder(datePattern, separator);\n var formattedInput = replaceDateOfBirthNonDigits(input, separator);\n var parsedInput = parseByDateOfBirthSeparator(dateOrder, formattedInput, separator);\n var formattedDate = autoFormatDateOfBirth(parsedInput, dateOrder);\n var newValue = dateOfBirthToString(formattedDate, dateOrder, separator);\n return {\n formattedDate,\n newValue\n };\n};\n\nexport { inputToFormattedDateOfBirth, getDateOfBirthOrder, getDateOfBirthSeparator, parseByDateOfBirthSeparator, autoFormatDateOfBirth, dateOfBirthToString, replaceDateOfBirthNonDigits };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _styled from \"@emotion/styled-base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nimport React, { useRef } from 'react';\nimport { uniqueStr } from '../../utils/miscUtils';\nimport { hasOwnProp } from '../../utils/objectUtils';\nimport { INPUT_TEXT_COLOR, PRIMARY_COLOR, WARN_COLOR } from '../../styles';\n\nvar ErrorSVGContainer = _styled(\"div\", {\n target: \"e1m1vp830\",\n label: \"ErrorSVGContainer\"\n})(process.env.NODE_ENV === \"production\" ? {\n name: \"w45i9j\",\n styles: \"flex:0 0 18px;height:18px;\"\n} : {\n name: \"w45i9j\",\n styles: \"flex:0 0 18px;height:18px;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbW1vbi9TVkdJY29ucy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVW9DIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbW1vbi9TVkdJY29ucy5qc3giLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHRlcm5hbCBsaWJyYXJpZXNcbmltcG9ydCBSZWFjdCwgeyB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBudW1iZXIsIHNoYXBlLCBzdHJpbmcgfSBmcm9tICdwcm9wLXR5cGVzJztcblxuLy8gSW50ZXJuYWwgbW9kdWxlc1xuaW1wb3J0IHsgdW5pcXVlU3RyIH0gZnJvbSAnLi4vLi4vdXRpbHMvbWlzY1V0aWxzJztcbmltcG9ydCB7IGhhc093blByb3AgfSBmcm9tICcuLi8uLi91dGlscy9vYmplY3RVdGlscyc7XG5pbXBvcnQgeyBJTlBVVF9URVhUX0NPTE9SLCBQUklNQVJZX0NPTE9SLCBXQVJOX0NPTE9SIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcblxuY29uc3QgRXJyb3JTVkdDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAwIDAgMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuYDtcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuY29uc3QgRXJyb3JJY29uID0gKHsgdGl0bGUgfSkgPT4gKFxuICA8RXJyb3JTVkdDb250YWluZXI+XG4gICAgPHN2Z1xuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3ItaWNvblwiXG4gICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICByb2xlPVwiaW1nXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTggMThcIlxuICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8dGl0bGUgaWQ9XCJlcnJvci1pY29uXCI+e3RpdGxlfTwvdGl0bGU+XG4gICAgICA8ZyBmaWxsPVwibm9uZVwiIGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgICA8cGF0aCBkPVwibTAgMGgxOHYxOGgtMTh6XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJtMTAuMzA3MzYzMyAxLjgwNDMzNyA3LjI5MDE1MjUgMTIuOTYwMjcxMWMuMTk5OTQ5NC4zNTU0NjU3LjIzOTM5Ni43NTc1OTYuMTQxNzU4NiAxLjEyMjc1MTctLjEwMDY4NzcuMzc2NTY0MS0uMzQ3MTU4OC43MTM4MDcyLS43MTM3My45MjAwMDM1LS4yMjQ1MjI1LjEyNjI5MzktLjQ3Nzc4NjYuMTkyNjM2Ny0uNzM1MzkxOS4xOTI2MzY3aC0xNC41ODAzMDUwMmMtLjgyODQyNzEyIDAtMS41LS42NzE1NzI5LTEuNS0xLjUgMC0uMjU3NjA1My4wNjYzNDI4MS0uNTEwODY5NC4xOTI2MzY3LS43MzUzOTE5bDcuMjkwMTUyNTEtMTIuOTYwMjcxMWMuMTk5NTUyOC0uMzU0NzYwNTIuNTIxODQzOTgtLjU5NzAzNTM2Ljg4MzczMTEyLS43MDM1NDQ2NC4zNzQ2NTQzMy0uMTEwMjY2ODcuNzkxNzQ3NzUtLjA3NTAxOTcyIDEuMTU5MDI0MDUuMTMxNTczMi4yMzk0MzY3My4xMzQ2ODMxNi40MzcyODgyNC4zMzI1MzQ3MS41NzE5NzE0NC41NzE5NzE0NHptLTEuMzA3MzYzMyAzLjE5NTY2M2MtLjU1MjI4NDc1IDAtMSAuNDQ3NzE1MjUtMSAxdjRjMCAuNTUyMjg0Ny40NDc3MTUyNSAxIDEgMXMxLS40NDc3MTUzIDEtMXYtNGMwLS41NTIyODQ3NS0uNDQ3NzE1MjUtMS0xLTF6bTAgMTBjLjU1MjI4NDc1IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUyNS0xLTEtMS0xIC40NDc3MTUzLTEgMSAuNDQ3NzE1MjUgMSAxIDF6XCJcbiAgICAgICAgICBmaWxsPVwiI2QyMDAwMFwiXG4gICAgICAgIC8+XG4gICAgICA8L2c+XG4gICAgPC9zdmc+XG4gIDwvRXJyb3JTVkdDb250YWluZXI+XG4pO1xuXG5FcnJvckljb24ucHJvcFR5cGVzID0ge1xuICB0aXRsZTogc3RyaW5nLFxufTtcblxuY29uc3QgSU5GT19JQ09OX0NPTE9SX01BUCA9IHtcbiAgZGVmYXVsdDoge1xuICAgIGJhY2tncm91bmQ6IElOUFVUX1RFWFRfQ09MT1IsXG4gICAgYm9yZGVyOiBJTlBVVF9URVhUX0NPTE9SLFxuICAgIHRleHQ6ICcjZmZmJyxcbiAgfSxcbiAgcHJpbWFyeToge1xuICAgIGJhY2tncm91bmQ6IFBSSU1BUllfQ09MT1IsXG4gICAgYm9yZGVyOiBQUklNQVJZX0NPTE9SLFxuICAgIHRleHQ6ICcjZmZmJyxcbiAgfSxcbiAgcHJpbWFyeUFjdGl2ZToge1xuICAgIGJhY2tncm91bmQ6ICcjZmZmJyxcbiAgICBib3JkZXI6IFBSSU1BUllfQ09MT1IsXG4gICAgdGV4dDogUFJJTUFSWV9DT0xPUixcbiAgfSxcbiAgd2Fybjoge1xuICAgIGJhY2tncm91bmQ6ICcjZmZmJyxcbiAgICBib3JkZXI6IFdBUk5fQ09MT1IsXG4gICAgdGV4dDogV0FSTl9DT0xPUixcbiAgfSxcbn07XG5cbmNvbnN0IEluZm9JY29uID0gKHsgY29sb3JzLCBpY29uRGltZW5zaW9ucywgdGl0bGUsIHR5cGUgfSkgPT4ge1xuICBjb25zdCBpZCA9IHVzZVJlZih1bmlxdWVTdHIoKSk7XG4gIGNvbnN0IHRoZW1lID0gaGFzT3duUHJvcChJTkZPX0lDT05fQ09MT1JfTUFQLCB0eXBlKSA/IHR5cGUgOiAnZGVmYXVsdCc7XG4gIGNvbnN0IHsgYmFja2dyb3VuZCwgYm9yZGVyLCB0ZXh0IH0gPSBjb2xvcnMgfHwgSU5GT19JQ09OX0NPTE9SX01BUFt0aGVtZV07XG5cbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgICBoZWlnaHQ9XCIyMlwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDIyIDIyXCJcbiAgICAgIHdpZHRoPVwiMjJcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB7Li4uaWNvbkRpbWVuc2lvbnN9XG4gICAgPlxuICAgICAgPHRpdGxlIGlkPXtgaW5mby1pY29uLSR7aWQuY3VycmVudH1gfT57dGl0bGV9PC90aXRsZT5cbiAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbFJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxIDEpXCI+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjEwXCIgY3k9XCIxMFwiIGZpbGw9e2JhY2tncm91bmR9IHI9XCIxMFwiIHN0cm9rZT17Ym9yZGVyfSAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTExIDUuOTljMCAuMjgyLS4wOTguNTItLjI5NC43MTZBLjk1My45NTMgMCAwIDEgMTAuMDEgN2EuOTc0Ljk3NCAwIDAgMS0uNzE1LS4yOTRBLjk3NC45NzQgMCAwIDEgOSA1Ljk5MWMwLS4yNy4wOTgtLjUwMi4yOTQtLjY5N0EuOTc0Ljk3NCAwIDAgMSAxMC4wMDkgNWMuMjcgMCAuNTAyLjA5OC42OTcuMjk0QS45NTMuOTUzIDAgMCAxIDExIDUuOTl6bTAgOC4zNjJhLjgxNC44MTQgMCAwIDEtLjM3OC40NzUgMS4yMSAxLjIxIDAgMCAxLS41ODUuMTczIDEuMjM4IDEuMjM4IDAgMCAxLS41OTgtLjE0Ljk0OC45NDggMCAwIDEtLjQzOS0uNDU5VjguNzQ2YS42NzEuNjcxIDAgMCAxIC4zMTctLjU0OWMuMTk1LS4xMjYuNDEtLjE5MS42NDYtLjE5Ny4yMzYtLjAwNS40NTYuMDUuNjU5LjE2NC4yMDMuMTE1LjMzLjI5My4zNzguNTMzdjUuNjU1elwiXG4gICAgICAgICAgICBmaWxsPXt0ZXh0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICA8L3N2Zz5cbiAgKTtcbn07XG5cbkluZm9JY29uLnByb3BUeXBlcyA9IHtcbiAgY29sb3JzOiBzaGFwZSh7XG4gICAgYmFja2dyb3VuZDogc3RyaW5nLFxuICAgIGJvcmRlcjogc3RyaW5nLFxuICAgIHRleHQ6IHN0cmluZyxcbiAgfSksXG4gIGljb25EaW1lbnNpb25zOiBzaGFwZSh7XG4gICAgaGVpZ2h0OiBzdHJpbmcsXG4gICAgdmlld0JveDogc3RyaW5nLFxuICAgIHdpZHRoOiBzdHJpbmcsXG4gIH0pLFxuICB0aXRsZTogc3RyaW5nLFxuICB0eXBlOiBzdHJpbmcsXG59O1xuXG5jb25zdCBRdWVzdGlvbkljb24gPSAoe1xuICBjb2xvcnMsXG4gIGljb25EaW1lbnNpb25zLFxuICB0aXRsZSA9ICdJY29ucy9xdWVzdGlvbi1hbHQnLFxuICB0eXBlLFxufSkgPT4ge1xuICBjb25zdCBpZCA9IHVzZVJlZih1bmlxdWVTdHIoKSk7XG4gIGNvbnN0IHRoZW1lID0gaGFzT3duUHJvcChJTkZPX0lDT05fQ09MT1JfTUFQLCB0eXBlKSA/IHR5cGUgOiAnZGVmYXVsdCc7XG4gIGNvbnN0IHsgYmFja2dyb3VuZCB9ID0gY29sb3JzIHx8IElORk9fSUNPTl9DT0xPUl9NQVBbdGhlbWVdO1xuXG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgaGVpZ2h0PVwiMTdcIlxuICAgICAgdmlld0JveD1cIjAgMCAxNiAxN1wiXG4gICAgICB3aWR0aD1cIjE2XCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgey4uLmljb25EaW1lbnNpb25zfVxuICAgID5cbiAgICAgIDx0aXRsZSBpZD17YHF1ZXN0aW9uLWljb24tJHtpZC5jdXJyZW50fWB9Pnt0aXRsZX08L3RpdGxlPlxuICAgICAgPGcgZmlsbD1cIm5vbmVcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIiBpZD1cIlY3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZVdpZHRoPVwiMVwiPlxuICAgICAgICA8Z1xuICAgICAgICAgIGlkPVwiTGVnYWwtYXBwcm92ZWQtYmlsbGluZy1wYWdlLTA0LTIzLUNvcHktNVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zMzYuMDAwMDAwLCAtMTA4Mi4wMDAwMDApXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkljb25zLXF1ZXN0aW9uLWFsdFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMzM1LjAwMDAwMCwgMTA4MS41MDAwMDApXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTEwLjA1ODYsMTEuOTk5NiBMMTAuMDU4NiwxMy45OTk2IEw4LjA1ODYsMTMuOTk5NiBMOC4wNTg2LDExLjk5OTYgTDEwLjA1ODYsMTEuOTk5NiBaIE0xMS40NzQ2LDQuMDI0NiBDMTIuMTM1Niw0LjY4NTYgMTIuNDk5Niw1LjU2NDYgMTIuNDk5Niw2LjQ5OTYgQzEyLjQ5OTYsNy40MzU2IDEyLjEzNTYsOC4zMTQ2IDExLjQ3NDYsOC45NzU2IEMxMS4wNTY2LDkuMzkyNiAxMC41NTE2LDkuNjkyNiA5Ljk5OTYsOS44NTU2IEw5Ljk5OTYsMTAuOTk5NiBMNy45OTk2LDEwLjk5OTYgTDcuOTk5Niw3Ljk5OTYgTDguOTk5Niw3Ljk5OTYgQzkuNDAwNiw3Ljk5OTYgOS43Nzc2LDcuODQ0NiAxMC4wNjA2LDcuNTYwNiBDMTAuMzQzNiw3LjI3NzYgMTAuNDk5Niw2LjkwMDYgMTAuNDk5Niw2LjQ5OTYgQzEwLjQ5OTYsNi4wOTk2IDEwLjM0MzYsNS43MjI2IDEwLjA2MDYsNS40Mzk2IEM5LjQ3NTYsNC44NTQ2IDguNTI0Niw0Ljg1NDYgNy45Mzk2LDUuNDM5NiBMNy4yMzE2LDYuMTQ2NiBMNS44MTg2LDQuNzMxNiBMNi41MjU2LDQuMDI0NiBDNy44ODk2LDIuNjYxNiAxMC4xMTA2LDIuNjYxNiAxMS40NzQ2LDQuMDI0NiBaIE04Ljk5OTYsMC45OTk2IEM0LjU4MDYsMC45OTk2IDAuOTk5Niw0LjU4MTYgMC45OTk2LDguOTk5NiBDMC45OTk2LDEzLjQxNzYgNC41ODA2LDE2Ljk5OTYgOC45OTk2LDE2Ljk5OTYgQzEzLjQxNzYsMTYuOTk5NiAxNi45OTk2LDEzLjQxNzYgMTYuOTk5Niw4Ljk5OTYgQzE2Ljk5OTYsNC41ODE2IDEzLjQxNzYsMC45OTk2IDguOTk5NiwwLjk5OTYgTDguOTk5NiwwLjk5OTYgWlwiXG4gICAgICAgICAgICAgIGZpbGw9e2JhY2tncm91bmR9XG4gICAgICAgICAgICAgIGZpbGxSdWxlPVwibm9uemVyb1wiXG4gICAgICAgICAgICAgIGlkPVwiRmlsbC0yMlwiXG4gICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgPHJlY3QgaGVpZ2h0PVwiMThcIiBpZD1cIlBhZGRpbmdcIiB3aWR0aD1cIjE4XCIgeD1cIjBcIiB5PVwiMFwiPjwvcmVjdD5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICA8L3N2Zz5cbiAgKTtcbn07XG5cblF1ZXN0aW9uSWNvbi5wcm9wVHlwZXMgPSB7XG4gIGNvbG9yczogc2hhcGUoeyBiYWNrZ3JvdW5kOiBzdHJpbmcgfSksXG4gIGljb25EaW1lbnNpb25zOiBzaGFwZSh7XG4gICAgaGVpZ2h0OiBzdHJpbmcsXG4gICAgdmlld0JveDogc3RyaW5nLFxuICAgIHdpZHRoOiBzdHJpbmcsXG4gIH0pLFxuICB0aXRsZTogc3RyaW5nLFxuICB0eXBlOiBzdHJpbmcsXG59O1xuXG5jb25zdCBQYXlQYWxMb2dvID0gKHsgdGl0bGUgfSkgPT4ge1xuICBjb25zdCBwYXRoSWQgPSB1c2VSZWYodW5pcXVlU3RyKCkpO1xuICBjb25zdCBtYXNrSWQgPSB1c2VSZWYodW5pcXVlU3RyKCkpO1xuXG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicGF5cGFsLWxvZ29cIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJwYXlwYWwtbG9nb1wiXG4gICAgICBoZWlnaHQ9XCIyMlwiXG4gICAgICByb2xlPVwiaW1nXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgODkgMjJcIlxuICAgICAgd2lkdGg9XCI4OVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICA+XG4gICAgICA8dGl0bGUgaWQ9XCJwYXlwYWwtbG9nb1wiPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxwYXRoIGQ9XCJNODguMzYyIDIxLjYxOFYuMTc5SC4wMTN2MjEuNDM5elwiIGlkPXtwYXRoSWQuY3VycmVudH0gLz5cbiAgICAgIDwvZGVmcz5cbiAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbFJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk04NS45NzIgNS4zODVsLTEuOTI1IDEyLjcyOWEuNDAyLjQwMiAwIDAgMCAuMzg2LjQ3aDEuOTM2YS42Ni42NiAwIDAgMCAuNjQ0LS41NzJsMS44OTktMTIuNWEuNDAyLjQwMiAwIDAgMC0uMzg3LS40N2gtMi4xNjdhLjM5Ni4zOTYgMCAwIDAtLjM4Ni4zNDNNNzkuODYzIDE0LjAwN2MtLjIyNCAxLjI5OC0xLjI3NiAyLjE2OC0yLjYxOCAyLjE2OC0uNjczIDAtMS4yMTItLjIxMS0xLjU1OC0uNjEyLS4zNDMtLjM5OC0uNDczLS45NjQtLjM2NC0xLjU5NS4yMS0xLjI4NiAxLjI3OC0yLjE4NSAyLjYtMi4xODUuNjU5IDAgMS4xOTQuMjE0IDEuNTQ3LjYxOS4zNTUuNDA4LjQ5NS45NzguMzkzIDEuNjA1em0zLjIzMy00LjQxOGgtMi4zMmEuNDAxLjQwMSAwIDAgMC0uMzk5LjMzM2wtLjEwMi42MzUtLjE2Mi0uMjNjLS41MDItLjcxNC0xLjYyMi0uOTUyLTIuNzQtLjk1Mi0yLjU2MyAwLTQuNzUyIDEuOS01LjE3OSA0LjU2Ni0uMjIxIDEuMzMuMDk0IDIuNjAxLjg2NCAzLjQ4OC43MDguODE1IDEuNzE4IDEuMTU0IDIuOTIyIDEuMTU0IDIuMDY2IDAgMy4yMTItMS4yOTggMy4yMTItMS4yOThsLS4xMDQuNjNjLS4wMzkuMjQuMTUuNDU4LjM5OS40NThoMi4wODlhLjY2OS42NjkgMCAwIDAgLjY2NS0uNTU2bDEuMjU0LTcuNzcyYS4zOTguMzk4IDAgMCAwLS4zOTktLjQ1NnpNNjkuNDcgOS42MDdjLS4yNyAxLjc1LTEuNjIyIDEuNzUtMi45MyAxLjc1aC0uNzQ0bC41MjItMy4yNjdhLjQxLjQxIDAgMCAxIC40MDYtLjM0M2guMzRjLjg5IDAgMS43MzIgMCAyLjE2NS41MDEuMjYuMy4zMzguNzQ1LjI0IDEuMzU5em0tLjU3LTQuNTY1aC00LjkzMmEuNjgzLjY4MyAwIDAgMC0uNjc3LjU3MmwtMS45OTQgMTIuNWMtLjA0LjI0Ni4xNTMuNDcuNDA2LjQ3aDIuNTNjLjIzNiAwIC40MzgtLjE3LjQ3NC0uNDAxbC41NjYtMy41NDRhLjY4My42ODMgMCAwIDEgLjY3Ny0uNTcyaDEuNTZjMy4yNDkgMCA1LjEyNC0xLjU1NCA1LjYxNC00LjYzMy4yMi0xLjM0OC4wMDktMi40MDYtLjYzLTMuMTQ3LS43LS44MTUtMS45NDQtMS4yNDUtMy41OTQtMS4yNDV6XCJcbiAgICAgICAgICBmaWxsPVwiIzAwOUNERVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk02MC44ODEgOS4zNzVoLTIuMzY1YS42ODkuNjg5IDAgMCAwLS41NjUuMjlsLTMuMjYyIDQuNjYtMS4zODMtNC40NzhhLjY4LjY4IDAgMCAwLS42NTQtLjQ3MmgtMi4zMjVhLjQuNCAwIDAgMC0uMzg4LjUyNWwyLjYwNCA3LjQxMy0yLjQ1IDMuMzUyYy0uMTkyLjI2My4wMDIuNjI3LjMzNS42MjdoMi4zNjNhLjY5LjY5IDAgMCAwIC41NjEtLjI4NWw3Ljg2Ni0xMS4wMDhjLjE4OC0uMjY0LS4wMDYtLjYyNC0uMzM3LS42MjRNNDUuMTk2IDE0LjAwN2MtLjIyNCAxLjI5OC0xLjI3NiAyLjE2OC0yLjYxOCAyLjE2OC0uNjczIDAtMS4yMTItLjIxMS0xLjU1OC0uNjEyLS4zNDMtLjM5OC0uNDcyLS45NjQtLjM2My0xLjU5NS4yMDktMS4yODYgMS4yNzgtMi4xODUgMi42LTIuMTg1LjY1OCAwIDEuMTkzLjIxNCAxLjU0Ni42MTkuMzU2LjQwOC40OTUuOTc4LjM5MyAxLjYwNXpNNDguNDMgOS41OWgtMi4zMmEuNDAxLjQwMSAwIDAgMC0uMzk4LjMzM2wtLjEwMi42MzUtLjE2My0uMjNjLS41MDItLjcxNC0xLjYyMi0uOTUyLTIuNzQtLjk1Mi0yLjU2MyAwLTQuNzUyIDEuOS01LjE3OCA0LjU2Ni0uMjIyIDEuMzMuMDkzIDIuNjAxLjg2MyAzLjQ4OC43MDguODE1IDEuNzE5IDEuMTU0IDIuOTIyIDEuMTU0IDIuMDY2IDAgMy4yMTItMS4yOTggMy4yMTItMS4yOThsLS4xMDQuNjNjLS4wMzkuMjQuMTUuNDU4LjQuNDU4aDIuMDg4YS42NjkuNjY5IDAgMCAwIC42NjUtLjU1NmwxLjI1NC03Ljc3MmEuMzk4LjM5OCAwIDAgMC0uMzk5LS40NTZ6TTM0LjgwMiA5LjYwN2MtLjI3IDEuNzUtMS42MjEgMS43NS0yLjkyOSAxLjc1aC0uNzQ0bC41MjItMy4yNjdhLjQxLjQxIDAgMCAxIC40MDYtLjM0M2guMzQxYy44OSAwIDEuNzMxIDAgMi4xNjUuNTAxLjI2LjMuMzM4Ljc0NS4yNCAxLjM1OXptLS41NjktNC41NjVoLTQuOTMyYS42ODMuNjgzIDAgMCAwLS42NzYuNTcybC0xLjk5NSAxMi41Yy0uMDQuMjQ2LjE1NC40Ny40MDYuNDdoMi4zNTVhLjY4My42ODMgMCAwIDAgLjY3Ny0uNTcybC41MzgtMy4zNzNhLjY4My42ODMgMCAwIDEgLjY3Ny0uNTcyaDEuNTZjMy4yNSAwIDUuMTI0LTEuNTU0IDUuNjE0LTQuNjMzLjIyLTEuMzQ4LjAwOS0yLjQwNi0uNjMtMy4xNDctLjctLjgxNS0xLjk0NC0xLjI0NS0zLjU5NC0xLjI0NXpcIlxuICAgICAgICAgIGZpbGw9XCIjMDAzMDg3XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC42MjUgLjE2NylcIj5cbiAgICAgICAgICA8bWFzayBmaWxsPVwiI2ZmZlwiIGlkPXttYXNrSWQuY3VycmVudH0+XG4gICAgICAgICAgICA8dXNlIHhsaW5rSHJlZj17YCMke3BhdGhJZC5jdXJyZW50fWB9IC8+XG4gICAgICAgICAgPC9tYXNrPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTE2LjM3MyA1LjYyNmMuMjYyLTEuNjY4LS4wMDItMi44MDMtLjkwNC0zLjgzQzE0LjQ3Ni42NjQgMTIuNjgyLjE3OSAxMC4zODcuMTc5SDMuNzIzYS45NTMuOTUzIDAgMCAwLS45NDEuODA1TC4wMDcgMTguNTc4YS41NzIuNTcyIDAgMCAwIC41NjUuNjYxaDQuMTE0bC0uMjg0IDEuOGEuNS41IDAgMCAwIC40OTQuNTc5aDMuNDY3Yy40MSAwIC43Ni0uMjk5LjgyNC0uNzA0bC4wMzQtLjE3Ni42NTMtNC4xNDIuMDQyLS4yMjlhLjgzNC44MzQgMCAwIDEgLjgyNC0uNzA0aC41MTljMy4zNTkgMCA1Ljk4OS0xLjM2NSA2Ljc1Ny01LjMxMS4zMjItMS42NS4xNTYtMy4wMjYtLjY5NC0zLjk5NGEzLjMwNSAzLjMwNSAwIDAgMC0uOTQ5LS43MzJcIlxuICAgICAgICAgICAgZmlsbD1cIiMwMDlDREVcIlxuICAgICAgICAgICAgbWFzaz17YHVybCgjJHttYXNrSWQuY3VycmVudH0pYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTE2LjM3MyA1LjYyNmMuMjYyLTEuNjY4LS4wMDItMi44MDMtLjkwNC0zLjgzQzE0LjQ3Ni42NjQgMTIuNjgyLjE3OSAxMC4zODcuMTc5SDMuNzIzYS45NTMuOTUzIDAgMCAwLS45NDEuODA1TC4wMDcgMTguNTc4YS41NzIuNTcyIDAgMCAwIC41NjUuNjYxaDQuMTE0bDEuMDMzLTYuNTUyLS4wMzIuMjA1YS45NS45NSAwIDAgMSAuOTM4LS44MDRIOC41OGMzLjg0IDAgNi44NDctMS41NiA3LjcyNS02LjA3Mi4wMjYtLjEzMy4wNDgtLjI2My4wNjgtLjM5XCJcbiAgICAgICAgICAgIGZpbGw9XCIjMDEyMTY5XCJcbiAgICAgICAgICAgIG1hc2s9e2B1cmwoIyR7bWFza0lkLmN1cnJlbnR9KWB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk02LjgyOSA1LjY0OGEuODM0LjgzNCAwIDAgMSAuODI0LS43MDRoNS4yMjNjLjYxOSAwIDEuMTk2LjA0IDEuNzIzLjEyNmE3LjU2IDcuNTYgMCAwIDEgLjg1NS4xOSA1LjIyMyA1LjIyMyAwIDAgMSAuOTIuMzY2Yy4yNi0xLjY2OC0uMDAzLTIuODAzLS45MDUtMy44M0MxNC40NzYuNjY0IDEyLjY4Mi4xNzkgMTAuMzg3LjE3OUgzLjcyM2EuOTUzLjk1MyAwIDAgMC0uOTQxLjgwNUwuMDA3IDE4LjU3OGEuNTcyLjU3MiAwIDAgMCAuNTY1LjY2MWg0LjExNEw2LjgyOSA1LjY1XCJcbiAgICAgICAgICAgIGZpbGw9XCIjMDAzMDg3XCJcbiAgICAgICAgICAgIG1hc2s9e2B1cmwoIyR7bWFza0lkLmN1cnJlbnR9KWB9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgIDwvc3ZnPlxuICApO1xufTtcblxuUGF5UGFsTG9nby5kZWZhdWx0UHJvcHMgPSB7XG4gIHRpdGxlOiAnUGF5UGFsJyxcbn07XG5cblBheVBhbExvZ28ucHJvcFR5cGVzID0ge1xuICB0aXRsZTogc3RyaW5nLFxufTtcblxuY29uc3QgUGF5UGFsTG9nb1BQMyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJwYXlwYWwtbG9nby1uZXdcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJwYXlwYWwtbG9nby1uZXdcIlxuICAgICAgaGVpZ2h0PVwiMjJcIlxuICAgICAgcm9sZT1cImltZ1wiXG4gICAgICB2aWV3Qm94PVwiMCAwIDg5IDIyXCJcbiAgICAgIHdpZHRoPVwiODlcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB4bWxuc1hsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwMF8xMTg5XzE5NTQwNilcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTMxLjI4MDYgMTQuMzM2MUMzMi40ODYyIDE0LjMzNDkgMzMuNjUxNyAxMy45MDMgMzQuNTY2OSAxMy4xMTgxQzM1LjQ4MiAxMi4zMzMyIDM2LjA4NjYgMTEuMjQ3MiAzNi4yNzE1IDEwLjA1NThDMzYuNjYxNyA3LjU3MjQ0IDM0LjcyMSA1LjQwNDMyIDMxLjk3MTQgNS40MDQzMkgyNy41NDA0QzI3LjQ1NzMgNS40MDMzOCAyNy4zNzY3IDUuNDMyNSAyNy4zMTM0IDUuNDg2MzJDMjcuMjUwMSA1LjU0MDE0IDI3LjIwODMgNS42MTUwMyAyNy4xOTU5IDUuNjk3MTlMMjUuMjIwNyAxOC4yMzNDMjUuMjEzNSAxOC4yNzg4IDI1LjIxNjMgMTguMzI1NiAyNS4yMjg5IDE4LjM3MDNDMjUuMjQxNSAxOC40MTQ5IDI1LjI2MzYgMTguNDU2MyAyNS4yOTM3IDE4LjQ5MTZDMjUuMzIzOSAxOC41MjY5IDI1LjM2MTMgMTguNTU1MiAyNS40MDM0IDE4LjU3NDZDMjUuNDQ1NSAxOC41OTQxIDI1LjQ5MTMgMTguNjA0MiAyNS41Mzc3IDE4LjYwNDJIMjcuODgyNEMyNy45NjU1IDE4LjYwNTIgMjguMDQ2MSAxOC41NzYxIDI4LjEwOTQgMTguNTIyMkMyOC4xNzI4IDE4LjQ2ODQgMjguMjE0NSAxOC4zOTM1IDI4LjIyNyAxOC4zMTE0TDI4LjgwNzUgMTQuNjI4OUMyOC44MiAxNC41NDY4IDI4Ljg2MTcgMTQuNDcxOSAyOC45MjUgMTQuNDE4MUMyOC45ODg0IDE0LjM2NDIgMjkuMDY5IDE0LjMzNTEgMjkuMTUyMSAxNC4zMzYxSDMxLjI4MDZaTTMzLjI0MjggOS45NDI5OEMzMy4wOTgxIDEwLjg2MTIgMzIuMzg4MyAxMS41Mzc0IDMxLjAyOTkgMTEuNTM3NEgyOS4yOTMzTDI5LjgxOTcgOC4xOTc4SDMxLjUyNTJDMzIuOTMwMSA4LjIwMDM5IDMzLjM4NjcgOS4wMjkwNCAzMy4yNDI4IDkuOTQ1NTZWOS45NDI5OFpcIlxuICAgICAgICAgIGZpbGw9XCIjMDAzMDg3XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTQ2LjQzMDkgOS4zNTI3N0g0NC4yMDUxQzQ0LjEyMiA5LjM1MTgzIDQ0LjA0MTMgOS4zODA5NiA0My45NzggOS40MzQ3OEM0My45MTQ3IDkuNDg4NiA0My44NzMgOS41NjM0OSA0My44NjA1IDkuNjQ1NjVMNDMuNzg4MSAxMC4xMDc0QzQzLjc4ODEgMTAuMTA3NCA0Mi4wNTkzIDguMjIwMDUgMzkuMDAwNSA5LjQ5NDlDMzcuMjQ1OSAxMC4yMjU0IDM2LjQwMzUgMTEuNzM0NSAzNi4wNDYgMTIuODM5N0MzNi4wNDYgMTIuODM5NyAzNC45MDcyIDE2LjE5OTEgMzcuNDgwMiAxOC4wNDg1QzM3LjQ4MDIgMTguMDQ4NSAzOS44NjYyIDE5LjgyNjQgNDIuNTUyOSAxNy45MzgyTDQyLjUwNjQgMTguMjMyOEM0Mi40OTkyIDE4LjI3ODcgNDIuNTAyIDE4LjMyNTUgNDIuNTE0NiAxOC4zNzAxQzQyLjUyNzIgMTguNDE0OCA0Mi41NDkzIDE4LjQ1NjEgNDIuNTc5NCAxOC40OTE0QzQyLjYwOTYgMTguNTI2NyA0Mi42NDcgMTguNTU1IDQyLjY4OTEgMTguNTc0NUM0Mi43MzEyIDE4LjU5MzkgNDIuNzc3IDE4LjYwNCA0Mi44MjM0IDE4LjYwNDFINDUuMDQ5MkM0NS4xMzIzIDE4LjYwNSA0NS4yMTMgMTguNTc1OSA0NS4yNzYzIDE4LjUyMjFDNDUuMzM5NiAxOC40NjgzIDQ1LjM4MTMgMTguMzkzNCA0NS4zOTM4IDE4LjMxMTJMNDYuNzQ3OSA5LjcyNDAzQzQ2Ljc1NTEgOS42NzgyMSA0Ni43NTIzIDkuNjMxMzcgNDYuNzM5NyA5LjU4NjczQzQ2LjcyNzEgOS41NDIxIDQ2LjcwNSA5LjUwMDcyIDQ2LjY3NDggOS40NjU0NEM0Ni42NDQ3IDkuNDMwMTcgNDYuNjA3MyA5LjQwMTgzIDQ2LjU2NTIgOS4zODIzOEM0Ni41MjMxIDkuMzYyOTMgNDYuNDc3MyA5LjM1MjgzIDQ2LjQzMDkgOS4zNTI3N1pNNDMuMTU3NiAxNC4wOTlDNDMuMDcwNSAxNC42OTc0IDQyLjc2OTMgMTUuMjQzOCA0Mi4zMDk5IDE1LjYzNjlDNDEuODUwNiAxNi4wMzAxIDQxLjI2NDIgMTYuMjQzMyA0MC42NTk2IDE2LjIzN0M0MC40MjI4IDE2LjIzOTcgNDAuMTg3IDE2LjIwNTEgMzkuOTYxIDE2LjEzNDVDMzkuMDAxNCAxNS44MjYxIDM4LjQ1MzYgMTQuOTAzNiAzOC42MTEyIDEzLjkwMzVDMzguNjk4MyAxMy4zMDM1IDM5LjAwMDcgMTIuNzU1NyAzOS40NjE5IDEyLjM2MjJDMzkuOTIzMSAxMS45Njg2IDQwLjUxMTYgMTEuNzU2MyA0MS4xMTc4IDExLjc2NDdDNDEuMzU1IDExLjc2MjMgNDEuNTkxIDExLjc5NzIgNDEuODE3MyAxMS44NjhDNDIuNzczNCAxMi4xNzQ3IDQzLjMxNzggMTMuMDk4MSA0My4xNjAyIDE0LjA5OUg0My4xNTc2WlwiXG4gICAgICAgICAgZmlsbD1cIiMwMDMwODdcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNjMuMzM2MSAxNC4zMzYxQzY0LjU0MjYgMTQuMzM2IDY1LjcwOTMgMTMuOTA0NSA2Ni42MjU1IDEzLjExOTZDNjcuNTQxNyAxMi4zMzQ2IDY4LjE0NyAxMS4yNDggNjguMzMyMiAxMC4wNTU4QzY4LjcyMTUgNy41NzI0NCA2Ni43ODE3IDUuNDA0MzIgNjQuMDMxMyA1LjQwNDMySDU5LjYwMTFDNTkuNTE4IDUuNDAzMzggNTkuNDM3NCA1LjQzMjUgNTkuMzc0MSA1LjQ4NjMyQzU5LjMxMDggNS41NDAxNCA1OS4yNjkgNS42MTUwMyA1OS4yNTY2IDUuNjk3MTlMNTcuMjc1NCAxOC4yMzY0QzU3LjI2ODIgMTguMjgyMyA1Ny4yNzEgMTguMzI5MSA1Ny4yODM2IDE4LjM3MzdDNTcuMjk2MiAxOC40MTg0IDU3LjMxODMgMTguNDU5NyA1Ny4zNDg0IDE4LjQ5NUM1Ny4zNzg2IDE4LjUzMDMgNTcuNDE2IDE4LjU1ODYgNTcuNDU4MSAxOC41NzgxQzU3LjUwMDIgMTguNTk3NSA1Ny41NDYgMTguNjA3NiA1Ny41OTI0IDE4LjYwNzdINTkuOTM3OUM2MC4wMjEgMTguNjA4NiA2MC4xMDE3IDE4LjU3OTUgNjAuMTY1IDE4LjUyNTdDNjAuMjI4MyAxOC40NzE5IDYwLjI3IDE4LjM5NyA2MC4yODI1IDE4LjMxNDhMNjAuODYzOSAxNC42MzI0QzYwLjg3NjQgMTQuNTUwMiA2MC45MTgxIDE0LjQ3NTMgNjAuOTgxNSAxNC40MjE1QzYxLjA0NDggMTQuMzY3NyA2MS4xMjU0IDE0LjMzODYgNjEuMjA4NSAxNC4zMzk1TDYzLjMzNjEgMTQuMzM2MVpNNjUuMjk4NCA5Ljk0Mjk4QzY1LjE1MzcgMTAuODYxMiA2NC40NDM5IDExLjUzNzQgNjMuMDg1NSAxMS41Mzc0SDYxLjM0ODlMNjEuODc2MSA4LjE5NzhINjMuNTgxNkM2NC45ODU3IDguMjAwMzkgNjUuNDQzMSA5LjAyOTA0IDY1LjI5ODQgOS45NDU1NlY5Ljk0Mjk4WlwiXG4gICAgICAgICAgZmlsbD1cIiMwMDcwRTBcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNzguNDg3MiA5LjM1Mjc3SDc2LjI2MzFDNzYuMTgwMSA5LjM1MTgzIDc2LjA5OTQgOS4zODA5NiA3Ni4wMzYxIDkuNDM0NzhDNzUuOTcyOCA5LjQ4ODYgNzUuOTMxIDkuNTYzNDkgNzUuOTE4NiA5LjY0NTY1TDc1Ljg0NTQgMTAuMTA3NEM3NS44NDU0IDEwLjEwNzQgNzQuMTE3NCA4LjIyMDA1IDcxLjA1ODYgOS40OTQ5QzY5LjMwNCAxMC4yMjU0IDY4LjQ2MTUgMTEuNzM0NSA2OC4xMDMyIDEyLjgzOTdDNjguMTAzMiAxMi44Mzk3IDY2Ljk2NTMgMTYuMTk5MSA2OS41MzgzIDE4LjA0ODVDNjkuNTM4MyAxOC4wNDg1IDcxLjkyNDMgMTkuODI2NCA3NC42MTEgMTcuOTM4Mkw3NC41NjQ1IDE4LjIzMjhDNzQuNTU3MyAxOC4yNzg3IDc0LjU2MDEgMTguMzI1NSA3NC41NzI3IDE4LjM3MDFDNzQuNTg1MyAxOC40MTQ4IDc0LjYwNzQgMTguNDU2MSA3NC42Mzc1IDE4LjQ5MTRDNzQuNjY3NiAxOC41MjY3IDc0LjcwNSAxOC41NTUgNzQuNzQ3MiAxOC41NzQ1Qzc0Ljc4OTMgMTguNTkzOSA3NC44MzUxIDE4LjYwNCA3NC44ODE1IDE4LjYwNDFINzcuMTA3M0M3Ny4xOTA0IDE4LjYwNSA3Ny4yNzEgMTguNTc1OSA3Ny4zMzQ0IDE4LjUyMjFDNzcuMzk3NyAxOC40NjgzIDc3LjQzOTQgMTguMzkzNCA3Ny40NTE5IDE4LjMxMTJMNzguODA2IDkuNzI0MDNDNzguODEzMiA5LjY3ODA3IDc4LjgxMDQgOS42MzEwOCA3OC43OTc3IDkuNTg2MzJDNzguNzg1IDkuNTQxNTYgNzguNzYyNyA5LjUwMDA5IDc4LjczMjQgOS40NjQ3OEM3OC43MDIxIDkuNDI5NDggNzguNjY0NCA5LjQwMTE4IDc4LjYyMjEgOS4zODE4NEM3OC41Nzk4IDkuMzYyNSA3OC41MzM4IDkuMzUyNTggNzguNDg3MiA5LjM1Mjc3Wk03NS4yMTQgMTQuMDk5Qzc1LjEyNzkgMTQuNjk3OCA3NC44MjcgMTUuMjQ0OSA3NC4zNjc0IDE1LjYzODJDNzMuOTA3OCAxNi4wMzE2IDczLjMyMDggMTYuMjQ0NCA3Mi43MTU5IDE2LjIzN0M3Mi40Nzg5IDE2LjIzOTcgNzIuMjQyOCAxNi4yMDUxIDcyLjAxNjUgMTYuMTM0NUM3MS4wNTYgMTUuODI2MSA3MC41MDgyIDE0LjkwMzYgNzAuNjY1OCAxMy45MDM1QzcwLjc1MjggMTMuMzA1IDcxLjA1MzkgMTIuNzU4NCA3MS41MTMzIDEyLjM2NUM3MS45NzI2IDExLjk3MTcgNzIuNTU5MSAxMS43NTg0IDczLjE2MzkgMTEuNzY0N0M3My40MDEgMTEuNzYyMiA3My42MzcgMTEuNzk3MSA3My44NjMzIDExLjg2OEM3NC44Mjk4IDEyLjE3NDcgNzUuMzc1MSAxMy4wOTgxIDc1LjIxNjYgMTQuMDk5SDc1LjIxNFpcIlxuICAgICAgICAgIGZpbGw9XCIjMDA3MEUwXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTU0LjYwMiA5LjU2NTgzTDUxLjkxODcgMTQuMDk1TDUwLjU1NjkgOS41OTk0MkM1MC41MzU3IDkuNTI4MDMgNTAuNDkxOSA5LjQ2NTQ0IDUwLjQzMjEgOS40MjEwM0M1MC4zNzIzIDkuMzc2NjIgNTAuMjk5NyA5LjM1Mjc3IDUwLjIyNTMgOS4zNTMwN0g0Ny44MDM5QzQ3Ljc2MjIgOS4zNTIzNSA0Ny43MjA5IDkuMzYxNzQgNDcuNjgzNiA5LjM4MDQ0QzQ3LjY0NjMgOS4zOTkxNCA0Ny42MTQxIDkuNDI2NTkgNDcuNTg5NyA5LjQ2MDQ1QzQ3LjU2NTMgOS40OTQzMSA0Ny41NDk1IDkuNTMzNTcgNDcuNTQzNiA5LjU3NDg3QzQ3LjUzNzcgOS42MTYxNyA0Ny41NDE5IDkuNjU4MjkgNDcuNTU1OCA5LjY5NzYyTDQ5Ljk5NjEgMTcuMjcxTDQ3Ljc4OTIgMjAuODM5N0M0Ny43NjQyIDIwLjg3OSA0Ny43NTAzIDIwLjkyNDMgNDcuNzQ5IDIwLjk3MDlDNDcuNzQ3NiAyMS4wMTc1IDQ3Ljc1ODkgMjEuMDYzNSA0Ny43ODE2IDIxLjEwNDJDNDcuODA0MyAyMS4xNDQ5IDQ3LjgzNzUgMjEuMTc4NyA0Ny44Nzc4IDIxLjIwMjFDNDcuOTE4MiAyMS4yMjU0IDQ3Ljk2NCAyMS4yMzc0IDQ4LjAxMDYgMjEuMjM2OEg1MC42MTg5QzUwLjY5MzUgMjEuMjM3IDUwLjc2NjggMjEuMjE3OCA1MC44MzE4IDIxLjE4MTFDNTAuODk2NyAyMS4xNDQ0IDUwLjk1MSAyMS4wOTE0IDUwLjk4OTMgMjEuMDI3NUw1Ny44MDU1IDkuNzUxODlDNTcuODI5OSA5LjcxMjUgNTcuODQzMyA5LjY2NzI4IDU3Ljg0NDIgOS42MjA5NUM1Ny44NDUxIDkuNTc0NjIgNTcuODMzNiA5LjUyODkgNTcuODEwOCA5LjQ4ODU2QzU3Ljc4NzkgOS40NDgyMyA1Ny43NTQ3IDkuNDE0NzcgNTcuNzE0NSA5LjM5MTY5QzU3LjY3NDQgOS4zNjg2MSA1Ny42Mjg3IDkuMzU2NzYgNTcuNTgyNCA5LjM1NzM3SDU0Ljk3NUM1NC45IDkuMzU2NjcgNTQuODI2MiA5LjM3NTUzIDU0Ljc2MDggOS40MTIwOUM1NC42OTU0IDkuNDQ4NjUgNTQuNjQwNiA5LjUwMTY0IDU0LjYwMiA5LjU2NTgzWlwiXG4gICAgICAgICAgZmlsbD1cIiMwMDMwODdcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNODAuOTkxIDUuNjkzNzhMNzkuMDA5OCAxOC4yMzNDNzkuMDAyNiAxOC4yNzg4IDc5LjAwNTMgMTguMzI1NyA3OS4wMTggMTguMzcwM0M3OS4wMzA2IDE4LjQxNDkgNzkuMDUyNyAxOC40NTYzIDc5LjA4MjggMTguNDkxNkM3OS4xMTI5IDE4LjUyNjkgNzkuMTUwMyAxOC41NTUyIDc5LjE5MjQgMTguNTc0N0M3OS4yMzQ1IDE4LjU5NDEgNzkuMjgwNCAxOC42MDQyIDc5LjMyNjggMTguNjA0M0g4MS42NzE1QzgxLjc1NDYgMTguNjA1MiA4MS44MzUyIDE4LjU3NjEgODEuODk4NSAxOC41MjIzQzgxLjk2MTggMTguNDY4NCA4Mi4wMDM2IDE4LjM5MzYgODIuMDE2IDE4LjMxMTRMODMuOTk3MiA1Ljc3MjE2Qzg0LjAwNDQgNS43MjYzNCA4NC4wMDE2IDUuNjc5NSA4My45ODkgNS42MzQ4NkM4My45NzY0IDUuNTkwMjIgODMuOTU0MyA1LjU0ODg0IDgzLjkyNDIgNS41MTM1N0M4My44OTQgNS40NzgyOSA4My44NTY2IDUuNDQ5OTYgODMuODE0NSA1LjQzMDUxQzgzLjc3MjQgNS40MTEwNiA4My43MjY2IDUuNDAwOTYgODMuNjgwMiA1LjQwMDlIODEuMzM1NUM4MS4yNTI0IDUuMzk5OTYgODEuMTcxOCA1LjQyOTA5IDgxLjEwODUgNS40ODI5QzgxLjA0NTEgNS41MzY3MiA4MS4wMDM0IDUuNjExNjEgODAuOTkxIDUuNjkzNzhaXCJcbiAgICAgICAgICBmaWxsPVwiIzAwNzBFMFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xOC41NzMxIDExLjEyOThDMTguMDcgMTMuOTk3NCAxNS43MzA1IDE2LjE2NTUgMTIuNjYwNSAxNi4xNjU1SDEwLjcxMTJDMTAuMzE0MSAxNi4xNjU1IDkuOTEzNTIgMTYuNTMzMyA5Ljg0OTc4IDE2Ljk0MDdMOC45OTYxNCAyMi4zNThDOC45NDcwNSAyMi42NjY0IDguODAyMzMgMjIuNzY4OSA4LjQ4OTY1IDIyLjc2ODlINS4zNTUwNUM1LjAzODA2IDIyLjc2ODkgNC45NjMxMiAyMi42NjI5IDUuMDEwNSAyMi4zNTAzTDUuMzcwNTYgMTguNjA0MUwxLjYwNzE1IDE4LjQwOTRDMS4yOTEwMiAxOC40MDk0IDEuMTc2NDUgMTguMjM3MSAxLjIyMTI0IDE3LjkyMUwzLjc4OTA1IDEuNjQwNzRDMy44MzgxNSAxLjMzMjM2IDQuMDMwMjMgMS4xOTk3MSA0LjM0MjA2IDEuMTk5NzFIMTAuODUzM0MxMy45ODc5IDEuMTk5NzEgMTUuOTcwOCAzLjMxMDExIDE2LjIxMzcgNi4wNDU4OEMxOC4wNzg2IDcuMzA2MDkgMTguOTUwNCA4Ljk4MjM2IDE4LjU3MzEgMTEuMTI5OFpcIlxuICAgICAgICAgIGZpbGw9XCIjMDAxQzY0XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTYuMzI0MjMgMTIuNTM3Nkw1LjM3MDY3IDE4LjYwNDNMNC43Njc3IDIyLjQwOTlDNC43NTY0MyAyMi40ODM0IDQuNzYxMTIgMjIuNTU4MyA0Ljc4MTQ1IDIyLjYyOThDNC44MDE3OCAyMi43MDEyIDQuODM3MjcgMjIuNzY3NCA0Ljg4NTUgMjIuODIzOUM0LjkzMzczIDIyLjg4MDQgNC45OTM1NyAyMi45MjU4IDUuMDYwOTUgMjIuOTU3MUM1LjEyODMyIDIyLjk4ODQgNS4yMDE2NCAyMy4wMDQ4IDUuMjc1OTIgMjMuMDA1Mkg4LjU4NzFDOC43MzgxNiAyMy4wMDUgOC44ODQxOSAyMi45NTA5IDguOTk4OTcgMjIuODUyN0M5LjExMzc1IDIyLjc1NDUgOS4xODk3NiAyMi42MTg2IDkuMjEzMzMgMjIuNDY5NEwxMC4wODUxIDE2LjkzOTNDMTAuMTA4NiAxNi43OSAxMC4xODQ2IDE2LjY1NDEgMTAuMjk5NCAxNi41NTU5QzEwLjQxNDIgMTYuNDU3NyAxMC41NjAyIDE2LjQwMzcgMTAuNzExMyAxNi40MDM1SDEyLjY2MDZDMTQuMTQ1NyAxNi40MDE2IDE1LjU4MTMgMTUuODY5MiAxNi43MDg1IDE0LjkwMjNDMTcuODM1NyAxMy45MzUzIDE4LjU4MDQgMTIuNTk3NiAxOC44MDgzIDExLjEzQzE5LjE0NiA4Ljk3NjU3IDE4LjA2MjQgNy4wMTYwNSAxNi4yMDc4IDYuMDQ3ODVDMTYuMjAzNiA2LjI3NzIgMTYuMTgzNyA2LjUwNiAxNi4xNDg0IDYuNzMyNjZDMTUuOTE5NSA4LjE5OTQ2IDE1LjE3NDQgOS41MzYzNCAxNC4wNDczIDEwLjUwMjVDMTIuOTIwMiAxMS40Njg3IDExLjQ4NTIgMTIuMDAwNyAxMC4wMDA2IDEyLjAwMjZINi45NTA0NkM2Ljc5OTQ4IDEyLjAwMjYgNi42NTM0NSAxMi4wNTY1IDYuNTM4NjUgMTIuMTU0NkM2LjQyMzg1IDEyLjI1MjYgNi4zNDc4MiAxMi4zODg0IDYuMzI0MjMgMTIuNTM3NlpcIlxuICAgICAgICAgIGZpbGw9XCIjMDA3MEUwXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTUuMzcwNzcgMTguNjA0MkgxLjUxNTE5QzEuNDQwNzYgMTguNjA0IDEuMzY3MjUgMTguNTg3NyAxLjI5OTcxIDE4LjU1NjRDMS4yMzIxNiAxOC41MjUxIDEuMTcyMTcgMTguNDc5NiAxLjEyMzgyIDE4LjQyM0MxLjA3NTQ4IDE4LjM2NjQgMS4wMzk5NCAxOC4zIDEuMDE5NjIgMTguMjI4NEMwLjk5OTMwOCAxOC4xNTY4IDAuOTk0Njk4IDE4LjA4MTcgMS4wMDYxMSAxOC4wMDgxTDMuNjA0MDYgMS41MzU3OEMzLjYyNzQ3IDEuMzg2NSAzLjcwMzQyIDEuMjUwNDkgMy44MTgyNCAxLjE1MjI1QzMuOTMzMDYgMS4wNTQwMiA0LjA3OTE5IDEuMDAwMDIgNC4yMzAyOSAxSDEwLjg1MDFDMTMuOTg0NyAxIDE2LjI2MzkgMy4yODA5NiAxNi4yMTA1IDYuMDQ0MjlDMTUuMzc2MiA1LjYxMzkxIDE0LjQ0OTYgNS4zOTMwNyAxMy41MTA5IDUuNDAwODRINy45OTE5OEM3Ljg0MDc3IDUuNDAwODMgNy42OTQ1MyA1LjQ1NDggNy41Nzk1NyA1LjU1MzAyQzcuNDY0NjEgNS42NTEyNCA3LjM4ODQ4IDUuNzg3MjcgNy4zNjQ4OSA1LjkzNjYyTDYuMzI0MzMgMTIuNTM3NEw1LjM3MDc3IDE4LjYwNDJaXCJcbiAgICAgICAgICBmaWxsPVwiIzAwMzA4N1wiXG4gICAgICAgIC8+XG4gICAgICA8L2c+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTE4OV8xOTU0MDZcIj5cbiAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjIyLjAwNVwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMSAxKVwiXG4gICAgICAgICAgICB3aWR0aD1cIjgzXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApO1xufTtcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuY29uc3QgUGF5UGFsTG9nb01vbm90b25lID0gKHsgdGl0bGUgfSkgPT4gKFxuICA8c3ZnXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwicGF5cGFsLW1vbm90b25lLWxvZ29cIlxuICAgIGRhdGEtdGVzdGlkPVwicGF5cGFsLW1vbm90b25lLWxvZ29cIlxuICAgIHZpZXdCb3g9XCIwIDAgMTg1LjQgNDhcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPHRpdGxlIGlkPVwicGF5cGFsLW1vbm90b25lLWxvZ29cIj57dGl0bGV9PC90aXRsZT5cbiAgICA8ZyBmaWxsPVwiI2ZmZlwiPlxuICAgICAgPHBhdGggZD1cIk0xNDEuNiAxMS45aC0xMGMtLjcgMC0xLjMuNS0xLjQgMS4ybC00IDI1LjZjLS4xLjUuMy45LjguOWg1LjFjLjUgMCAuOS0uNC45LS44bDEuMi03LjNjLjEtLjcuNy0xLjIgMS40LTEuMmgzLjFjNi42IDAgMTAuNC0zLjIgMTEuMy05LjUuNC0yLjcgMC00LjktMS4zLTYuNS0xLjItMS42LTMuNy0yLjQtNy4xLTIuNHptMS4yIDkuM2MtLjUgMy42LTMuMyAzLjYtNS45IDMuNmgtMS41bDEuMS02LjdjMC0uNC40LS43LjgtLjdoLjdjMS44IDAgMy41IDAgNC40IDEgLjQuNi42IDEuNS40IDIuOHpNNzAuNSAxMS45aC0xMGMtLjcgMC0xLjMuNS0xLjQgMS4ybC00IDI1LjZjLS4xLjUuMy45LjguOWg0LjdjLjcgMCAxLjMtLjUgMS40LTEuMmwxLjEtNi45Yy4xLS43LjctMS4yIDEuNC0xLjJoMy4xYzYuNiAwIDEwLjQtMy4yIDExLjMtOS41LjQtMi43IDAtNC45LTEuMy02LjUtMS4yLTEuNi0zLjctMi40LTcuMS0yLjR6bTEuMiA5LjNjLS41IDMuNi0zLjMgMy42LTUuOSAzLjZoLTEuNWwxLjEtNi43YzAtLjQuNC0uNy44LS43aC43YzEuOCAwIDMuNSAwIDQuNCAxIC40LjYuNiAxLjUuNCAyLjh6TTEwMC4zIDIxaC00LjhjLS40IDAtLjguMy0uOC43bC0uMiAxLjMtLjMtLjVjLTEtMS41LTMuMy0yLTUuNi0yLTUuMyAwLTkuOCA0LTEwLjcgOS42LS40IDIuOC4yIDUuNSAxLjggNy4zIDEuNSAxLjcgMy41IDIuNCA2IDIuNCA0LjMgMCA2LjYtMi43IDYuNi0yLjdsLS4zIDEuNWMtLjEuNS4zLjkuOC45aDQuM2MuNyAwIDEuMy0uNSAxLjQtMS4ybDIuNi0xNi40Yy4xLS40LS4yLS45LS44LS45em0tNi42IDkuNGMtLjQgMi43LTIuNiA0LjYtNS40IDQuNi0xLjQgMC0yLjUtLjQtMy4yLTEuM3MtMS0yLS44LTMuNGMuNC0yLjcgMi42LTQuNiA1LjMtNC42IDEuMyAwIDIuNS40IDMuMiAxLjMuOC45IDEuMSAyIC45IDMuNHpNMTcxLjQgMjFoLTQuOGMtLjQgMC0uOC4zLS44LjdsLS4yIDEuMy0uMy0uNWMtMS0xLjUtMy4zLTItNS42LTItNS4zIDAtOS44IDQtMTAuNyA5LjYtLjQgMi44LjIgNS41IDEuOCA3LjMgMS41IDEuNyAzLjUgMi40IDYgMi40IDQuMyAwIDYuNi0yLjcgNi42LTIuN2wtLjIgMS4zYy0uMS41LjMuOS44LjloNC4zYy43IDAgMS4zLS41IDEuNC0xLjJsMi42LTE2LjRjMC0uMi0uMy0uNy0uOS0uN3ptLTYuNiA5LjRjLS40IDIuNy0yLjYgNC42LTUuNCA0LjYtMS40IDAtMi41LS40LTMuMi0xLjNzLTEtMi0uOC0zLjRjLjQtMi43IDIuNi00LjYgNS4zLTQuNiAxLjMgMCAyLjUuNCAzLjIgMS4zLjguOSAxLjEgMiAuOSAzLjR6TTEyNS44IDIxSDEyMWMtLjQgMC0uOS4yLTEuMi42bC02LjYgOS44LTIuOC05LjRjLS4yLS42LS43LTEtMS4zLTFoLTQuN2MtLjYgMC0xIC42LS44IDEuMWw1LjMgMTUuNS01IDdjLS40LjUgMCAxLjMuNyAxLjNoNC44Yy40IDAgLjktLjIgMS4xLS42bDE2LTIzYy4zLS41LS4xLTEuMy0uNy0xLjN6TTE3Ny4xIDEyLjVsLTQuMSAyNmMtLjEuNS4zLjkuOC45aDQuMWMuNyAwIDEuMy0uNSAxLjQtMS4ybDQtMjUuNmMuMS0uNS0uMy0uOS0uOC0uOWgtNC42Yy0uNC4yLS44LjQtLjguOHpcIiAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zNS42IDEzLjJjLjUtMy40IDAtNS43LTEuOC03LjhDMzEuNyAzIDI4IDIgMjMuMyAySDkuN2MtMSAwLTEuOC43LTIgMS43TDIgMzkuOGMtLjEuNy40IDEuMyAxLjIgMS4zaDguNGwtLjYgMy43Yy0uMS42LjQgMS4yIDEgMS4yaDcuMWMuOSAwIDEuNi0uNiAxLjctMS40bC4xLS40IDEuMy04LjUuMS0uNGMuMS0uOS45LTEuNCAxLjctMS40aDEuMWM2LjkgMCAxMi4zLTIuOCAxMy44LTEwLjkuNy0zLjQuMy02LjItMS40LTguMi0uNC0uNy0xLjEtMS4yLTEuOS0xLjZ6XCJcbiAgICAgICAgb3BhY2l0eT1cIi42OFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zNS42IDEzLjJjLjUtMy40IDAtNS43LTEuOC03LjhDMzEuNyAzIDI4IDIgMjMuMyAySDkuN2MtMSAwLTEuOC43LTIgMS43TDIgMzkuOGMtLjEuNy40IDEuMyAxLjIgMS4zaDguNGwyLjEtMTMuNHYuNGMuMS0uOS45LTEuNyAxLjktMS43aDRjNy45IDAgMTQuMS0zLjIgMTUuOS0xMi41IDAtLjIuMS0uNS4xLS43XCJcbiAgICAgICAgb3BhY2l0eT1cIi43XCJcbiAgICAgIC8+XG4gICAgICA8cGF0aCBkPVwiTTE2IDEzLjJjLjEtLjYuNC0xIC45LTEuMy4yLS4xLjUtLjIuNy0uMmgxMC44YzEuMyAwIDIuNS4xIDMuNS4zLjMgMCAuNi4xLjkuMi4zIDAgLjYuMS45LjIuMSAwIC4zLjEuNC4xbDEuNS42Yy41LTMuNCAwLTUuNy0xLjgtNy44QzMxLjcgMyAyOCAyIDIzLjMgMkg5LjdjLTEgMC0xLjguNy0yIDEuN0wyIDM5LjhjLS4xLjcuNCAxLjMgMS4yIDEuM2g4LjRsMi4xLTEzLjR6XCIgLz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiAqL1xuXG5QYXlQYWxMb2dvTW9ub3RvbmUuZGVmYXVsdFByb3BzID0ge1xuICBjb2xvcjogJyNmZmYnLFxuICB0aXRsZTogJ1BheVBhbCcsXG59O1xuXG5QYXlQYWxMb2dvTW9ub3RvbmUucHJvcFR5cGVzID0ge1xuICBjb2xvcjogc3RyaW5nLFxuICB0aXRsZTogc3RyaW5nLFxufTtcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuY29uc3QgUGF5UGFsTW9ub2dyYW0gPSAoeyB0aXRsZSB9KSA9PiAoXG4gIDxzdmdcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJwYXlwYWwtbW9ub2dyYW1cIlxuICAgIGRhdGEtdGVzdGlkPVwicGF5cGFsLW1vbm9ncmFtXCJcbiAgICBoZWlnaHQ9XCIyNFwiXG4gICAgcm9sZT1cImltZ1wiXG4gICAgdmlld0JveD1cIjAgMCAyMCAyNFwiXG4gICAgd2lkdGg9XCIyMFwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gID5cbiAgICA8dGl0bGUgaWQ9XCJwYXlwYWwtbW9ub2dyYW1cIj57dGl0bGV9PC90aXRsZT5cbiAgICA8ZyBmaWxsPVwibm9uZVwiIGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xNy43MTYgNi4zOTJjLjI4Mi0xLjc5Ni0uMDAyLTMuMDE4LS45NzMtNC4xMjUtMS4wNy0xLjIxOS0zLjAwMi0xLjc0LTUuNDc0LTEuNzRINC4wOTNjLS41MDUgMC0uOTM1LjM2Ny0xLjAxNC44NjZMLjA5MSAyMC4zNDFhLjYxNi42MTYgMCAwIDAgLjYwOC43MTFoNC40M2wtLjMwNSAxLjk0YS41MzkuNTM5IDAgMCAwIC41MzIuNjIySDkuMDlhLjg5OC44OTggMCAwIDAgLjg4Ny0uNzU4bC4wMzctLjE5LjcwMy00LjQ2LjA0NS0uMjQ3YS44OTguODk4IDAgMCAxIC44ODctLjc1OGguNTU5YzMuNjE3IDAgNi40NS0xLjQ3IDcuMjc4LTUuNzIuMzQ1LTEuNzc2LjE2Ny0zLjI1OC0uNzQ4LTQuM2EzLjU2IDMuNTYgMCAwIDAtMS4wMjItLjc4OVwiXG4gICAgICAgIGZpbGw9XCIjMDA5Q0RFXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE3LjcxNiA2LjM5MmMuMjgyLTEuNzk2LS4wMDItMy4wMTgtLjk3My00LjEyNS0xLjA3LTEuMjE5LTMuMDAyLTEuNzQtNS40NzQtMS43NEg0LjA5M2MtLjUwNSAwLS45MzUuMzY3LTEuMDE0Ljg2NkwuMDkxIDIwLjM0MWEuNjE2LjYxNiAwIDAgMCAuNjA4LjcxMWg0LjQzbDEuMTEzLTcuMDU2LS4wMzQuMjIxYTEuMDIzIDEuMDIzIDAgMCAxIDEuMDEtLjg2NmgyLjEwNmM0LjEzNSAwIDcuMzczLTEuNjggOC4zMTktNi41MzkuMDI4LS4xNDMuMDUyLS4yODMuMDczLS40MlwiXG4gICAgICAgIGZpbGw9XCIjMDEyMTY5XCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTcuNDM4IDYuNDE2YS44OTkuODk5IDAgMCAxIC44ODctLjc1OGg1LjYyNWMuNjY2IDAgMS4yODcuMDQzIDEuODU1LjEzNWE4LjE0MiA4LjE0MiAwIDAgMSAuOTIuMjA0IDUuNjI1IDUuNjI1IDAgMCAxIC45OS4zOTVjLjI4My0xLjc5NiAwLTMuMDE4LS45NzItNC4xMjUtMS4wNy0xLjIxOS0zLjAwMi0xLjc0LTUuNDc0LTEuNzRINC4wOTNjLS41MDUgMC0uOTM1LjM2Ny0xLjAxNC44NjZMLjA5MSAyMC4zNDFhLjYxNi42MTYgMCAwIDAgLjYwOC43MTFoNC40M0w3LjQzOCA2LjQxNlwiXG4gICAgICAgIGZpbGw9XCIjMDAzMDg3XCJcbiAgICAgIC8+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxuUGF5UGFsTW9ub2dyYW0uZGVmYXVsdFByb3BzID0ge1xuICB0aXRsZTogJ1BheVBhbCcsXG59O1xuXG5QYXlQYWxNb25vZ3JhbS5wcm9wVHlwZXMgPSB7XG4gIHRpdGxlOiBzdHJpbmcsXG59O1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5jb25zdCBWZW5tb01vbm9ncmFtID0gKHsgdGl0bGUgfSkgPT4gKFxuICA8c3ZnXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwidmVubW8tbW9ub2dyYW1cIlxuICAgIGRhdGEtdGVzdGlkPVwidmVubW8tbW9ub2dyYW1cIlxuICAgIGhlaWdodD1cIjQ4XCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICB2aWV3Qm94PVwiMCAwIDQ4IDQ4XCJcbiAgICB3aWR0aD1cIjQ4XCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgPlxuICAgIDx0aXRsZSBpZD1cInZlbm1vLW1vbm9ncmFtXCI+e3RpdGxlfTwvdGl0bGU+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNDIuMyAyTDI4LjUgNC44Yy44IDEuOSAxLjQgNC4xIDEuNCA3LjQgMCA2LTQuMiAxNC44LTcuNyAyMC40TDE4LjUgMyAzLjMgNC41bDcgNDEuNWgxNy40YzcuNy0xMCAxNy0yNC4zIDE3LTM1LjIgMC0zLjQtLjgtNi4xLTIuNC04Ljh6XCJcbiAgICAgIGZpbGw9XCIjM2Q5NWNlXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxuVmVubW9Nb25vZ3JhbS5kZWZhdWx0UHJvcHMgPSB7XG4gIHRpdGxlOiAnVmVubW8nLFxufTtcblxuVmVubW9Nb25vZ3JhbS5wcm9wVHlwZXMgPSB7XG4gIHRpdGxlOiBzdHJpbmcsXG59O1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5jb25zdCBDbG9zZUljb24gPSAoeyB0aXRsZSB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgaGVpZ2h0PVwiMTBcIlxuICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDEwIDEwXCJcbiAgICAgIHdpZHRoPVwiMTBcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPGcgZmlsbD1cIm5vbmVcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlV2lkdGg9XCIxXCI+XG4gICAgICAgIDxnXG4gICAgICAgICAgZmlsbD1cIiMyQzJFMkZcIlxuICAgICAgICAgIGZpbGxSdWxlPVwibm9uemVyb1wiXG4gICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03LjAwMDAwMCwgLTcuMDAwMDAwKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEyLjcwNzU1NjgsMTEuOTk5NTUgTDE2LjI0Mjg1MzQsMTUuNTM0ODQ2NiBDMTYuNDM4MTE1NSwxNS43MzAxMDg4IDE2LjQzODExNTUsMTYuMDQ2NjkxMiAxNi4yNDI4NTM0LDE2LjI0MTk1MzQgQzE2LjA0NzU5MTIsMTYuNDM3MjE1NSAxNS43MzEwMDg4LDE2LjQzNzIxNTUgMTUuNTM1NzQ2NiwxNi4yNDE5NTM0IEwxMi4wMDA0NSwxMi43MDY2NTY4IEw4LjQ2NTE1MzM5LDE2LjI0MTk1MzQgQzguMjY5ODkxMjQsMTYuNDM3MjE1NSA3Ljk1MzMwODc2LDE2LjQzNzIxNTUgNy43NTgwNDY2MSwxNi4yNDE5NTM0IEM3LjU2Mjc4NDQ2LDE2LjA0NjY5MTIgNy41NjI3ODQ0NiwxNS43MzAxMDg4IDcuNzU4MDQ2NjEsMTUuNTM0ODQ2NiBMMTEuMjkzMzQzMiwxMS45OTk1NSBMNy43NTc3NDY2MSw4LjQ2Mzk1MzM5IEM3LjU2MjQ4NDQ2LDguMjY4NjkxMjQgNy41NjI0ODQ0Niw3Ljk1MjEwODc2IDcuNzU3NzQ2NjEsNy43NTY4NDY2MSBDNy45NTMwMDg3Niw3LjU2MTU4NDQ2IDguMjY5NTkxMjQsNy41NjE1ODQ0NiA4LjQ2NDg1MzM5LDcuNzU2ODQ2NjEgTDEyLjAwMDQ1LDExLjI5MjQ0MzIgTDE1LjUzNjA0NjYsNy43NTY4NDY2MSBDMTUuNzMxMzA4OCw3LjU2MTU4NDQ2IDE2LjA0Nzg5MTIsNy41NjE1ODQ0NiAxNi4yNDMxNTM0LDcuNzU2ODQ2NjEgQzE2LjQzODQxNTUsNy45NTIxMDg3NiAxNi40Mzg0MTU1LDguMjY4NjkxMjQgMTYuMjQzMTUzNCw4LjQ2Mzk1MzM5IEwxMi43MDc1NTY4LDExLjk5OTU1IFpcIj48L3BhdGg+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICA8L3N2Zz5cbiAgKTtcbn07XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxuQ2xvc2VJY29uLmRlZmF1bHRQcm9wcyA9IHtcbiAgdGl0bGU6ICdDbG9zZScsXG59O1xuXG5DbG9zZUljb24ucHJvcFR5cGVzID0ge1xuICB0aXRsZTogc3RyaW5nLFxufTtcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuY29uc3QgU3VjY2Vzc0ljb24gPSAocHJvcHMpID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17YCR7cHJvcHMuaGVpZ2h0fWB9XG4gICAgdmlld0JveD17YDAgMCAke3Byb3BzLndpZHRofSAke3Byb3BzLmhlaWdodH1gfVxuICAgIHdpZHRoPXtgJHtwcm9wcy53aWR0aH1gfVxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPGcgZmlsbD1cIm5vbmVcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgIDxwYXRoIGQ9XCJtMCAwaDE4djE4aC0xOHpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwibTcuNDQ4NDQ5NjYgMTAuODE4MTgwMiA0LjgxODY0NDI0LTUuMTkxMDMxN2MuMzc1NzM1OC0uNDA0NzcyODUgMS4wMDg0NjMxLS40MjgzMTIwNCAxLjQxMzIzNTktLjA1MjU3NjI2LjQwNDc3MjkuMzc1NzM1NzkuNDI4MzEyMSAxLjAwODQ2MzA2LjA1MjU3NjMgMS40MTMyMzU5MWwtNS41Njk1Nzk4NyA2LjAwMDAwMDA1Yy0uNDAyMjAzMTYuNDMzMjg1Ni0xLjA5MDQ3MTEuNDI0OTUzNC0xLjQ4MjA2NzE3LS4wMTc5NDJsLTIuNDMwNDIwMTUtMi43NDg4MDY4Yy0uMzY1ODI2NzEtLjQxMzc1MDItLjMyNjk3NzAxLTEuMDQ1NzIyMTkuMDg2NzczMjQtMS40MTE1NDg5LjQxMzc1MDI0LS4zNjU4MjY3MSAxLjA0NTcyMjIzLS4zMjY5NzcwMSAxLjQxMTU0ODk0LjA4Njc3MzIzem0xLjU1MTg1MDM0LTkuODE3ODgwMmMtNC40MTkgMC04IDMuNTgyLTggOCAwIDQuNDE5IDMuNTgxIDggOCA4IDQuNDE4IDAgOC0zLjU4MSA4LTggMC00LjQxOC0zLjU4Mi04LTgtOHpcIlxuICAgICAgICBmaWxsPXtgJHtwcm9wcy5jb2xvcn1gfVxuICAgICAgLz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiAqL1xuXG5TdWNjZXNzSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGNvbG9yOiAnIzI5OTk3NicsXG4gIGhlaWdodDogMTgsXG4gIHdpZHRoOiAxOCxcbn07XG5cblN1Y2Nlc3NJY29uLnByb3BUeXBlcyA9IHtcbiAgY29sb3I6IHN0cmluZyxcbiAgaGVpZ2h0OiBudW1iZXIsXG4gIHdpZHRoOiBudW1iZXIsXG59O1xuXG5leHBvcnQge1xuICBDbG9zZUljb24sXG4gIEVycm9ySWNvbixcbiAgSW5mb0ljb24sXG4gIFBheVBhbExvZ28sXG4gIFBheVBhbExvZ29QUDMsXG4gIFBheVBhbExvZ29Nb25vdG9uZSxcbiAgUGF5UGFsTW9ub2dyYW0sXG4gIFF1ZXN0aW9uSWNvbixcbiAgU3VjY2Vzc0ljb24sXG4gIFZlbm1vTW9ub2dyYW0sXG59O1xuIl19 */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nvar ErrorIcon = _ref => {\n var {\n title\n } = _ref;\n return React.createElement(ErrorSVGContainer, null, React.createElement(\"svg\", {\n \"aria-labelledby\": \"error-icon\",\n height: \"18\",\n role: \"img\",\n viewBox: \"0 0 18 18\",\n width: \"18\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, React.createElement(\"title\", {\n id: \"error-icon\"\n }, title), React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, React.createElement(\"path\", {\n d: \"m0 0h18v18h-18z\",\n fill: \"none\"\n }), React.createElement(\"path\", {\n d: \"m10.3073633 1.804337 7.2901525 12.9602711c.1999494.3554657.239396.757596.1417586 1.1227517-.1006877.3765641-.3471588.7138072-.71373.9200035-.2245225.1262939-.4777866.1926367-.7353919.1926367h-14.58030502c-.82842712 0-1.5-.6715729-1.5-1.5 0-.2576053.06634281-.5108694.1926367-.7353919l7.29015251-12.9602711c.1995528-.35476052.52184398-.59703536.88373112-.70354464.37465433-.11026687.79174775-.07501972 1.15902405.1315732.23943673.13468316.43728824.33253471.57197144.57197144zm-1.3073633 3.195663c-.55228475 0-1 .44771525-1 1v4c0 .5522847.44771525 1 1 1s1-.4477153 1-1v-4c0-.55228475-.44771525-1-1-1zm0 10c.55228475 0 1-.4477153 1-1s-.44771525-1-1-1-1 .4477153-1 1 .44771525 1 1 1z\",\n fill: \"#d20000\"\n }))));\n};\n\nvar INFO_ICON_COLOR_MAP = {\n default: {\n background: INPUT_TEXT_COLOR,\n border: INPUT_TEXT_COLOR,\n text: '#fff'\n },\n primary: {\n background: PRIMARY_COLOR,\n border: PRIMARY_COLOR,\n text: '#fff'\n },\n primaryActive: {\n background: '#fff',\n border: PRIMARY_COLOR,\n text: PRIMARY_COLOR\n },\n warn: {\n background: '#fff',\n border: WARN_COLOR,\n text: WARN_COLOR\n }\n};\n\nvar InfoIcon = _ref2 => {\n var {\n colors,\n iconDimensions,\n title,\n type\n } = _ref2;\n var id = useRef(uniqueStr());\n var theme = hasOwnProp(INFO_ICON_COLOR_MAP, type) ? type : 'default';\n var {\n background,\n border,\n text\n } = colors || INFO_ICON_COLOR_MAP[theme];\n return React.createElement(\"svg\", _extends({\n height: \"22\",\n viewBox: \"0 0 22 22\",\n width: \"22\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, iconDimensions), React.createElement(\"title\", {\n id: \"info-icon-\".concat(id.current)\n }, title), React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, React.createElement(\"g\", {\n transform: \"translate(1 1)\"\n }, React.createElement(\"circle\", {\n cx: \"10\",\n cy: \"10\",\n fill: background,\n r: \"10\",\n stroke: border\n }), React.createElement(\"path\", {\n d: \"M11 5.99c0 .282-.098.52-.294.716A.953.953 0 0 1 10.01 7a.974.974 0 0 1-.715-.294A.974.974 0 0 1 9 5.991c0-.27.098-.502.294-.697A.974.974 0 0 1 10.009 5c.27 0 .502.098.697.294A.953.953 0 0 1 11 5.99zm0 8.362a.814.814 0 0 1-.378.475 1.21 1.21 0 0 1-.585.173 1.238 1.238 0 0 1-.598-.14.948.948 0 0 1-.439-.459V8.746a.671.671 0 0 1 .317-.549c.195-.126.41-.191.646-.197.236-.005.456.05.659.164.203.115.33.293.378.533v5.655z\",\n fill: text\n }))));\n};\n\nvar QuestionIcon = _ref3 => {\n var {\n colors,\n iconDimensions,\n title = 'Icons/question-alt',\n type\n } = _ref3;\n var id = useRef(uniqueStr());\n var theme = hasOwnProp(INFO_ICON_COLOR_MAP, type) ? type : 'default';\n var {\n background\n } = colors || INFO_ICON_COLOR_MAP[theme];\n return React.createElement(\"svg\", _extends({\n height: \"17\",\n viewBox: \"0 0 16 17\",\n width: \"16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, iconDimensions), React.createElement(\"title\", {\n id: \"question-icon-\".concat(id.current)\n }, title), React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\",\n id: \"V7\",\n stroke: \"none\",\n strokeWidth: \"1\"\n }, React.createElement(\"g\", {\n id: \"Legal-approved-billing-page-04-23-Copy-5\",\n transform: \"translate(-336.000000, -1082.000000)\"\n }, React.createElement(\"g\", {\n id: \"Icons-question-alt\",\n transform: \"translate(335.000000, 1081.500000)\"\n }, React.createElement(\"path\", {\n d: \"M10.0586,11.9996 L10.0586,13.9996 L8.0586,13.9996 L8.0586,11.9996 L10.0586,11.9996 Z M11.4746,4.0246 C12.1356,4.6856 12.4996,5.5646 12.4996,6.4996 C12.4996,7.4356 12.1356,8.3146 11.4746,8.9756 C11.0566,9.3926 10.5516,9.6926 9.9996,9.8556 L9.9996,10.9996 L7.9996,10.9996 L7.9996,7.9996 L8.9996,7.9996 C9.4006,7.9996 9.7776,7.8446 10.0606,7.5606 C10.3436,7.2776 10.4996,6.9006 10.4996,6.4996 C10.4996,6.0996 10.3436,5.7226 10.0606,5.4396 C9.4756,4.8546 8.5246,4.8546 7.9396,5.4396 L7.2316,6.1466 L5.8186,4.7316 L6.5256,4.0246 C7.8896,2.6616 10.1106,2.6616 11.4746,4.0246 Z M8.9996,0.9996 C4.5806,0.9996 0.9996,4.5816 0.9996,8.9996 C0.9996,13.4176 4.5806,16.9996 8.9996,16.9996 C13.4176,16.9996 16.9996,13.4176 16.9996,8.9996 C16.9996,4.5816 13.4176,0.9996 8.9996,0.9996 L8.9996,0.9996 Z\",\n fill: background,\n fillRule: \"nonzero\",\n id: \"Fill-22\"\n }), React.createElement(\"rect\", {\n height: \"18\",\n id: \"Padding\",\n width: \"18\",\n x: \"0\",\n y: \"0\"\n })))));\n};\n\nvar PayPalLogo = _ref4 => {\n var {\n title\n } = _ref4;\n var pathId = useRef(uniqueStr());\n var maskId = useRef(uniqueStr());\n return React.createElement(\"svg\", {\n \"aria-labelledby\": \"paypal-logo\",\n \"data-testid\": \"paypal-logo\",\n height: \"22\",\n role: \"img\",\n viewBox: \"0 0 89 22\",\n width: \"89\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, React.createElement(\"title\", {\n id: \"paypal-logo\"\n }, title), React.createElement(\"defs\", null, React.createElement(\"path\", {\n d: \"M88.362 21.618V.179H.013v21.439z\",\n id: pathId.current\n })), React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, React.createElement(\"path\", {\n d: \"M85.972 5.385l-1.925 12.729a.402.402 0 0 0 .386.47h1.936a.66.66 0 0 0 .644-.572l1.899-12.5a.402.402 0 0 0-.387-.47h-2.167a.396.396 0 0 0-.386.343M79.863 14.007c-.224 1.298-1.276 2.168-2.618 2.168-.673 0-1.212-.211-1.558-.612-.343-.398-.473-.964-.364-1.595.21-1.286 1.278-2.185 2.6-2.185.659 0 1.194.214 1.547.619.355.408.495.978.393 1.605zm3.233-4.418h-2.32a.401.401 0 0 0-.399.333l-.102.635-.162-.23c-.502-.714-1.622-.952-2.74-.952-2.563 0-4.752 1.9-5.179 4.566-.221 1.33.094 2.601.864 3.488.708.815 1.718 1.154 2.922 1.154 2.066 0 3.212-1.298 3.212-1.298l-.104.63c-.039.24.15.458.399.458h2.089a.669.669 0 0 0 .665-.556l1.254-7.772a.398.398 0 0 0-.399-.456zM69.47 9.607c-.27 1.75-1.622 1.75-2.93 1.75h-.744l.522-3.267a.41.41 0 0 1 .406-.343h.34c.89 0 1.732 0 2.165.501.26.3.338.745.24 1.359zm-.57-4.565h-4.932a.683.683 0 0 0-.677.572l-1.994 12.5c-.04.246.153.47.406.47h2.53c.236 0 .438-.17.474-.401l.566-3.544a.683.683 0 0 1 .677-.572h1.56c3.249 0 5.124-1.554 5.614-4.633.22-1.348.009-2.406-.63-3.147-.7-.815-1.944-1.245-3.594-1.245z\",\n fill: \"#009CDE\"\n }), React.createElement(\"path\", {\n d: \"M60.881 9.375h-2.365a.689.689 0 0 0-.565.29l-3.262 4.66-1.383-4.478a.68.68 0 0 0-.654-.472h-2.325a.4.4 0 0 0-.388.525l2.604 7.413-2.45 3.352c-.192.263.002.627.335.627h2.363a.69.69 0 0 0 .561-.285l7.866-11.008c.188-.264-.006-.624-.337-.624M45.196 14.007c-.224 1.298-1.276 2.168-2.618 2.168-.673 0-1.212-.211-1.558-.612-.343-.398-.472-.964-.363-1.595.209-1.286 1.278-2.185 2.6-2.185.658 0 1.193.214 1.546.619.356.408.495.978.393 1.605zM48.43 9.59h-2.32a.401.401 0 0 0-.398.333l-.102.635-.163-.23c-.502-.714-1.622-.952-2.74-.952-2.563 0-4.752 1.9-5.178 4.566-.222 1.33.093 2.601.863 3.488.708.815 1.719 1.154 2.922 1.154 2.066 0 3.212-1.298 3.212-1.298l-.104.63c-.039.24.15.458.4.458h2.088a.669.669 0 0 0 .665-.556l1.254-7.772a.398.398 0 0 0-.399-.456zM34.802 9.607c-.27 1.75-1.621 1.75-2.929 1.75h-.744l.522-3.267a.41.41 0 0 1 .406-.343h.341c.89 0 1.731 0 2.165.501.26.3.338.745.24 1.359zm-.569-4.565h-4.932a.683.683 0 0 0-.676.572l-1.995 12.5c-.04.246.154.47.406.47h2.355a.683.683 0 0 0 .677-.572l.538-3.373a.683.683 0 0 1 .677-.572h1.56c3.25 0 5.124-1.554 5.614-4.633.22-1.348.009-2.406-.63-3.147-.7-.815-1.944-1.245-3.594-1.245z\",\n fill: \"#003087\"\n }), React.createElement(\"g\", {\n transform: \"translate(.625 .167)\"\n }, React.createElement(\"mask\", {\n fill: \"#fff\",\n id: maskId.current\n }, React.createElement(\"use\", {\n xlinkHref: \"#\".concat(pathId.current)\n })), React.createElement(\"path\", {\n d: \"M16.373 5.626c.262-1.668-.002-2.803-.904-3.83C14.476.664 12.682.179 10.387.179H3.723a.953.953 0 0 0-.941.805L.007 18.578a.572.572 0 0 0 .565.661h4.114l-.284 1.8a.5.5 0 0 0 .494.579h3.467c.41 0 .76-.299.824-.704l.034-.176.653-4.142.042-.229a.834.834 0 0 1 .824-.704h.519c3.359 0 5.989-1.365 6.757-5.311.322-1.65.156-3.026-.694-3.994a3.305 3.305 0 0 0-.949-.732\",\n fill: \"#009CDE\",\n mask: \"url(#\".concat(maskId.current, \")\")\n }), React.createElement(\"path\", {\n d: \"M16.373 5.626c.262-1.668-.002-2.803-.904-3.83C14.476.664 12.682.179 10.387.179H3.723a.953.953 0 0 0-.941.805L.007 18.578a.572.572 0 0 0 .565.661h4.114l1.033-6.552-.032.205a.95.95 0 0 1 .938-.804H8.58c3.84 0 6.847-1.56 7.725-6.072.026-.133.048-.263.068-.39\",\n fill: \"#012169\",\n mask: \"url(#\".concat(maskId.current, \")\")\n }), React.createElement(\"path\", {\n d: \"M6.829 5.648a.834.834 0 0 1 .824-.704h5.223c.619 0 1.196.04 1.723.126a7.56 7.56 0 0 1 .855.19 5.223 5.223 0 0 1 .92.366c.26-1.668-.003-2.803-.905-3.83C14.476.664 12.682.179 10.387.179H3.723a.953.953 0 0 0-.941.805L.007 18.578a.572.572 0 0 0 .565.661h4.114L6.829 5.65\",\n fill: \"#003087\",\n mask: \"url(#\".concat(maskId.current, \")\")\n }))));\n};\n\nPayPalLogo.defaultProps = {\n title: 'PayPal'\n};\n\nvar PayPalLogoPP3 = () => {\n return React.createElement(\"svg\", {\n \"aria-labelledby\": \"paypal-logo-new\",\n \"data-testid\": \"paypal-logo-new\",\n height: \"22\",\n role: \"img\",\n viewBox: \"0 0 89 22\",\n width: \"89\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/2000/svg\"\n }, React.createElement(\"g\", {\n clipPath: \"url(#clip0_1189_195406)\"\n }, React.createElement(\"path\", {\n d: \"M31.2806 14.3361C32.4862 14.3349 33.6517 13.903 34.5669 13.1181C35.482 12.3332 36.0866 11.2472 36.2715 10.0558C36.6617 7.57244 34.721 5.40432 31.9714 5.40432H27.5404C27.4573 5.40338 27.3767 5.4325 27.3134 5.48632C27.2501 5.54014 27.2083 5.61503 27.1959 5.69719L25.2207 18.233C25.2135 18.2788 25.2163 18.3256 25.2289 18.3703C25.2415 18.4149 25.2636 18.4563 25.2937 18.4916C25.3239 18.5269 25.3613 18.5552 25.4034 18.5746C25.4455 18.5941 25.4913 18.6042 25.5377 18.6042H27.8824C27.9655 18.6052 28.0461 18.5761 28.1094 18.5222C28.1728 18.4684 28.2145 18.3935 28.227 18.3114L28.8075 14.6289C28.82 14.5468 28.8617 14.4719 28.925 14.4181C28.9884 14.3642 29.069 14.3351 29.1521 14.3361H31.2806ZM33.2428 9.94298C33.0981 10.8612 32.3883 11.5374 31.0299 11.5374H29.2933L29.8197 8.1978H31.5252C32.9301 8.20039 33.3867 9.02904 33.2428 9.94556V9.94298Z\",\n fill: \"#003087\"\n }), React.createElement(\"path\", {\n d: \"M46.4309 9.35277H44.2051C44.122 9.35183 44.0413 9.38096 43.978 9.43478C43.9147 9.4886 43.873 9.56349 43.8605 9.64565L43.7881 10.1074C43.7881 10.1074 42.0593 8.22005 39.0005 9.4949C37.2459 10.2254 36.4035 11.7345 36.046 12.8397C36.046 12.8397 34.9072 16.1991 37.4802 18.0485C37.4802 18.0485 39.8662 19.8264 42.5529 17.9382L42.5064 18.2328C42.4992 18.2787 42.502 18.3255 42.5146 18.3701C42.5272 18.4148 42.5493 18.4561 42.5794 18.4914C42.6096 18.5267 42.647 18.555 42.6891 18.5745C42.7312 18.5939 42.777 18.604 42.8234 18.6041H45.0492C45.1323 18.605 45.213 18.5759 45.2763 18.5221C45.3396 18.4683 45.3813 18.3934 45.3938 18.3112L46.7479 9.72403C46.7551 9.67821 46.7523 9.63137 46.7397 9.58673C46.7271 9.5421 46.705 9.50072 46.6748 9.46544C46.6447 9.43017 46.6073 9.40183 46.5652 9.38238C46.5231 9.36293 46.4773 9.35283 46.4309 9.35277ZM43.1576 14.099C43.0705 14.6974 42.7693 15.2438 42.3099 15.6369C41.8506 16.0301 41.2642 16.2433 40.6596 16.237C40.4228 16.2397 40.187 16.2051 39.961 16.1345C39.0014 15.8261 38.4536 14.9036 38.6112 13.9035C38.6983 13.3035 39.0007 12.7557 39.4619 12.3622C39.9231 11.9686 40.5116 11.7563 41.1178 11.7647C41.355 11.7623 41.591 11.7972 41.8173 11.868C42.7734 12.1747 43.3178 13.0981 43.1602 14.099H43.1576Z\",\n fill: \"#003087\"\n }), React.createElement(\"path\", {\n d: \"M63.3361 14.3361C64.5426 14.336 65.7093 13.9045 66.6255 13.1196C67.5417 12.3346 68.147 11.248 68.3322 10.0558C68.7215 7.57244 66.7817 5.40432 64.0313 5.40432H59.6011C59.518 5.40338 59.4374 5.4325 59.3741 5.48632C59.3108 5.54014 59.269 5.61503 59.2566 5.69719L57.2754 18.2364C57.2682 18.2823 57.271 18.3291 57.2836 18.3737C57.2962 18.4184 57.3183 18.4597 57.3484 18.495C57.3786 18.5303 57.416 18.5586 57.4581 18.5781C57.5002 18.5975 57.546 18.6076 57.5924 18.6077H59.9379C60.021 18.6086 60.1017 18.5795 60.165 18.5257C60.2283 18.4719 60.27 18.397 60.2825 18.3148L60.8639 14.6324C60.8764 14.5502 60.9181 14.4753 60.9815 14.4215C61.0448 14.3677 61.1254 14.3386 61.2085 14.3395L63.3361 14.3361ZM65.2984 9.94298C65.1537 10.8612 64.4439 11.5374 63.0855 11.5374H61.3489L61.8761 8.1978H63.5816C64.9857 8.20039 65.4431 9.02904 65.2984 9.94556V9.94298Z\",\n fill: \"#0070E0\"\n }), React.createElement(\"path\", {\n d: \"M78.4872 9.35277H76.2631C76.1801 9.35183 76.0994 9.38096 76.0361 9.43478C75.9728 9.4886 75.931 9.56349 75.9186 9.64565L75.8454 10.1074C75.8454 10.1074 74.1174 8.22005 71.0586 9.4949C69.304 10.2254 68.4615 11.7345 68.1032 12.8397C68.1032 12.8397 66.9653 16.1991 69.5383 18.0485C69.5383 18.0485 71.9243 19.8264 74.611 17.9382L74.5645 18.2328C74.5573 18.2787 74.5601 18.3255 74.5727 18.3701C74.5853 18.4148 74.6074 18.4561 74.6375 18.4914C74.6676 18.5267 74.705 18.555 74.7472 18.5745C74.7893 18.5939 74.8351 18.604 74.8815 18.6041H77.1073C77.1904 18.605 77.271 18.5759 77.3344 18.5221C77.3977 18.4683 77.4394 18.3934 77.4519 18.3112L78.806 9.72403C78.8132 9.67807 78.8104 9.63108 78.7977 9.58632C78.785 9.54156 78.7627 9.50009 78.7324 9.46478C78.7021 9.42948 78.6644 9.40118 78.6221 9.38184C78.5798 9.3625 78.5338 9.35258 78.4872 9.35277ZM75.214 14.099C75.1279 14.6978 74.827 15.2449 74.3674 15.6382C73.9078 16.0316 73.3208 16.2444 72.7159 16.237C72.4789 16.2397 72.2428 16.2051 72.0165 16.1345C71.056 15.8261 70.5082 14.9036 70.6658 13.9035C70.7528 13.305 71.0539 12.7584 71.5133 12.365C71.9726 11.9717 72.5591 11.7584 73.1639 11.7647C73.401 11.7622 73.637 11.7971 73.8633 11.868C74.8298 12.1747 75.3751 13.0981 75.2166 14.099H75.214Z\",\n fill: \"#0070E0\"\n }), React.createElement(\"path\", {\n d: \"M54.602 9.56583L51.9187 14.095L50.5569 9.59942C50.5357 9.52803 50.4919 9.46544 50.4321 9.42103C50.3723 9.37662 50.2997 9.35277 50.2253 9.35307H47.8039C47.7622 9.35235 47.7209 9.36174 47.6836 9.38044C47.6463 9.39914 47.6141 9.42659 47.5897 9.46045C47.5653 9.49431 47.5495 9.53357 47.5436 9.57487C47.5377 9.61617 47.5419 9.65829 47.5558 9.69762L49.9961 17.271L47.7892 20.8397C47.7642 20.879 47.7503 20.9243 47.749 20.9709C47.7476 21.0175 47.7589 21.0635 47.7816 21.1042C47.8043 21.1449 47.8375 21.1787 47.8778 21.2021C47.9182 21.2254 47.964 21.2374 48.0106 21.2368H50.6189C50.6935 21.237 50.7668 21.2178 50.8318 21.1811C50.8967 21.1444 50.951 21.0914 50.9893 21.0275L57.8055 9.75189C57.8299 9.7125 57.8433 9.66728 57.8442 9.62095C57.8451 9.57462 57.8336 9.5289 57.8108 9.48856C57.7879 9.44823 57.7547 9.41477 57.7145 9.39169C57.6744 9.36861 57.6287 9.35676 57.5824 9.35737H54.975C54.9 9.35667 54.8262 9.37553 54.7608 9.41209C54.6954 9.44865 54.6406 9.50164 54.602 9.56583Z\",\n fill: \"#003087\"\n }), React.createElement(\"path\", {\n d: \"M80.991 5.69378L79.0098 18.233C79.0026 18.2788 79.0053 18.3257 79.018 18.3703C79.0306 18.4149 79.0527 18.4563 79.0828 18.4916C79.1129 18.5269 79.1503 18.5552 79.1924 18.5747C79.2345 18.5941 79.2804 18.6042 79.3268 18.6043H81.6715C81.7546 18.6052 81.8352 18.5761 81.8985 18.5223C81.9618 18.4684 82.0036 18.3936 82.016 18.3114L83.9972 5.77216C84.0044 5.72634 84.0016 5.6795 83.989 5.63486C83.9764 5.59022 83.9543 5.54884 83.9242 5.51357C83.894 5.47829 83.8566 5.44996 83.8145 5.43051C83.7724 5.41106 83.7266 5.40096 83.6802 5.4009H81.3355C81.2524 5.39996 81.1718 5.42909 81.1085 5.4829C81.0451 5.53672 81.0034 5.61161 80.991 5.69378Z\",\n fill: \"#0070E0\"\n }), React.createElement(\"path\", {\n d: \"M18.5731 11.1298C18.07 13.9974 15.7305 16.1655 12.6605 16.1655H10.7112C10.3141 16.1655 9.91352 16.5333 9.84978 16.9407L8.99614 22.358C8.94705 22.6664 8.80233 22.7689 8.48965 22.7689H5.35505C5.03806 22.7689 4.96312 22.6629 5.0105 22.3503L5.37056 18.6041L1.60715 18.4094C1.29102 18.4094 1.17645 18.2371 1.22124 17.921L3.78905 1.64074C3.83815 1.33236 4.03023 1.19971 4.34206 1.19971H10.8533C13.9879 1.19971 15.9708 3.31011 16.2137 6.04588C18.0786 7.30609 18.9504 8.98236 18.5731 11.1298Z\",\n fill: \"#001C64\"\n }), React.createElement(\"path\", {\n d: \"M6.32423 12.5376L5.37067 18.6043L4.7677 22.4099C4.75643 22.4834 4.76112 22.5583 4.78145 22.6298C4.80178 22.7012 4.83727 22.7674 4.8855 22.8239C4.93373 22.8804 4.99357 22.9258 5.06095 22.9571C5.12832 22.9884 5.20164 23.0048 5.27592 23.0052H8.5871C8.73816 23.005 8.88419 22.9509 8.99897 22.8527C9.11375 22.7545 9.18976 22.6186 9.21333 22.4694L10.0851 16.9393C10.1086 16.79 10.1846 16.6541 10.2994 16.5559C10.4142 16.4577 10.5602 16.4037 10.7113 16.4035H12.6606C14.1457 16.4016 15.5813 15.8692 16.7085 14.9023C17.8357 13.9353 18.5804 12.5976 18.8083 11.13C19.146 8.97657 18.0624 7.01605 16.2078 6.04785C16.2036 6.2772 16.1837 6.506 16.1484 6.73266C15.9195 8.19946 15.1744 9.53634 14.0473 10.5025C12.9202 11.4687 11.4852 12.0007 10.0006 12.0026H6.95046C6.79948 12.0026 6.65345 12.0565 6.53865 12.1546C6.42385 12.2526 6.34782 12.3884 6.32423 12.5376Z\",\n fill: \"#0070E0\"\n }), React.createElement(\"path\", {\n d: \"M5.37077 18.6042H1.51519C1.44076 18.604 1.36725 18.5877 1.29971 18.5564C1.23216 18.5251 1.17217 18.4796 1.12382 18.423C1.07548 18.3664 1.03994 18.3 1.01962 18.2284C0.999308 18.1568 0.994698 18.0817 1.00611 18.0081L3.60406 1.53578C3.62747 1.3865 3.70342 1.25049 3.81824 1.15225C3.93306 1.05402 4.07919 1.00002 4.23029 1H10.8501C13.9847 1 16.2639 3.28096 16.2105 6.04429C15.3762 5.61391 14.4496 5.39307 13.5109 5.40084H7.99198C7.84077 5.40083 7.69453 5.4548 7.57957 5.55302C7.46461 5.65124 7.38848 5.78727 7.36489 5.93662L6.32433 12.5374L5.37077 18.6042Z\",\n fill: \"#003087\"\n })), React.createElement(\"defs\", null, React.createElement(\"clipPath\", {\n id: \"clip0_1189_195406\"\n }, React.createElement(\"rect\", {\n fill: \"white\",\n height: \"22.005\",\n transform: \"translate(1 1)\",\n width: \"83\"\n }))));\n};\n\nvar PayPalLogoMonotone = _ref5 => {\n var {\n title\n } = _ref5;\n return React.createElement(\"svg\", {\n \"aria-labelledby\": \"paypal-monotone-logo\",\n \"data-testid\": \"paypal-monotone-logo\",\n viewBox: \"0 0 185.4 48\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, React.createElement(\"title\", {\n id: \"paypal-monotone-logo\"\n }, title), React.createElement(\"g\", {\n fill: \"#fff\"\n }, React.createElement(\"path\", {\n d: \"M141.6 11.9h-10c-.7 0-1.3.5-1.4 1.2l-4 25.6c-.1.5.3.9.8.9h5.1c.5 0 .9-.4.9-.8l1.2-7.3c.1-.7.7-1.2 1.4-1.2h3.1c6.6 0 10.4-3.2 11.3-9.5.4-2.7 0-4.9-1.3-6.5-1.2-1.6-3.7-2.4-7.1-2.4zm1.2 9.3c-.5 3.6-3.3 3.6-5.9 3.6h-1.5l1.1-6.7c0-.4.4-.7.8-.7h.7c1.8 0 3.5 0 4.4 1 .4.6.6 1.5.4 2.8zM70.5 11.9h-10c-.7 0-1.3.5-1.4 1.2l-4 25.6c-.1.5.3.9.8.9h4.7c.7 0 1.3-.5 1.4-1.2l1.1-6.9c.1-.7.7-1.2 1.4-1.2h3.1c6.6 0 10.4-3.2 11.3-9.5.4-2.7 0-4.9-1.3-6.5-1.2-1.6-3.7-2.4-7.1-2.4zm1.2 9.3c-.5 3.6-3.3 3.6-5.9 3.6h-1.5l1.1-6.7c0-.4.4-.7.8-.7h.7c1.8 0 3.5 0 4.4 1 .4.6.6 1.5.4 2.8zM100.3 21h-4.8c-.4 0-.8.3-.8.7l-.2 1.3-.3-.5c-1-1.5-3.3-2-5.6-2-5.3 0-9.8 4-10.7 9.6-.4 2.8.2 5.5 1.8 7.3 1.5 1.7 3.5 2.4 6 2.4 4.3 0 6.6-2.7 6.6-2.7l-.3 1.5c-.1.5.3.9.8.9h4.3c.7 0 1.3-.5 1.4-1.2l2.6-16.4c.1-.4-.2-.9-.8-.9zm-6.6 9.4c-.4 2.7-2.6 4.6-5.4 4.6-1.4 0-2.5-.4-3.2-1.3s-1-2-.8-3.4c.4-2.7 2.6-4.6 5.3-4.6 1.3 0 2.5.4 3.2 1.3.8.9 1.1 2 .9 3.4zM171.4 21h-4.8c-.4 0-.8.3-.8.7l-.2 1.3-.3-.5c-1-1.5-3.3-2-5.6-2-5.3 0-9.8 4-10.7 9.6-.4 2.8.2 5.5 1.8 7.3 1.5 1.7 3.5 2.4 6 2.4 4.3 0 6.6-2.7 6.6-2.7l-.2 1.3c-.1.5.3.9.8.9h4.3c.7 0 1.3-.5 1.4-1.2l2.6-16.4c0-.2-.3-.7-.9-.7zm-6.6 9.4c-.4 2.7-2.6 4.6-5.4 4.6-1.4 0-2.5-.4-3.2-1.3s-1-2-.8-3.4c.4-2.7 2.6-4.6 5.3-4.6 1.3 0 2.5.4 3.2 1.3.8.9 1.1 2 .9 3.4zM125.8 21H121c-.4 0-.9.2-1.2.6l-6.6 9.8-2.8-9.4c-.2-.6-.7-1-1.3-1h-4.7c-.6 0-1 .6-.8 1.1l5.3 15.5-5 7c-.4.5 0 1.3.7 1.3h4.8c.4 0 .9-.2 1.1-.6l16-23c.3-.5-.1-1.3-.7-1.3zM177.1 12.5l-4.1 26c-.1.5.3.9.8.9h4.1c.7 0 1.3-.5 1.4-1.2l4-25.6c.1-.5-.3-.9-.8-.9h-4.6c-.4.2-.8.4-.8.8z\"\n }), React.createElement(\"path\", {\n d: \"M35.6 13.2c.5-3.4 0-5.7-1.8-7.8C31.7 3 28 2 23.3 2H9.7c-1 0-1.8.7-2 1.7L2 39.8c-.1.7.4 1.3 1.2 1.3h8.4l-.6 3.7c-.1.6.4 1.2 1 1.2h7.1c.9 0 1.6-.6 1.7-1.4l.1-.4 1.3-8.5.1-.4c.1-.9.9-1.4 1.7-1.4h1.1c6.9 0 12.3-2.8 13.8-10.9.7-3.4.3-6.2-1.4-8.2-.4-.7-1.1-1.2-1.9-1.6z\",\n opacity: \".68\"\n }), React.createElement(\"path\", {\n d: \"M35.6 13.2c.5-3.4 0-5.7-1.8-7.8C31.7 3 28 2 23.3 2H9.7c-1 0-1.8.7-2 1.7L2 39.8c-.1.7.4 1.3 1.2 1.3h8.4l2.1-13.4v.4c.1-.9.9-1.7 1.9-1.7h4c7.9 0 14.1-3.2 15.9-12.5 0-.2.1-.5.1-.7\",\n opacity: \".7\"\n }), React.createElement(\"path\", {\n d: \"M16 13.2c.1-.6.4-1 .9-1.3.2-.1.5-.2.7-.2h10.8c1.3 0 2.5.1 3.5.3.3 0 .6.1.9.2.3 0 .6.1.9.2.1 0 .3.1.4.1l1.5.6c.5-3.4 0-5.7-1.8-7.8C31.7 3 28 2 23.3 2H9.7c-1 0-1.8.7-2 1.7L2 39.8c-.1.7.4 1.3 1.2 1.3h8.4l2.1-13.4z\"\n })));\n};\n\nPayPalLogoMonotone.defaultProps = {\n color: '#fff',\n title: 'PayPal'\n};\n\nvar PayPalMonogram = _ref6 => {\n var {\n title\n } = _ref6;\n return React.createElement(\"svg\", {\n \"aria-labelledby\": \"paypal-monogram\",\n \"data-testid\": \"paypal-monogram\",\n height: \"24\",\n role: \"img\",\n viewBox: \"0 0 20 24\",\n width: \"20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, React.createElement(\"title\", {\n id: \"paypal-monogram\"\n }, title), React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, React.createElement(\"path\", {\n d: \"M17.716 6.392c.282-1.796-.002-3.018-.973-4.125-1.07-1.219-3.002-1.74-5.474-1.74H4.093c-.505 0-.935.367-1.014.866L.091 20.341a.616.616 0 0 0 .608.711h4.43l-.305 1.94a.539.539 0 0 0 .532.622H9.09a.898.898 0 0 0 .887-.758l.037-.19.703-4.46.045-.247a.898.898 0 0 1 .887-.758h.559c3.617 0 6.45-1.47 7.278-5.72.345-1.776.167-3.258-.748-4.3a3.56 3.56 0 0 0-1.022-.789\",\n fill: \"#009CDE\"\n }), React.createElement(\"path\", {\n d: \"M17.716 6.392c.282-1.796-.002-3.018-.973-4.125-1.07-1.219-3.002-1.74-5.474-1.74H4.093c-.505 0-.935.367-1.014.866L.091 20.341a.616.616 0 0 0 .608.711h4.43l1.113-7.056-.034.221a1.023 1.023 0 0 1 1.01-.866h2.106c4.135 0 7.373-1.68 8.319-6.539.028-.143.052-.283.073-.42\",\n fill: \"#012169\"\n }), React.createElement(\"path\", {\n d: \"M7.438 6.416a.899.899 0 0 1 .887-.758h5.625c.666 0 1.287.043 1.855.135a8.142 8.142 0 0 1 .92.204 5.625 5.625 0 0 1 .99.395c.283-1.796 0-3.018-.972-4.125-1.07-1.219-3.002-1.74-5.474-1.74H4.093c-.505 0-.935.367-1.014.866L.091 20.341a.616.616 0 0 0 .608.711h4.43L7.438 6.416\",\n fill: \"#003087\"\n })));\n};\n\nPayPalMonogram.defaultProps = {\n title: 'PayPal'\n};\n\nvar VenmoMonogram = _ref7 => {\n var {\n title\n } = _ref7;\n return React.createElement(\"svg\", {\n \"aria-labelledby\": \"venmo-monogram\",\n \"data-testid\": \"venmo-monogram\",\n height: \"48\",\n role: \"img\",\n viewBox: \"0 0 48 48\",\n width: \"48\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, React.createElement(\"title\", {\n id: \"venmo-monogram\"\n }, title), React.createElement(\"path\", {\n d: \"M42.3 2L28.5 4.8c.8 1.9 1.4 4.1 1.4 7.4 0 6-4.2 14.8-7.7 20.4L18.5 3 3.3 4.5l7 41.5h17.4c7.7-10 17-24.3 17-35.2 0-3.4-.8-6.1-2.4-8.8z\",\n fill: \"#3d95ce\"\n }));\n};\n\nVenmoMonogram.defaultProps = {\n title: 'Venmo'\n};\n\nvar CloseIcon = _ref8 => {\n var {\n title\n } = _ref8;\n return React.createElement(\"svg\", {\n height: \"10\",\n version: \"1.1\",\n viewBox: \"0 0 10 10\",\n width: \"10\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, React.createElement(\"title\", null, title), React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\",\n stroke: \"none\",\n strokeWidth: \"1\"\n }, React.createElement(\"g\", {\n fill: \"#2C2E2F\",\n fillRule: \"nonzero\",\n transform: \"translate(-7.000000, -7.000000)\"\n }, React.createElement(\"path\", {\n d: \"M12.7075568,11.99955 L16.2428534,15.5348466 C16.4381155,15.7301088 16.4381155,16.0466912 16.2428534,16.2419534 C16.0475912,16.4372155 15.7310088,16.4372155 15.5357466,16.2419534 L12.00045,12.7066568 L8.46515339,16.2419534 C8.26989124,16.4372155 7.95330876,16.4372155 7.75804661,16.2419534 C7.56278446,16.0466912 7.56278446,15.7301088 7.75804661,15.5348466 L11.2933432,11.99955 L7.75774661,8.46395339 C7.56248446,8.26869124 7.56248446,7.95210876 7.75774661,7.75684661 C7.95300876,7.56158446 8.26959124,7.56158446 8.46485339,7.75684661 L12.00045,11.2924432 L15.5360466,7.75684661 C15.7313088,7.56158446 16.0478912,7.56158446 16.2431534,7.75684661 C16.4384155,7.95210876 16.4384155,8.26869124 16.2431534,8.46395339 L12.7075568,11.99955 Z\"\n }))));\n};\n\nCloseIcon.defaultProps = {\n title: 'Close'\n};\n\nvar SuccessIcon = props => React.createElement(\"svg\", {\n height: \"\".concat(props.height),\n viewBox: \"0 0 \".concat(props.width, \" \").concat(props.height),\n width: \"\".concat(props.width),\n xmlns: \"http://www.w3.org/2000/svg\"\n}, React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, React.createElement(\"path\", {\n d: \"m0 0h18v18h-18z\",\n fill: \"none\"\n}), React.createElement(\"path\", {\n d: \"m7.44844966 10.8181802 4.81864424-5.1910317c.3757358-.40477285 1.0084631-.42831204 1.4132359-.05257626.4047729.37573579.4283121 1.00846306.0525763 1.41323591l-5.56957987 6.00000005c-.40220316.4332856-1.0904711.4249534-1.48206717-.017942l-2.43042015-2.7488068c-.36582671-.4137502-.32697701-1.04572219.08677324-1.4115489.41375024-.36582671 1.04572223-.32697701 1.41154894.08677323zm1.55185034-9.8178802c-4.419 0-8 3.582-8 8 0 4.419 3.581 8 8 8 4.418 0 8-3.581 8-8 0-4.418-3.582-8-8-8z\",\n fill: \"\".concat(props.color)\n})));\n\nSuccessIcon.defaultProps = {\n color: '#299976',\n height: 18,\n width: 18\n};\nexport { CloseIcon, ErrorIcon, InfoIcon, PayPalLogo, PayPalLogoPP3, PayPalLogoMonotone, PayPalMonogram, QuestionIcon, SuccessIcon, VenmoMonogram };","// Internal modules\nimport type { ReactNode } from 'react';\nimport { appStore } from '@/store';\nimport {\n features,\n getContent,\n getShippingAddress,\n getShippingCountry,\n getSimpleShippingAddressString,\n logger,\n simplifyShippingAddress,\n} from '@/lib';\nimport { calculateShippingAndTaxes } from './graphql/operations/calculateShippingAndTaxes';\n// @ts-expect-error\nimport { updateShippingOptions } from './graphql/operations/updateShippingOptions';\n// @ts-expect-error\nimport { logFetchingShippingMethodsToFPTI } from './fpti';\nimport { conditionallyFetchConversionData } from '@/lib/graphql/operations/currencyConversion';\nimport type {\n Amount,\n Cart,\n CartShippingMethod,\n Maybe,\n ShippingMethodType,\n} from '@/generated/graphql';\nimport type { ShippingMethod } from '@/store/models/api/types';\n\nconst conditionallyCalculateShippingAndTaxes = (): Promise => {\n const { ui: uiActions } = appStore.getActions();\n const { setIsShippingShown, toggleIsPageLoading } = uiActions;\n const { api: apiState } = appStore.getState();\n if (!features.isActive('isSntSupported')) {\n logger.info('snt_not_supported');\n return Promise.resolve();\n }\n\n if (\n getSimpleShippingAddressString(\n simplifyShippingAddress(getShippingAddress(), getShippingCountry()),\n ) === apiState.calculatedShippingMethodsAddress\n ) {\n // Address hasn't changed since the last calculation, so no need to recalculate\n return Promise.resolve();\n }\n\n logFetchingShippingMethodsToFPTI();\n\n toggleIsPageLoading(true);\n\n const { api: apiStateBefore } = appStore.getState();\n const currValPreUpdateShipOpts =\n apiStateBefore?.cartDetails?.amounts?.total?.currencyValue;\n\n return (\n calculateShippingAndTaxes()\n .then(() => toggleIsPageLoading(false))\n // Turning the toggle off to execute updateShippingOptions\n // and conditionallyFetchConversionData in background.\n // If we call them in parallel, we will end up with unnecessary\n // calls to CURRENCY_CONVERSION_FROM_CREDIT_CARD_QUERY\n .then(() => updateShippingOptions())\n .then(() => {\n // DTOPPOR-1044: we need to re-fetch conversion data if\n // updateShippingOptions updates cart amount.\n const { api: apiStateAfter } = appStore.getState();\n const currValPostUpdateShipOpts =\n apiStateAfter?.cartDetails?.amounts?.total?.currencyValue;\n if (currValPostUpdateShipOpts !== currValPreUpdateShipOpts) {\n conditionallyFetchConversionData(null, true);\n }\n if (!features.isActive('hideShipping')) {\n setIsShippingShown(true);\n }\n })\n .catch(error => {\n // Log and noop if error is thrown\n logger.warn('calculate_shipping_and_taxes_error', { error });\n })\n );\n};\n\ntype FormattedShippingMethod = {\n amount?: Maybe;\n label: ReactNode[] | string;\n selected?: Maybe;\n type?: Maybe;\n value?: Maybe;\n};\n\nconst formatShippingMethodProp = ({\n amount,\n id,\n label,\n selected,\n type,\n deliveryTime,\n}: ShippingMethod): FormattedShippingMethod => {\n let shippingOptionLabel: ReactNode[] | string = getContent(\n 'shipping.customLabelAndAmount',\n {\n amount: amount && amount.currencyFormatSymbolISOCurrency,\n label,\n },\n );\n\n if (features.isActive('isWps') && deliveryTime) {\n shippingOptionLabel = `${shippingOptionLabel} (${deliveryTime})`;\n }\n\n return {\n amount,\n label: shippingOptionLabel,\n selected,\n type,\n value: id,\n };\n};\n\nconst updateSelectedShippingMethod = (id: string): void => {\n const { shippingMethods } = appStore.getState().api;\n const { setCartData } = appStore.getActions().api;\n const updatedShippingMethods = shippingMethods.map(method => {\n if (method) {\n method.selected = method.id === id;\n }\n return method;\n });\n setCartData({\n shippingMethods: updatedShippingMethods,\n });\n};\n\ntype ShippingMethodTabs = {\n [key in ShippingMethodType]: {\n label: string;\n title: string;\n shippingMethods: FormattedShippingMethod[];\n };\n};\n\nconst getHeaderContent = (shippingMethodTabs: ShippingMethodTabs): string => {\n const { SHIPPING, PICKUP } = shippingMethodTabs;\n if (SHIPPING && PICKUP) {\n return getContent('shipping.headers.shipOrPickup');\n }\n\n if (SHIPPING) {\n return getContent('shipping.headers.shipOnly');\n }\n\n return getContent('shipping.headers.pickupOnly');\n};\n\nconst getShippingMethodTabs = (\n shippingMethods: NonNullable,\n): ShippingMethodTabs => {\n const isShippingCallbacksV2Eligible = features.isActive(\n 'isShippingCallbacksV2Eligible',\n );\n return shippingMethods.reduce(\n (\n acc: ShippingMethodTabs,\n method: Maybe,\n ): ShippingMethodTabs => {\n if (!method || !method.type) {\n return acc;\n }\n\n const formattedMethod = formatShippingMethodProp(method);\n if (!acc[method.type]) {\n let contents = {\n label: '',\n title: '',\n };\n\n if (method.type === 'PICKUP') {\n // For V2 ShippingCallbacks we do not currently support PICKUP options\n // in AXO, therefore we're ignore all pickup shipping options\n // V2 ShippingCallbacks are only integrated for non-bopis merchants\n // Will be supported in a future iteration see Future work here:\n // https://engineering.paypalcorp.com/confluence/pages/viewpage.action?pageId=853380692#ShippingCallback(SPB)-FutureEffort\n if (isShippingCallbacksV2Eligible) {\n return acc;\n }\n contents = {\n label: getContent('shipping.choosePickupMethod'),\n title: getContent('buttons.shipping.pickup'),\n };\n } else if (method.type === 'SHIPPING') {\n contents = {\n label: getContent('shipping.chooseShippingMethod'),\n title: getContent('buttons.shipping.ship'),\n };\n }\n acc[method.type] = {\n ...contents,\n shippingMethods: [formattedMethod],\n };\n } else {\n acc[method.type].shippingMethods.push(formattedMethod);\n }\n return acc;\n },\n {} as ShippingMethodTabs,\n );\n};\n\nexport {\n conditionallyCalculateShippingAndTaxes,\n formatShippingMethodProp,\n getHeaderContent,\n getShippingMethodTabs,\n updateSelectedShippingMethod,\n};\n","// External libraries\nimport React from 'react';\n\n// Internal modules\nimport {\n HEADER_COLOR,\n PP_PRIMARY_COLOR,\n PP_SECONDARY_COLOR,\n PP_SUCCESS_COLOR,\n WARNING_COLOR,\n} from '@/styles';\n\ntype IconDefaultProps = {\n fillColor?: string;\n height?: number;\n width?: number;\n};\n\nconst CartIcon = ({\n color = HEADER_COLOR,\n height = 24,\n width = 24,\n}: Omit & {\n color?: string;\n}): React.ReactElement => (\n \n \n \n);\n\nconst ChevronIcon = ({\n className,\n}: {\n className?: string;\n}): React.ReactElement => (\n \n);\n\nconst InfoIcon = ({\n fillColor = '#FFF',\n strokeColor = '#FF9600',\n width = 18,\n height = 18,\n}: IconDefaultProps & { strokeColor?: string }): React.ReactElement => (\n \n \n \n \n \n \n \n \n \n);\n\nconst ErrorIcon = ({\n fillColor = WARNING_COLOR,\n width = 60,\n height = 60,\n}: IconDefaultProps): React.ReactElement => (\n \n \n \n \n \n);\n\nconst EditIcon = ({\n fillColor = PP_PRIMARY_COLOR,\n width = 24,\n height = 24,\n}: IconDefaultProps): React.ReactElement => (\n \n \n \n);\n\nconst SuccessIcon = ({\n fillColor = PP_SUCCESS_COLOR,\n width = 48,\n height = 48,\n}: IconDefaultProps): React.ReactElement => (\n \n \n \n);\n\nconst MinusIcon: React.FC = ({\n fillColor = PP_SECONDARY_COLOR,\n width = 30,\n height = 30,\n}) => (\n \n \n \n);\n\nexport {\n CartIcon,\n ChevronIcon,\n EditIcon,\n ErrorIcon,\n InfoIcon,\n SuccessIcon,\n MinusIcon,\n};\n","// External libraries\n// @ts-expect-error untyped-import\nimport { NON_WHITESPACE } from '@checkout/react-components';\nimport { getAddressMetadata, getAddressMetaKey } from '../utils';\n\n// Internal modules\nimport { appStore } from '@/store';\nimport { getContent } from '../content';\nimport { ADDRESS_VALIDATION_ERROR } from './constants';\n\nconst CUSTOM_VALUE_MISSING_FIELDS = new Set([\n 'cardCvv',\n 'cardExpiry',\n 'cardNumber',\n 'signupTerms',\n 'onboardOption',\n]);\nconst FIELD_NAME_MAP = {\n bankAccountNumber: 'accountNumber',\n bankIban: 'iban',\n bankSortCode: 'sortCode',\n cardCvv: 'cvv',\n cardExpiry: 'expiry',\n phone: 'phoneNumber',\n};\n\nconst isValueMissing = (value: string) =>\n !value.length || !NON_WHITESPACE.test(value);\n\nconst getErrorCodeFromErrorData = (\n errorData: Array | any,\n): string | null => {\n if (!Array.isArray(errorData)) {\n // `errorData` sometimes comes back as an object and it can have\n // indices as properties. In that case we'll grab the first error\n // or check to see if the `errorData` has a `code` property on it\n return errorData?.['0']?.code || errorData?.code || null;\n }\n\n const error = errorData.find(err => err?.code);\n return error?.code;\n};\n\n/**\n * @function getValidationMessage\n * @param {string} field | Field id\n * @param {string} value | Current value from the state\n * @param {boolean} isValid | Flag indicating if the field is valid\n * @returns {string}\n * @description Returns an error message to display for an invalid input\n */\nconst getFieldErrorKey = ({\n field,\n isValid,\n value,\n}: {\n field: string;\n isValid: boolean;\n value: string;\n}): string => {\n const isCustomValueMissing = CUSTOM_VALUE_MISSING_FIELDS.has(field);\n // @ts-expect-error the field is not required to be on FIELD_NAME_MAP\n const fieldName = FIELD_NAME_MAP[field] || field;\n\n if (isValueMissing(value)) {\n return `fieldErrors.${isCustomValueMissing ? fieldName : 'value'}Missing`;\n }\n\n return `fieldErrors.${fieldName}Invalid`;\n};\n\nconst getFieldError = (data: {\n error?: string;\n errorCode: string;\n field: string;\n isValid: boolean;\n value: string;\n}): React.ReactNode[] | string => {\n const { error, errorCode, field, isValid, value } = data;\n\n if (isValid) {\n return '';\n }\n\n const { CLIENT_ERROR_CODE, FIELDS } = ADDRESS_VALIDATION_ERROR;\n if (errorCode === CLIENT_ERROR_CODE && FIELDS.includes(field)) {\n return '';\n }\n\n // We only show the field error message for the password\n // input if the value is missing.\n if (!isValueMissing(value) && field === 'password') {\n return '';\n }\n\n if (field === 'cardNumber' && errorCode === 'invalidType') {\n const {\n api: { allowedCardTypes },\n } = appStore.getState();\n const supportedCardTypes = allowedCardTypes\n .map(cardType => getContent(`cardTypes.${cardType}`))\n .join(', ');\n\n return getContent('fieldErrors.cardTypeNotSupported', {\n supportedCardTypes,\n });\n }\n\n if (field === 'dateOfBirth') {\n const key = errorCode === 'tooYoung' ? 'dobLegalAge' : 'dobInvalidDate';\n return getContent(`fieldErrors.${key}`);\n }\n\n // If is Residential Address and the message is from the contingency\n // returns the already existing error message\n if (\n !isValueMissing(value) &&\n errorCode === 'RESIDENTIAL_ADDRESS_INVALID' &&\n error\n ) {\n return error;\n }\n\n if (!isValueMissing(value) && (field === 'line1' || field === 'line2')) {\n const {\n api: { griffinMetadata = {} },\n } = appStore.getState();\n const { strings } = getAddressMetadata(\n // @ts-expect-error we could prepopulate address or we can optional chain\n // and remove the default\n griffinMetadata.address,\n getAddressMetaKey(),\n );\n const addressLabel = strings[`${field}Label`];\n return getContent(`fieldErrors.${field}Invalid`, {\n addressLabel,\n });\n }\n\n const contentKey = getFieldErrorKey(data);\n return getContent(contentKey);\n};\n\nexport { getErrorCodeFromErrorData, getFieldError, getFieldErrorKey };\n","/**\n * Post Account creation errors are errors in which the user can no longer\n * finish the flow on signup-lite. This may be because of something like an\n * expired token, in which case we'll show the generic error page, or it\n * could be something that requires a redirect to another app to complete\n * the transaction.\n */\n\nimport { appStore } from '@/store';\nimport { logger } from '@/lib/logger';\nimport {\n fallbackToHermesFIContingency,\n isBillingAgreementWithoutPurchaseFlow,\n redirectToGenericError,\n} from '@/lib/utils';\nimport { getGlobals } from '@/lib/globals';\nimport type { errorType } from '../types';\n\n/**\n * GENERIC_ERRORS\n * These are errors that the user will encounter irrespective of which\n * app they are using. For example, an invalid token is invalid on\n * signup-lite, xoon, and hermes.\n *\n * @TECH_DEBT\n * We need to update the the mappings of error codes to content keys\n * in severus for the generic error and then start sending the proper\n * codes. e.g. () => redirectToGenericError({ message: 'PAYER_CANNOT_PAY' })\n * Generic error content map: /apps/severus/src/constants/genericError.js\n */\nconst GENERIC_ERRORS: Record<\n string,\n (err: errorType, handleDefault: (...args: any[]) => void) => void\n> = {\n // ACCOUNT_CANNOT_BE_FETCHED: '',\n // BLOCK_NON_DOMESTIC_SHIPPING: '',\n // BLOCK_PPC_INELIGIBLE_USER: '',\n CANNOT_PAY_SELF: redirectToGenericError,\n COMPLIANCE_VIOLATION: redirectToGenericError,\n // CREDIT_CARD_AUTH_FAILED: '',\n CREDIT_PAYMENT_NOT_ALLOWED: redirectToGenericError,\n // CURRENCY_COMPLIANCE: '',\n // DOMESTIC_TRANSACTION_REQUIRED: '',\n DUPLICATE_TRANSACTION: redirectToGenericError,\n // EXPIRED_SESSION: '',\n // GAMER_ACCOUNT_UNVERIFIED: '',\n // GAMER_INELIGIBLE: '',\n // GAMER_FI_INELIGIBLE: '',\n // GAMER_FI_UNCONFIRMED: '',\n // GAMER_INVALID_ACCOUNT_TYPE: '',\n // GAMER_LOGIN_OUT_OF_COUNTRY: '',\n // GAMER_NO_VALID_FUNDING_INSTRUMENT: '',\n // GAMER_RESIDENCE_OUT_OF_COUNTRY: '',\n // GAMING_FUNDING_SOURCE_VALIDATION_FAILED: '',\n // GUEST_CHECKOUT_NOT_ALLOWED: '',\n // HERMES_PAYER_COUNTRY_NOT_ALLOWED_DCF: '',\n INITIAL_DATA_ERROR: redirectToGenericError,\n INTERNAL_SERVICE_ERROR: redirectToGenericError,\n INVALID_ARGUMENT: redirectToGenericError,\n INVALID_FUNDING_OPTION: redirectToGenericError,\n INVALID_RESOURCE_ID: redirectToGenericError,\n INVALID_TOKEN: redirectToGenericError,\n NEGATIVE_BALANCE_TRANSACTION_REFUSED: redirectToGenericError,\n OAS_VALIDATION_ERROR: (error: any, handleDefaultError: any): void => {\n const { path = [] } = error || {};\n const operationPath = path[0];\n // For Apple Pay, we want to send them to generic\n // error page for OAS validation errors.\n if (operationPath === 'approveGuestPaymentWithApplePayToken') {\n return redirectToGenericError({ message: 'PAYMENT_DENIED' });\n }\n return handleDefaultError(error);\n },\n PAYEE_ACCOUNT_LOCKED_OR_CLOSED: redirectToGenericError,\n PAYEE_ACCOUNT_RESTRICTED: redirectToGenericError,\n PAYEE_BLOCKED_TRANSACTION: redirectToGenericError,\n PAYER_CANNOT_PAY: redirectToGenericError,\n PAYER_COUNTRY_NOT_ALLOWED: redirectToGenericError,\n // PAYER_COUNTRY_NOT_ENABLED: '',\n PAYER_INVALID_FOR_PAYMENT: redirectToGenericError,\n PAYER_LOGIN_COUNTRY_NOT_ALLOWED: redirectToGenericError,\n PAYMENT_ALREADY_DONE: redirectToGenericError,\n PAYMENT_CANNOT_BE_INITIATED: redirectToGenericError,\n PAYMENT_DENIED: redirectToGenericError,\n // PAYMENT_PROCESS_ERROR: '',\n PERMISSION_DENIED: redirectToGenericError,\n // RESTRICTED_USER: '',\n R_ERROR: err =>\n isBillingAgreementWithoutPurchaseFlow(\n getGlobals()?.initialGqlData?.checkoutSession?.checkoutSessionType,\n )\n ? fallbackToHermesFIContingency(err)\n : redirectToGenericError(err),\n RETRY: redirectToGenericError,\n RISK_DENIED: redirectToGenericError,\n SENDING_LIMIT_EXCEEDED: redirectToGenericError,\n SEPA_ACCEPT_CONTINGENCY: redirectToGenericError,\n // STUDENT_ACCOUNT: '',\n TRANSACTION_RECEIVING_LIMIT_EXCEEDED: (): void => {\n redirectToGenericError({ message: 'PAYER_CANNOT_PAY' });\n },\n TRANSACTION_REFUSED: redirectToGenericError,\n // UNSUPPORTED_COUNTRY: '',\n // UNSUPPORTED_DUE_TO_RECEIVER_PREFERENCE: '',\n // UNSUPPORTED_PAYEE_CURRENCY: '',\n VERIFY_USER_IDENTITY: redirectToGenericError,\n // XOON_PAYER_COUNTRY_NOT_ALLOWED_DCF: '',\n} as const;\n\n/**\n * If a member account is created then these errors result in a\n * redirect to the member app and if it was guest checkout then\n * we show a page level error and ask the user to fix the issue.\n */\nconst POST_ACCOUNT_CREATION_ERRORS = {\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n ADD_CARD_CONTINGENCY: (error: any): string => {\n logger.warn('weasley_ADD_CARD_CONTINGENCY_error', { error });\n return 'pageLevelError.cardGenericError';\n },\n BIN_BLOCKED_OR_CARD_NOT_ALLOWED: (): string =>\n 'pageLevelError.cardNotAllowed',\n CARD_GENERIC_ERROR: (): string => 'pageLevelError.cardGenericError',\n CC_PROCESSOR_DECLINED: (): string => 'pageLevelError.cardDecline',\n INSTRUMENT_DECLINED: (): string => 'pageLevelError.cardDecline',\n INVALID_BILLING_ADDRESS: (): string => 'pageLevelError.invalidBillingAddress',\n INVALID_EXPIRATION: (): string => 'pageLevelError.invalidExpiry',\n INVALID_SECURITY_CODE: (): string => 'pageLevelError.invalidSecurityCode',\n ISSUER_DECLINE: (): string => 'pageLevelError.cardIssuerDecline',\n NEED_CONFIRMED_CARD: (): string => 'pageLevelError.cardInternalError',\n NEED_CREDIT_CARD: (): string => 'pageLevelError.cardDecline',\n NEED_CREDIT_CARD_OR_BANK_ACCOUNT: (): string => {\n const { ui: uiState } = appStore.getState();\n const { fiType } = uiState;\n\n if (fiType === 'bank') {\n return 'pageLevelError.cannotUseBank';\n }\n return 'pageLevelError.cardDecline';\n },\n VALIDATION_ERROR: (error: errorType): string =>\n 'pageLevelError.cardGenericError',\n} as const;\n\n/**\n * Rebranded errors that must redirect to Generic Error\n * with `rebrandedErrors=1` when feature shouldShowRebrandedErrors\n * is active\n */\nconst POST_ACCOUNT_CREATION_REBRANDED_ERRORS: Record = {\n CANNOT_PAY_TO_GAMING_SITE: 'CANNOT_PAY_TO_GAMING_SITE',\n CREDIT_PAYMENT_NOT_ALLOWED: 'CREDIT_PAYMENT_NOT_ALLOWED_GUEST',\n DOMESTIC_TRANSACTION_REQUIRED: 'DOMESTIC_TRANSACTION_REQUIRED',\n INTERNAL_SERVICE_ERROR: 'INTERNAL_SERVICE_ERROR',\n INVALID_ARGUMENT: 'INVALID_ARGUMENT',\n INVALID_FUNDING_OPTION: 'INVALID_FUNDING_OPTION',\n INVALID_TOKEN: 'INVALID_TOKEN',\n MERCHANT_RISK_FILTER_DECLINED: 'MERCHANT_RISK_FILTER_DECLINED',\n NEGATIVE_PAYMENT_AMOUNT_DISALLOWED: 'NEGATIVE_PAYMENT_AMOUNT_DISALLOWED',\n NO_REQUESTED_FUNDING_SOURCES_USABLE: 'NO_REQUESTED_FUNDING_SOURCES_USABLE',\n NO_VALID_FUNDING_INSTRUMENT: 'NO_VALID_FUNDING_INSTRUMENT',\n PAYEE_ACCOUNT_LOCKED_OR_CLOSED: 'PAYEE_ACCOUNT_LOCKED_OR_CLOSED',\n PAYEE_ACCOUNT_RESTRICTED: 'PAYEE_ACCOUNT_RESTRICTED',\n PAYEE_BLOCKED_TRANSACTION: 'PAYEE_BLOCKED_TRANSACTION',\n PAYER_INVALID_FOR_PAYMENT: 'PAYER_INVALID_FOR_PAYMENT',\n PAYMENT_CANNOT_BE_INITIATED: 'PAYMENT_CANNOT_BE_INITIATED_GUEST',\n PAYMENT_DENIED: 'PAYMENT_DENIED_GUEST',\n PERMISSION_DENIED: 'PERMISSION_DENIED',\n RISK_DENIED: 'RISK_DENIED',\n SHIPPING_ADDRESS_INVALID: 'SHIPPING_ADDRESS_INVALID',\n TRANSACTION_CURRENCY_UNSUPPORTED: 'TRANSACTION_CURRENCY_UNSUPPORTED',\n UNSUPPORTED_PAYEE_CURRENCY: 'UNSUPPORTED_PAYEE_CURRENCY',\n USER_RESTRICTED_ON_TRANSACTION: 'USER_RESTRICTED_ON_TRANSACTION',\n VERIFY_USER_IDENTITY: 'VERIFY_USER_IDENTITY',\n} as const;\n\n/**\n * If a member account is created then these messages result in a\n * redirect to the member app and if it was guest checkout then\n * we show a page level messages and ask the user to fix the issue.\n */\nconst GUEST_CPA_ERRORS = {\n ACCOUNT_NOT_FOUND: (): string => 'pageLevelError.staleCard',\n AMOUNT_EXCEEDED: (): string => 'pageLevelError.insufficientFunds',\n BAD_GAMING: (): string => 'pageLevelError.generalError',\n DEFAULT: (): string => 'pageLevelError.generalError',\n EXPIRED_CARD: (): string => 'pageLevelError.staleCard',\n HOLD_CALL_CENTER: (): string => 'pageLevelError.staleCard',\n INSUFFICIENT_FUNDS: (): string => 'pageLevelError.insufficientFunds',\n INVALID_ACCOUNT: (): string => 'pageLevelError.staleCard',\n INVALID_OR_RESTRICTED_CARD: (): string => 'pageLevelError.staleCard',\n LOST_OR_STOLEN: (): string => 'pageLevelError.staleCard',\n PICKUP_CARD_SPECIAL_CONDITIONS: (): string => 'pageLevelError.staleCard',\n} as const;\n\nexport {\n GENERIC_ERRORS,\n POST_ACCOUNT_CREATION_ERRORS,\n POST_ACCOUNT_CREATION_REBRANDED_ERRORS,\n GUEST_CPA_ERRORS,\n};\n","import { hasTreatment } from '@/lib/features/utils';\nimport { appStore } from '@/store';\nimport { features } from '../../features';\nimport { redirectToGenericError } from '@/lib/utils';\nimport type { errorType } from '../types';\n\n/**\n * Pre Account Creation Errors errors are errors that occur during or before\n * the onboarding process that aren't a result of a 500 by GQL, in which case\n * we redirect to xoon or hermes\n */\n\n// These errors are displayed on a particular field\nconst FIELD_LEVEL_ERRORS = {\n DOB_INVALID: {\n contentKey: 'fieldErrors.dobLegalAge',\n field: 'dob',\n },\n FIRST_NAME_MUST_BE_IN_ENGLISH: {\n content: 'fieldErrors.firstNameMustBeInEnglish',\n field: 'firstName',\n },\n INVALID_CITY: {\n contentKey: 'fieldErrors.cityInvalid',\n field: 'city',\n },\n INVALID_EMAIL_ID: {\n contentKey: 'fieldErrors.emailInvalid',\n field: 'email',\n },\n INVALID_FIRST_NAME: {\n contentKey: 'fieldErrors.firstNameInvalid',\n field: 'firstName',\n },\n INVALID_IDENTITY_DOCUMENT_VALUE: {},\n INVALID_LAST_NAME: {\n contentKey: 'fieldErrors.lastNameInvalid',\n field: 'lastName',\n },\n INVALID_LINE1: {\n contentKey: 'fieldErrors.line1Invalid',\n field: 'line1',\n },\n INVALID_LINE1_POBOX: {\n contentKey: 'fieldErrors.primaryResidentialAddress.invalidPOBox',\n errorCode: 'RESIDENTIAL_ADDRESS_INVALID',\n field: 'line1',\n },\n INVALID_LINE1_RRBOX: {\n contentKey: 'fieldErrors.primaryResidentialAddress.invalidRRBox',\n errorCode: 'RESIDENTIAL_ADDRESS_INVALID',\n field: 'line1',\n },\n INVALID_NATIONAL_ID: {\n contentKey: 'fieldErrors.identityDocumentNumberInvalid',\n field: 'identityDocumentNumber',\n },\n INVALID_NATIONAL_ID_TYPE: {\n contentKey: 'fieldErrors.identityDocumentTypeInvalid',\n field: 'identityDocumentType',\n },\n INVALID_PHONE_NUMBER: {\n contentKey: 'fieldErrors.phoneNumberInvalid',\n field: 'phone',\n },\n INVALID_PHONE_TYPE: {\n contentKey: '',\n field: 'phoneType',\n },\n INVALID_SECONDARY_ID: {\n contentKey: 'fieldErrors.secondaryIdentityDocumentNumberInvalid',\n field: 'secondaryIdentityDocumentNumber',\n },\n INVALID_SECONDARY_ID_TYPE: {\n contentKey: 'fieldErrors.secondaryIdentityDocumentTypeInvalid',\n field: 'secondaryIdentityDocumentType',\n },\n INVALID_STATE: {\n contentKey: 'fieldErrors.stateInvalid',\n field: 'state',\n },\n INVALID_ZIPCODE: {\n contentKey: 'fieldErrors.postalCodeInvalid',\n field: 'postalCode',\n },\n LAST_NAME_MUST_BE_IN_ENGLISH: {\n content: 'fieldErrors.lastNameMustBeInEnglish',\n field: 'lastName',\n },\n PASSWORD_TOO_LONG: {\n contentKey: 'fieldErrors.passwordLength',\n field: 'password',\n },\n} as const;\n\n// These errors are displayed above the form\nconst PAGE_LEVEL_ERRORS: Record string> = {\n ACCOUNT_ALREADY_EXISTS: (): string => {\n const isExpandMemberMatchingFeatureActive = hasTreatment(\n 'FEATURE_EXPAND_MEMBER_MATCHING',\n );\n if (\n isExpandMemberMatchingFeatureActive &&\n features.isActive('isAccountExistsErrorTrmt')\n ) {\n return 'pageLevelError.accountExistsSignup';\n }\n return features.isActive('isAccountExistsErrorTrmt')\n ? 'pageLevelError.emailLinkedToFullAccount'\n : 'pageLevelError.accountExistsSignup';\n },\n ADDRESS_VALIDATION_ERROR: (): string => 'pageLevelError.invalidAddress',\n BAD_INSTRUMENT: (): string => 'pageLevelError.cannotAddBank',\n BANK_GENERIC_ERROR: (): string => 'pageLevelError.bankGenericError',\n BANK_LINKED_TO_FULL_ACCOUNT: (): string => 'pageLevelError.bankLinked',\n BIN_BLOCKED_OR_CARD_NOT_ALLOWED: (): string =>\n 'pageLevelError.cardNotAllowed',\n CARD_GENERIC_ERROR: (): string => 'pageLevelError.cardGenericError',\n CC_INVALID_CSC: (): string => 'pageLevelError.invalidSecurityCode',\n CC_LINKED: (): string => 'pageLevelError.ccLinked',\n CC_LINKED_TO_FULL_ACCOUNT: (): string => 'pageLevelError.ccLinked',\n CHECK_DIGITS_REJECTED: (): string => 'pageLevelError.invalidSecurityCode',\n COUNTRY_NOT_SUPPORTED: (): string => 'pageLevelError.cardNotAllowed',\n CREATE_CARD_ACCOUNT_CANDIDATE_VALIDATION_ERROR(): string {\n return 'pageLevelError.cardGenericError';\n },\n EXPIRED_CARD: (): string => 'pageLevelError.expiredCard',\n EXPIRED_CREDIT_CARD: (): string => 'pageLevelError.expiredCard',\n GUEST_CARD_COUNTRY_MISMATCH: (): string => 'pageLevelError.cardGenericError',\n INSTRUMENT_DISABLED: (): string => 'pageLevelError.cardDecline',\n INSTRUMENT_DUPLICATE_LIMIT_REACHED: (): string =>\n 'pageLevelError.cardDecline',\n // INSTRUMENT_INTERNATIONAL: 'content.key',\n INSTRUMENT_REFUSED: (): string => 'pageLevelError.cardDecline',\n INSTRUMENT_REFUSED_DUE_TO_MAX_LIMIT: (): string =>\n 'pageLevelError.cardDecline',\n INTERNAL_ERROR: (): string => 'pageLevelError.cardInternalError',\n INVALID_CARD_NUMBER: (): string => 'pageLevelError.invalidCardNumOrType',\n INVALID_CARD_OR_TYPE: (): string => 'pageLevelError.invalidCardNumOrType',\n INVALID_CARD_TYPE: (): string => 'pageLevelError.invalidCardNumOrType',\n // INVALID_CITY_STATE_ZIPCODE: 'content.key',\n INVALID_EXPIRATION_DATE: (): string => 'pageLevelError.invalidExpiry',\n INVALID_EXPIRY: (): string => 'pageLevelError.invalidExpiry',\n INVALID_INSTRUMENT_ID: (): string => 'pageLevelError.invalidInstrumentId',\n INVALID_SECURITY_CODE: (): string => 'pageLevelError.invalidSecurityCode',\n ISSUER_REJECTED: (): string => 'pageLevelError.cardGenericError',\n ISSUER_RESTRICTED: (): string => 'pageLevelError.cardGenericError',\n MAX_AMOUNT_EXCEEDED: (): string => 'pageLevelError.maxAmountExceeded',\n NEED_CREDIT_CARD: (): string => 'pageLevelError.cardDecline',\n NEED_CREDIT_CARD_OR_BANK_ACCOUNT: (): string => {\n const { ui: uiState } = appStore.getState();\n const { fiType } = uiState;\n\n if (fiType === 'bank') {\n return 'pageLevelError.cannotUseBank';\n }\n return 'pageLevelError.cardDecline';\n },\n REJECT_REFUSED: (): string => 'pageLevelError.cardGenericError',\n REJECT_UNKNOWN: (): string => 'pageLevelError.cardGenericError',\n RISK_DISALLOWED: (): string => 'pageLevelError.cardNotAllowed',\n SETTLEMENT_DENIED: (): string => 'pageLevelError.cardDecline',\n SHIPPING_REGION_UNSUPPORTED: (): string =>\n 'pageLevelError.shippingRegionUnsupported',\n SIGNUP_HOME_ADDRESS_INVALID: (): string => 'pageLevelError.invalidAddress',\n // TOO_MANY_REQUESTS: 'content.key',\n} as const;\n\n// Other preAccountCreationErrors, including redirect to generic error\nconst PRE_ACCOUNT_CREATION_ERRORS: Record void> = {\n /**\n * OAS_ERROR_UNRECOVERABLE is a bucket for any OAS_ERROR we've researched,\n * know the underlying cause, and have determined the only course of action is\n * to display the generic error page with the default content. The error\n * response from OAS must be mapped to an OAS_ERROR with an errorData of\n * [{ code: OAS_ERROR_UNRECOVERABLE }] for this to fire.\n */\n OAS_ERROR_UNRECOVERABLE: redirectToGenericError,\n /**\n * UNMAPPED_OAS_ERROR is a bucket for unexpected OAS errors. We need to\n * research the underlying reason for these errors, provide additional\n * context for the error in xobuyer, then add it to one of these treatment\n * maps.\n */\n UNMAPPED_OAS_ERROR: redirectToGenericError,\n};\n\nexport { FIELD_LEVEL_ERRORS, PAGE_LEVEL_ERRORS, PRE_ACCOUNT_CREATION_ERRORS };\n","// Internal modules\nimport { appStore } from '@/store';\nimport { logger } from '@/lib/logger';\nimport { features } from '@/lib/features';\nimport {\n fallback,\n fallbackToHermesFIContingency,\n focusOnFirstError,\n isBillingAgreementWithoutPurchaseFlow,\n} from '@/lib/utils';\nimport { getContent } from '@/lib/content';\nimport { getAccessToken, getGlobals } from '@/lib/globals';\nimport { ADDRESS_VALIDATION_ERROR, CPA_AUTH_DECLINED_ERROR } from './constants';\nimport { FIELD_LEVEL_ERRORS } from './mappings/preAccountCreationErrors';\nimport type { errorType } from './types';\nimport { CI } from '../customerInteractions';\n\nconst fallbackToHermesOrXoon = ({\n message,\n error,\n}: {\n message: string;\n error?: string;\n}): void => {\n const isSignUpToken = getAccessToken().type === 'signup';\n let reason = message;\n\n // if we redirect back to xoon we want to track the exact reason\n if (!isSignUpToken) {\n reason = `${message}_${error}`;\n }\n\n fallback({\n app: isSignUpToken ? 'hermes' : 'xoon',\n reason,\n });\n};\n\nconst handle3DSError = ({ message }: { message: string }): void => {\n const parentInteraction = CI.getParent(\n CI.Event.CONTINGENCY_RESOLVE_3DS_USER_INPUT,\n );\n CI.endWith(parentInteraction, CI.Status.FCI);\n\n // Custom error we throw for 3DS failures\n fallback({\n additionalParams: {\n redirectToHermesOn3DSDecline: 'weasley',\n },\n app: 'hermes',\n reason: message,\n });\n};\n\nconst handleDefaultError = ({\n errorData,\n message = '',\n}: { errorData?: any; message?: string } = {}): void => {\n const error = message.toLowerCase().replace(/\\s/g, '_');\n const errorDataCode = errorData?.[0]?.code;\n\n logger.error(`unhandled_contingency_${error}`, {\n error,\n errorDataCode,\n });\n\n // TODO: once we've mapped all the errors and ramped we should remove this\n // or change it to a generic error page so we don't have to fallback\n fallbackToHermesOrXoon({ error, message: 'unhandledContingency' });\n};\n\n// Some errors are fallbacks for signup but are page level errors for guest\nconst handlePostAccountCreationError = ({\n contentKey,\n error,\n message,\n}: {\n contentKey: string;\n error: errorType;\n message: string;\n}): void => {\n const {\n form: {\n onboardOption: { value: onboardOption },\n },\n } = appStore.getState();\n\n const isGuest = onboardOption === 'guest';\n const isWithoutPurchase = isBillingAgreementWithoutPurchaseFlow(\n getGlobals()?.initialGqlData?.checkoutSession?.checkoutSessionType,\n );\n\n if (isGuest) {\n // Show page level error for guest account\n return handlePageLevelError({ contentKey, error });\n } else if (isWithoutPurchase) {\n // Guest accounts are not supported for billing without purchase, so all\n // post-account creation error fallbacks for this case go to the member app\n fallbackToHermesFIContingency({ message });\n }\n\n fallbackToHermesOrXoon({\n error: 'handlePostAccountCreationError_generic',\n message,\n });\n};\n\nconst handleAddressValidationError = ({ data = [] }: errorType) => {\n const { form: formState } = appStore.getState();\n const { form: formActions, ui: uiActions } = appStore.getActions();\n\n /**\n * If the user has selected to ship to their billing address then\n * we can just iterate over the billing address fields.\n *\n * - `data` looks like: [\n * {\n * field: 'city',\n * code: 'INVALID_CITY',\n * argumentsPath: ['billingAddress', 'city']\n * },\n * ...\n * ]\n * - Using a Set to get the unique values since there will be an object in\n * `data` for each of the three fields associated with the validation error\n * and therefore we would end up with each address type being included in\n * the array three times. e.g. ['shippingAddress', 'shippingAddress', etc]\n */\n /**\n * If we have the Residential Address, use the Set to define errors\n */\n let addressesToValidate = [];\n\n if (\n !formState.shipToBilling.value ||\n features.isActive('hasPrimaryResidentialAddress')\n ) {\n // @ts-expect-error since we are defaulting data to an empty array,\n // ts doesnt like the check\n addressesToValidate = data.map(obj => obj?.argumentsPath?.split('.')[0]);\n } else {\n addressesToValidate = ['billingAddress'];\n }\n\n const addressTypes = new Set(addressesToValidate);\n const { CLIENT_ERROR_CODE, FIELDS } = ADDRESS_VALIDATION_ERROR;\n\n // Update the validation error for the necessary address types\n addressTypes.forEach(addressType => {\n formActions.updateAddressValidationError({\n action: 'setError',\n addressType,\n errorCode: CLIENT_ERROR_CODE,\n fields: FIELDS,\n });\n });\n\n // If our only error is Residential Address\n // we need to Interstitial for the user to fix the error\n if (addressTypes.size === 1 && addressTypes.has('residentialAddress')) {\n uiActions.toggleIsResidentialAddressOpen(true);\n }\n};\n\nconst handlePageLevelError = ({\n contentKey,\n error,\n}: {\n contentKey: string;\n error: errorType;\n}): void => {\n const { checkpoints, message } = error;\n const { ui: uiState } = appStore.getState();\n\n if (uiState.pageLevelError === contentKey) {\n return logger.info('existing_page_level_error', {\n error: message,\n });\n }\n\n /**\n * If the error is an address validation error we highlight\n * the three address fields that the error pertains to.\n *\n * Checking the checkpoints here as well as the error code since\n * the error code that is returned in pretty generic, VALIDATION_ERROR,\n * and could potentially be returned for other errors as well as the\n * address validation error.\n */\n if (\n message === ADDRESS_VALIDATION_ERROR.API_ERROR_CODE &&\n checkpoints?.includes(ADDRESS_VALIDATION_ERROR.API_CHECKPOINT)\n ) {\n handleAddressValidationError(error);\n }\n\n const { ui: uiActions } = appStore.getActions();\n if (message.includes(CPA_AUTH_DECLINED_ERROR.API_ERROR_CODE)) {\n logger.info('setting_decline_notification', { error: message });\n uiActions.setPageWarningMessage(contentKey);\n } else {\n logger.info('setting_page_level_error', { error: message });\n uiActions.setPageLevelError(contentKey);\n }\n\n uiActions.toggleIsPageLoading(false);\n\n window.scrollTo(0, 0);\n};\n\nconst handleNamesValidationError = (error: errorType): void => {\n if (error?.errorData?.length) {\n const actions = appStore.getActions();\n const filteredErrors = error.errorData.filter((f: any) => f);\n filteredErrors.forEach(({ code }: { code: any }) => {\n // @ts-expect-error the code should be limited to the available\n // field names\n const { contentKey, field } = FIELD_LEVEL_ERRORS[code];\n const payload = {\n displayError: true,\n error: getContent(contentKey),\n errorCode: code,\n isValid: false,\n };\n\n actions.form.updateNonAddressField({\n field,\n payload,\n });\n });\n return focusOnFirstError(appStore.getState().form);\n }\n};\n\nconst isNameValidationError = (error: errorType): boolean | undefined => {\n if (error?.errorData?.length) {\n const namesFields = /user.first_name|user.last_name/;\n const filteredErrors = error.errorData.filter((f: any) => f);\n const [firstField = {}] = filteredErrors;\n return namesFields.test(firstField.fields);\n }\n};\n\nexport {\n fallbackToHermesOrXoon,\n handle3DSError,\n handleDefaultError,\n handleNamesValidationError,\n handlePageLevelError,\n handlePostAccountCreationError,\n isNameValidationError,\n};\n","// Internal modules\nimport { appStore } from '@/store';\nimport { isDev } from '@/lib/utils/env';\nimport { logger } from '@/lib/logger';\nimport { getAccessToken } from '@/lib/globals';\nimport { getErrorCodeFromErrorData } from './utils';\nimport { CPA_AUTH_DECLINED_ERROR, SHARED_FI_ERROR } from './constants';\nimport {\n GENERIC_ERRORS,\n GUEST_CPA_ERRORS,\n PAGE_LEVEL_ERRORS,\n POST_ACCOUNT_CREATION_ERRORS,\n POST_ACCOUNT_CREATION_REBRANDED_ERRORS,\n PRE_ACCOUNT_CREATION_ERRORS,\n} from './mappings';\nimport {\n handle3DSError,\n handleDefaultError,\n handleNamesValidationError,\n handlePageLevelError,\n handlePostAccountCreationError,\n isNameValidationError,\n} from './handlers';\nimport type { errorType } from './types';\nimport { features } from '@/lib/features';\nimport { redirectToGenericError } from '@/lib/utils';\nimport { CI } from '../customerInteractions';\n\nconst handleApiError = (error: errorType): void => {\n const { message: errorCode } = error;\n const isSharedFIEligible = features.isActive('isSharedFIEligible');\n const isRebrandedErrorsEligible = features.isActive(\n 'shouldShowRebrandedErrors',\n );\n\n /**\n * only show FI interstitial if unique FI error is thrown by xobuyer AND not in\n * SHIFT experiment\n */\n if (SHARED_FI_ERROR.hasOwnProperty(errorCode) && isSharedFIEligible) {\n appStore.getActions().ui.setIsFILimitExceededInterstitialOpen(true);\n CI.endWith(\n CI.Event.CREATE_ACCOUNT_AND_PAY_SUBMIT,\n CI.Status.Error,\n CI.ErrorReason.Flag,\n );\n if (appStore.getState().ui.fiType !== 'card') {\n CI.start(CI.Event.CONTINGENCY_BANK_ACCT_ALREADY_LINKED_USER_INPUT);\n }\n return;\n }\n\n if (\n isRebrandedErrorsEligible &&\n Object.keys(POST_ACCOUNT_CREATION_REBRANDED_ERRORS).includes(errorCode)\n ) {\n appStore.getActions().ui.toggleIsPageLoading(true);\n\n return redirectToGenericError({\n message: POST_ACCOUNT_CREATION_REBRANDED_ERRORS[errorCode],\n params: { rebrandedErrors: true },\n });\n }\n\n // Check to see if the error is an end-of-line error, in which\n // case we will redirect to the generic error page.\n if (GENERIC_ERRORS.hasOwnProperty(errorCode) && !isDev) {\n CI.flag();\n appStore.getActions().ui.toggleIsPageLoading(true);\n\n // since we are checking multiple objects\n return GENERIC_ERRORS[errorCode](error, handleDefaultError);\n }\n\n // Check to see if the error is an unhandled preAccountCreation\n // error, in which case we will redirect to the generic error page.\n if (PRE_ACCOUNT_CREATION_ERRORS.hasOwnProperty(errorCode)) {\n CI.flag();\n appStore.getActions().ui.toggleIsPageLoading(true);\n // since we are checking multiple objects\n return PRE_ACCOUNT_CREATION_ERRORS[errorCode](error);\n }\n\n // The presence of an access token indicates that the initial account creation\n // in OAS was successful (true for member and guest accounts). It does not necessarily\n // mean that the account created can be used for this (or any future) transaction\n const accessToken = getAccessToken().value || error?.errorData?.accessToken;\n\n if (!accessToken) {\n // Pre-account creation errors\n logger.warn('weasley_pre_account_creation_error', { error: errorCode });\n\n // name validation errors also have code as VALIDATION_ERROR, which could\n // conflict with address validation error.\n if (isNameValidationError(error)) {\n return handleNamesValidationError(error);\n }\n\n if (PAGE_LEVEL_ERRORS.hasOwnProperty(errorCode)) {\n // since we are checking multiple objects\n const contentKey = PAGE_LEVEL_ERRORS[errorCode]();\n return handlePageLevelError({ contentKey, error });\n }\n } else {\n // Post-account creation errors\n const { onboardOption } = appStore.getState().form;\n logger.warn('weasley_post_account_creation_error', {\n error: errorCode,\n onboardOption: onboardOption.value,\n });\n\n // Check 3DS error - this error is thrown on the client in 3DS flows.\n // Situations where this error might be thrown are when the call to\n // Cardinal Commerce times out or fails.\n if (errorCode === 'WEASLEY_3DS_ERROR' && !isDev) {\n appStore.getActions().ui.toggleIsPageLoading(true);\n return handle3DSError(error);\n }\n\n // Check post account creation errors. If `errorData` exists, then we use\n // the first code found in that array. If there is no code found then we\n // default to the message as the error key.\n const errorData = error.errorData || error.data;\n const code = getErrorCodeFromErrorData(errorData) || errorCode;\n\n if (POST_ACCOUNT_CREATION_ERRORS.hasOwnProperty(code)) {\n //@ts-expect-error it's ok to key based on a string\n // since we are checking multiple objects\n const contentKey = POST_ACCOUNT_CREATION_ERRORS[code](error);\n return handlePostAccountCreationError({\n contentKey,\n error,\n message: code,\n });\n }\n\n // Check CPA error - CC_AUTHORIZATION_DECLINED.\n // a new object is created with error code and error key from message\n // we go to post account creation error with altered CPA message styling\n if (errorCode.includes(CPA_AUTH_DECLINED_ERROR.API_ERROR_CODE)) {\n const {\n declinedInstruments: [\n {\n // @ts-expect-error we need to have a better default initializer\n card_type: cardType,\n // @ts-expect-error we need to have a better default initializer\n id,\n // @ts-expect-error we need to have a better default initializer\n normalized_processor_response: normalizedProcessorResponse,\n } = {},\n ] = [],\n } = error?.graphQLErrors?.[0]?.data || {};\n\n const contentKeyFunction =\n // @ts-expect-error it's ok to key based on a string\n // since we are checking multiple objects\n GUEST_CPA_ERRORS[normalizedProcessorResponse] ||\n GUEST_CPA_ERRORS.DEFAULT;\n const contentKey = contentKeyFunction();\n\n logger.fpti('xopg_auth_fail_fpti', {\n card_brand: cardType,\n declined_reason: normalizedProcessorResponse,\n fi_id: id,\n reason_code: contentKey,\n state_name: 'PRE_AUTH_FI',\n transition_name: 'prepare_declined_fi',\n });\n return handlePostAccountCreationError({\n contentKey,\n error,\n message: code,\n });\n }\n }\n\n if (error?.graphQLErrors?.[0]?.message === 'WPS_INVENTORY_ERROR') {\n const urlFromError = error?.graphQLErrors?.[0]?.data?.errorData?.soldoutUrl;\n appStore.getActions().ui.toggleIsInventorySoldOutOpen(true);\n appStore.getActions().ui.setSoldOutUrlFromError(urlFromError);\n return;\n }\n\n // If we hit this point and have been unable to resolve the error\n // we fallback to hermes or xoon, depending on whether or not we\n // have an access token.\n handleDefaultError(error);\n};\n\nexport { handleApiError };\n","// Internal modules\nimport { logger, once } from '@/lib';\n\n// Only log to FPTI the first time the user click the show cart button\nexport const logShowCartOnce = once((cartDetailsItemLength, total) => {\n logger.fpti('weasley_show_cart_dropdown', {\n amt: total?.currencyFormat,\n currency_code: total?.currencyCode,\n pu_item_cnt: cartDetailsItemLength ?? '0',\n state_name: 'BILLING',\n transition_name: 'clicked_item_cart',\n });\n});\n","// External libraries\nimport { css } from '@emotion/core';\nimport styled from '@emotion/styled';\n\n// Internal modules\nimport {\n BUTTON_FOCUSED_COLOR,\n INFO_MESSAGE_BACKGROUND_COLOR_V2,\n LINK_HOVER_BOTTOM_PPREACT,\n LINK_HOVER_OPACITY_PPREACT,\n PRIMARY_COLOR,\n PRIMARY_COLOR_V2,\n} from '@/styles';\n\nconst HeaderBackground = styled.div`\n &::before {\n content: '';\n display: block;\n height: 54px;\n left: 0;\n position: absolute;\n top: 0;\n width: 100vw;\n z-index: 0;\n background: #f7f5f0;\n }\n\n .top-cookie-banner-enabled &::before {\n top: ${props =>\n props.cookieBannerHeight ? props.cookieBannerHeight : 0}px;\n }\n`;\n\nconst HeaderContainer = styled.div`\n margin-bottom: 32px;\n background: ${INFO_MESSAGE_BACKGROUND_COLOR_V2};\n @media screen and (min-width: 699px) and (max-width: 740px) {\n width: calc(100vw - 32px);\n padding-right: 16px;\n }\n @media screen and (max-width: 698px) {\n width: 100%;\n }\n`;\n\nconst StyledHeader = styled.header`\n align-items: center;\n display: flex;\n justify-content: space-between;\n padding: 15px 0;\n height: 'auto';\n`;\n\n/**\n * Necessary because IE 11 hates justify-content (and democracy)\n * If we just use `justify-content: space-between` on the
    then\n * the logo will be right aligned. Using `flex-grow` to make the logo\n * container take up all empty space in the header which will result in\n * it extending to the left side of the header.\n */\nconst LogoContainer = styled.div`\n flex-grow: 1;\n z-index: 1;\n text-align: none;\n width: 33%;\n`;\n\nconst LogInButton = styled.button`\n background-color: transparent;\n border: 1px solid ${PRIMARY_COLOR};\n border-radius: 15px;\n color: ${PRIMARY_COLOR};\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n line-height: 1.25;\n min-width: 96px;\n padding: 6px 10px;\n z-index: 1;\n\n &:focus,\n &:hover {\n background-color: ${PRIMARY_COLOR};\n color: #fff;\n text-decoration: underline;\n }\n`;\n\nconst CartButton = styled.button`\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border: 0;\n border-bottom: 1px solid transparent;\n color: ${PRIMARY_COLOR_V2};\n cursor: ${props => (props.shouldLoadCartDropdown ? 'pointer' : 'default')};\n display: flex;\n font-size: 18px;\n font-weight: 700;\n outline: 0;\n padding: 1px;\n position: relative;\n\n &:focus {\n ${({ theme }) => css`\n ${theme.link.focus};\n text-decoration: underline;\n `}\n }\n\n &:hover {\n border-bottom: ${LINK_HOVER_BOTTOM_PPREACT};\n opacity: ${LINK_HOVER_OPACITY_PPREACT};\n color: ${BUTTON_FOCUSED_COLOR};\n }\n\n &:active {\n color: ${BUTTON_FOCUSED_COLOR};\n }\n`;\n\nconst CartAmount = styled.span``;\n\nconst FlexboxContainer = styled.div`\n align-items: center;\n display: flex;\n justify-content: ${({ flexPosition }) => flexPosition};\n width: 33%;\n`;\n\nexport {\n CartAmount,\n CartButton,\n FlexboxContainer,\n HeaderBackground,\n HeaderContainer,\n LogInButton,\n LogoContainer,\n StyledHeader,\n};\n","/** @jsx jsx */\n// External libraries\nimport { jsx } from '@emotion/core';\nimport { useEffect, useState } from 'react';\nimport { useStoreState } from '@/store';\nimport { LoadingSpinner, PayPalLogoPP3 } from '@checkout/react-components';\nimport { boolean } from 'prop-types';\n\n// Internal modules\nimport { useGetIndex, useVenmo } from './hooks.js';\nimport { isNextGenSubscription } from '@/lib/globals';\nimport { LazyCartRender } from '../Billing/Components';\nimport { useCookieBannerHeight, useMountLogging } from '@/lib/reactHooks';\nimport { getContent, getGlobals, getLocale, logger } from '@/lib';\nimport { logShowCartOnce } from './utils';\nimport { useGetSubscriptionDetails } from './CartDropdown/subscriptionUtils';\nimport {\n CartAmount,\n CartButton,\n FlexboxContainer,\n HeaderBackground,\n HeaderContainer,\n LogoContainer,\n StyledHeader,\n} from './StyledComponents';\n\nconst loadLazyCartRender = () => {\n LazyCartRender.preload();\n};\n\nconst Header = ({ showCartButton = true }) => {\n useMountLogging('Header');\n const { country: globalsCountry, locale } = getLocale();\n const [selectedIndex, setSelectedIndex] = useState(-1);\n const [shouldLoadCartDropdown, setShouldLoadCartDropdown] = useState(false);\n const [isCartDropdown, setIsCartDropdown] = useState(false);\n const venmoMessage = useVenmo();\n\n const countriesList =\n useStoreState(({ api }) => api.griffinMetadata.territories[locale]) || [];\n const showLoadingSpinnerWithMessage = useStoreState(\n ({ ui }) => ui.showLoadingSpinnerWithMessage,\n );\n const isFormSubmitting = useStoreState(({ ui }) => ui.isFormSubmitting);\n const cartDetails = useStoreState(({ api }) => api.cartDetails);\n const subscriptionDetails = useGetSubscriptionDetails();\n const isNextGenSub = isNextGenSubscription();\n const total =\n (isNextGenSub\n ? subscriptionDetails?.initialPaymentInfo?.totalAmount\n : cartDetails?.amounts?.total) || {};\n const cartAmount = total?.currencyFormat;\n /*\n Cart Dropdown is applicable only in the presence of:\n - A merchant message \"note\"\n - Descriptions for cart items\n - Breakdown of multiple cart items\n - Subscription cart details for EC-Subscriptions\n */\n useEffect(() => {\n setShouldLoadCartDropdown(\n Boolean(\n cartDetails?.amounts &&\n (cartDetails?.noteToBuyer ||\n cartDetails?.items?.length ||\n cartDetails?.description),\n ) || isNextGenSub,\n );\n }, [cartDetails, isNextGenSub]);\n\n const handleClick = () => {\n !isCartDropdown && logShowCartOnce(cartDetails?.items?.length, total);\n logger.info(`weasley_cart_dropdown_${isCartDropdown ? 'hide' : 'show'}`);\n setIsCartDropdown(!isCartDropdown);\n };\n\n const getIndex = useGetIndex(countriesList, globalsCountry);\n useEffect(() => {\n if (selectedIndex === -1 && countriesList?.length > 0) {\n setSelectedIndex(getIndex);\n }\n }, [countriesList]);\n\n const { userAction } = getGlobals().initialGqlData?.checkoutSession || {};\n useEffect(() => {\n logger.fpti('weasley_cart_dropdown', {\n state_name: 'header',\n transition_name: 'prepare_cart',\n user_action: userAction,\n });\n }, []);\n\n const cookieBannerHeight = useCookieBannerHeight();\n\n const getPPLogo = () => {\n return ;\n };\n return (\n \n \n {venmoMessage}\n \n {getPPLogo()}\n {total?.currencyFormatSymbolISOCurrency && showCartButton && (\n \n {showLoadingSpinnerWithMessage ? (\n \n ) : (\n \n {cartAmount}\n \n )}\n \n )}\n \n \n {isCartDropdown && (\n setIsCartDropdown(false)}\n shouldLoadCartDropdown={shouldLoadCartDropdown}\n />\n )}\n \n );\n};\n\nHeader.propTypes = {\n showCartButton: boolean,\n};\n\nexport { Header };\n","/** @jsx jsx */\n// External Modules\nimport { jsx } from '@emotion/core';\nimport { useStoreState } from '@/store';\nimport type { ReactNode } from 'react';\n\n// Internal modules\nimport { useMountLogging } from '@/lib';\nimport { Footer } from '../Footer';\n// @ts-expect-error untyped import\nimport { Header } from '../Header';\nimport {\n EmotionWrapper,\n PageLoadingSpinner,\n PayPalValueProps,\n} from './Components';\n// @ts-expect-error - not converted until c3 is removed\nimport { AppWrapper, ContentWrapper, FlexWrapper } from './StyledComponents';\n\nexport interface LayoutProps {\n children?: ReactNode;\n isContentFullWidth?: boolean;\n pageName?: string;\n showFooter?: boolean;\n showHeader?: boolean;\n showValueProps?: boolean;\n}\n\nexport const Layout = ({\n children,\n isContentFullWidth = false,\n pageName = 'unknown',\n showHeader = true,\n showFooter = true,\n showValueProps = true,\n}: LayoutProps): JSX.Element => {\n useMountLogging('Layout');\n\n const isPageLoading = useStoreState(state => state.ui.isPageLoading);\n\n // TODO: Create general solution for all interstitial cases\n const isMemberBenefitsInterstitialOpen = useStoreState(\n state => state.ui.isMemberBenefitsInterstitialOpen,\n );\n\n if (isPageLoading) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n {showHeader &&
    }\n \n \n {children}\n {showFooter &&