{
  "version": 3,
  "sources": ["../../src/api/model/authError.ts", "../../src/components/loading/index.tsx", "../../src/repository/index.ts", "../../src/api/model/bundle.ts", "../../src/api/master-password.ts", "../../src/utils/index.ts", "../../src/utils/sendAnalyticsActive.ts", "../../src/context/types.ts", "../../src/context/hooks/useLogin.ts", "../../src/common/icon/arrow1_icon.svg", "../../src/common/icon/arrow_icon.svg", "../../src/common/icon/arrow_right_icon.svg", "../../src/common/icon/backspace.svg", "../../src/common/icon/circle_back.svg", "../../src/common/icon/circle_close.svg", "../../src/common/icon/collapse_icon.svg", "../../src/common/icon/copy.svg", "../../src/common/icon/eye_close.svg", "../../src/common/icon/eye_open.svg", "../../src/common/icon/facebook_icon.svg", "../../src/common/icon/google_icon.svg", "../../src/common/icon/master_password.svg", "../../src/common/icon/menu.svg", "../../src/common/icon/passkeys_icon.svg", "../../src/common/icon/refresh_icon.svg", "../../src/common/icon/security.svg", "../../src/common/icon/security_icon.svg", "../../src/common/icon/transaction_icon.svg", "../../src/common/icon/twitter_icon.svg", "../../src/common/icon/wallet.svg", "../../src/common/icon/wallet_icon.svg", "../../src/components/icon/icons.ts", "../../src/components/icon/svg-icon.tsx", "../../src/common/config/index.ts", "../../src/context/hooks/useMessage.ts", "../../src/context/hooks/useAuthCore.ts", "../../src/context/hooks/useConnect.ts", "../../src/context/hooks/useCustomize.ts", "../../src/utils/chain-utils.ts", "../../src/utils/common-utils.ts", "../../src/utils/number-utils.ts", "../../src/utils/transaction-utils.ts", "../../src/utils/evmSendTransaction.ts", "../../src/context/evmProvider.ts", "../../src/context/hooks/useUserInfo.ts", "../../src/context/hooks/useEthereum.ts", "../../src/context/hooks/useIsMounted.ts", "../../src/context/solanaWallet.ts", "../../src/context/hooks/useSolana.ts", "../../src/context/hooks/index.ts", "../../src/components/power-footer.tsx", "../../src/components/socialLoading/index.tsx", "../../src/pages/index/index.tsx", "../../src/components/react-auth-code-input/index.tsx", "../../src/pages/login/components/captcha-input.tsx", "../../src/pages/login/components/email-login.tsx", "../../src/api/model/all-countries.ts", "../../src/pages/login/components/phone-login.tsx", "../../src/pages/login/components/social-login.tsx", "../../src/pages/login/index.tsx", "../../src/components/header/index.tsx", "../../src/components/icon/circle-close.tsx", "../../src/pages/account/bindSecurityAccountPrompt/index.tsx", "../../src/pages/account/security/index.tsx", "../../src/pages/loginAccount/index.tsx", "../../src/pages/manageDevices/deviceList/index.tsx", "../../src/pages/manageDevices/deviceDetails/index.tsx", "../../src/api/getPublicAddress.ts", "../../src/components/icon/icon-copy.tsx", "../../src/context/hooks/useError.ts", "../../src/context/hooks/usePaymentPassword.ts", "../../src/utils/ethereumUtils.ts", "../../src/pages/sign/evmContextProvider.tsx", "../../src/context/hooks/usePending.tsx", "../../src/pages/sign/riskTypography/index.tsx", "../../src/pages/sign/riskReminder/index.tsx", "../../src/components/icon-edit-pen.tsx", "../../src/components/icon-to.tsx", "../../src/pages/sign/components/gas-display.tsx", "../../src/pages/sign/components/no-gas.tsx", "../../src/pages/sign/components/NewErcTransfers.tsx", "../../src/utils/isTelegramWebApp.ts", "../../src/components/particle-drawer/index.tsx", "../../src/pages/sign/components/evm-gas.tsx", "../../src/pages/sign/components/menu.tsx", "../../src/pages/sign/components/evm-sign.tsx", "../../src/pages/sign/index.tsx", "../../src/utils/solana-utils.ts", "../../src/pages/sign/components/info-sign.tsx", "../../src/pages/account/accountBind/captcha-input.tsx", "../../src/pages/account/accountBind/index.tsx", "../../src/pages/account/accountVerify/index.tsx", "../../src/components/eyeIcon/index.tsx", "../../src/components/input-password/index.tsx", "../../src/pages/account/setMasterPasswordSuccess/index.tsx", "../../src/pages/account/setMasterPassword/masterPasswordLoading.tsx", "../../src/pages/account/setMasterPassword/index.tsx", "../../src/pages/account/masterPasswordDescription/index.tsx", "../../src/pages/account/masterPasswordVerify/index.tsx", "../../src/pages/account/masterPasswordModal/index.tsx", "../../src/pages/account/masterPasswordChange/index.tsx", "../../src/pages/account/ParticleKeywords/index.tsx", "../../src/pages/account/setPaymentPassword/index.tsx", "../../src/pages/account/changePaymentPassword/index.tsx", "../../src/components/phoneInputItem/index.tsx", "../../src/pages/loginAccountBind/index.tsx", "../../src/pages/account/loginAccountBindLoading/index.tsx", "../../src/components/customRouter/index.tsx", "../../src/context/hooks/useFocusTrap.ts", "../../src/components/focusTrap/index.tsx", "../../src/components/particle-modal/index.tsx", "../../src/components/particle-modal/authCoreModalContainer.tsx", "../../src/locales/index.ts", "../../src/utils/authorizeUtils.ts", "../../src/utils/version.ts", "../../src/utils/isSocialLogin.ts", "../../src/context/providerInject.tsx", "../../src/context/web3ModalProvider.tsx", "../../src/context/iframeWalletPlugin.tsx", "../../src/pages/account/accountTipModal/index.tsx", "../../src/pages/account/paymentVerifyModal/index.tsx", "../../src/pages/account/wrongPasswordModal/index.tsx", "../../src/pages/account/selectSecurityAccount/index.tsx", "../../src/context/index.tsx", "../../src/index.ts", "../../src/types/currency.ts"],
  "sourcesContent": ["export class AuthError {\n  constructor(public code: number, public message: string) {\n    this.code = code;\n    this.message = message;\n  }\n\n  public static feeError() {\n    return new AuthError(8101, 'maxFeePerGas cannot be less than maxPriorityFeePerGas');\n  }\n\n  public static userRejectedRequest() {\n    return new AuthError(4001, 'The user rejected the request');\n  }\n\n  public static userCancelOperation() {\n    return new AuthError(4011, 'The user canceled operation.');\n  }\n\n  public static unauthorized() {\n    return new AuthError(4100, 'The requested method and/or account has not been authorized by the user');\n  }\n\n  public static systemError() {\n    return new AuthError(8001, 'System Error');\n  }\n\n  public static paramsError() {\n    return new AuthError(8002, 'Param error, see doc for more info');\n  }\n\n  public static notLogin() {\n    return new AuthError(8005, 'Please connect first!');\n  }\n\n  public static walletNotCreated() {\n    return new AuthError(8006, 'Wallet not created');\n  }\n\n  public static authorizeError() {\n    return new AuthError(8007, 'Authorize error');\n  }\n\n  public static network() {\n    return new AuthError(8011, 'Network error');\n  }\n\n  public static unknown(message: string) {\n    return new AuthError(9000, message);\n  }\n\n  public static pending(method: string) {\n    return new AuthError(-32002, `Request of type ${method} already pending, please wait.`);\n  }\n}\n", "import React from 'react';\nimport styles from './index.less';\n\nconst ParticleLoading = () => {\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='loading-content'>\n        <div className='lds-default'>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n          <div></div>\n        </div>\n        <div className='power-text'>Powered by</div>\n        <div className='logo-text'>Particle Network</div>\n      </div>\n    </>\n  );\n};\n\nexport default ParticleLoading;\n", "export function save(key: string, value: string | null) {\n  if (value) {\n    localStorage.setItem(key, value);\n  } else {\n    removeItem(key);\n  }\n}\n\nexport function load(key: string): string | null {\n  return localStorage.getItem(key);\n}\n\nexport function once(key: string): boolean {\n  const value = localStorage.getItem(key);\n\n  if (!value) {\n    localStorage.setItem(key, '1');\n  }\n  return Boolean(value);\n}\n\nexport function removeItem(key: string) {\n  localStorage.removeItem(key);\n}\n\nexport class PreferenceKey {\n  static PN_OPEN_SET_PAYMENT_PASSWORD = 'PN_OPEN_SET_PAYMENT_PASSWORD';\n  static PN_OPEN_SET_MASTER_PASSWORD = 'PN_OPEN_SET_MASTER_PASSWORD';\n}\n", "export interface AuthorizationOptions {\n  message?: string;\n  uniq?: boolean;\n}\n\nexport enum PromptSettingType {\n  /**\n   * \u4E0D\u63D0\u9192\n   */\n  none = 0,\n  /**\n   * \u9996\u6B21\u63D0\u9192\n   */\n  first = 1,\n  /**\n   * \u6BCF\u6B21\u90FD\u63D0\u9192\n   */\n  every = 2,\n  /**\n   * \u6BCF\u6B21\u90FD\u63D0\u9192\uFF0C\u4E14\u4E0D\u53EF\u8DF3\u8FC7\n   */\n  everyAndNotSkip = 3,\n}\n\nexport interface PromptSettingConfig {\n  promptPaymentPasswordSettingWhenSign?: PromptSettingType | boolean; // 0: \u4E0D\u63D0\u9192\uFF0C 1: \u9996\u6B21\u63D0\u9192\uFF0C 2: \u6BCF\u6B21\u90FD\u63D0\u9192, 3: \u6BCF\u6B21\u90FD\u63D0\u9192\uFF0C\u4E14\u4E0D\u53EF\u8DF3\u8FC7\n  promptMasterPasswordSettingWhenLogin?: PromptSettingType | boolean; // 0: \u4E0D\u63D0\u9192\uFF0C 1: \u9996\u6B21\u63D0\u9192\uFF0C 2: \u6BCF\u6B21\u90FD\u63D0\u9192\uFF0C 3: \u6BCF\u6B21\u90FD\u63D0\u9192\uFF0C\u4E14\u4E0D\u53EF\u8DF3\u8FC7\n}\n", "import { PreferenceKey, once } from '../repository';\nimport { PromptSettingType } from './model/bundle';\n\nexport const isPromptSetMasterPassword = (promptMasterPasswordSettingWhenLogin?: number | boolean) => {\n  if (\n    promptMasterPasswordSettingWhenLogin === PromptSettingType.every ||\n    promptMasterPasswordSettingWhenLogin === PromptSettingType.everyAndNotSkip\n  ) {\n    return true;\n  } else if (promptMasterPasswordSettingWhenLogin || promptMasterPasswordSettingWhenLogin === PromptSettingType.first) {\n    return !once(PreferenceKey.PN_OPEN_SET_MASTER_PASSWORD);\n  } else {\n    return false;\n  }\n};\n", "import type { CountryCode } from 'libphonenumber-js/max';\nimport { isValidPhoneNumber, parsePhoneNumberWithError } from 'libphonenumber-js/max';\nimport darkApple from '../common/images/apple_dark_icon.png';\nimport apple from '../common/images/apple_icon.png';\nimport discord from '../common/images/discord_icon.png';\nimport email from '../common/images/email_icon.png';\nimport facebook from '../common/images/facebook_icon.png';\nimport darkGithub from '../common/images/github_dark_icon.png';\nimport github from '../common/images/github_icon.png';\nimport google from '../common/images/google_icon.png';\nimport jwt from '../common/images/jwt_icon.png';\nimport linkedin from '../common/images/linkedin_icon.png';\nimport microsoft from '../common/images/microsoft_icon.png';\nimport passkeys from '../common/images/passkeys_icon.png';\nimport phone from '../common/images/phone_icon.png';\nimport twitch from '../common/images/twitch_icon.png';\nimport darkTwitter from '../common/images/twitter_dark_icon.png';\nimport twitter from '../common/images/twitter_icon.png';\nimport type { Theme } from '../types';\n\nexport const ipfsToSrc = (ipfs: string) => {\n  if (!ipfs || !ipfs.startsWith('ipfs://')) {\n    return ipfs || '';\n  }\n\n  return `https://ipfs.io/ipfs/${encodeURI(ipfs.slice(7))}`;\n};\n\nexport const EmailRegExp = /^\\w+([-+.]\\w+)*@[a-zA-Z0-9]+([.-][a-zA-Z0-9]+)*\\.[a-zA-Z0-9]+([.-][a-zA-Z0-9]+)*$/;\n\nexport const PhoneRegExp = /^[0-9]{4,16}$/;\n\nexport const PhoneE164Exp = /^\\+[1-9]\\d{4,14}$/;\n\nexport function isValidEmail(email?: string) {\n  if (email && EmailRegExp.test(email)) {\n    return email;\n  }\n}\n\nexport function isPhoneValid(phone: string, regionCode: string): boolean {\n  if (!phone || phone.length < 5) {\n    return false;\n  }\n  const countryCode = regionCode?.toUpperCase() as CountryCode;\n  const result = isValidPhoneNumber(phone, countryCode);\n  return result;\n}\n\nexport const isValidE164PhoneNumber = (phone: string | undefined) => {\n  if (phone && PhoneE164Exp.test(phone)) {\n    try {\n      if (isValidPhoneNumber(phone)) {\n        const e164Phone = parsePhoneNumberWithError(phone).format('E.164');\n        return e164Phone;\n      }\n    } catch (e) {\n      // ignore\n    }\n  }\n};\n\nexport function isValidCaptcha(code?: string) {\n  return code && code.match(/^\\d{6}$/);\n}\n\nexport const isAutoFocusSupported = () => {\n  return true;\n};\n\nexport const isMobile = () => {\n  if (isServer()) return false;\n  return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n};\n\nexport const isServer = () => typeof window === 'undefined';\n\nexport const isClient = () => typeof window !== 'undefined';\n\nexport const getLoginLogos = (theme?: Theme): Record<string, string> => {\n  const twitterIcon = theme === 'dark' ? darkTwitter : twitter;\n  const githubIcon = theme === 'dark' ? darkGithub : github;\n  const appleIcon = theme === 'dark' ? darkApple : apple;\n  return {\n    email,\n    phone,\n    google,\n    facebook,\n    twitter: twitterIcon,\n    linkedin,\n    github: githubIcon,\n    microsoft,\n    apple: appleIcon,\n    discord,\n    twitch,\n    jwt,\n    passkeys,\n  };\n};\n", "import { analyticsActive, getUserInfo, type UserInfo } from '@particle-network/auth-core';\nimport { isClient } from '.';\n\nexport const sendAnalyticsActive = (\n  action: 'sign' | 'login' | 'open' | 'open_wallet',\n  userInfo?: Omit<UserInfo, 'token'>\n) => {\n  const info = userInfo ?? getUserInfo();\n  if (info && isClient()) {\n    let wallet = info.wallets.find((item) => item.chain_name !== 'solana');\n    if (!wallet?.public_address) {\n      wallet = info.wallets.find((item) => item.chain_name === 'solana');\n    }\n    if (wallet && wallet.public_address) {\n      /* eslint-disable */\n      analyticsActive({\n        chain_id:\n          wallet.chain_name !== 'solana'\n            ? Number(window.particleAuth?.ethereum.chainId)\n            : window.particleAuth?.solana.chainId || 101,\n        identity: info.uuid,\n        login_type: 'particle' as any,\n        action: action as any,\n        wallet_address: wallet.public_address,\n        user_info: JSON.stringify(info),\n      });\n      /* eslint-enable */\n    }\n  }\n};\n", "import type { AuthType, ERC4337Options, ServerError, UserInfo } from '@particle-network/auth-core';\nimport type { WalletCustomStyle, WalletOption } from '@particle-network/wallet';\nimport type { Chain as ViemChain } from 'viem/chains';\nimport type { PromptSettingConfig } from '../api/model/bundle';\nimport type { CurrencyUnit, Theme } from '../types';\n\nexport type ViewType = 'desktop' | 'mobile';\n\nexport interface NavigateOptions {\n  replace?: boolean;\n  back?: boolean;\n  state?: any;\n}\n\nexport interface IAuthCoreModal {\n  rootModalContainer: HTMLDivElement | null;\n  rootBody: HTMLDivElement | null;\n  particleModalVisible: boolean;\n  viewType: ViewType;\n  closable?: boolean;\n}\n\nexport interface ICustomRouter {\n  path: string;\n  replace?: boolean;\n  state?: any;\n  history?: any[];\n  children?: React.ReactNode;\n}\n\nexport enum AuthCoreModalEvent {\n  Login = 'login', // \u767B\u5F55\n  LoginSuccess = 'loginSuccess', // \u767B\u5F55\u6210\u529F\n  LoginFail = 'loginFail', // \u767B\u5F55\u5931\u8D25\n  SignResponse = 'signResponse', // \u7B7E\u540D\u54CD\u5E94\n}\n\nexport type Language = 'en' | 'zh-cn' | 'ja' | 'ko' | 'zh-tw';\n\nexport interface ThemeStyle {\n  primaryBtnColor?: string;\n  primaryBtnBackgroundColor?: string;\n  secondaryBtnColor?: string;\n  secondaryBtnBackgroundColor?: string;\n  textColor?: string;\n  secondaryTextColor?: string;\n  themeBackgroundColor?: string;\n  iconBorderColor?: string;\n  accentColor?: string;\n  inputBackgroundColor?: string;\n  inputBorderColor?: string;\n  inputPlaceholderColor?: string;\n  cardBorderColor?: string;\n  cardUnclickableBackgroundColor?: string;\n  cardUnclickableBorderColor?: string;\n  cardDividerColor?: string;\n  tagBackgroundColor?: string;\n  modalBackgroundColor?: string;\n  tipsBackgroundColor?: string;\n}\n\nexport interface CustomStyle {\n  logo?: string;\n  projectName?: string;\n  subtitle?: string;\n  modalWidth?: number;\n  modalHeight?: number;\n  zIndex?: number;\n  primaryBtnBorderRadius?: number | string;\n  modalBorderRadius?: number | string;\n  cardBorderRadius?: number | string;\n  fontFamily?: string;\n  theme?: {\n    dark?: ThemeStyle;\n    light?: ThemeStyle;\n  };\n}\n\nexport interface AuthCoreModalOptions {\n  projectId: string;\n  clientKey: string;\n  appId: string;\n  authTypes?: AuthType[];\n  themeType?: Theme;\n  fiatCoin?: CurrencyUnit;\n  erc4337?: ERC4337Options;\n  language?: Language;\n  promptSettingConfig?: PromptSettingConfig;\n  customStyle?: CustomStyle;\n  chains: readonly [ViemChain, ...ViemChain[]];\n  wallet?:\n    | (Omit<WalletOption, 'language' | 'erc4337' | 'customStyle'> & {\n        customStyle?: Omit<WalletCustomStyle, 'supportChains'>;\n      })\n    | false;\n  supportEIP6963?: boolean; // defalut true\n  web3Modal?: any; // optional: add to support @web3modal/ethers\n}\n\nexport type ConnectionStatus = 'loading' | 'connecting' | 'connected' | 'disconnected';\n\nexport type SocialConnectCallback = {\n  onSuccess?: (info: UserInfo) => void;\n  onError?: (error: ServerError | Error) => void;\n};\n\nexport interface OpenBuyOptions {\n  network?: string;\n  fiatCoin?: string;\n  cryptoCoin?: string;\n  fiatAmt?: number;\n  fixFiatCoin?: boolean;\n  fixCryptoCoin?: boolean;\n  fixFiatAmt?: boolean;\n  walletAddress?: string;\n}\n\nexport type OpenBuyOptionsKeys = keyof OpenBuyOptions;\n", "import { RecordType } from '@particle-network/analytics';\nimport type {\n  Authorization,\n  Chain,\n  ConnectParam,\n  ConnectWithSocialParam,\n  SocialAuthType,\n} from '@particle-network/auth-core';\nimport { analyticsRecord, connect, thirdpartyAuth } from '@particle-network/auth-core';\nimport base64url from 'base64url';\nimport { useCallback } from 'react';\nimport { useCustomNavigate, useParticleAuth } from '..';\nimport { isPromptSetMasterPassword } from '../../api/master-password';\nimport { AuthPage } from '../../components/customRouter';\nimport { sendAnalyticsActive } from '../../utils/sendAnalyticsActive';\nimport { AuthCoreModalEvent } from '../types';\n\nconst useLogin = () => {\n  const navigate = useCustomNavigate();\n  const { loginSuccessRedirectToApp, modalOptions, events } = useParticleAuth();\n  const loginHandler = useCallback(\n    async (data: ConnectParam, emitError: boolean = true) => {\n      try {\n        if (!data.chain) {\n          data.chain = modalOptions.chains[0];\n        }\n        const userInfo = await connect(data);\n        const { token = '', ...restInfo } = userInfo;\n        sendAnalyticsActive('login', restInfo);\n\n        analyticsRecord({\n          // eslint-disable-next-line camelcase\n          record_type: RecordType.PAGE_LOGIN_BUTTON_CLICK_SUCCESS, // \u767B\u5F55\u6210\u529F\n        });\n        console.log('login successful, check master password');\n\n        if (userInfo.security_account?.has_set_master_password) {\n          console.log('login successful, start verify master password');\n          navigate(AuthPage.MasterPasswordVerify, {\n            replace: true,\n            state: {\n              loginVerifyMasterPassword: true,\n            },\n          });\n        } else {\n          if (isPromptSetMasterPassword(modalOptions.promptSettingConfig?.promptMasterPasswordSettingWhenLogin)) {\n            console.log('login successful, popup set master password');\n            navigate(AuthPage.MasterPasswordPrompt, {\n              replace: true,\n            });\n          } else {\n            loginSuccessRedirectToApp();\n          }\n        }\n      } catch (error) {\n        analyticsRecord({\n          // eslint-disable-next-line camelcase\n          record_type: RecordType.PAGE_LOGIN_BUTTON_CLICK_FAILURE, // \u767B\u5F55\u5931\u8D25\n        });\n        if (emitError) {\n          console.log('login failed, emit LoginFail event', error);\n          events.emit(AuthCoreModalEvent.LoginFail, error);\n        } else {\n          throw error;\n        }\n      }\n    },\n    [modalOptions.promptSettingConfig, navigate, loginSuccessRedirectToApp, modalOptions?.wallet]\n  );\n\n  const socialAuthLogin = useCallback(\n    async (\n      options: ConnectWithSocialParam & {\n        authorization?: Authorization;\n        chain?: Chain;\n      }\n    ) => {\n      try {\n        const appState = base64url(\n          JSON.stringify({\n            chain: options.chain,\n            authorization: options.authorization,\n            socialType: options.socialType,\n          })\n        );\n        await thirdpartyAuth({\n          authType: options.socialType as SocialAuthType,\n          appState,\n          prompt: options.prompt,\n        });\n      } catch (error) {\n        events.emit(AuthCoreModalEvent.LoginFail, error);\n      }\n    },\n    [events]\n  );\n\n  return { loginHandler, socialAuthLogin };\n};\n\nexport default useLogin;\n", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 13.131 8.756\" {...props}><path stroke=\"currentColor\" strokeWidth={1.2} d=\"M13.13 4.732h-11M5.131 1.131l-4 4M5.13 8.331l-4-4\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 9.995 5.891\" {...props}><rect width={0.282} height={6.049} x={10.495} y={7.297} stroke=\"currentColor\" rx={0.141} transform=\"rotate(135 10.37 5.89)\" /><rect width={0.282} height={6.049} x={19.583} y={6.391} stroke=\"currentColor\" rx={0.141} transform=\"rotate(-135 9.995 9.655)\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 5.891 9.995\" {...props}><rect width={0.282} height={6.049} x={0.5} y={11.401} stroke=\"currentColor\" rx={0.141} transform=\"rotate(-135 .265 10.26)\" /><rect width={0.282} height={6.049} x={9.588} y={10.495} stroke=\"currentColor\" rx={0.141} transform=\"rotate(-45 -6.426 16.421)\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 18.727 14.697\" {...props}><g data-name=\"\\u7EC4 1332\"><g data-name=\"\\u8DEF\\u5F84 2126\" style={{\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\"\n      }}><path d=\"M6593.83 1700h-12.62l-.12-.159-5.105-6.737-.189-.248.196-.244 5.106-6.36.12-.149h12.612V1700Z\" style={{\n          stroke: \"none\"\n        }} transform=\"translate(-6575.504 -1685.703)\" /><path d=\"m6581.41 1686.503-5.106 6.36 5.106 6.737h12.02v-13.097h-12.02m0-.8h12.02a.8.8 0 0 1 .8.8v13.097a.8.8 0 0 1-.8.8h-12.02a.8.8 0 0 1-.638-.317l-5.106-6.737a.8.8 0 0 1 .014-.984l5.106-6.36a.8.8 0 0 1 .624-.299Z\" style={{\n          fill: \"#000\",\n          stroke: \"none\"\n        }} transform=\"translate(-6575.504 -1685.703)\" /></g><path d=\"m-6367-942-3 3 3-3-3-3 3 3 3-3-3 3 3 3Z\" data-name=\"\\u8054\\u5408 5\" style={{\n        fill: \"none\",\n        stroke: \"var(--background-color)\",\n        strokeWidth: \"1.2px\",\n        strokeLinecap: \"round\",\n        strokeLinejoin: \"round\"\n      }} transform=\"translate(6378.3 949.3)\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><defs><style>{\".prefix__cls-3{stroke:none}\"}</style></defs><g id=\"prefix__\\u7EC4_1226\" data-name=\"\\u7EC4 1226\" transform=\"translate(-557 -219)\"><g id=\"prefix__receive\" transform=\"translate(457.921 -104.037)\"><g id=\"prefix__\\u7EC4_142\" data-name=\"\\u7EC4 142\" transform=\"translate(99.079 323.037)\"><circle id=\"prefix__SEND\" cx={14} cy={14} r={14} style={{\n            opacity: 0.08\n          }} /></g></g><g id=\"prefix__\\u7EC4_36\" data-name=\"\\u7EC4 36\" transform=\"rotate(-90 402.74 -163.677)\"><g id=\"prefix__\\u8DEF\\u5F84_1682\" data-name=\"\\u8DEF\\u5F84 1682\"><path d=\"M.683 6.327a.185.185 0 0 1 0-.261L5.92.83a.185.185 0 0 1 .262.262L.945 6.327a.185.185 0 0 1-.262 0Z\" className=\"prefix__cls-3\" /><path d=\"M.57.104c.379 0 .685.306.685.685v7.404a.685.685 0 0 1-1.37 0V.789C-.115.41.192.104.57.104Z\" style={{\n            fill: \"currentColor\",\n            stroke: \"none\"\n          }} transform=\"rotate(45 3.102 7.489)\" /></g><g id=\"prefix__\\u77E9\\u5F62_23\" data-name=\"\\u77E9\\u5F62 23\" style={{\n          stroke: \"currentColor\"\n        }} transform=\"rotate(-45 3.724 -5.681)\"><rect width={1.37} height={8.774} className=\"prefix__cls-3\" rx={0.685} /><rect width={0.37} height={7.774} x={0.5} y={0.5} rx={0.185} style={{\n            fill: \"none\"\n          }} /></g></g></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><circle cx={14} cy={14} r={14} opacity={0.08} /><rect width={1.368} height={12.992} rx={0.684} transform=\"rotate(-45 16.924 -5.61)\" /><rect width={1.368} height={12.992} rx={0.684} transform=\"rotate(45 -2.24 26.54)\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 43 43\" {...props}><circle cx={21.5} cy={21.5} r={21.5} fill=\"#F5F6FB\" /><path fill=\"currentColor\" d=\"M19.764 16.523c.767-1.343 2.705-1.343 3.472 0l4.554 5.97c.762 1.332-.2 2.991-1.736 2.991h-9.108c-1.535 0-2.498-1.659-1.736-2.992l4.554-5.969Z\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 12.068 12.043\" {...props}><defs><mask id=\"prefix__a\"><path fill=\"#FFF\" fillRule=\"evenodd\" d=\"M14.069.653H8.122v8.369H1.708v5.021h10.718v-2.51h1.643V.653Z\" /></mask></defs><rect width={6.788} height={6.788} x={1.2} y={1.2} fill=\"none\" rx={1.8} /><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M0 3v3.188Q0 7.43.879 8.309q.878.879 2.121.879h3.188q1.242 0 2.121-.879t.879-2.121V3q0-1.243-.879-2.121Q7.43 0 6.188 0H3Q1.757 0 .879.879 0 1.757 0 3Zm1.2 0v3.188q0 .088.009.176.008.088.026.175.017.087.043.171.025.085.059.166.034.082.076.16.041.078.09.152.05.073.106.142.056.068.118.13.063.063.131.12.068.055.142.104.073.05.151.091.078.042.16.076.082.033.166.06.085.025.172.042.087.017.175.026.088.009.176.009h3.188q.088 0 .176-.009t.175-.026q.087-.017.171-.043.085-.026.166-.06.082-.033.16-.075.078-.042.152-.09.073-.05.142-.106.068-.056.13-.119.063-.062.12-.13.055-.069.104-.142.05-.074.091-.152.042-.078.076-.16.033-.081.06-.166.025-.084.042-.171.017-.087.026-.175.009-.088.009-.176V3q0-.088-.009-.176t-.026-.175q-.017-.087-.043-.172-.026-.084-.06-.166-.033-.082-.075-.16-.042-.077-.09-.151-.05-.074-.106-.142-.056-.068-.119-.13-.062-.063-.13-.12-.069-.056-.142-.105-.074-.049-.152-.09-.078-.042-.16-.076-.081-.034-.166-.06-.084-.025-.171-.042-.087-.018-.175-.026-.088-.009-.176-.009H3q-.088 0-.176.009-.088.008-.175.026-.087.017-.172.043-.084.025-.166.059-.082.034-.16.076-.078.041-.151.09-.074.05-.142.106-.068.056-.13.118-.063.063-.12.131-.056.068-.105.142-.049.074-.09.151-.042.078-.076.16-.034.082-.06.166-.025.085-.042.172-.018.087-.026.175Q1.2 2.912 1.2 3Z\" /><g mask=\"url(#prefix__a)\"><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M2.545 4.984v3.733q0 1.13.8 1.929.798.799 1.928.799h3.733q1.13 0 1.928-.8.799-.798.799-1.928V4.984q0-1.13-.799-1.928-.799-.799-1.928-.799H5.273q-1.13 0-1.929.799-.799.799-.799 1.928Zm6.46-1.527H5.274c-.844 0-1.528.684-1.528 1.527v3.733c0 .844.684 1.528 1.528 1.528h3.733c.843 0 1.527-.684 1.527-1.528V4.984c0-.843-.684-1.527-1.527-1.527Z\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 23 17\" {...props}><clipPath id=\"prefix__a\"><path d=\"M-1-3h23v17H-1z\" /></clipPath><g clipPath=\"url(#prefix__a)\" transform=\"translate(1 3)\"><path d=\"M19.345.367c-2.861 3.348-5.719 4.973-8.582 4.973s-5.85-1.636-8.925-5A1.091 1.091 0 0 0 .364.24a.944.944 0 0 0-.111 1.387c3.437 3.758 6.939 5.682 10.51 5.682s6.988-1.935 10.211-5.708a.945.945 0 0 0-.16-1.383 1.09 1.09 0 0 0-1.47.15z\" /><path d=\"m3.378 3.785-1.971 2.59a.921.921 0 0 0 .076 1.184.68.68 0 0 0 1.043-.086l1.971-2.59a.921.921 0 0 0-.076-1.184.68.68 0 0 0-1.043.086zm3.981 3.039-.789 3.581a.853.853 0 0 0 .538 1.018.738.738 0 0 0 .9-.611l.789-3.581a.853.853 0 0 0-.538-1.018.738.738 0 0 0-.895.612zm5.724.146 1.109 3.581a.72.72 0 0 0 .942.514.873.873 0 0 0 .452-1.07l-1.108-3.581a.72.72 0 0 0-.942-.514.873.873 0 0 0-.452 1.07zm4.023-3.051 2.281 2.59a.679.679 0 0 0 1.045 0 .922.922 0 0 0 0-1.187l-2.281-2.59a.679.679 0 0 0-1.045 0 .922.922 0 0 0 0 1.187z\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 23 17\" {...props}><path d=\"M11.697 13.232a3.724 3.724 0 1 1 3.727-3.725 3.724 3.724 0 0 1-3.727 3.725zm0-2.085a1.638 1.638 0 1 0-1.638-1.638 1.638 1.638 0 0 0 1.638 1.638z\" /><path d=\"M11.773 14.296c2.608 0 5.222-1.534 7.841-4.7-2.286-3.164-4.886-4.7-7.841-4.7s-5.654 1.536-8.118 4.7c2.796 3.164 5.506 4.7 8.118 4.7zm7.814-7.967a18.681 18.681 0 0 1 2.2 2.739l.417.626-.463.593c-3.139 4.026-6.461 6.094-9.964 6.094S4.87 14.325 1.522 10.314l-.518-.621.473-.656a19.167 19.167 0 0 1 2.957-3.3L2.667 3.855a.745.745 0 1 1 1.086-1.019l1.86 1.981A11.188 11.188 0 0 1 8.98 3.199l-.9-2.13A.745.745 0 1 1 9.452.488l1.021 2.409a10.462 10.462 0 0 1 1.307-.081 10.154 10.154 0 0 1 2.23.243L15.203.434a.745.745 0 1 1 1.356.617l-1.112 2.447a11.172 11.172 0 0 1 3.05 1.82l2.177-2.177a.745.745 0 1 1 1.053 1.053l-2.133 2.133z\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 29 29\" {...props}><g data-name=\"\\u7EC4 1138\"><g data-name=\"\\u77E9\\u5F62 400\" style={{\n        fill: \"#fff\",\n        stroke: \"#f5f5f5\"\n      }}><rect width={29} height={29} stroke=\"none\" rx={5} style={{\n          stroke: \"none\"\n        }} /><rect width={28} height={28} x={0.5} y={0.5} rx={4.5} style={{\n          fill: \"none\"\n        }} /></g><path d=\"M289.681 61.936V65.3h-2a1.873 1.873 0 0 0-1.477.458 2.106 2.106 0 0 0-.382 1.375v2.406h3.73l-.5 3.769h-3.234v9.663h-3.9V73.3h-3.246v-3.764h3.246v-2.775a4.926 4.926 0 0 1 1.324-3.673 4.8 4.8 0 0 1 3.527-1.305 21.126 21.126 0 0 1 2.9.152Z\" style={{\n        fill: \"#1877f2\"\n      }} transform=\"translate(-269.681 -57.875)\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 29 29\" {...props}><g data-name=\"\\u7EC4 1136\"><g data-name=\"\\u77E9\\u5F62 400\" style={{\n        fill: \"#fff\",\n        stroke: \"#f5f5f5\"\n      }}><rect width={29} height={29} stroke=\"none\" rx={5} style={{\n          stroke: \"none\"\n        }} /><rect width={28} height={28} x={0.5} y={0.5} rx={4.5} style={{\n          fill: \"none\"\n        }} /></g><path d=\"M9.12 294.908a6.158 6.158 0 0 1 .325-1.965L5.8 290.219a10.463 10.463 0 0 0 0 9.374l3.641-2.729a6.143 6.143 0 0 1-.321-1.957\" data-name=\"\\u8DEF\\u5F84 1670\" style={{\n        fill: \"#fbbc05\"\n      }} transform=\"translate(-.774 -280.411)\" /><path d=\"M66.889 15.722a6.344 6.344 0 0 1 3.985 1.395l3.149-3.079a10.948 10.948 0 0 0-16.849 3.249l3.644 2.724a6.366 6.366 0 0 1 6.071-4.289\" data-name=\"\\u8DEF\\u5F84 1671\" style={{\n        fill: \"#ea4335\"\n      }} transform=\"translate(-52.145 -7.48)\" /><path d=\"M66.889 609.217a6.369 6.369 0 0 1-6.073-4.289l-3.643 2.724a10.816 10.816 0 0 0 9.715 5.9 10.441 10.441 0 0 0 7.052-2.638l-3.459-2.618a6.8 6.8 0 0 1-3.595.926\" data-name=\"\\u8DEF\\u5F84 1672\" style={{\n        fill: \"#34a853\"\n      }} transform=\"translate(-52.145 -588.467)\" /><path d=\"M526.984 422.916a8.62 8.62 0 0 0-.246-1.924h-10.087v4.089h5.806a4.763 4.763 0 0 1-2.21 3.164l3.458 2.618a10.418 10.418 0 0 0 3.28-7.946\" data-name=\"\\u8DEF\\u5F84 1673\" style={{\n        fill: \"#4285f4\"\n      }} transform=\"translate(-501.908 -408.42)\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 249.876 155.965\" {...props}><defs><clipPath id=\"prefix__clip-path\"><path id=\"prefix__\\u77E9\\u5F62_451\" d=\"M0 0h73.283v45.454H0z\" className=\"prefix__cls-1\" data-name=\"\\u77E9\\u5F62 451\" /></clipPath><clipPath id=\"prefix__clip-path-2\"><path id=\"prefix__\\u77E9\\u5F62_453\" d=\"M0 0h76.066v48.237H0z\" className=\"prefix__cls-1\" data-name=\"\\u77E9\\u5F62 453\" /></clipPath><style>{\".prefix__cls-1,.prefix__cls-14{fill:var(--text-color)}.prefix__cls-1{stroke:#707070}.prefix__cls-2{fill:var(--accent-color)}.prefix__cls-12,.prefix__cls-3,.prefix__cls-4,.prefix__cls-9{fill:none}.prefix__cls-12,.prefix__cls-3{stroke:var(--text-color)}.prefix__cls-3{stroke-width:2px}.prefix__cls-12{stroke-width:1.5px}.prefix__cls-15{stroke:none}\"}</style></defs><g id=\"prefix__\\u7EC4_1229\" data-name=\"\\u7EC4 1229\" transform=\"translate(-56.413 -383.174)\"><g id=\"prefix__\\u7EC4_1227\" data-name=\"\\u7EC4 1227\" transform=\"translate(116.386 383.174)\"><path id=\"prefix__\\u8DEF\\u5F84_1680\" d=\"m0 6.493 48.944.294 4.677-5.566L5.613 0Z\" className=\"prefix__cls-2\" data-name=\"\\u8DEF\\u5F84 1680\" transform=\"rotate(-90 49.024 48.683)\" /><path id=\"prefix__\\u8DEF\\u5F84_1679\" d=\"M57.558 5.493H-1.148L-6-1h57.858Z\" className=\"prefix__cls-2\" data-name=\"\\u8DEF\\u5F84 1679\" transform=\"translate(8.49 46.014)\" /><g id=\"prefix__\\u77E9\\u5F62_440\" className=\"prefix__cls-3\" data-name=\"\\u77E9\\u5F62 440\"><path d=\"M8.055 52.435H65.12v42.026H8.055z\" className=\"prefix__cls-15\" /><path d=\"M7.055 51.435H66.12v44.026H7.055z\" className=\"prefix__cls-4\" /></g><path id=\"prefix__\\u76F4\\u7EBF_105\" d=\"M6.308 6.679 0 0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 105\" transform=\"translate(60.018 44.55)\" /><path id=\"prefix__\\u76F4\\u7EBF_110\" d=\"M6.308 6.679 0 0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 110\" transform=\"translate(.82 44.643)\" /><path id=\"prefix__\\u76F4\\u7EBF_108\" d=\"M5.937 6.493 0 0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 108\" transform=\"translate(.913 89.516)\" /><path id=\"prefix__\\u76F4\\u7EBF_106\" d=\"M60.59 0H0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 106\" transform=\"translate(.171 44.921)\" /><path id=\"prefix__\\u76F4\\u7EBF_109\" d=\"m0 0 .293 49.791\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 109\" transform=\"translate(1.098 45.292)\" /><path id=\"prefix__\\u8054\\u5408_1\" d=\"M0 30.612 1.6 11.4a6.958 6.958 0 1 1 10.712 0l1.6 19.213Z\" className=\"prefix__cls-4\" data-name=\"\\u8054\\u5408 1\" transform=\"translate(30.612 62.151)\" /><g id=\"prefix__\\u8054\\u5408_2\" data-name=\"\\u8054\\u5408 2\" style={{\n          fill: \"var(--text-color)\"\n        }}><path d=\"M40.021 88.303h-7.687l.922-16.013.02-.339-.242-.238a3.977 3.977 0 0 1-1.209-2.844c0-2.267 1.953-4.112 4.353-4.112 2.4 0 4.352 1.845 4.352 4.112 0 1.065-.43 2.075-1.208 2.844l-.242.238.02.339.921 16.013Z\" className=\"prefix__cls-15\" /><path d=\"M8.152 23.546 7.237 7.649l.483-.477a3.232 3.232 0 0 0 .985-2.31C8.705 3.008 7.09 1.5 5.103 1.5 3.116 1.5 1.5 3.008 1.5 4.862c0 .863.35 1.683.986 2.31l.482.477-.915 15.897h6.099m1.589 1.5H.464L1.432 8.24A4.73 4.73 0 0 1 0 4.862C0 2.177 2.284 0 5.103 0c2.818 0 5.102 2.177 5.102 4.862A4.73 4.73 0 0 1 8.773 8.24l.968 16.806Z\" style={{\n            fill: \"var(--text-color)\",\n            stroke: \"none\"\n          }} transform=\"translate(31.075 64.007)\" /></g><g id=\"prefix__\\u8499\\u7248\\u7EC4_9\" data-name=\"\\u8499\\u7248\\u7EC4 9\" style={{\n          clipPath: \"url(#prefix__clip-path)\"\n        }} transform=\"translate(.928 2.783)\"><g id=\"prefix__\\u77E9\\u5F62_449\" data-name=\"\\u77E9\\u5F62 449\" style={{\n            strokeWidth: 7,\n            stroke: \"var(--text-color)\",\n            fill: \"none\"\n          }} transform=\"translate(8.349 4.638)\"><rect width={48.237} height={76.066} className=\"prefix__cls-15\" rx={24.119} /><rect width={41.237} height={69.066} x={3.5} y={3.5} className=\"prefix__cls-4\" rx={20.619} /></g></g><g id=\"prefix__\\u8499\\u7248\\u7EC4_10\" data-name=\"\\u8499\\u7248\\u7EC4 10\" style={{\n          clipPath: \"url(#prefix__clip-path-2)\"\n        }}><g id=\"prefix__\\u8DEF\\u5F84_1684\" className=\"prefix__cls-9\" data-name=\"\\u8DEF\\u5F84 1684\"><path d=\"M33.46 12.987c10.282 0 18.618 8.929 18.618 19.944v30.612c0 11.015-8.336 19.944-18.618 19.944s-18.618-8.929-18.618-19.944V32.931c0-11.015 8.336-19.944 18.618-19.944Z\" className=\"prefix__cls-15\" /><path d=\"M18.618 2C14.205 2 10.05 3.849 6.915 7.206 3.745 10.602 2 15.126 2 19.944v30.612c0 4.82 1.746 9.343 4.915 12.738 3.134 3.358 7.29 5.207 11.703 5.207 4.413 0 8.569-1.85 11.703-5.207 3.17-3.395 4.915-7.919 4.915-12.738V19.944c0-4.819-1.745-9.342-4.915-12.738C27.187 3.85 23.031 2 18.618 2m0-2c10.283 0 18.618 8.93 18.618 19.944v30.612c0 11.015-8.335 19.945-18.618 19.945C8.336 70.5 0 61.57 0 50.556V19.944C0 8.93 8.336 0 18.618 0Z\" style={{\n              fill: \"var(--accent-color)\",\n              stroke: \"none\"\n            }} transform=\"translate(14.842 12.987)\" /></g></g></g><g id=\"prefix__\\u7EC4_1223\" data-name=\"\\u7EC4 1223\" transform=\"translate(71.435 472.204)\"><path id=\"prefix__\\u8DEF\\u5F84_1680-2\" d=\"m0 6.493 60.145.294 5.747-5.566L6.9 0Z\" data-name=\"\\u8DEF\\u5F84 1680\" style={{\n          fill: \"var(--accent-color)\"\n        }} transform=\"rotate(-90 33.03 32.861)\" /><path id=\"prefix__\\u8DEF\\u5F84_1679-2\" d=\"m204.574 5.493-205.6-.175L-6-1h205.008Z\" data-name=\"\\u8DEF\\u5F84 1679\" style={{\n          fill: \"var(--accent-color)\"\n        }} transform=\"translate(8.319 1.928)\" /><g id=\"prefix__\\u77E9\\u5F62_440-2\" className=\"prefix__cls-3\" data-name=\"\\u77E9\\u5F62 440\"><path d=\"M7.792 8.349h204.081v56.586H7.792z\" className=\"prefix__cls-15\" /><path d=\"M6.792 7.349h206.081v58.586H6.792z\" className=\"prefix__cls-4\" /></g><path id=\"prefix__\\u76F4\\u7EBF_105-2\" d=\"M6.308 6.679 0 0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 105\" transform=\"translate(206.864 .464)\" /><path id=\"prefix__\\u76F4\\u7EBF_110-2\" d=\"M6.308 6.679 0 0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 110\" transform=\"translate(.649 .556)\" /><path id=\"prefix__\\u76F4\\u7EBF_108-2\" d=\"M6.2 6.8 0 0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 108\" transform=\"translate(.644 59.178)\" /><path id=\"prefix__\\u76F4\\u7EBF_106-2\" d=\"M207.606 0H0\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 106\" transform=\"translate(0 .835)\" /><path id=\"prefix__\\u76F4\\u7EBF_109-2\" d=\"M0 0v58.627\" className=\"prefix__cls-3\" data-name=\"\\u76F4\\u7EBF 109\" transform=\"translate(.928 1.206)\" /></g><g id=\"prefix__\\u76F4\\u7EBF_115\" className=\"prefix__cls-9\" data-name=\"\\u76F4\\u7EBF 115\"><path d=\"M237.39 460.47h12.059\" className=\"prefix__cls-15\" /><path d=\"M12.07 0H0h12.07Z\" style={{\n          fill: \"#000\",\n          stroke: \"none\"\n        }} transform=\"translate(237.384 460.47)\" /></g><g id=\"prefix__\\u7EC4_1228\" data-name=\"\\u7EC4 1228\" transform=\"translate(56.5 446.177)\"><g id=\"prefix__\\u77E9\\u5F62_452\" className=\"prefix__cls-12\" data-name=\"\\u77E9\\u5F62 452\"><path d=\"m135.953 3.987 9.398-3.99 3.99 9.398-9.398 3.99z\" className=\"prefix__cls-15\" /><path strokeWidth=\"1.5008399999999997px\" d=\"M136.937 4.385 144.953.98l3.404 8.017-8.017 3.403z\" className=\"prefix__cls-4\" /></g><path id=\"prefix__\\u76F4\\u7EBF_111\" d=\"M1.329 9.879 0 0\" className=\"prefix__cls-12\" data-name=\"\\u76F4\\u7EBF 111\" transform=\"translate(12.059 9.656)\" /><path id=\"prefix__\\u76F4\\u7EBF_113\" d=\"M8.389 0 0 .974\" className=\"prefix__cls-12\" data-name=\"\\u76F4\\u7EBF 113\" transform=\"translate(0 26.307)\" /><path id=\"prefix__\\u76F4\\u7EBF_112\" d=\"M7.46 5.386 0 0\" className=\"prefix__cls-12\" data-name=\"\\u76F4\\u7EBF 112\" transform=\"translate(1.855 16.149)\" /><path id=\"prefix__\\u76F4\\u7EBF_114\" d=\"M0 0h7.911\" className=\"prefix__cls-12\" data-name=\"\\u76F4\\u7EBF 114\" transform=\"rotate(-72 183.474 -123.859)\" /><path id=\"prefix__\\u76F4\\u7EBF_116\" d=\"M0 0h7.911\" className=\"prefix__cls-12\" data-name=\"\\u76F4\\u7EBF 116\" transform=\"rotate(18 -143.927 806.034)\" /><path id=\"prefix__\\u76F4\\u7EBF_117\" d=\"M0 7.096 2.458 0\" className=\"prefix__cls-12\" data-name=\"\\u76F4\\u7EBF 117\" transform=\"translate(226.669 12.439)\" /><path id=\"prefix__\\u76F4\\u7EBF_118\" d=\"M0 4.459 8.589 0\" className=\"prefix__cls-12\" data-name=\"\\u76F4\\u7EBF 118\" transform=\"translate(229.814 18.004)\" /></g><text id=\"prefix__Master_Password\" data-name=\"Master Password\" style={{\n        fontSize: 12,\n        fontFamily: \"SFProText-Semibold,SF Pro Text\",\n        fontWeight: 500,\n        fill: \"var(--text-color)\"\n      }} transform=\"translate(181.5 504.193)\"><tspan x={-50.569} y={0}>{\"Master Password\"}</tspan></text><g id=\"prefix__\\u7EC4_1406\" data-name=\"\\u7EC4 1406\" transform=\"translate(94.069 517.009)\"><circle id=\"prefix__\\u692D\\u5706_283\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 283\" transform=\"translate(102.431)\" /><circle id=\"prefix__\\u692D\\u5706_282\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 282\" transform=\"translate(50.431)\" /><circle id=\"prefix__\\u692D\\u5706_298\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 298\" transform=\"translate(119.431)\" /><circle id=\"prefix__\\u692D\\u5706_284\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 284\" transform=\"translate(84.431)\" /><circle id=\"prefix__\\u692D\\u5706_300\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 300\" transform=\"translate(153.431)\" /><circle id=\"prefix__\\u692D\\u5706_280\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 280\" transform=\"translate(33.431)\" /><circle id=\"prefix__\\u692D\\u5706_281\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 281\" transform=\"translate(67.431)\" /><circle id=\"prefix__\\u692D\\u5706_299\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 299\" transform=\"translate(136.431)\" /><circle id=\"prefix__\\u692D\\u5706_273\" cx={2.5} cy={2.5} r={2.5} className=\"prefix__cls-14\" data-name=\"\\u692D\\u5706 273\" transform=\"translate(16.431)\" /></g></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><defs><style>{\".prefix__cls-2{fill:none;stroke:var(--text-color,#000);stroke-linecap:round;stroke-width:1.2px}\"}</style></defs><g id=\"prefix__\\u7EC4_1432\" data-name=\"\\u7EC4 1432\" transform=\"translate(-18 -102)\"><g id=\"prefix__receive\" transform=\"translate(-81.079 -221.037)\"><g id=\"prefix__\\u7EC4_142\" data-name=\"\\u7EC4 142\" transform=\"translate(99.079 323.037)\"><circle id=\"prefix__SEND\" cx={14} cy={14} r={14} style={{\n            fill: \"var(--text-color,#000)\",\n            opacity: 0.08\n          }} /></g></g><g id=\"prefix__\\u7EC4_1431\" data-name=\"\\u7EC4 1431\"><path id=\"prefix__\\u76F4\\u7EBF_11\" d=\"M0 0h12.187\" className=\"prefix__cls-2\" data-name=\"\\u76F4\\u7EBF 11\" transform=\"translate(25.906 111.5)\" /><path id=\"prefix__\\u76F4\\u7EBF_12\" d=\"M0 0h12.187\" className=\"prefix__cls-2\" data-name=\"\\u76F4\\u7EBF 12\" transform=\"translate(25.906 116)\" /><path id=\"prefix__\\u76F4\\u7EBF_13\" d=\"M0 0h12.187\" className=\"prefix__cls-2\" data-name=\"\\u76F4\\u7EBF 13\" transform=\"translate(25.906 120.5)\" /></g></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 35 35\" {...props}><defs><linearGradient id=\"prefix__a\" x1={1.171} x2={-0.531} y1={0.248} y2={0.242} gradientUnits=\"objectBoundingBox\"><stop offset={0} stopColor=\"#864deb\" /><stop offset={0.502} stopColor=\"#e64be0\" /><stop offset={1} stopColor=\"#fd4bdd\" /></linearGradient></defs><g data-name=\"\\u7EC4 1106\"><g data-name=\"\\u692D\\u5706 251\" style={{\n        fill: \"#fff\",\n        stroke: \"#f5f5f5\"\n      }}><rect width={29} height={29} stroke=\"none\" rx={5} style={{\n          stroke: \"none\"\n        }} /><rect width={28} height={28} x={0.5} y={0.5} rx={4.5} style={{\n          fill: \"none\"\n        }} /></g><path d=\"M1243.8 4411.523q-.629-.634-1.263-1.265c-.051-.051-.1-.1-.154-.151a.229.229 0 0 1-.079-.184v-5.269a.145.145 0 0 0-.081-.151 5.4 5.4 0 0 1-.552-.345 2.572 2.572 0 0 1-.577-.55c-.07-.1-.152-.181-.219-.277a3.4 3.4 0 0 1-.184-.3 4.62 4.62 0 0 1-.146-.29 2.846 2.846 0 0 1-.1-.281c-.031-.094-.06-.2-.089-.3a2.071 2.071 0 0 1-.082-.492c-.005-.184-.023-.367-.018-.55a3.406 3.406 0 0 1 .054-.423c.016-.1.034-.2.056-.3a1.333 1.333 0 0 1 .049-.168 3.777 3.777 0 0 1 .161-.417c.094-.182.2-.355.311-.531a3.047 3.047 0 0 1 .624-.7 3.739 3.739 0 0 1 .431-.314 3.479 3.479 0 0 1 .435-.238 3.246 3.246 0 0 1 .39-.136 3.524 3.524 0 0 1 .4-.11 3.676 3.676 0 0 1 .441-.05 4.225 4.225 0 0 1 .929.052 3.072 3.072 0 0 1 .372.1 3.85 3.85 0 0 1 .39.134 2.5 2.5 0 0 1 .354.188c.173.107.339.223.5.345a2.591 2.591 0 0 1 .348.339c.143.168.278.346.4.528a2.272 2.272 0 0 1 .174.331c.054.115.109.23.152.349a3.441 3.441 0 0 1 .1.331c.026.1.05.2.068.3a1.636 1.636 0 0 1 .021.22c.009.169.025.342.019.512s-.032.333-.061.5a2.461 2.461 0 0 1-.049.254 2.074 2.074 0 0 1-.069.215 1.464 1.464 0 0 1-.051.142c-.052.122-.1.248-.162.364-.085.157-.183.308-.279.458a2.854 2.854 0 0 1-.514.583 3.288 3.288 0 0 1-.658.465c-.132.068-.265.134-.4.2-.042.02-.048.034-.01.071.306.3.608.605.911.909.089.089.175.178.266.265a.053.053 0 0 1 0 .09l-.568.563q-.372.372-.742.746c-.045.044-.09.09-.136.133s-.036.07 0 .106l.423.42 1.015 1.016c.042.039.039.063 0 .1q-.558.554-1.114 1.111l-1.349 1.351a.07.07 0 0 1-.047.027.071.071 0 0 1-.041-.026Zm.114-12.257h-.209a.886.886 0 0 0-.391.141.985.985 0 0 0-.322.311 1.02 1.02 0 0 0 .515 1.531 1.881 1.881 0 0 0 .342.065v-.02a.806.806 0 0 0 .517-.128.979.979 0 0 0 .33-.313 1.07 1.07 0 0 0 .176-.522.819.819 0 0 0-.07-.4 1.814 1.814 0 0 0-.163-.288.85.85 0 0 0-.321-.264.891.891 0 0 0-.385-.111Zm-9.818 11.784h-6.6c-.049 0-.065-.009-.065-.062v-2.256a5.634 5.634 0 0 1 .049-.612 4.194 4.194 0 0 1 .08-.439c.029-.132.072-.263.11-.392.042-.148.086-.3.136-.443.03-.084.072-.169.107-.253.045-.1.085-.207.136-.307a6.16 6.16 0 0 1 .219-.4c.114-.185.229-.369.355-.546.106-.146.226-.283.345-.418a4.577 4.577 0 0 1 .608-.591c.106-.084.2-.176.313-.256.149-.108.306-.211.463-.311.105-.067.213-.13.323-.19.094-.051.194-.093.29-.139a4.63 4.63 0 0 1 .215-.1c.09-.038.182-.072.273-.106s.2-.073.3-.108a1.2 1.2 0 0 1 .144-.042c.141-.032.282-.062.423-.092l.322-.064a.5.5 0 0 1 .055-.012c.207-.016.413-.044.619-.045h3.609a2.532 2.532 0 0 1 .3.011c.184.021.366.047.55.08a3.369 3.369 0 0 1 .374.082c.157.042.311.1.465.147.127.042.255.09.381.135.042.016.085.036.127.053.065.029.063.1.093.15.09.153.164.316.258.465.114.18.236.356.367.526a4.479 4.479 0 0 0 .578.618c.092.081.189.154.281.235a.148.148 0 0 1 .042.077.386.386 0 0 1 0 .089v5.457c0 .055-.018.065-.069.065q-3.281-.006-6.578-.006Zm-1.931-10.815a4.617 4.617 0 1 1 5.95-7.062 4.412 4.412 0 0 1 1.572 2.811 4.509 4.509 0 0 1-.871 3.487 4.445 4.445 0 0 1-2.861 1.764 5.2 5.2 0 0 1-.891.08 4.409 4.409 0 0 1-2.901-1.08Z\" data-name=\"\\u8054\\u5408 6\" style={{\n        fill: \"url(#prefix__a)\"\n      }} transform=\"translate(-1222.5 -4387.291)\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 21 21\" {...props}><circle cx={10.5} cy={10.5} r={10.5} fill=\"#EAECF0\" /><path fill=\"#A257FA\" d=\"M15.786 8.86h-2.37a.547.547 0 1 1 0-1.095h.952A4.74 4.74 0 0 0 5.76 10.5a4.74 4.74 0 1 0 9.479 0 .547.547 0 1 1 1.094 0A5.834 5.834 0 1 1 10.5 4.667c1.956 0 3.682.963 4.74 2.44v-.981a.547.547 0 1 1 1.094 0v2.188a.548.548 0 0 1-.547.545Z\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><circle cx={14} cy={14} r={14} opacity={0.08} /><path d=\"M14 21.538a1.718 1.718 0 0 1-.784-.19l-1.932-.986a5.747 5.747 0 0 1-3.067-4.709l-.374-5.261a1.812 1.812 0 0 1 1.044-1.77l4.4-2a1.711 1.711 0 0 1 1.427 0l4.4 2a1.812 1.812 0 0 1 1.04 1.77l-.37 5.261a5.747 5.747 0 0 1-3.068 4.709l-1.932.99a1.718 1.718 0 0 1-.784.186zm0-14.1a.792.792 0 0 0-.325.07l-4.4 2.005a.82.82 0 0 0-.473.8l.364 5.261a4.777 4.777 0 0 0 2.544 3.9l1.931.989a.782.782 0 0 0 .715 0l1.931-.989a4.777 4.777 0 0 0 2.544-3.9l.363-5.261a.818.818 0 0 0-.472-.8l-4.397-2.001a.8.8 0 0 0-.325-.07zm-.515 8.243a.467.467 0 0 1-.342-.143l-1.522-1.634a.5.5 0 0 1 0-.693.471.471 0 0 1 .676 0l1.188 1.287 2.218-2.036a.471.471 0 0 1 .676 0 .5.5 0 0 1 0 .693l-2.556 2.383a.465.465 0 0 1-.338.143z\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><g data-name=\"\\u7EC4 403\" transform=\"translate(-18 -225)\"><circle cx={14} cy={14} r={14} data-name=\"\\u692D\\u5706 48\" style={{\n        opacity: 0.08\n      }} transform=\"translate(18 225)\" /><path d=\"M6.157 15.076a1.718 1.718 0 0 1-.784-.19L3.441 13.9A5.747 5.747 0 0 1 .374 9.191L0 3.93a1.812 1.812 0 0 1 1.044-1.77l4.4-2a1.711 1.711 0 0 1 1.427 0l4.4 2a1.812 1.812 0 0 1 1.04 1.77l-.37 5.261A5.747 5.747 0 0 1 8.873 13.9l-1.932.99a1.718 1.718 0 0 1-.784.186Zm0-14.1a.792.792 0 0 0-.325.07l-4.4 2.005a.82.82 0 0 0-.473.8l.364 5.261a4.777 4.777 0 0 0 2.544 3.9l1.931.989a.782.782 0 0 0 .715 0l1.931-.989a4.777 4.777 0 0 0 2.544-3.9l.363-5.261a.818.818 0 0 0-.472-.8L6.482 1.05a.8.8 0 0 0-.325-.07Zm-.515 8.243a.467.467 0 0 1-.342-.143L3.778 7.442a.5.5 0 0 1 0-.693.471.471 0 0 1 .676 0l1.188 1.287L7.86 6a.471.471 0 0 1 .676 0 .5.5 0 0 1 0 .693L5.98 9.076a.465.465 0 0 1-.338.143Z\" data-name=\"Fill 744\" style={{\n        stroke: \"currentColor\",\n        strokeWidth: \".25px\"\n      }} transform=\"translate(25.843 231.462)\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><g data-name=\"\\u7EC4 1434\" transform=\"translate(-18 -225)\"><circle cx={14} cy={14} r={14} data-name=\"\\u692D\\u5706 48\" style={{\n        opacity: 0.08\n      }} transform=\"translate(18 225)\" /><path d=\"M9.437 14.826H1.573A1.578 1.578 0 0 1 0 13.247V2.912a1.578 1.578 0 0 1 1.573-1.579h5a.423.423 0 0 1 .3.126l4.005 4.019a.433.433 0 0 1 .125.3v7.465a1.578 1.578 0 0 1-1.566 1.583ZM1.729 2.194a.755.755 0 0 0-.786.717v10.336a.755.755 0 0 0 .786.717h7.542a.755.755 0 0 0 .786-.717V6.213H7.385a1.66 1.66 0 0 1-1.728-1.579v-2.44ZM6.6 2.8v1.834a.755.755 0 0 0 .786.718h2.005Zm.786 8.868H3.614a.473.473 0 0 1 0-.946h3.771a.473.473 0 0 1 0 .946ZM5.5 9.148H3.614a.473.473 0 0 1 0-.946H5.5a.473.473 0 0 1 0 .946Z\" data-name=\"Fill 700\" style={{\n        stroke: \"currentColor\",\n        strokeWidth: \".2px\"\n      }} transform=\"translate(26.495 230.921)\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 29 29\" {...props}><g data-name=\"\\u7EC4 1207\"><g data-name=\"\\u77E9\\u5F62 400\" style={{\n        fill: \"#fff\",\n        stroke: \"#f5f5f5\"\n      }}><rect width={29} height={29} stroke=\"none\" rx={5} style={{\n          stroke: \"none\"\n        }} /><rect width={28} height={28} x={0.5} y={0.5} rx={4.5} style={{\n          fill: \"none\"\n        }} /></g><path d=\"M114.145 175.761a7.5 7.5 0 0 1-2.153.579 3.73 3.73 0 0 0 1.644-2.061 7.382 7.382 0 0 1-2.372.9 3.742 3.742 0 0 0-6.471 2.559 4.294 4.294 0 0 0 .092.857 10.625 10.625 0 0 1-7.709-3.914 3.75 3.75 0 0 0 1.158 5 3.771 3.771 0 0 1-1.691-.476v.046a3.74 3.74 0 0 0 3 3.67 3.961 3.961 0 0 1-.984.127 4.975 4.975 0 0 1-.709-.048 3.746 3.746 0 0 0 3.5 2.594 7.493 7.493 0 0 1-4.642 1.6 7.644 7.644 0 0 1-.9-.046 10.645 10.645 0 0 0 16.381-8.964c0-.162 0-.324-.011-.487a8.052 8.052 0 0 0 1.867-1.936Z\" style={{\n        fill: \"#1da1f2\"\n      }} transform=\"translate(-90.388 -166.911)\" /></g></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><circle cx={14} cy={14} r={14} opacity={0.08} /><path d=\"m14.382 8.146.944 1.6h2.321c1.123 0 1.639.611 1.639 1.735v.876a1.356 1.356 0 0 1 1.356 1.356v2.972c0 .749-.331 1.138-1.08 1.138v.678a2.034 2.034 0 0 1-2.034 2.034H9.392a2.034 2.034 0 0 1-2.034-2.038v-6.78a2.034 2.034 0 0 1 1.547-1.975l3.625-2.093a1.356 1.356 0 0 1 1.852.497zm3.068 2.653H9.309a.829.829 0 0 0-.819.835v7.077a.678.678 0 0 0 .678.678h8.6a.678.678 0 0 0 .678-.678v-.892H14.82a2.712 2.712 0 1 1 0-5.424h3.39v-.761c.001-.471-.152-.807-.76-.835zm2.045 2.737h-4.679a1.573 1.573 0 1 0 0 3.145h4.679zm-4.679.893a.678.678 0 1 1-.678.678.678.678 0 0 1 .678-.678zm-1.513-5.838-2.165 1.155h2.812z\" /></svg>;\n}\nexport default MyComponent;", "import * as React from \"react\";\nfunction MyComponent(props) {\n  return <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 28 28\" {...props}><g data-name=\"\\u7EC4 1152\"><circle cx={14} cy={14} r={14} data-name=\"\\u7EC4 142\" style={{\n        opacity: 0.08\n      }} /><path d=\"m14.382 8.146.944 1.6h2.321c1.123 0 1.639.611 1.639 1.735v.876a1.356 1.356 0 0 1 1.356 1.356v2.972c0 .749-.331 1.138-1.08 1.138v.678a2.034 2.034 0 0 1-2.034 2.034H9.392a2.034 2.034 0 0 1-2.034-2.038v-6.78a2.034 2.034 0 0 1 1.547-1.975l3.625-2.093a1.356 1.356 0 0 1 1.852.497Zm3.068 2.653H9.309a.829.829 0 0 0-.819.835v7.077a.678.678 0 0 0 .678.678h8.6a.678.678 0 0 0 .678-.678v-.892H14.82a2.712 2.712 0 1 1 0-5.424h3.39v-.761c.001-.471-.152-.807-.76-.835Zm2.045 2.737h-4.679a1.573 1.573 0 1 0 0 3.145h4.679Zm-4.679.893a.678.678 0 1 1-.678.678.678.678 0 0 1 .678-.678Zm-1.513-5.838-2.165 1.155h2.812Z\" /></g></svg>;\n}\nexport default MyComponent;", "/* eslint-disable */\n            import arrow1icon from '../../common/icon/arrow1_icon.svg';import arrowicon from '../../common/icon/arrow_icon.svg';import arrowrighticon from '../../common/icon/arrow_right_icon.svg';import backspace from '../../common/icon/backspace.svg';import circleback from '../../common/icon/circle_back.svg';import circleclose from '../../common/icon/circle_close.svg';import collapseicon from '../../common/icon/collapse_icon.svg';import copy from '../../common/icon/copy.svg';import eyeclose from '../../common/icon/eye_close.svg';import eyeopen from '../../common/icon/eye_open.svg';import facebookicon from '../../common/icon/facebook_icon.svg';import googleicon from '../../common/icon/google_icon.svg';import masterpassword from '../../common/icon/master_password.svg';import menu from '../../common/icon/menu.svg';import passkeysicon from '../../common/icon/passkeys_icon.svg';import refreshicon from '../../common/icon/refresh_icon.svg';import security from '../../common/icon/security.svg';import securityicon from '../../common/icon/security_icon.svg';import transactionicon from '../../common/icon/transaction_icon.svg';import twittericon from '../../common/icon/twitter_icon.svg';import wallet from '../../common/icon/wallet.svg';import walleticon from '../../common/icon/wallet_icon.svg';\n            const svgs = { 'arrow1_icon': arrow1icon,\n'arrow_icon': arrowicon,\n'arrow_right_icon': arrowrighticon,\n'backspace': backspace,\n'circle_back': circleback,\n'circle_close': circleclose,\n'collapse_icon': collapseicon,\n'copy': copy,\n'eye_close': eyeclose,\n'eye_open': eyeopen,\n'facebook_icon': facebookicon,\n'google_icon': googleicon,\n'master_password': masterpassword,\n'menu': menu,\n'passkeys_icon': passkeysicon,\n'refresh_icon': refreshicon,\n'security': security,\n'security_icon': securityicon,\n'transaction_icon': transactionicon,\n'twitter_icon': twittericon,\n'wallet': wallet,\n'wallet_icon': walleticon, };\n            export default svgs;", "import Icon from '@ant-design/icons';\nimport React from 'react';\nimport icons from './icons';\n\nconst SVGIcon = ({ className = '', name = '', ...others }) => {\n  return (\n    <Icon\n      data-name={name}\n      className={className ? `theme-font-icon ${className}` : 'theme-font-icon'}\n      // @ts-ignore\n      component={icons[name]}\n      {...others}\n    />\n  );\n};\n\nexport default SVGIcon;\n", "import { isServer } from '../../utils';\n\ntype Env = {\n  buyUrl: string;\n};\n\nclass GlobalConfig {\n  #devEnv: Env = {\n    buyUrl: 'https://ramp-debug.particle.network',\n  };\n\n  #stagingEnv: Env = {\n    buyUrl: 'https://ramp-staging.particle.network',\n  };\n\n  #productionEnv: Env = {\n    buyUrl: 'https://ramp.particle.network',\n  };\n\n  get env() {\n    if (!isServer() && window.__PARTICLE_ENVIRONMENT__ === 'development') {\n      return this.#devEnv;\n    } else if (!isServer() && window.__PARTICLE_ENVIRONMENT__ === 'staging') {\n      return this.#stagingEnv;\n    } else {\n      return this.#productionEnv;\n    }\n  }\n}\n\nconst globalConfig = new GlobalConfig();\nexport default globalConfig;\n", "import { useCallback, useEffect, useMemo } from 'react';\nimport { useAuthCoreModal } from '..';\n\nenum MessageType {\n  error = 'error',\n  info = 'info',\n  success = 'success',\n  warning = 'warning',\n}\n\nconst useMessage = () => {\n  const { authCoreModal } = useAuthCoreModal();\n\n  const rootModalContainer = useMemo(() => authCoreModal.rootModalContainer, [authCoreModal]);\n\n  const createMessage = useCallback(\n    (type: MessageType, content = '') => {\n      const mainContainer = document.createElement('div');\n      mainContainer.className = 'ant-message-notice';\n\n      const noticeContent = document.createElement('div');\n      noticeContent.className = 'ant-message-notice-content';\n\n      const customContent = document.createElement('div');\n      customContent.className = 'ant-message-custom-content';\n\n      const iconSpan = document.createElement('span');\n      iconSpan.setAttribute('role', 'img');\n      iconSpan.setAttribute('aria-label', 'check-circle');\n      iconSpan.className = 'anticon anticon-check-circle';\n\n      const svgIcon = document.createElement('svg');\n\n      const successIcon =\n        '<svg viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"check-circle\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\"></path></svg>';\n\n      const errorIcon =\n        '<svg viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"close-circle\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\"></path></svg>';\n\n      const infoIcon =\n        '<svg viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"info-circle\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\"></path></svg>';\n\n      const wranIcon =\n        '<svg viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"exclamation-circle\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\"></path></svg>';\n\n      if (type === MessageType.success) {\n        customContent.className += ' ant-message-success';\n        svgIcon.innerHTML = successIcon;\n      } else if (type === MessageType.error) {\n        customContent.className += ' ant-message-error';\n        svgIcon.innerHTML = errorIcon;\n      } else if (type === MessageType.info) {\n        customContent.className += ' ant-message-info';\n        svgIcon.innerHTML = infoIcon;\n      } else if (type === MessageType.warning) {\n        customContent.className += ' ant-message-warning';\n        svgIcon.innerHTML = wranIcon;\n      }\n\n      const textSpan = document.createElement('span');\n      textSpan.textContent = content;\n\n      iconSpan.appendChild(svgIcon);\n      customContent.appendChild(iconSpan);\n      customContent.appendChild(textSpan);\n      noticeContent.appendChild(customContent);\n      mainContainer.appendChild(noticeContent);\n      rootModalContainer?.querySelector('.ant-message')?.appendChild(mainContainer);\n      return mainContainer;\n    },\n    [rootModalContainer]\n  );\n\n  const error = useCallback(\n    (content: string) => {\n      const el = createMessage(MessageType.error, content);\n      setTimeout(() => {\n        rootModalContainer?.querySelector('.ant-message')?.removeChild(el);\n      }, 2000);\n    },\n    [createMessage]\n  );\n\n  const info = useCallback(\n    (content: string) => {\n      const el = createMessage(MessageType.info, content);\n      setTimeout(() => {\n        rootModalContainer?.querySelector('.ant-message')?.removeChild(el);\n      }, 2000);\n    },\n    [createMessage]\n  );\n\n  const success = useCallback(\n    (content: string) => {\n      const el = createMessage(MessageType.success, content);\n      setTimeout(() => {\n        rootModalContainer?.querySelector('.ant-message')?.removeChild(el);\n      }, 2000);\n    },\n    [createMessage]\n  );\n\n  const warning = useCallback(\n    (content: string) => {\n      const el = createMessage(MessageType.warning, content);\n      setTimeout(() => {\n        rootModalContainer?.querySelector('.ant-message')?.removeChild(el);\n      }, 2000);\n    },\n    [createMessage]\n  );\n\n  useEffect(() => {\n    if (rootModalContainer) {\n      if (rootModalContainer.querySelector('.ant-message')) return;\n      const messageContainer = document.createElement('div');\n      messageContainer.className = 'ant-message';\n      messageContainer.style.zIndex = '999999999999999999999999';\n      rootModalContainer.appendChild(messageContainer);\n    }\n  }, [rootModalContainer]);\n\n  return {\n    error,\n    info,\n    success,\n    warning,\n  };\n};\n\nexport default useMessage;\n", "import {\n  AuthCoreEvent,\n  getSecurityAccount,\n  hasMasterPassword,\n  hasPaymentPassword,\n  isConnected,\n  isNeedRestoreWallet,\n  particleAuth,\n} from '@particle-network/auth-core';\nimport type { WalletConfig, WalletEntryPlugin } from '@particle-network/wallet';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '..';\nimport { AuthError } from '../../api/model/authError';\nimport globalConfig from '../../common/config';\nimport { AuthPage } from '../../components/customRouter';\nimport { PageType } from '../../pages/account/accountVerify/config';\nimport { sendAnalyticsActive } from '../../utils/sendAnalyticsActive';\nimport type { OpenBuyOptions, OpenBuyOptionsKeys } from '../types';\nimport useMessage from './useMessage';\n\ninterface OpenWalletOptions {\n  windowSize?: 'small' | 'large';\n  pathName?: string;\n  query?: {\n    [key: string]: unknown;\n  };\n  topMenuType?: 'close' | 'fullscreen';\n}\n\nexport const useAuthCore = () => {\n  const navigate = useCustomNavigate();\n  const { userInfo, modalOptions, walletEntryPlugin } = useParticleAuth();\n  const [needRestoreWallet, setNeedRestoreWallet] = useState(isNeedRestoreWallet());\n  const { t } = useTranslation();\n  const message = useMessage();\n\n  const openAccountAndSecurity = useCallback(() => {\n    navigate(AuthPage.AccountSecurity);\n  }, [navigate]);\n\n  const openSetMasterPassword = useCallback(() => {\n    if (hasMasterPassword()) {\n      throw new Error('Master password already exists.');\n    }\n    navigate('account/master-password');\n  }, [navigate]);\n\n  const openChangeMasterPassword = useCallback(() => {\n    if (!hasMasterPassword()) {\n      throw new Error('Master password not exist, please set it first!');\n    }\n    if (isNeedRestoreWallet()) {\n      throw new Error('Wallet not restore, please restore it by master password first!');\n    }\n    navigate('account/master-password/change');\n  }, [navigate]);\n\n  const openRestoreByMasterPassword = useCallback(() => {\n    if (!hasMasterPassword()) {\n      throw new Error('Master password not exists.');\n    }\n    if (!isNeedRestoreWallet()) {\n      throw new Error('Wallet has been restore.');\n    }\n    navigate(AuthPage.MasterPasswordVerify);\n  }, [navigate]);\n\n  const openWallet = useCallback(\n    (options?: OpenWalletOptions) => {\n      const { windowSize, pathName, query, topMenuType } = options || {};\n      if (!isConnected()) {\n        throw AuthError.notLogin();\n      }\n      const walletEntry: WalletEntryPlugin = walletEntryPlugin || window.walletEntryPlugin;\n      if (!walletEntry) {\n        const errorMsg = t('error.wallet_not_activated');\n        message.warning(errorMsg);\n        throw new Error(errorMsg);\n      }\n      walletEntry.openWallet({\n        windowSize: windowSize || 'large',\n        pathName: pathName || '/',\n        query,\n        topMenuType,\n      });\n      sendAnalyticsActive('open_wallet');\n    },\n    [walletEntryPlugin, t]\n  );\n\n  const getWalletIFrame = useCallback(\n    (options?: WalletConfig): HTMLIFrameElement => {\n      if (!isConnected()) {\n        throw AuthError.notLogin();\n      }\n      if (modalOptions.wallet === false) {\n        throw new Error('The embedded wallet is disabled.');\n      }\n      if (!walletEntryPlugin) {\n        throw new Error('wallet plugin load failed.');\n      }\n      return walletEntryPlugin.getWalletIFrame(options);\n    },\n    [modalOptions.wallet, walletEntryPlugin]\n  );\n\n  const openBuy = useCallback(\n    (options?: OpenBuyOptions) => {\n      let url = `${globalConfig.env.buyUrl}/?language=${modalOptions.language || 'en'}&theme=${\n        modalOptions.themeType || 'light'\n      }`;\n      if (modalOptions.wallet && modalOptions.wallet?.customStyle) {\n        const { light, dark } = modalOptions.wallet.customStyle;\n        url += `&customStyle=${encodeURIComponent(Buffer.from(JSON.stringify({ light, dark })).toString('base64'))}`;\n      }\n\n      if (options) {\n        Object.keys(options).forEach((key) => {\n          const value = options[key as OpenBuyOptionsKeys];\n          if (value) {\n            url += `&${key}=${encodeURIComponent(value)}`;\n          }\n        });\n      }\n      if (typeof window !== 'undefined') {\n        window.open(url);\n      }\n    },\n    [modalOptions.wallet, modalOptions.themeType, modalOptions.language]\n  );\n\n  const openSetPaymentPassword = useCallback(\n    (securityAccountEmailOrPhone: string) => {\n      const securityAccount = getSecurityAccount();\n      if (!securityAccount.email && !securityAccount.phone) {\n        throw new Error('Please set security account first!');\n      }\n      if (hasPaymentPassword()) {\n        throw new Error('Payment password already exists.');\n      }\n\n      if (\n        securityAccountEmailOrPhone &&\n        securityAccountEmailOrPhone !== securityAccount.email &&\n        securityAccountEmailOrPhone !== securityAccount.phone\n      ) {\n        throw new Error('Invalid security account.');\n      }\n      navigate('account/set-password', {\n        state: {\n          account: securityAccountEmailOrPhone,\n        },\n      });\n    },\n    [navigate]\n  );\n\n  const openChangePaymentPassword = useCallback(() => {\n    if (!hasPaymentPassword()) {\n      throw new Error('Payment password not exists.');\n    }\n    navigate('account/change-password');\n  }, [navigate]);\n\n  const openSetSecurityAccount = useCallback(() => {\n    const securityAccount = getSecurityAccount();\n    if (securityAccount.email && securityAccount.phone) {\n      throw new Error('Security account already exists.');\n    }\n\n    const showSwitch = !securityAccount.email && !securityAccount.phone;\n\n    if ((securityAccount.email && !securityAccount.phone) || (!securityAccount.email && securityAccount.phone)) {\n      navigate('/account/verify', {\n        state: {\n          account: securityAccount.email || securityAccount.phone,\n          authType: securityAccount.email ? 'phone' : 'email',\n          redirectUrl: '/account/security',\n          pageType: PageType.VerifySecurityAccount_SetSecurityAccount,\n        },\n      });\n    } else {\n      if (userInfo?.email && !securityAccount.phone) {\n        navigate('account/bind', {\n          state: { showSwitch, accountType: 'phone', redirectUrl: AuthPage.AccountSecurity },\n        });\n      } else if (!securityAccount.email) {\n        navigate('account/bind', {\n          state: { showSwitch, accountType: 'email', redirectUrl: AuthPage.AccountSecurity },\n        });\n      } else {\n        navigate('account/bind', {\n          state: { showSwitch, accountType: 'phone', redirectUrl: AuthPage.AccountSecurity },\n        });\n      }\n    }\n  }, [navigate, userInfo]);\n\n  const openLinkLoginAccount = useCallback(() => {\n    const securityAccount = getSecurityAccount();\n    if (!securityAccount.email && !securityAccount.phone) {\n      throw new Error('Please set security account first!');\n    }\n    navigate(AuthPage.LoginAccount);\n  }, [navigate]);\n\n  useEffect(() => {\n    if (userInfo) {\n      setNeedRestoreWallet(isNeedRestoreWallet());\n    } else {\n      setNeedRestoreWallet(false);\n    }\n  }, [userInfo]);\n\n  useEffect(() => {\n    const onWalletRestored = () => {\n      setNeedRestoreWallet(isNeedRestoreWallet());\n    };\n    particleAuth.on(AuthCoreEvent.ParticleWalletRestored, onWalletRestored);\n    return () => {\n      particleAuth.off(AuthCoreEvent.ParticleWalletRestored, onWalletRestored);\n    };\n  }, []);\n\n  return {\n    userInfo,\n    needRestoreWallet,\n    openAccountAndSecurity,\n    openSetMasterPassword,\n    openChangeMasterPassword,\n    openRestoreByMasterPassword,\n    openSetPaymentPassword,\n    openChangePaymentPassword,\n    openSetSecurityAccount,\n    openLinkLoginAccount,\n    openWallet,\n    getWalletIFrame,\n    openBuy,\n  };\n};\n", "import {\n  AuthCoreEvent,\n  AuthType,\n  check,\n  disconnect,\n  getCloudflareTurnstileResponse,\n  getConnectCaptcha,\n  isConnected,\n  isNullish,\n  particleAuth,\n  requireNotNullish,\n  type CloudflareOptions,\n  type ConnectParam,\n  type E164Phone,\n  type UserInfo,\n} from '@particle-network/auth-core';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { AuthPage } from '../../components/customRouter';\nimport { useCustomNavigate, useEvents, useParticleAuth } from '../../context';\nimport { isValidCaptcha, isValidE164PhoneNumber, isValidEmail } from '../../utils';\nimport { AuthCoreModalEvent } from '../types';\nimport useLogin from './useLogin';\n\nexport const useConnect = () => {\n  const navigate = useCustomNavigate();\n  const { events } = useEvents();\n  const {\n    modalOptions,\n    setLoginAuthorization,\n    setConnectionStatus,\n    connectionStatus,\n    setAuthCoreModal,\n    socialConnectCallback,\n    setSocialConnectCallback,\n  } = useParticleAuth();\n  const { loginHandler, socialAuthLogin } = useLogin();\n\n  const isLoginDirectly = useCallback((options: ConnectParam) => {\n    // @ts-ignore\n    const { email, phone, code, provider, thirdpartyCode, socialType } = options;\n\n    return (\n      ((isValidEmail(email) || isValidE164PhoneNumber(phone)) && isValidCaptcha(code)) ||\n      socialType ||\n      (provider && thirdpartyCode)\n    );\n  }, []);\n\n  const connect = useCallback(\n    async (options?: ConnectParam): Promise<UserInfo | undefined> => {\n      if (options && options.authorization) {\n        check(options.chain, 'chain is required when authorization is provided');\n      }\n      if (options && modalOptions.authTypes && modalOptions.authTypes.length > 0) {\n        if ('email' in options && !isNullish(options.email)) {\n          check(\n            modalOptions.authTypes.includes(AuthType.email),\n            'Email login is not supported, please add AuthType.email to AuthCoreContextProvider init-param \"authTypes\"'\n          );\n        } else if ('phone' in options && !isNullish(options.phone)) {\n          check(\n            modalOptions.authTypes.includes(AuthType.phone),\n            'Phone login is not supported, please add AuthType.phone to AuthCoreContextProvider init-param \"authTypes\"'\n          );\n        } else if ('socialType' in options && options.socialType) {\n          const type = (options.socialType as string) === 'twitterv1' ? 'twitter' : options.socialType;\n          check(\n            modalOptions.authTypes.includes(type as AuthType),\n            `${type} login is not supported, please add AuthType.${type} to AuthCoreContextProvider init-param \"authTypes\"`\n          );\n        } else if ('provider' in options && options.provider && 'thirdpartyCode' in options && options.thirdpartyCode) {\n          check(\n            modalOptions.authTypes.includes(options.provider),\n            `${options.provider} login is not supported, please add ${options.provider} to AuthCoreContextProvider init-param \"authTypes\"`\n          );\n        }\n      }\n      setConnectionStatus('connecting');\n      return new Promise((resolve, reject) => {\n        events.once(AuthCoreModalEvent.LoginSuccess, (userInfo) => {\n          setConnectionStatus('connected');\n          // \u5173\u95ED\u7A97\u53E3\n          setAuthCoreModal({\n            particleModalVisible: false,\n          });\n          const { socialType, nonce, code } = (options as any) || {};\n          if (socialType && nonce && code) {\n            socialConnectCallback?.onSuccess?.(userInfo);\n          }\n          resolve(userInfo);\n        });\n\n        events.once(AuthCoreModalEvent.LoginFail, (error) => {\n          setConnectionStatus('disconnected');\n          setAuthCoreModal({\n            particleModalVisible: false,\n          });\n          const { socialType, nonce, code } = (options as any) || {};\n          if (socialType && nonce && code) {\n            socialConnectCallback?.onError?.(error);\n          }\n          reject(error);\n        });\n        if (options && isLoginDirectly(options)) {\n          // social login, jwt, telegram, phone with code, email with code.\n          const { authorization, chain, socialType, nonce, prompt, code } = options as any;\n          if (authorization) {\n            setLoginAuthorization({ authorization, chain: requireNotNullish(chain) });\n          } else {\n            setLoginAuthorization(undefined);\n          }\n          if (socialType && (!nonce || !code)) {\n            socialAuthLogin({\n              socialType,\n              prompt,\n              authorization,\n              chain,\n            });\n          } else {\n            loginHandler(options as ConnectParam);\n          }\n        } else {\n          navigate(AuthPage.Login, {\n            state: options,\n          });\n        }\n      });\n    },\n    [events, modalOptions.authTypes, loginHandler, isLoginDirectly, navigate, socialConnectCallback]\n  );\n\n  useEffect(() => {\n    const onConnect = () => {\n      setConnectionStatus('connected');\n    };\n\n    const onDisconnect = () => {\n      setConnectionStatus('disconnected');\n    };\n    particleAuth.on(AuthCoreEvent.ParticleAuthConnect, onConnect);\n    particleAuth.on(AuthCoreEvent.ParticleAuthDisconnect, onDisconnect);\n\n    if (isConnected()) {\n      setConnectionStatus('connected');\n    }\n\n    return () => {\n      particleAuth.off(AuthCoreEvent.ParticleAuthConnect, onConnect);\n      particleAuth.off(AuthCoreEvent.ParticleAuthDisconnect, onDisconnect);\n    };\n  }, []);\n\n  const requestConnectCaptcha = useCallback(\n    async (\n      config: { email: string } | { phone: E164Phone; cloudflareOptions?: CloudflareOptions }\n    ): Promise<boolean> => {\n      if ('email' in config && config.email) {\n        return await getConnectCaptcha(config);\n      } else if ('phone' in config && config.phone) {\n        const token = await getCloudflareTurnstileResponse(config.cloudflareOptions);\n        // eslint-disable-next-line camelcase\n        return await getConnectCaptcha({ phone: config.phone, cf_turnstile_response: token });\n      }\n      throw new Error('Invalid config');\n    },\n    []\n  );\n\n  const connected = useMemo(() => connectionStatus === 'connected', [connectionStatus]);\n\n  return {\n    connect,\n    disconnect,\n    connectionStatus,\n    connected,\n    requestConnectCaptcha,\n    setSocialConnectCallback,\n  };\n};\n", "import type { AuthType, ERC4337Options } from '@particle-network/auth-core';\nimport type { WalletOption } from '@particle-network/wallet';\nimport { useParticleAuth } from '..';\nimport type { CurrencyUnit, Theme } from '../../types';\nimport { type CustomStyle, type Language } from '../types';\nimport type { PromptSettingConfig } from './../../api/model/bundle';\n\nexport const useCustomize = () => {\n  const { modalOptions, setModalOptions } = useParticleAuth();\n\n  const setThemeType = (themeType?: Theme) => {\n    setModalOptions({\n      themeType,\n    });\n  };\n\n  const setCustomStyle = (customStyle?: CustomStyle) => {\n    setModalOptions({\n      customStyle: customStyle ? { ...customStyle } : undefined,\n    });\n  };\n\n  const setLanguage = (language?: Language) => {\n    setModalOptions({\n      language,\n    });\n  };\n\n  const setAuthTypes = (authTypes?: AuthType[]) => {\n    setModalOptions({\n      authTypes: authTypes ? [...authTypes] : undefined,\n    });\n  };\n\n  const setFiatCoin = (fiatCoin?: CurrencyUnit) => {\n    setModalOptions({\n      fiatCoin,\n    });\n  };\n\n  const setERC4337 = (erc4337?: ERC4337Options) => {\n    setModalOptions({\n      erc4337,\n    });\n  };\n\n  const setWalletOptions = (wallet: Omit<WalletOption, 'language' | 'erc4337'> | false) => {\n    setModalOptions({\n      wallet: wallet === false ? wallet : { ...wallet },\n    });\n  };\n\n  const setPromptSettingConfig = (promptSettingConfig?: PromptSettingConfig) => {\n    setModalOptions({\n      promptSettingConfig,\n    });\n  };\n\n  return {\n    themeType: modalOptions.themeType,\n    setThemeType,\n    customStyle: modalOptions.customStyle,\n    setCustomStyle: setCustomStyle,\n    walletOptions: modalOptions.wallet,\n    setWalletOptions,\n    language: modalOptions.language,\n    setLanguage,\n    authTypes: modalOptions.authTypes,\n    setAuthTypes,\n    fiatCoin: modalOptions.fiatCoin,\n    setFiatCoin,\n    erc4337: modalOptions.erc4337,\n    setERC4337,\n    promptSettingConfig: modalOptions.promptSettingConfig,\n    setPromptSettingConfig,\n  };\n};\n", "import { isHexString } from '@ethereumjs/util';\nimport type { Chain } from '@particle-network/auth-core';\nimport {\n  defaultTokenIcon,\n  getChainIcon,\n  getChainInfo,\n  getEVMChainInfoById,\n  getSolanaChainInfoById,\n  tronAddressFromHex,\n} from '@particle-network/auth-core';\nimport type { Chain as ViemChain } from 'viem/chains';\n\nexport const getChainDisplayName = (chain: ViemChain | Chain) => {\n  const chainInfo = getChainInfo(chain);\n  if (!chainInfo) {\n    return '';\n  }\n  let cnahnIname = '';\n  if (!chainInfo.testnet && !chainInfo.name.toLowerCase().includes('mainnet')) {\n    cnahnIname = chainInfo.name + ' Mainnet';\n  } else {\n    cnahnIname = chainInfo.name;\n  }\n  return cnahnIname.replace('BNB Smart Chain', 'BNB Chain').replace('Binance Smart Chain', 'BNB Chain');\n};\n\nexport function getNativeSymbol(chain: Chain): string {\n  return (getChainInfo(chain)?.nativeCurrency?.symbol || '').replace('tBNB', 'BNB');\n}\n\nexport function getEvmChain(id: number) {\n  return getEVMChainInfoById(id);\n}\n\nexport function getSolanaChain(id: number) {\n  return getSolanaChainInfoById(id);\n}\n\nexport function formatAddress(address: string, chain: Chain): string {\n  if (isTron(chain) && isHexString(address)) {\n    return tronAddressFromHex(address);\n  }\n  return address;\n}\n\nexport function isSolana(chain: Chain) {\n  return chain.name.toLowerCase() === 'solana';\n}\n\nexport function isEvm(chain: Chain) {\n  return chain.name.toLowerCase() !== 'solana';\n}\n\nexport function isTron(chain?: Chain) {\n  return chain && chain.name.toLowerCase() === 'tron';\n}\n\nexport const formatPng = (src = '') => {\n  if (!src) return src;\n  return src + (src.includes('?') ? '&' : '?') + 'x-oss-process=image/format,png';\n};\n\nexport function getNativeTokenIcon(chain?: Chain): string {\n  if (chain) {\n    const chainInfo = getChainInfo(chain);\n    if (chainInfo) {\n      const symbol = chainInfo?.nativeCurrency.symbol?.toLowerCase() || '';\n      if (['bnb', 'btc', 'eth', 'stbtc', 'usdc', 'usdt'].includes(symbol)) {\n        return `https://static.particle.network/chains/evm/symbol/${symbol}.png`;\n      } else {\n        return getChainIcon(chainInfo);\n      }\n    } else {\n      return defaultTokenIcon;\n    }\n  }\n  return defaultTokenIcon;\n}\n", "import type { PrefixedHexString, ToBufferInputTypes } from '@ethereumjs/util';\nimport { bufferToHex, isHexString, toBuffer } from '@ethereumjs/util';\nimport { isSocialAuthType } from '@particle-network/auth-core';\nimport type BN from 'bn.js';\nimport { isValidPhoneNumber, parsePhoneNumber } from 'libphonenumber-js/max';\n\nexport function shortString(str: any): string {\n  if (Array.isArray(str)) {\n    str = '[' + str.toString() + ']';\n  }\n  if (str) {\n    if (typeof str.toString === 'function') {\n      str = str.toString();\n    }\n    if (str.length <= 10) {\n      return str;\n    }\n    return `${str.slice(0, 5)}...${str.slice(str.length - 5, str.length)}`;\n  }\n  return '';\n}\n\nexport const displayEmail = (email: string): string => {\n  if (!email) {\n    return '';\n  }\n  const parts = email.split('@');\n  if (parts[0].length <= 3) {\n    return `${parts[0]}****@${parts[1]}`;\n  } else {\n    return `${parts[0].slice(0, 3)}****@${parts[1]}`;\n  }\n};\n\nexport const displayPhone = (phone: string) => {\n  if (!phone) {\n    return '';\n  }\n  if (isValidPhoneNumber(phone)) {\n    const phoneNumber = parsePhoneNumber(phone);\n    const countryCode = phoneNumber.countryCallingCode;\n    const code = phoneNumber.nationalNumber.toString();\n\n    if (code && countryCode) {\n      const count = code.length >= 6 ? 3 : Math.floor(code.length / 2);\n      return `+${countryCode} ${code.slice(0, count)}****${code.slice(-count)}`;\n    }\n  }\n  return phone;\n};\n\ndeclare global {\n  interface String {\n    format(...params: string[]): string;\n    titleCase(): string;\n  }\n}\n\n/*eslint no-extend-native: [\"error\", { \"exceptions\": [\"String\"] }]*/\nString.prototype.format = function (...params: string[]): string {\n  const args = params;\n  return this.replace(/{(\\d+)}/g, function (match, number) {\n    return typeof args[number] != 'undefined' ? args[number] : match;\n  });\n};\n\nString.prototype.titleCase = function (): string {\n  if (this.length === 0) {\n    return '';\n  } else if (this.length === 1) {\n    return this.toUpperCase();\n  }\n\n  return this.slice(0, 1).toUpperCase() + this.slice(1);\n};\n\nexport function assert(condition: any, message?: any) {\n  if (!condition) {\n    throw new Error(message || 'Assertion failed');\n  }\n}\n\nexport function isSocialLogin(type: string): boolean {\n  return isSocialAuthType(type);\n}\n\n/**\n * Returns `true` if the given value is nullish.\n *\n * @param value - The value being checked.\n * @returns Whether the value is nullish.\n */\nexport function isNullish(value: any) {\n  return value === null || value === undefined;\n}\n\n/**\n * Convert a value to a Buffer.\n *\n * @param value - The value to convert to a Buffer.\n * @returns The given value as a Buffer.\n */\nexport function legacyToBuffer(value: ToBufferInputTypes) {\n  return typeof value === 'string' && !isHexString(value) ? Buffer.from(value) : toBuffer(value);\n}\n\nexport function toHexPrefixString(value: ToBufferInputTypes): PrefixedHexString {\n  if (typeof value === 'string' && isHexString(value)) {\n    return value;\n  } else {\n    return bufferToHex(legacyToBuffer(value));\n  }\n}\n\n/**\n * Convert BN to 0x-prefixed hex string.\n */\nexport function bnToHex(value: BN): PrefixedHexString {\n  return `0x${value.toString(16)}`;\n}\n\nexport function popupwindow(url: string, title: string, w: number, h: number): Window | null {\n  const left = screen.width / 2 - w / 2;\n  const top = screen.height / 2 - h / 2;\n  return window.open(\n    url,\n    title,\n    'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' +\n      w +\n      ', height=' +\n      h +\n      ', top=' +\n      top +\n      ', left=' +\n      left\n  );\n}\n\nexport function popupwindowNoLimit(url: string, title: string, w: number, h: number): Window | null {\n  const left = screen.width / 2 - w / 2;\n  const top = screen.height / 2 - h / 2;\n  return window.open(url, title, 'width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);\n}\n\nexport function isInIframe(): boolean {\n  return window.location !== window.parent.location;\n}\n\n/**\n * \u7A97\u53E3\u4FE1\u606F\u4F20\u9012\n */\nexport function authPostMessage(key: string, data: any) {\n  data = {\n    ...data,\n    name: key,\n    _: Date.now(),\n  };\n  try {\n    window.parent.postMessage(data, '*');\n  } catch (error) {\n    // pass\n  }\n  try {\n    window.opener.postMessage(data, '*');\n  } catch (error) {\n    // pass\n  }\n  try {\n    window.opener.parent.postMessage(data, '*');\n  } catch (error) {\n    // pass\n  }\n  sessionStorage.setItem(key, JSON.stringify(data));\n  localStorage.setItem(key, JSON.stringify(data));\n}\n\n/**\n * \u53E3\u4FE1\u606F\u63A5\u6536\n * @param key\n * @param cb\n * @returns\n */\nexport function authReceiveMessage(key: string, cb: any) {\n  const messageHandler = (event: any) => {\n    if (event instanceof MessageEvent || event instanceof StorageEvent) {\n      let data;\n      if (event instanceof MessageEvent) {\n        data = event.data;\n      } else {\n        // @ts-ignore\n        data = JSON.parse(event.newValue);\n      }\n\n      if (data?.name === key) {\n        const newData = {\n          ...data,\n          messageType: event instanceof MessageEvent ? 'message' : 'storage',\n        };\n        cb(newData);\n      }\n    }\n  };\n\n  window.addEventListener('message', messageHandler);\n  window.addEventListener('storage', messageHandler);\n\n  return {\n    destroyMessage() {\n      window.removeEventListener('message', messageHandler);\n      window.removeEventListener('storage', messageHandler);\n    },\n  };\n}\n", "import type { PrefixedHexString } from '@ethereumjs/util';\nimport { isHexString, stripHexPrefix } from '@ethereumjs/util';\nimport { BigNumber } from 'bignumber.js';\nimport BN from 'bn.js';\nimport ethjs from 'ethjs-unit';\nimport numbro from 'numbro';\nimport { bnToHex, isNullish, toHexPrefixString } from './common-utils';\n\nexport function formatTokenAmount(amount: number, decimals: number): string {\n  if (!amount || !decimals) {\n    return '0';\n  }\n\n  return numbro(amount / Math.pow(10, decimals)).format({\n    thousandSeparated: true,\n    mantissa: decimals,\n    trimMantissa: true,\n  });\n}\n\nexport function toWeiBigNumber(amount: string | number | undefined, unit = 'ether'): BigNumber {\n  return new BigNumber(bnToHex(toWei(amount, unit)));\n}\n\nexport function toBigNumber(amount: string | number | undefined): BigNumber {\n  if (typeof amount === 'string' || typeof amount === 'number') {\n    return new BigNumber(amount);\n  }\n  return new BigNumber(toHexPrefixString(amount));\n}\n\nexport function toWei(amount: BN | string | number | undefined, unit = 'ether'): BN {\n  if (!amount) {\n    return new BN(0);\n  }\n\n  return ethjs.toWei(amount, unit);\n}\n\nexport function fromWei(amount: BN | PrefixedHexString | undefined, unit = 'ether'): string {\n  if (!amount) {\n    return '0';\n  }\n\n  let result;\n  if (typeof amount === 'string' && amount.startsWith('0x')) {\n    result = ethjs.fromWei(new BN(stripHexPrefix(amount), 16), unit);\n  } else {\n    result = ethjs.fromWei(new BN(amount), unit);\n  }\n  return result;\n}\n\nexport function fromWeiFormat(amount: BN | PrefixedHexString | undefined, unit = 'ether', mantissa = 6): string {\n  if (!amount) {\n    return '0';\n  }\n\n  let result;\n  if (typeof amount === 'string' && amount.startsWith('0x')) {\n    result = ethjs.fromWei(new BN(stripHexPrefix(amount), 16), unit);\n  } else {\n    result = ethjs.fromWei(new BN(amount), unit);\n  }\n  return numbro(result).format({\n    thousandSeparated: true,\n    trimMantissa: true,\n    mantissa: mantissa,\n  });\n}\n\nexport function formatPrice({\n  amount,\n  price,\n  mantissa,\n  fiatCoin,\n}: {\n  amount: string | number;\n  price: number;\n  mantissa?: number;\n  fiatCoin: string;\n}): string {\n  if (!price) {\n    return '';\n  }\n  const value = new BigNumber(amount).multipliedBy(new BigNumber(price));\n  if (isNullish(mantissa)) {\n    if (value.lt(new BigNumber(1))) {\n      mantissa = 4;\n    } else {\n      mantissa = 2;\n    }\n  }\n\n  return `\u2248${numbro(value)\n    .format({\n      thousandSeparated: true,\n      trimMantissa: true,\n      mantissa: mantissa,\n    })\n    .replace(/-0$/, '0')} ${fiatCoin.toUpperCase()}`;\n}\n\nexport function trimDecimals(value: number | string, mantissa = 6): string {\n  return numbro(value).format({\n    thousandSeparated: true,\n    trimMantissa: true,\n    mantissa: mantissa,\n  });\n}\n\nexport function fromSunFormat(amount: PrefixedHexString | string, mantissa = 6): string {\n  const bn = new BigNumber(amount, isHexString(amount) ? 16 : 10);\n  const value = bn.div(new BigNumber(1000_000)).toString(10);\n  return numbro(value).format({\n    thousandSeparated: true,\n    trimMantissa: true,\n    mantissa: mantissa,\n  });\n}\n\n/**\n * \u683C\u5F0F\u5316\u4EE3\u5E01\u6570\u91CF\n * @param value \u539F\u59CB\u503C\uFF0C\u53EF\u4EE5\u662F BigNumber\u3001number \u6216 string \u7C7B\u578B\n * @param decimals \u5C0F\u6570\u4F4D\u6570\n * @returns \u683C\u5F0F\u5316\u540E\u7684\u4EE3\u5E01\u6570\u91CF\n */\nexport const formatTokenAmount2 = (value: BigNumber | number | string, decimals: number): string => {\n  let bn: BigNumber;\n  if (!(value instanceof BigNumber)) {\n    bn = new BigNumber(value).dividedBy(new BigNumber(10).pow(decimals));\n  } else {\n    bn = value;\n  }\n\n  const str = bn.toFixed();\n  const [int, dec] = str.split('.');\n  let decimalLength = 9;\n\n  if (int.length > 15) {\n    return bn.toExponential(2); // \u4F7F\u7528\u79D1\u5B66\u8BA1\u6570\u6CD5\uFF0C\u5C0F\u6570\u70B9\u540E\u4E24\u4F4D\n  }\n\n  if (int.length > 5) {\n    decimalLength = Math.max(9 - (int.length - 5), 0);\n  }\n\n  if (dec && decimalLength > 0) {\n    const decPart = dec.slice(0, decimalLength);\n    return new BigNumber(`${int}.${decPart}`).toFixed();\n  }\n\n  return int;\n};\n\n/**\n * \u683C\u5F0F\u5316\u6CD5\u5E01\u6570\u91CF\n * @param value \u539F\u59CB\u503C\uFF0C\u53EF\u4EE5\u662F BigNumber\u3001number \u6216 string \u7C7B\u578B\n * @returns \u683C\u5F0F\u5316\u540E\u7684\u6CD5\u5E01\u6570\u91CF\n */\nexport const formatFiatAmount = (value: BigNumber | number | string): string => {\n  let bn: BigNumber;\n  if (!(value instanceof BigNumber)) {\n    bn = new BigNumber(value);\n  } else {\n    bn = value;\n  }\n\n  const str = bn.toFixed();\n  const [int, dec] = str.split('.');\n\n  if (dec) {\n    const decPart = dec.slice(0, 4);\n    return new BigNumber(`${int}.${decPart}`).toFixed();\n  }\n\n  return int;\n};\n", "import { isHexString } from '@ethereumjs/util';\nimport type { Chain, GasFeeMode } from '@particle-network/auth-core';\nimport {\n  isChainSupportEIP1559,\n  tronAddressToHex,\n  type EIP1559TxData,\n  type EVMTransaction,\n  type TxData,\n} from '@particle-network/auth-core';\nimport { BigNumber } from 'bignumber.js';\nimport type { Chain as ViemChain } from 'viem/chains';\nimport { toHexPrefixString } from './common-utils';\nexport function isEIP1559Type(type: string | number | undefined): boolean {\n  if (typeof type == 'number') {\n    return type === 2;\n  } else if (typeof type == 'string') {\n    return Number(type) === 2;\n  }\n  return false;\n}\n\nconst parseValue = (value: string | number) => {\n  if (typeof value === 'string') {\n    if (value.startsWith('0x')) {\n      return value;\n    } else {\n      return `0x${new BigNumber(value).toString(16)}`;\n    }\n  } else {\n    return toHexPrefixString(value);\n  }\n};\n\nexport function parseTransaction(txData: TxData | EIP1559TxData, chainInfo: ViemChain): EVMTransaction {\n  let nonce,\n    gasPrice,\n    gasLimit,\n    from,\n    to,\n    value,\n    data,\n    type,\n    chainId,\n    maxPriorityFeePerGas,\n    maxFeePerGas,\n    action,\n    gasLevel;\n\n  const tron = isTron(chainInfo);\n  if (tron && !isHexString(txData.from)) {\n    from = tronAddressToHex(txData.from);\n  } else {\n    from = txData.from;\n  }\n  if (txData.to) {\n    if (tron && !isHexString(txData.to)) {\n      to = tronAddressToHex(txData.to);\n    } else {\n      to = txData.to;\n    }\n  }\n\n  if (txData.gas && !txData.gasLimit) {\n    gasLimit = parseValue(txData.gas);\n  } else if (txData.gasLimit) {\n    gasLimit = parseValue(txData.gasLimit);\n  }\n  if (txData.value) {\n    value = parseValue(txData.value);\n  }\n  if (txData.data) {\n    data = toHexPrefixString(txData.data);\n  }\n  if (txData.chainId) {\n    chainId = parseValue(txData.chainId);\n  } else {\n    chainId = parseValue(chainInfo.id);\n  }\n  if (txData.nonce) {\n    nonce = parseValue(txData.nonce);\n  }\n  if ('maxPriorityFeePerGas' in txData && txData.maxPriorityFeePerGas) {\n    maxPriorityFeePerGas = parseValue(txData.maxPriorityFeePerGas);\n  }\n  if ('maxFeePerGas' in txData && txData.maxFeePerGas) {\n    maxFeePerGas = parseValue(txData.maxFeePerGas);\n  }\n  if (txData.gasPrice) {\n    gasPrice = parseValue(txData.gasPrice);\n  }\n\n  if (txData.type || txData.type === 0) {\n    type = parseValue(txData.type);\n  } else {\n    if (\n      'maxPriorityFeePerGas' in txData &&\n      txData.maxPriorityFeePerGas &&\n      'maxFeePerGas' in txData &&\n      txData.maxFeePerGas &&\n      isChainSupportEIP1559(txData)\n    ) {\n      type = '0x2';\n    } else if ('gasPrice' in txData && txData.gasPrice) {\n      type = '0x0';\n    } else {\n      type = isChainSupportEIP1559(txData) ? '0x2' : '0x0';\n    }\n  }\n\n  if (txData.action && ['normal', 'cancel', 'speedup'].includes(txData.action)) {\n    action = txData.action;\n  } else {\n    action = undefined;\n  }\n\n  if (txData.gasLevel && ['custom', 'low', 'medium', 'high'].includes(txData.gasLevel)) {\n    gasLevel = txData.gasLevel as GasFeeMode;\n  } else {\n    gasLevel = undefined;\n  }\n\n  return {\n    nonce,\n    gasPrice,\n    gasLimit,\n    from,\n    to,\n    value,\n    data,\n    type,\n    chainId,\n    maxPriorityFeePerGas,\n    maxFeePerGas,\n    action,\n    gasLevel,\n  };\n}\n\nexport function isEMVMethod(method: string): boolean {\n  return typeof method === 'string' && (method.startsWith('eth_') || method.startsWith('personal_'));\n}\n\n/**\n * isEVMAddress\n * @param address\n * @returns\n */\nexport function isEVMAddress(address: string): boolean {\n  // @ts-ignore\n  return address && address.length === 42 && address.startsWith('0x');\n}\n\nexport function isTron(chain: Chain): boolean {\n  return chain.name.toLowerCase() === 'tron';\n}\n", "import {\n  EvmEnhancedMethod,\n  GasFeeMode,\n  getEVMChainInfoById,\n  isNullish,\n  particleAuth,\n  type EIP1559TxData,\n  type GasFeeResult,\n  type TxData,\n} from '@particle-network/auth-core';\nimport { bnToHex } from './common-utils';\nimport { toWei } from './number-utils';\nimport { parseTransaction } from './transaction-utils';\n\nconst evmSendTransaction = async (transaction: Omit<TxData | EIP1559TxData, 'from'>): Promise<string> => {\n  const chainId = Number(transaction.chainId || particleAuth.ethereum.chainId);\n  const txData = {\n    ...transaction,\n    from: particleAuth.ethereum.selectedAddress!,\n    chainId,\n  };\n\n  const chain = getEVMChainInfoById(chainId)!;\n\n  if (isNullish(txData.data)) {\n    txData.data = '0x';\n  }\n\n  const evmTx = parseTransaction(txData, chain);\n\n  if (!evmTx.gasLimit) {\n    evmTx.gasLimit = await fetchEstimateGas(\n      { from: evmTx.from, to: evmTx.to, value: evmTx.value, data: evmTx.data },\n      chainId\n    );\n  }\n\n  if (Number(evmTx.type) === 2) {\n    if (!evmTx.maxPriorityFeePerGas || !evmTx.maxFeePerGas) {\n      const gasFee = await fetchSuggestedGasFee(chainId);\n      evmTx.maxFeePerGas = bnToHex(toWei(gasFee[GasFeeMode.medium].maxFeePerGas, 'gwei'));\n      evmTx.maxPriorityFeePerGas = bnToHex(toWei(gasFee[GasFeeMode.medium].maxPriorityFeePerGas, 'gwei'));\n    }\n  } else {\n    if (!evmTx.gasPrice) {\n      const gasFee = await fetchSuggestedGasFee(chainId);\n      evmTx.gasPrice = bnToHex(toWei(gasFee[GasFeeMode.medium].maxFeePerGas, 'gwei'));\n    }\n  }\n\n  const result = await particleAuth.ethereum.sendTransaction(evmTx);\n  return result;\n};\n\nconst fetchEstimateGas = async (\n  param: {\n    from: string;\n    to?: string;\n    value?: string | number;\n    data?: string;\n  },\n  chainId: number\n): Promise<string> => {\n  if (!param.to || param.to.length === 0) {\n    delete param.to;\n  }\n  const result = await particleAuth.ethereum.request({\n    chainId,\n    method: 'eth_estimateGas',\n    params: [param],\n  });\n  return result;\n};\n\nconst fetchSuggestedGasFee = async (chainId: number): Promise<GasFeeResult> => {\n  const result = await particleAuth.ethereum.request({\n    chainId,\n    method: EvmEnhancedMethod.suggestedGasFees,\n  });\n  return result;\n};\n\nexport default evmSendTransaction;\n", "import { addHexPrefix, isHexString } from '@ethereumjs/util';\nimport { providerErrors, rpcErrors } from '@metamask/rpc-errors';\nimport {\n  EvmRpcMethod,\n  ethereumUtils,\n  getEVMChainInfoById,\n  isChainSupportEIP1559,\n  isNullish,\n  particleAuth,\n  requireNotNullish,\n  type ConnectParam,\n  type EIP1193Provider,\n  type EIP1559TxData,\n  type MessageTypes,\n  type PrefixedHexString,\n  type RpcInput,\n  type SignTypedDataVersion,\n  type TxData,\n  type TypedDataV1,\n  type TypedMessage,\n} from '@particle-network/auth-core';\n\nexport class EVMProvider implements EIP1193Provider {\n  readonly isParticleNetwork = true;\n\n  isSocialConnecting?: boolean;\n\n  signMessage = async (message: PrefixedHexString | string, uniq?: boolean): Promise<string> => {\n    throw new Error('signMessage not implemented.');\n  };\n\n  sendTransaction = async (transaction: Omit<TxData | EIP1559TxData, 'from'>): Promise<string> => {\n    throw new Error('sendTransaction not implemented.');\n  };\n\n  signTypedData = async <V extends SignTypedDataVersion, T extends MessageTypes>({\n    data,\n    version,\n    uniq,\n  }: {\n    data: V extends 'V1' ? TypedDataV1 : TypedMessage<T>;\n    version: V;\n    uniq?: boolean;\n  }): Promise<string> => {\n    throw new Error('signTypedData not implemented.');\n  };\n\n  get selectedAddress(): string | null {\n    return requireNotNullish(particleAuth).ethereum.selectedAddress;\n  }\n\n  get chainId(): string {\n    return requireNotNullish(particleAuth).ethereum.chainId;\n  }\n\n  isConnected(): boolean {\n    return requireNotNullish(particleAuth).ethereum.isConnected();\n  }\n\n  on(event: string, listener: (...args: any[]) => void): this {\n    particleAuth.ethereum.on(event, listener);\n    return this;\n  }\n\n  once(event: string, listener: (...args: any[]) => void): this {\n    particleAuth.ethereum.once(event, listener);\n    return this;\n  }\n\n  off(event: string, listener: (...args: any[]) => void): this {\n    particleAuth.ethereum.off(event, listener);\n    return this;\n  }\n\n  removeListener(event: string, listener: (...args: any[]) => void): this {\n    particleAuth.ethereum.removeListener(event, listener);\n    return this;\n  }\n\n  /**\n   * \u9002\u914D [web3modal](https://github.com/WalletConnect/web3modal)\n   * @param event\n   */\n  private emit(event: string) {\n    if (event === 'disconnect') {\n      this.disconnect();\n    }\n  }\n\n  /**\n   * @deprecated user `request` instead\n   */\n  async enable(): Promise<string[]> {\n    return await requireNotNullish(particleAuth).ethereum.enable();\n  }\n\n  async disconnect() {\n    return await requireNotNullish(particleAuth).ethereum.disconnect();\n  }\n\n  async connect(param?: ConnectParam): Promise<string[]> {\n    return await requireNotNullish(particleAuth).ethereum.connect(param);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  async request(data: Partial<RpcInput>): Promise<any> {\n    const method = data.method;\n    if (!method) {\n      throw rpcErrors.invalidParams('Invalid parameters: method is required.');\n    }\n    if (Object.values(EvmRpcMethod).includes(method as EvmRpcMethod)) {\n      if (method === EvmRpcMethod.ethAccounts || method === EvmRpcMethod.ethRequestAccounts) {\n        return await requireNotNullish(particleAuth).ethereum.request(data);\n      } else if (method === EvmRpcMethod.ethChainId) {\n        return this.chainId;\n      } else if (method.startsWith(EvmRpcMethod.ethSignTypedData)) {\n        this.#checkConnected();\n        /**\n         * v1: https://medium.com/metamask/scaling-web3-with-signtypeddata-91d6efc8b290\n         * v3: https://medium.com/metamask/eip712-is-coming-what-to-expect-and-how-to-use-it-bb92fd1a7a26\n         * v4: https://docs.metamask.io/wallet/reference/eth_signtypeddata_v4/\n         */\n        const isV1 = ethereumUtils.isSignTypedDataV1(method);\n        const from = isV1 ? data?.params?.[1] : data?.params?.[0];\n        let typedData = isV1 ? data?.params?.[0] : data?.params?.[1];\n        if (!from || typeof from !== 'string') {\n          throw rpcErrors.invalidParams('Invalid parameters: must provide an Ethereum address.');\n        }\n        if (!typedData) {\n          throw rpcErrors.invalidParams('Invalid parameters: must provide typed data.');\n        }\n        if (from.toLowerCase() !== this.selectedAddress?.toLowerCase()) {\n          throw providerErrors.unauthorized();\n        }\n        if (typeof typedData === 'string') {\n          typedData = JSON.parse(typedData);\n        }\n        const uniq = ethereumUtils.isUniq(method);\n        const version = ethereumUtils.getSignTypedVersion(method);\n\n        const result = await this.signTypedData({\n          data: typedData as any, // eslint-disable-line\n          version,\n          uniq,\n        });\n        return result;\n      } else if (method.startsWith(EvmRpcMethod.personalSign)) {\n        this.#checkConnected();\n        let message = data?.params?.[0];\n        const from = data?.params?.[1];\n        if (!message || typeof message !== 'string') {\n          throw rpcErrors.invalidParams('Invalid parameters: must provide a valid message.');\n        }\n        if (!from || typeof from !== 'string') {\n          throw rpcErrors.invalidParams('Invalid parameters: must provide an Ethereum address.');\n        }\n        if (from.toLowerCase() !== this.selectedAddress?.toLowerCase()) {\n          throw providerErrors.unauthorized();\n        }\n\n        if (!isHexString(message)) {\n          message = addHexPrefix(Buffer.from(message).toString('hex'));\n        }\n        const uniq = ethereumUtils.isUniq(method);\n        const result = await this.signMessage(message as PrefixedHexString, uniq);\n        return result;\n      } else if (method === EvmRpcMethod.walletSwitchEthereumChain) {\n        return await requireNotNullish(particleAuth).ethereum.request(data);\n      } else if (method === EvmRpcMethod.ethSendTransaction) {\n        this.#checkConnected();\n        const chainId = Number(data.chainId || this.chainId);\n        const chain = getEVMChainInfoById(chainId);\n        if (!chain) {\n          throw providerErrors.chainDisconnected();\n        }\n        const txData = data.params?.[0] as any; // eslint-disable-line\n        if (!txData) {\n          throw rpcErrors.invalidParams('Invalid parameters: must provide an transaction data.');\n        }\n        if (isNullish(txData.type)) {\n          if (isChainSupportEIP1559(txData)) {\n            // set transaction default type \"0x2\", EIP1559.\n            txData.type = '0x2';\n          } else {\n            txData.type = '0x0';\n          }\n        }\n        if (isNullish(txData.chainId)) {\n          txData.chainId = `0x${chainId.toString(16)}`;\n        }\n        if (isNullish(txData.nonce)) {\n          txData.nonce = '0x0';\n        }\n        if (isNullish(txData.data)) {\n          txData.data = '0x';\n        }\n        const result = await this.sendTransaction(txData);\n        return result;\n      } else {\n        throw providerErrors.unsupportedMethod();\n      }\n    } else {\n      return await requireNotNullish(particleAuth).ethereum.request(data);\n    }\n  }\n\n  #checkConnected() {\n    if (!this.isConnected()) {\n      throw providerErrors.unauthorized();\n    }\n  }\n}\n", "import { useParticleAuth } from '..';\n\nexport const useUserInfo = () => {\n  const { userInfo } = useParticleAuth();\n  return {\n    userInfo,\n  };\n};\n", "import {\n  AuthType,\n  EvmRpcMethod,\n  SignTypedDataVersion,\n  check,\n  getEVMChainInfoById,\n  getLatestAuthType,\n  isConnected,\n  particleAuth,\n  requireNotNullish,\n  type EIP1559TxData,\n  type MessageTypes,\n  type PrefixedHexString,\n  type TxData,\n  type TypedDataV1,\n  type TypedMessage,\n} from '@particle-network/auth-core';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport type { Chain as ViemChain } from 'viem';\nimport { mainnet } from 'viem/chains';\nimport { useCustomNavigate, useEvents, useModalOptions, useParticleAuth } from '..';\nimport { AuthError } from '../../api/model/authError';\nimport { AuthPage } from '../../components/customRouter';\nimport { isClient } from '../../utils';\nimport { getEvmChain } from '../../utils/chain-utils';\nimport { toHexPrefixString } from '../../utils/common-utils';\nimport evmSendTransaction from '../../utils/evmSendTransaction';\nimport { EVMProvider } from '../evmProvider';\nimport { AuthCoreModalEvent } from '../types';\nimport { useAuthCore } from './useAuthCore';\nimport { useConnect } from './useConnect';\nimport { useUserInfo } from './useUserInfo';\n\nexport const useEthereum = () => {\n  const navigate = useCustomNavigate();\n\n  const { events } = useEvents();\n\n  const [chainId, setChainId] = useState<number>(Number(particleAuth.ethereum.chainId));\n\n  const [chainInfo, setChainInfo] = useState<ViemChain>(requireNotNullish(getEvmChain(chainId) || mainnet));\n\n  const [address, setAddress] = useState(particleAuth.ethereum.selectedAddress);\n\n  const { userInfo } = useUserInfo();\n\n  const { needRestoreWallet } = useAuthCore();\n\n  const { modalOptions } = useModalOptions();\n\n  const { setAuthCoreModal } = useParticleAuth();\n\n  const { connect } = useConnect();\n\n  const silentApprove = useMemo(() => {\n    if (\n      needRestoreWallet ||\n      userInfo?.security_account.has_set_payment_password ||\n      modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign ||\n      (getLatestAuthType() !== AuthType.jwt && getLatestAuthType() !== AuthType.telegram)\n    ) {\n      return false;\n    }\n    return true;\n  }, [\n    userInfo?.security_account.has_set_payment_password,\n    needRestoreWallet,\n    modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign,\n  ]);\n\n  useEffect(() => {\n    const onChainChanged = (chainId: string) => {\n      setChainId(Number(chainId));\n    };\n    particleAuth.ethereum.on('chainChanged', onChainChanged);\n\n    const onConnect = () => {\n      setAddress(particleAuth.ethereum.selectedAddress);\n    };\n    particleAuth.ethereum.on('connect', onConnect);\n\n    const onAccountsChanged = (accounts: string[]) => {\n      if (accounts[0]) {\n        setAddress(accounts[0]);\n      }\n    };\n    particleAuth.ethereum.on('accountsChanged', onAccountsChanged);\n\n    const onDisconnect = () => {\n      setAddress(null);\n    };\n    particleAuth.ethereum.on('disconnect', onDisconnect);\n\n    return () => {\n      particleAuth.ethereum.off('chainChanged', onChainChanged);\n      particleAuth.ethereum.off('connect', onConnect);\n      particleAuth.ethereum.off('accountsChanged', onAccountsChanged);\n      particleAuth.ethereum.off('disconnect', onDisconnect);\n    };\n  }, [connect]);\n\n  useEffect(() => {\n    if (chainId) {\n      setChainInfo(requireNotNullish(getEvmChain(chainId) || mainnet));\n    }\n  }, [chainId]);\n\n  const checkAuthCoreState = () => {\n    check(particleAuth, 'Please init first!');\n    check(isConnected(), AuthError.notLogin());\n    check(particleAuth.ethereum.selectedAddress, 'Please create wallet first!');\n  };\n\n  const signImpl = useCallback(\n    async <T>(state: { method: string; param: unknown }): Promise<T> => {\n      checkAuthCoreState();\n      const result = await new Promise<T>((resolve, reject) => {\n        if (events.listenerCount(AuthCoreModalEvent.SignResponse) > 0) {\n          reject(AuthError.pending('sign'));\n        } else {\n          events.once(AuthCoreModalEvent.SignResponse, (response) => {\n            if (response.error) {\n              reject(response.error);\n            } else {\n              resolve(response.result);\n            }\n            setAuthCoreModal({ particleModalVisible: false });\n          });\n          navigate(AuthPage.EvmSign, {\n            replace: true,\n            state,\n          });\n        }\n      });\n      return result;\n    },\n    [navigate, events]\n  );\n\n  const signMessage = useCallback(\n    async (message: PrefixedHexString | string, uniq?: boolean): Promise<string> => {\n      if (silentApprove) {\n        const result = await particleAuth.ethereum.signMessage(toHexPrefixString(message), uniq);\n        return result;\n      } else {\n        const result = await signImpl<string>({\n          param: toHexPrefixString(message),\n          method: uniq ? EvmRpcMethod.personalSignUniq : EvmRpcMethod.personalSign,\n        });\n        return result;\n      }\n    },\n    [signImpl, silentApprove]\n  );\n\n  const signTypedData = useCallback(\n    async <V extends SignTypedDataVersion, T extends MessageTypes>({\n      data,\n      version,\n      uniq,\n    }: {\n      data: V extends 'V1' ? TypedDataV1 : TypedMessage<T>;\n      version: V;\n      uniq?: boolean;\n    }): Promise<string> => {\n      if (silentApprove) {\n        const result = await particleAuth.ethereum.signTypedData({ data, version, uniq });\n        return result;\n      } else {\n        const result = await signImpl<string>({\n          param: data,\n          method: getSignTypedDataMethod({ version, uniq }),\n        });\n        return result;\n      }\n    },\n    [signImpl, silentApprove]\n  );\n\n  const sendTransaction = useCallback(\n    async (transaction: Omit<TxData, 'from'> | Omit<EIP1559TxData, 'from'>): Promise<string> => {\n      if (transaction.chainId && !getEVMChainInfoById(Number(transaction.chainId))) {\n        throw new Error(`The chainId: ${transaction.chainId} is not supported.`);\n      }\n\n      if (silentApprove) {\n        const result = await evmSendTransaction(transaction);\n        return result;\n      } else {\n        const result = await signImpl<string>({\n          param: { ...transaction, from: address, chainId: transaction.chainId || chainId },\n          method: EvmRpcMethod.ethSendTransaction,\n        });\n        return result;\n      }\n    },\n    [address, chainId, signImpl, silentApprove]\n  );\n\n  const switchChain = useCallback(async (id: number | PrefixedHexString) => {\n    await requireNotNullish(particleAuth, 'Please init first!').ethereum.switchChain(id);\n  }, []);\n\n  const enable = useCallback(async (): Promise<string> => {\n    const result = await requireNotNullish(particleAuth, 'Please init first!').ethereum.enable();\n    return result[0];\n  }, []);\n\n  const provider = useMemo((): EVMProvider => {\n    if (isClient() && window.particle?.ethereum) {\n      return window.particle?.ethereum;\n    } else {\n      const eip1193Provider = new EVMProvider();\n      eip1193Provider.signMessage = signMessage;\n      eip1193Provider.signTypedData = signTypedData;\n      eip1193Provider.sendTransaction = sendTransaction;\n      return eip1193Provider;\n    }\n  }, []);\n\n  useEffect(() => {\n    if (provider) {\n      provider.signMessage = signMessage;\n      provider.signTypedData = signTypedData;\n      provider.sendTransaction = sendTransaction;\n    }\n  }, [provider, signMessage, signTypedData, sendTransaction]);\n\n  return {\n    provider,\n    address,\n    chainId,\n    chainInfo,\n    switchChain,\n    signMessage,\n    signTypedData,\n    sendTransaction,\n    enable,\n  };\n};\n\nfunction getSignTypedDataMethod({ version, uniq }: { version: SignTypedDataVersion; uniq?: boolean }): string {\n  if (SignTypedDataVersion.V1 === version) {\n    return EvmRpcMethod.ethSignTypedDataV1;\n  } else if (SignTypedDataVersion.V3 === version) {\n    return EvmRpcMethod.ethSignTypedDataV3;\n  } else {\n    return uniq ? EvmRpcMethod.ethSignTypedDataV4Uniq : EvmRpcMethod.ethSignTypedDataV4;\n  }\n}\n", "import { useEffect, useReducer } from 'react';\n\nexport const useIsMounted = () => {\n  const [mounted, setMounted] = useReducer(() => true, false);\n  useEffect(setMounted, [setMounted]);\n  return mounted;\n};\n", "import type { ConnectParam, RpcInput } from '@particle-network/auth-core';\nimport type { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';\n\nexport class SolanaWallet {\n  readonly isParticleNetwork = true;\n\n  isSocialConnecting?: boolean;\n\n  name = 'Particle';\n  url = 'https://particle.network';\n  icon = 'https://static.particle.network/wallet-icons/Particle.png';\n\n  on(event: string, listener: (...args: any[]) => void): this {\n    window.particleAuth?.solana.on(event, listener);\n    return this;\n  }\n\n  once(event: string, listener: (...args: any[]) => void): this {\n    window.particleAuth?.solana.once(event, listener);\n    return this;\n  }\n\n  off(event: string, listener: (...args: any[]) => void): this {\n    window.particleAuth?.solana.off(event, listener);\n    return this;\n  }\n\n  removeListener(event: string, listener: (...args: any[]) => void): this {\n    window.particleAuth?.solana.removeListener(event, listener);\n    return this;\n  }\n\n  get isConnected(): boolean {\n    return window.particleAuth?.solana.isConnected ?? false;\n  }\n\n  get connecting(): boolean {\n    return window.particleAuth?.solana.connecting ?? false;\n  }\n\n  get connected(): boolean {\n    return window.particleAuth?.solana.connected ?? false;\n  }\n\n  get publicKey(): PublicKey | null {\n    return window.particleAuth?.solana.publicKey ?? null;\n  }\n\n  get selectedAddress(): string | null {\n    return window.particleAuth?.solana.selectedAddress ?? null;\n  }\n\n  get chainId(): number {\n    return window.particleAuth?.solana.chainId ?? 101;\n  }\n\n  async connect(param?: ConnectParam): Promise<void> {\n    await window.particleAuth?.solana.connect(param);\n  }\n\n  async disconnect(): Promise<void> {\n    await window.particleAuth?.solana.disconnect();\n  }\n\n  signTransaction = async <T extends Transaction | VersionedTransaction>(\n    transaction: T,\n    chainId?: number\n  ): Promise<T> => {\n    throw new Error('signMessage not implemented.');\n  };\n\n  signAllTransactions = async <T extends Transaction | VersionedTransaction>(\n    transactions: T[],\n    chainId?: number\n  ): Promise<T[]> => {\n    throw new Error('signMessage not implemented.');\n  };\n\n  signAndSendTransaction = async <T extends Transaction | VersionedTransaction>(\n    transaction: T,\n    chainId?: number\n  ): Promise<{ signature: string }> => {\n    throw new Error('signMessage not implemented.');\n  };\n\n  signMessage = async (message: Uint8Array): Promise<{ signature: Uint8Array }> => {\n    throw new Error('signMessage not implemented.');\n  };\n\n  switchChain = async (chainId: number) => {\n    await window.particleAuth?.solana.switchChain(chainId);\n  };\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  async request(data: Partial<RpcInput>): Promise<any> {\n    return window.particleAuth?.solana.request(data);\n  }\n}\n", "import {\n  AuthType,\n  SolanaRpcMethod,\n  check,\n  getLatestAuthType,\n  getSolanaChainInfoById,\n  isConnected,\n  particleAuth,\n  requireNotNullish,\n  solana,\n} from '@particle-network/auth-core';\nimport type { Transaction, VersionedTransaction } from '@solana/web3.js';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport type { Chain as ViemChain } from 'viem/chains';\nimport { useCustomNavigate, useEvents, useModalOptions, useParticleAuth } from '..';\nimport { AuthError } from '../../api/model/authError';\nimport { AuthPage } from '../../components/customRouter';\nimport { isClient } from '../../utils';\nimport { getSolanaChain } from '../../utils/chain-utils';\nimport { SolanaWallet } from '../solanaWallet';\nimport { AuthCoreModalEvent } from '../types';\nimport { useAuthCore } from './useAuthCore';\nimport { useConnect } from './useConnect';\nimport { useUserInfo } from './useUserInfo';\nexport const useSolana = () => {\n  const navigate = useCustomNavigate();\n\n  const { events } = useEvents();\n\n  const [chainId, setChainId] = useState<number>(particleAuth.solana.chainId);\n\n  const [chainInfo, setChainInfo] = useState<ViemChain>(\n    requireNotNullish(getSolanaChain(particleAuth.solana.chainId) || solana)\n  );\n\n  const [address, setAddress] = useState(particleAuth.solana.selectedAddress);\n\n  const { setAuthCoreModal } = useParticleAuth();\n\n  const { connect } = useConnect();\n\n  const { userInfo } = useUserInfo();\n\n  const { needRestoreWallet } = useAuthCore();\n\n  const { modalOptions } = useModalOptions();\n\n  const silentApprove = useMemo(() => {\n    if (\n      needRestoreWallet ||\n      userInfo?.security_account.has_set_payment_password ||\n      modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign ||\n      (getLatestAuthType() !== AuthType.jwt && getLatestAuthType() !== AuthType.telegram)\n    ) {\n      return false;\n    }\n    return true;\n  }, [\n    userInfo?.security_account.has_set_payment_password,\n    needRestoreWallet,\n    modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign,\n  ]);\n\n  useEffect(() => {\n    const onChainChanged = (chainId: number) => {\n      setChainId(chainId);\n    };\n    particleAuth.solana.on('chainChanged', onChainChanged);\n\n    const onConnect = () => {\n      setAddress(particleAuth.solana.selectedAddress);\n    };\n    particleAuth.solana.on('connect', onConnect);\n\n    setChainId(particleAuth.solana.chainId ?? 101);\n\n    const onDisconnect = () => {\n      setAddress(null);\n    };\n    particleAuth.solana.on('disconnect', onDisconnect);\n\n    return () => {\n      particleAuth.solana.off('chainChanged', onChainChanged);\n      particleAuth.solana.off('connect', onConnect);\n      particleAuth.solana.off('disconnect', onDisconnect);\n    };\n  }, [connect]);\n\n  useEffect(() => {\n    if (chainId) {\n      let chain = getSolanaChain(chainId);\n      if (!chain && chainId === 101) {\n        chain = solana;\n      }\n      setChainInfo(requireNotNullish(chain));\n    }\n  }, [chainId]);\n\n  const checkAuthCoreState = () => {\n    check(particleAuth, 'Please init first!');\n    check(isConnected(), AuthError.notLogin());\n    check(particleAuth.solana.selectedAddress, 'Please create wallet first!');\n  };\n\n  const signImpl = useCallback(\n    async <T>(state: { method: string; param: unknown; chainId?: number }): Promise<T> => {\n      checkAuthCoreState();\n      const result = await new Promise<T>((resolve, reject) => {\n        if (events.listenerCount(AuthCoreModalEvent.SignResponse) > 0) {\n          reject(AuthError.pending('sign'));\n        } else {\n          events.once(AuthCoreModalEvent.SignResponse, (response) => {\n            if (response.error) {\n              reject(response.error);\n            } else {\n              resolve(response.result);\n            }\n            setAuthCoreModal({ particleModalVisible: false });\n          });\n          navigate(AuthPage.SolanaSign, {\n            replace: true,\n            state,\n          });\n        }\n      });\n      return result;\n    },\n    [navigate]\n  );\n\n  const signMessage = useCallback(\n    async (message: Uint8Array): Promise<{ signature: Uint8Array }> => {\n      if (silentApprove) {\n        const result = await particleAuth.solana.signMessage(message);\n        return result;\n      } else {\n        const signature = await signImpl<Uint8Array>({\n          param: message,\n          method: SolanaRpcMethod.signMessage,\n        });\n        return { signature };\n      }\n    },\n    [signImpl, silentApprove]\n  );\n\n  const signTransaction = useCallback(\n    async <T extends Transaction | VersionedTransaction>(transaction: T, chainId?: number): Promise<T> => {\n      check(!chainId || getSolanaChainInfoById(chainId), `The chainId: ${chainId} is not supported`);\n      if (silentApprove) {\n        const signature = await particleAuth.solana.signTransaction(transaction, chainId);\n        return signature;\n      } else {\n        const signature = await signImpl<T>({\n          param: transaction,\n          method: SolanaRpcMethod.signTransaction,\n          chainId,\n        });\n        return signature;\n      }\n    },\n    [signImpl, silentApprove]\n  );\n\n  const signAllTransactions = useCallback(\n    async <T extends Transaction | VersionedTransaction>(transactions: T[], chainId?: number): Promise<T[]> => {\n      check(!chainId || getSolanaChainInfoById(chainId), `The chainId: ${chainId} is not supported`);\n      if (silentApprove) {\n        const signature = await particleAuth.solana.signAllTransactions(transactions, chainId);\n        return signature;\n      } else {\n        const signature = await signImpl<T[]>({\n          param: transactions,\n          method: SolanaRpcMethod.signAllTransactions,\n          chainId,\n        });\n        return signature;\n      }\n    },\n    [signImpl, silentApprove]\n  );\n\n  const signAndSendTransaction = useCallback(\n    async <T extends Transaction | VersionedTransaction>(\n      transaction: T,\n      chainId?: number\n    ): Promise<{ signature: string }> => {\n      check(!chainId || getSolanaChainInfoById(chainId), `The chainId: ${chainId} is not supported`);\n      if (silentApprove) {\n        const result = await particleAuth.solana.signAndSendTransaction(transaction, chainId);\n        return result;\n      } else {\n        const signature = await signImpl<string>({\n          param: transaction,\n          method: SolanaRpcMethod.signAndSendTransaction,\n          chainId,\n        });\n        return { signature };\n      }\n    },\n    [signImpl, silentApprove]\n  );\n\n  const switchChain = useCallback(async (id: number) => {\n    await requireNotNullish(particleAuth, 'Please init first!').solana.switchChain(id);\n  }, []);\n\n  const enable = useCallback(async (): Promise<string> => {\n    await requireNotNullish(particleAuth, 'Please init first!').solana.connect();\n    return requireNotNullish(particleAuth.solana.selectedAddress);\n  }, []);\n\n  const wallet = useMemo(() => {\n    if (isClient() && window.particle?.solana) {\n      return window.particle.solana as SolanaWallet;\n    } else {\n      const solanaWallet = new SolanaWallet();\n      solanaWallet.signMessage = signMessage;\n      solanaWallet.signTransaction = signTransaction;\n      solanaWallet.signAllTransactions = signAllTransactions;\n      solanaWallet.signAndSendTransaction = signAndSendTransaction;\n      return solanaWallet;\n    }\n  }, []);\n\n  useEffect(() => {\n    if (wallet) {\n      wallet.signMessage = signMessage;\n      wallet.signTransaction = signTransaction;\n      wallet.signAllTransactions = signAllTransactions;\n      wallet.signAndSendTransaction = signAndSendTransaction;\n    }\n  }, [wallet, signMessage, signTransaction, signAllTransactions, signAndSendTransaction]);\n\n  return {\n    address,\n    chainId,\n    chainInfo,\n    switchChain,\n    signMessage,\n    signTransaction,\n    signAllTransactions,\n    signAndSendTransaction,\n    enable,\n    wallet,\n  };\n};\n", "// export for library\nexport { useAuthCore } from './useAuthCore';\nexport { useConnect } from './useConnect';\nexport { useCustomize } from './useCustomize';\nexport { useEthereum } from './useEthereum';\nexport { useIsMounted } from './useIsMounted';\nexport { useSolana } from './useSolana';\nexport { useUserInfo } from './useUserInfo';\n", "import React, { useMemo } from 'react';\nimport { useCustomize } from '../context/hooks';\nimport styles from './power-footer.less';\n\nfunction PowerFooter(props: any) {\n  const { themeType } = useCustomize();\n  const imgUrl = useMemo(() => {\n    return themeType === 'dark'\n      ? require('../common/images/footer_img_b.png').default\n      : require('../common/images/footer_img.png').default;\n  }, [themeType]);\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='footer-box' {...props}>\n        <img className='footer' src={imgUrl} alt='' />\n      </div>\n    </>\n  );\n}\n\nexport default PowerFooter;\n", "import type { SocialAuthType } from '@particle-network/auth-core';\nimport React from 'react';\nimport loading from '../../common/images/loading2.png';\nimport { useParticleAuth, useTranslation } from '../../context';\nimport useLogin from '../../context/hooks/useLogin';\nimport { getLoginLogos } from '../../utils';\nimport SVGIcon from '../icon/svg-icon';\nimport PowerFooter from '../power-footer';\nimport styles from './index.less';\n\nconst SocialLoading = ({ authType, isFailed = true }: { authType: string; isFailed: boolean }) => {\n  const { t } = useTranslation();\n\n  const [spin, setSpin] = React.useState(!isFailed);\n\n  const { socialAuthLogin } = useLogin();\n\n  const { modalOptions } = useParticleAuth();\n\n  return (\n    <div className='social-loading-content'>\n      <style>{styles as unknown as string}</style>\n      <div className='wrap'>\n        <div\n          className={`social-logo-content ${isFailed ? 'failed' : ''}`}\n          onClick={() => {\n            if (!isFailed || spin) return;\n\n            setSpin(true);\n            socialAuthLogin({\n              socialType: authType as SocialAuthType,\n            });\n          }}\n        >\n          <div className='logo'>\n            <img src={getLoginLogos(modalOptions.themeType)[authType] || ''} alt='logo' />\n          </div>\n          {spin && (\n            <div className='spin'>\n              <img src={loading} alt='loading' />\n            </div>\n          )}\n\n          {isFailed && !spin && (\n            <div className='refresh-btn'>\n              <SVGIcon className='refresh-icon' name='refresh_icon' />\n            </div>\n          )}\n        </div>\n        <div className='title'>{!isFailed ? t('login.logging_you_in') : t('login.request_failed')}</div>\n        {isFailed && <div className='desc'>{t('login.something_wrong')}</div>}\n      </div>\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n};\n\nexport default SocialLoading;\n", "import { isConnected, isSocialAuthType } from '@particle-network/auth-core';\nimport { message } from 'antd';\nimport base64url from 'base64url';\nimport qs from 'qs';\nimport React, { useEffect, useState } from 'react';\nimport SocialLoading from '../../components/socialLoading';\nimport { useCustomNavigate, useParticleAuth } from '../../context';\nimport { useConnect } from '../../context/hooks';\nimport { isServer } from '../../utils';\nimport styles from './index.less';\n\nconst Index = () => {\n  const { connect } = useConnect();\n  const navigate = useCustomNavigate();\n  const { setConnectionStatus, socialConnectCallback, setAuthCoreModal } = useParticleAuth();\n  const [socialLoginLoading, setSocialLoginLoading] = React.useState(false);\n  const [authType, setAuthType] = useState<string>('' as string);\n  const [socialLoginFailed, setSocialLoginFailed] = useState(false);\n\n  const onConnectCompleted = (detail: any) => {\n    if (window.particle?.ethereum) {\n      window.particle.ethereum.isSocialConnecting = false;\n    }\n    if (window.particle?.solana) {\n      window.particle.solana.isSocialConnecting = false;\n    }\n    window.dispatchEvent(\n      new CustomEvent('particle:socialConnectCompleted', {\n        detail,\n      })\n    );\n  };\n\n  const thirdpartyLogin = async () => {\n    try {\n      const query = qs.parse(!isServer() ? window.location.search : '', {\n        ignoreQueryPrefix: true,\n      });\n      const particleThirdpartyParamsContent = query?.particleThirdpartyParams as string;\n      if (!particleThirdpartyParamsContent) {\n        if (!isConnected()) {\n          setConnectionStatus('disconnected');\n        }\n        return;\n      }\n\n      delete query.particleThirdpartyParams;\n      const replaceUrl = (window.location.origin + window.location.pathname + '?' + qs.stringify(query)).replace(\n        /\\?$/,\n        ''\n      );\n      window.history.replaceState({}, document.title, replaceUrl);\n      document.title = document.title || replaceUrl;\n\n      const particleThirdpartyParams = JSON.parse(base64url.decode(particleThirdpartyParamsContent as string));\n      const { code, nonce, appState, error } = particleThirdpartyParams;\n      const appStateObj = appState ? JSON.parse(base64url.decode(appState as string)) : {};\n      const { authorization, chain, purpose, verifyToken } = appStateObj;\n\n      if (error) {\n        if (!isConnected()) {\n          setConnectionStatus('disconnected');\n        }\n        if (!purpose) {\n          socialConnectCallback?.onError?.(new Error(error));\n        } else {\n          message.error(error);\n        }\n\n        if (purpose !== 'bindLoginAccount') {\n          setSocialLoginFailed(true);\n        }\n\n        return;\n      }\n\n      const authType = nonce.split('@')[0];\n      setAuthType(authType);\n\n      if (purpose === 'bindLoginAccount') {\n        navigate('/login-account/bind-loading', {\n          state: {\n            authType,\n            verifyToken,\n            code,\n            nonce,\n          },\n          replace: true,\n        });\n      } else {\n        if (isSocialAuthType(authType)) {\n          setSocialLoginLoading(true);\n          setAuthCoreModal({\n            particleModalVisible: true,\n          });\n        }\n        console.log(`auth-core-modal: social:${authType} connect start`);\n        await connect({ socialType: authType, code, nonce, authorization, chain });\n      }\n    } catch (error: any) {\n      console.error('after redirect, login or bind', error);\n      if (!isConnected()) {\n        setConnectionStatus('disconnected');\n      }\n      onConnectCompleted({\n        result: Object.freeze(error),\n      });\n    }\n    setSocialLoginLoading(false);\n  };\n\n  useEffect(() => {\n    thirdpartyLogin();\n  }, []);\n\n  return (\n    <div className='index-container'>\n      <style>{styles as unknown as string}</style>\n      {socialLoginLoading && <SocialLoading authType={authType} isFailed={socialLoginFailed} />}\n    </div>\n  );\n};\n\nexport default Index;\n", "import React, { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { isAutoFocusSupported } from '../../utils';\n\nconst allowedCharactersValues = ['alpha', 'numeric', 'alphanumeric'] as const;\n\nexport type AuthCodeProps = {\n  allowedCharacters?: (typeof allowedCharactersValues)[number];\n  ariaLabel?: string;\n  autoFocus?: boolean;\n  containerClassName?: string;\n  disabled?: boolean;\n  inputClassName?: string;\n  isPassword?: boolean;\n  length?: number;\n  placeholder?: string;\n  onChange: (res: string) => void;\n  code?: string;\n};\n\ntype InputMode = 'text' | 'numeric';\n\ntype InputType = 'text' | 'tel' | 'password';\n\ntype InputProps = {\n  type: InputType;\n  inputMode: InputMode;\n  pattern: string;\n  min?: string;\n  max?: string;\n};\n\nexport type AuthCodeRef = {\n  focus: () => void;\n  clear: () => void;\n};\n\nconst propsMap: { [key: string]: InputProps } = {\n  alpha: {\n    type: 'text',\n    inputMode: 'text',\n    pattern: '[a-zA-Z]{1}',\n  },\n\n  alphanumeric: {\n    type: 'text',\n    inputMode: 'text',\n    pattern: '[a-zA-Z0-9]{1}',\n  },\n\n  numeric: {\n    type: 'tel',\n    inputMode: 'numeric',\n    pattern: '[0-9]{1}',\n    min: '0',\n    max: '9',\n  },\n};\n\nconst AuthCode = forwardRef<AuthCodeRef, AuthCodeProps>(\n  (\n    {\n      allowedCharacters = 'alphanumeric',\n      ariaLabel,\n      autoFocus = true,\n      containerClassName,\n      disabled,\n      inputClassName,\n      isPassword = false,\n      length = 6,\n      placeholder,\n      onChange,\n      code = '',\n    },\n    ref\n  ) => {\n    if (isNaN(length) || length < 1) {\n      throw new Error('Length should be a number and greater than 0');\n    }\n\n    if (!allowedCharactersValues.some((value) => value === allowedCharacters)) {\n      throw new Error('Invalid value for allowedCharacters. Use alpha, numeric, or alphanumeric');\n    }\n\n    const inputsRef = useRef<Array<HTMLInputElement>>([]);\n    const inputProps = propsMap[allowedCharacters];\n\n    useImperativeHandle(ref, () => ({\n      focus: () => {\n        if (inputsRef.current) {\n          inputsRef.current[0].focus();\n        }\n      },\n      clear: () => {\n        if (inputsRef.current) {\n          for (let i = 0; i < inputsRef.current.length; i++) {\n            inputsRef.current[i].value = '';\n          }\n          inputsRef.current[0].focus();\n        }\n        sendResult();\n      },\n    }));\n\n    useEffect(() => {\n      if (autoFocus && isAutoFocusSupported()) {\n        inputsRef.current[0].focus();\n      }\n    }, []);\n\n    useEffect(() => {\n      if (code) {\n        for (let i = 0; i < inputsRef.current.length; i++) {\n          inputsRef.current[i].value = '';\n        }\n        for (let i = 0; i < code.length; i++) {\n          inputsRef.current[i].value = code[i];\n        }\n        sendResult();\n      }\n    }, [code]);\n\n    let oldValue = inputsRef.current.map((input) => input.value).join('') || '';\n\n    const sendResult = () => {\n      const res = inputsRef.current.map((input) => input.value).join('');\n      if (oldValue !== res) {\n        console.log('sendResult', res);\n        onChange && onChange(res);\n        oldValue = res;\n      }\n    };\n\n    const handleOnChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n      const {\n        target: { value, nextElementSibling },\n      } = e;\n\n      if (value.length == 1) {\n        if (value.match(inputProps.pattern)) {\n          if (nextElementSibling !== null) {\n            (nextElementSibling as HTMLInputElement).focus();\n          }\n        } else {\n          e.target.value = '';\n        }\n      } else if (value.length > 1) {\n        const pastedValue = value;\n        let currentInput: number = Number(e.target.getAttribute('data-index')) || 0;\n        for (let i = 0; i < pastedValue.length; i++) {\n          const pastedCharacter = pastedValue.charAt(i);\n          if (pastedCharacter.match(inputProps.pattern) && inputsRef.current?.[currentInput]) {\n            inputsRef.current[currentInput].value = pastedCharacter;\n            if (inputsRef.current[currentInput].nextElementSibling !== null) {\n              (inputsRef.current[currentInput].nextElementSibling as HTMLInputElement).focus();\n              currentInput++;\n            }\n          }\n        }\n      }\n      setTimeout(() => {\n        sendResult();\n      });\n    };\n\n    const handleOnKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n      const { key } = e;\n      const target = e.target as HTMLInputElement;\n      if (key === 'Backspace') {\n        if (target.value === '') {\n          if (target.previousElementSibling !== null) {\n            const t = target.previousElementSibling as HTMLInputElement;\n            t.value = '';\n            t.focus();\n            e.preventDefault();\n          }\n        } else {\n          target.value = '';\n        }\n        setTimeout(() => {\n          sendResult();\n        });\n      }\n    };\n\n    const handleOnFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n      e.target.select();\n    };\n\n    const handleOnPaste = (e: React.ClipboardEvent<HTMLInputElement>) => {\n      let pastedValue = e.clipboardData.getData('Text') ?? '';\n      pastedValue = pastedValue.replace(/\\s/g, '').substring(0, 6);\n\n      let currentInput = 0;\n\n      for (let i = 0; i < pastedValue.length; i++) {\n        const pastedCharacter = pastedValue.charAt(i);\n        const currentValue = inputsRef.current[currentInput].value;\n        if (pastedCharacter.match(inputProps.pattern)) {\n          if (!currentValue) {\n            inputsRef.current[currentInput].value = pastedCharacter;\n            if (inputsRef.current[currentInput].nextElementSibling !== null) {\n              (inputsRef.current[currentInput].nextElementSibling as HTMLInputElement).focus();\n              currentInput++;\n            }\n          }\n        }\n      }\n      sendResult();\n\n      e.preventDefault();\n    };\n\n    return (\n      <div className={containerClassName}>\n        {new Array(6).fill(0).map((_, i) => {\n          return (\n            <input\n              key={i}\n              data-index={i}\n              onChange={handleOnChange}\n              onKeyDown={handleOnKeyDown}\n              onFocus={handleOnFocus}\n              onPaste={handleOnPaste}\n              {...inputProps}\n              type={isPassword ? 'password' : inputProps.type}\n              ref={(el: HTMLInputElement) => {\n                inputsRef.current[i] = el;\n              }}\n              // maxLength={1}\n              className={inputClassName}\n              autoComplete={i === 0 ? 'one-time-code' : 'off'}\n              aria-label={ariaLabel ? `${ariaLabel}. Character ${i + 1}.` : `Character ${i + 1}.`}\n              disabled={disabled}\n              placeholder={placeholder}\n            />\n          );\n        })}\n        <div\n          className='input-code-mask'\n          onClick={(e) => {\n            e.preventDefault();\n            e.stopPropagation();\n            for (let i = inputsRef.current.length - 1; i >= 0; i--) {\n              if (\n                (i > 0 && !inputsRef.current[i].value && inputsRef.current[i - 1].value) ||\n                (i === 0 && !inputsRef.current[i].value) ||\n                (i == inputsRef.current.length - 1 && inputsRef.current[i].value)\n              ) {\n                inputsRef.current[i].focus();\n                inputsRef.current[i].setSelectionRange(\n                  inputsRef.current[i].value.length,\n                  inputsRef.current[i].value.length\n                );\n                break;\n              }\n            }\n          }}\n        />\n      </div>\n    );\n  }\n);\n\nexport default AuthCode;\n", "import { ApiError, getCloudflareTurnstileResponse, isApiError, type CaptchaRequest } from '@particle-network/auth-core';\nimport { useInterval } from 'ahooks';\nimport { Button } from 'antd';\nimport throttle from 'lodash/throttle.js';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport AuthCode from '../../../components/react-auth-code-input';\nimport { useParticleAuth, useTranslation } from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useLogin from '../../../context/hooks/useLogin';\nimport useMessage from '../../../context/hooks/useMessage';\nimport styles from './captcha-input.less';\n\nfunction CaptchaInput(props: any) {\n  const { sendCaptcha, setShowInputCaptcha, account, loginWithAccount, chain } = props;\n\n  const [loading, setLoading] = useState(false);\n\n  const { themeType, language } = useCustomize();\n  const [codeVal, setCodeVal] = useState<string>('');\n  const { loginHandler } = useLogin();\n  const [noInput, setNoInput] = useState(false);\n  const [wrongInput, setWrongInput] = useState(false);\n  const [invalidInput, setInvalidInput] = useState(false);\n  const [resendTip, setResendTip] = useState(false);\n  const [confirmBtn, setConfirmBtn] = useState(false);\n  const { authCoreModal } = useParticleAuth();\n  const { t } = useTranslation();\n  const message = useMessage();\n  const codeInput = useRef<any>(null);\n  const codePattern = /^\\d{6}$/;\n  const [interval, setInterval] = useState<number | undefined>(1000);\n\n  const [countdown, setCountdown] = useState(60);\n\n  useInterval(() => {\n    if (countdown > 0) {\n      const result = countdown - 1;\n      setCountdown(result);\n      if (result === 0) {\n        setInterval(undefined);\n      }\n    }\n  }, interval);\n\n  const startCountdown = () => {\n    setCountdown(60);\n    setInterval(1000);\n  };\n\n  const getCaptcha = () => {\n    if (account.includes('@')) {\n      sendCaptchaImpl({ email: account });\n    } else {\n      getCloudflareTurnstileResponse({\n        theme: themeType,\n        language,\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      })\n        .then((token) => {\n          sendCaptchaImpl({\n            phone: account,\n            // eslint-disable-next-line camelcase\n            cf_turnstile_response: token,\n          });\n        })\n        .catch(() => {\n          message.error(t('error.server_20112'));\n        });\n    }\n  };\n\n  const sendCaptchaImpl = (param: CaptchaRequest) => {\n    sendCaptcha(param)\n      .then(() => {\n        console.log('send captcha success');\n        startCountdown();\n        setConfirmBtn(false);\n        setResendTip(false);\n      })\n      .catch(() => {\n        setCountdown(0);\n        setInterval(undefined);\n      });\n  };\n\n  const codeChange = (value: any) => {\n    setWrongInput(false);\n    // const code = value.join(\"\");\n    const code = value;\n    const patt = /^[0-9]+$/g;\n    if (code.length === 0) {\n      setWrongInput(false);\n      setNoInput(true);\n    } else {\n      if (!patt.test(code)) {\n        setNoInput(false);\n        setWrongInput(true);\n      } else {\n        setNoInput(false);\n        setWrongInput(false);\n      }\n    }\n  };\n\n  const login = (code?: string) => {\n    setNoInput(false);\n    setWrongInput(false);\n    setInvalidInput(false);\n    code = code || codeVal;\n    console.log(`code --> ${code}`);\n    if (noInput || wrongInput) {\n      return;\n    }\n    if (codePattern.test(code)) {\n      throttleLoginImpl(code);\n    } else {\n      if ((code.length > 0 && code.length < 6) || !codePattern.test(code)) {\n        setWrongInput(true);\n        setNoInput(false);\n      }\n      if (code.length === 0) {\n        setWrongInput(false);\n        setNoInput(true);\n      }\n    }\n  };\n\n  const loginImpl = async (code: string) => {\n    if (resendTip) {\n      return;\n    }\n    setLoading(true);\n    let data;\n    if (account.includes('@')) {\n      data = {\n        code: code,\n        email: account,\n        chain,\n      };\n    } else {\n      data = {\n        code: code,\n        phone: account,\n        chain,\n      };\n    }\n    try {\n      await loginHandler(data, false);\n    } catch (error) {\n      handleLoginError(error);\n    }\n  };\n\n  const handleLoginError = (error: any) => {\n    console.log('login error', error);\n    setLoading(false);\n    if (isApiError(error)) {\n      const errorCode = error.error_code;\n      if (errorCode === ApiError.InvalidCode) {\n        setInvalidInput(true);\n      } else if (errorCode === ApiError.ResendCode) {\n        setResendTip(true);\n        setConfirmBtn(true);\n      }\n    }\n  };\n\n  const onCodeInputChange = (codeArray: string) => {\n    codeChange(codeArray);\n    setCodeVal(codeArray);\n    setNoInput(false);\n    setWrongInput(false);\n    setInvalidInput(false);\n    setResendTip(false);\n    if (codePattern.test(codeArray)) {\n      throttleLoginImpl(codeArray);\n    }\n  };\n\n  const throttleLoginImpl = useCallback(\n    throttle(\n      (code) => {\n        loginImpl(code);\n      },\n      1000,\n      {\n        leading: true,\n        trailing: false,\n      }\n    ),\n    []\n  );\n\n  const handleCodeInputFocus = () => {\n    const elements = document.getElementsByClassName('input-code-item');\n    //@ts-ignore\n    elements[Math.min(codeVal.length, 5)]?.focus();\n  };\n\n  const verifyCodeErrorMessage = useMemo(() => {\n    const error = [\n      noInput ? t('login.enter_captcha') : '',\n      wrongInput ? t('login.captcha_input_error') : '',\n      invalidInput ? t('login.invalid_code') : '',\n      resendTip ? t('login.please_send_again') : '',\n    ]\n      .map((val) => val.trim())\n      .filter((val) => !!val)\n      .join(',');\n\n    return error.includes(',') ? error + '.' : error;\n  }, [noInput, wrongInput, invalidInput, resendTip, t]);\n\n  useEffect(() => {\n    const elements = document.getElementsByClassName('react-input-code');\n    const contextmenuEvent = (e: any) => e.preventDefault();\n    elements[0]?.addEventListener('contextmenu', contextmenuEvent);\n    return () => {\n      elements[0]?.removeEventListener('contextmenu', contextmenuEvent);\n    };\n  }, []);\n\n  return (\n    <div className='captcha-box'>\n      <style>{styles as unknown as string}</style>\n      <div className='captcha-form'>\n        <div className='input-code-content'>\n          <div onClick={handleCodeInputFocus}>\n            <AuthCode\n              containerClassName='react-input-code'\n              inputClassName='input-code-item'\n              allowedCharacters='numeric'\n              length={6}\n              ref={codeInput}\n              placeholder={' '}\n              onChange={onCodeInputChange}\n            />\n          </div>\n        </div>\n      </div>\n      <div className='error-tip'>{verifyCodeErrorMessage}</div>\n\n      <div className='btn-box'>\n        <Button\n          type='primary'\n          htmlType='submit'\n          className='primary-antd-btn submit-btn'\n          onClick={() => login()}\n          disabled={confirmBtn}\n          loading={loading}\n        >\n          {t('common.confirm')}\n        </Button>\n\n        <Button className='get-btn' disabled={countdown > 0} type='link' onClick={getCaptcha}>\n          {t('login.send_again')} {countdown > 0 ? `(${countdown}s)` : ''}\n        </Button>\n\n        {!loginWithAccount && (\n          <div\n            className='back-box'\n            onClick={() => {\n              setShowInputCaptcha(false);\n            }}\n          >\n            <SVGIcon className='arrow1-icon' name='arrow1_icon' />\n            <span>{t('login.back')}</span>\n          </div>\n        )}\n      </div>\n    </div>\n  );\n}\n\nexport default CaptchaInput;\n", "import { Button, Form, Input } from 'antd';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useTranslation } from '../../../context';\nimport { EmailRegExp } from '../../../utils';\nimport styles from './login.less';\n\nfunction EmailLogin(props: any) {\n  const { t } = useTranslation();\n\n  const { sendCaptcha, setShowInputCaptcha, account, supportAuthTypes, loginWithAccount } = props;\n\n  const [form] = Form.useForm();\n  const [errorTip, setErrorTip] = useState(false);\n  const [noInputTip, setNoInputTip] = useState(false);\n\n  const [loading, setLoading] = useState(false);\n  const emailBoxRef = useRef<any>(null);\n  const emailInput = useRef<any>(null);\n\n  useEffect(() => {\n    if (loginWithAccount && account && sendCaptcha) {\n      form.setFieldsValue({\n        email: account,\n      });\n      getCaptcha(account);\n    }\n  }, []);\n\n  const getCaptcha = (email: string) => {\n    emailInput.current.focus();\n    if (!email) {\n      setNoInputTip(true);\n      setErrorTip(false);\n    } else if (!EmailRegExp.test(email)) {\n      setErrorTip(true);\n    } else {\n      sendCaptchaImpl(email);\n    }\n  };\n\n  const sendCaptchaImpl = (email: string) => {\n    setLoading(true);\n    sendCaptcha({\n      email: email,\n    })\n      .then((result: boolean) => {\n        setShowInputCaptcha(result);\n      })\n      .catch(() => {\n        setLoading(false);\n      });\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='login-style'>\n        <Form\n          name='login-form'\n          onFinish={(values) => getCaptcha(values.email.trim())}\n          className='form-box'\n          requiredMark={false}\n          form={form}\n          labelCol={{\n            style: { textAlign: 'left' },\n          }}\n        >\n          <div className='email-box' ref={emailBoxRef}>\n            <Form.Item name='email' label='' className='form-item' initialValue={account?.includes('@') ? account : ''}>\n              <Input\n                className='email-input'\n                placeholder={t('login.email_address') || undefined}\n                ref={emailInput}\n                onChange={() => {\n                  setErrorTip(false);\n                  setNoInputTip(false);\n                }}\n                readOnly={loginWithAccount}\n                onFocus={() => {\n                  emailBoxRef.current.setAttribute('data-focus', 'true');\n                }}\n                onBlur={() => {\n                  emailBoxRef.current.removeAttribute('data-focus');\n                }}\n              />\n            </Form.Item>\n          </div>\n\n          <div className='error-tip'>{errorTip && t('login.email_format_error')}</div>\n          <div className='error-tip'>{noInputTip && t('login.input_email_holder')}</div>\n\n          <Form.Item className='form-item'>\n            <Button type='primary' htmlType='submit' className='primary-antd-btn submit-btn' loading={loading}>\n              {t('login.get_captcha')}\n            </Button>\n          </Form.Item>\n\n          {!loginWithAccount && supportAuthTypes.length > 0 && (\n            <div className='login-or'>\n              <div className='or-line'></div>\n              {t('login.or')}\n              <div className='or-line'></div>\n            </div>\n          )}\n        </Form>\n      </div>\n    </>\n  );\n}\n\nexport default EmailLogin;\n", "export const defaultCountriesData = [\n  ['Afghanistan (\u202B\u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646\u202C\u200E)', 'af', '93'],\n  ['Albania (Shqip\u00EBri)', 'al', '355'],\n  ['Algeria (\u202B\u0627\u0644\u062C\u0632\u0627\u0626\u0631\u202C\u200E)', 'dz', '213'],\n  ['American Samoa', 'as', '1684'],\n  ['Andorra', 'ad', '376'],\n  ['Angola', 'ao', '244'],\n  ['Anguilla', 'ai', '1264'],\n  ['Antigua and Barbuda', 'ag', '1268'],\n  ['Argentina', 'ar', '54'],\n  ['Armenia (\u0540\u0561\u0575\u0561\u057D\u057F\u0561\u0576)', 'am', '374'],\n  ['Aruba', 'aw', '297'],\n  ['Australia', 'au', '61'],\n  ['Austria (\u00D6sterreich)', 'at', '43'],\n  ['Azerbaijan (Az\u0259rbaycan)', 'az', '994'],\n  ['Bahamas', 'bs', '1242'],\n  ['Bahrain (\u202B\u0627\u0644\u0628\u062D\u0631\u064A\u0646\u202C\u200E)', 'bh', '973'],\n  ['Bangladesh (\u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6)', 'bd', '880'],\n  ['Barbados', 'bb', '1246'],\n  ['Belarus (\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u044C)', 'by', '375'],\n  ['Belgium (Belgi\u00EB)', 'be', '32'],\n  ['Belize', 'bz', '501'],\n  ['Benin (B\u00E9nin)', 'bj', '229'],\n  ['Bermuda', 'bm', '1441'],\n  ['Bhutan (\u0F60\u0F56\u0FB2\u0F74\u0F42)', 'bt', '975'],\n  ['Bolivia', 'bo', '591'],\n  ['Bosnia and Herzegovina', 'ba', '387'],\n  ['Botswana', 'bw', '267'],\n  ['Brazil (Brasil)', 'br', '55'],\n  ['British Indian Ocean Territory', 'io', '246'],\n  ['British Virgin Islands', 'vg', '1284'],\n  ['Brunei', 'bn', '673'],\n  ['Bulgaria (\u0411\u044A\u043B\u0433\u0430\u0440\u0438\u044F)', 'bg', '359'],\n  ['Burkina Faso', 'bf', '226'],\n  ['Burundi (Uburundi)', 'bi', '257'],\n  ['Cambodia (\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6)', 'kh', '855'],\n  ['Cameroon (Cameroun)', 'cm', '237'],\n  ['Canada', 'ca', '1'],\n  ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n  ['Caribbean Netherlands', 'bq', '599'],\n  ['Cayman Islands', 'ky', '1345'],\n  ['Central African Republic', 'cf', '236'],\n  ['Chad (Tchad)', 'td', '235'],\n  ['Chile', 'cl', '56'],\n  ['China (\u4E2D\u56FD)', 'cn', '86'],\n  ['Christmas Island', 'cx', '61'],\n  ['Cocos (Keeling) Islands', 'cc', '61'],\n  ['Colombia', 'co', '57'],\n  ['Comoros (\u202B\u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631\u202C\u200E)', 'km', '269'],\n  ['Congo (DRC)', 'cd', '243'],\n  ['Congo (Republic)', 'cg', '242'],\n  ['Cook Islands', 'ck', '682'],\n  ['Costa Rica', 'cr', '506'],\n  ['C\u00F4te d\u2019Ivoire', 'ci', '225'],\n  ['Croatia (Hrvatska)', 'hr', '385'],\n  ['Cuba', 'cu', '53'],\n  ['Cura\u00E7ao', 'cw', '599'],\n  ['Cyprus (\u039A\u03CD\u03C0\u03C1\u03BF\u03C2)', 'cy', '357'],\n  ['Czech Republic (\u010Cesk\u00E1 republika)', 'cz', '420'],\n  ['Denmark (Danmark)', 'dk', '45'],\n  ['Djibouti', 'dj', '253'],\n  ['Dominica', 'dm', '1767'],\n  ['Dominican Republic', 'do', '1'],\n  ['Ecuador', 'ec', '593'],\n  ['Egypt (\u202B\u0645\u0635\u0631\u202C\u200E)', 'eg', '20'],\n  ['El Salvador', 'sv', '503'],\n  ['Equatorial Guinea', 'gq', '240'],\n  ['Eritrea', 'er', '291'],\n  ['Estonia (Eesti)', 'ee', '372'],\n  ['Ethiopia', 'et', '251'],\n  ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n  ['Faroe Islands (F\u00F8royar)', 'fo', '298'],\n  ['Fiji', 'fj', '679'],\n  ['Finland (Suomi)', 'fi', '358'],\n  ['France', 'fr', '33'],\n  ['French Guiana', 'gf', '594'],\n  ['French Polynesia', 'pf', '689'],\n  ['Gabon', 'ga', '241'],\n  ['Gambia', 'gm', '220'],\n  ['Georgia (\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD)', 'ge', '995'],\n  ['Germany (Deutschland)', 'de', '49'],\n  ['Ghana (Gaana)', 'gh', '233'],\n  ['Gibraltar', 'gi', '350'],\n  ['Greece (\u0395\u03BB\u03BB\u03AC\u03B4\u03B1)', 'gr', '30'],\n  ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n  ['Grenada', 'gd', '1473'],\n  ['Guadeloupe', 'gp', '590'],\n  ['Guam', 'gu', '1671'],\n  ['Guatemala', 'gt', '502'],\n  ['Guernsey', 'gg', '44'],\n  ['Guinea (Guin\u00E9e)', 'gn', '224'],\n  ['Guinea-Bissau (Guin\u00E9 Bissau)', 'gw', '245'],\n  ['Guyana', 'gy', '592'],\n  ['Haiti', 'ht', '509'],\n  ['Honduras', 'hn', '504'],\n  ['Hong Kong (\u9999\u6E2F)', 'hk', '852'],\n  ['Hungary (Magyarorsz\u00E1g)', 'hu', '36'],\n  ['Iceland (\u00CDsland)', 'is', '354'],\n  ['India (\u092D\u093E\u0930\u0924)', 'in', '91'],\n  ['Indonesia', 'id', '62'],\n  ['Iran (\u202B\u0627\u06CC\u0631\u0627\u0646\u202C\u200E)', 'ir', '98'],\n  ['Iraq (\u202B\u0627\u0644\u0639\u0631\u0627\u0642\u202C\u200E)', 'iq', '964'],\n  ['Ireland', 'ie', '353'],\n  ['Isle of Man', 'im', '44'],\n  ['Israel (\u202B\u05D9\u05E9\u05E8\u05D0\u05DC\u202C\u200E)', 'il', '972'],\n  ['Italy (Italia)', 'it', '39'],\n  ['Jamaica', 'jm', '1876'],\n  ['Japan (\u65E5\u672C)', 'jp', '81'],\n  ['Jersey', 'je', '44'],\n  ['Jordan (\u202B\u0627\u0644\u0623\u0631\u062F\u0646\u202C\u200E)', 'jo', '962'],\n  ['Kazakhstan (\u041A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D)', 'kz', '7'],\n  ['Kenya', 'ke', '254'],\n  ['Kiribati', 'ki', '686'],\n  ['Kosovo', 'xk', '383'],\n  ['Kuwait (\u202B\u0627\u0644\u0643\u0648\u064A\u062A\u202C\u200E)', 'kw', '965'],\n  ['Kyrgyzstan (\u041A\u044B\u0440\u0433\u044B\u0437\u0441\u0442\u0430\u043D)', 'kg', '996'],\n  ['Laos (\u0EA5\u0EB2\u0EA7)', 'la', '856'],\n  ['Latvia (Latvija)', 'lv', '371'],\n  ['Lebanon (\u202B\u0644\u0628\u0646\u0627\u0646\u202C\u200E)', 'lb', '961'],\n  ['Lesotho', 'ls', '266'],\n  ['Liberia', 'lr', '231'],\n  ['Libya (\u202B\u0644\u064A\u0628\u064A\u0627\u202C\u200E)', 'ly', '218'],\n  ['Liechtenstein', 'li', '423'],\n  ['Lithuania (Lietuva)', 'lt', '370'],\n  ['Luxembourg', 'lu', '352'],\n  ['Macau (\u6FB3\u9580)', 'mo', '853'],\n  ['Macedonia (FYROM) (\u041C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430)', 'mk', '389'],\n  ['Madagascar (Madagasikara)', 'mg', '261'],\n  ['Malawi', 'mw', '265'],\n  ['Malaysia', 'my', '60'],\n  ['Maldives', 'mv', '960'],\n  ['Mali', 'ml', '223'],\n  ['Malta', 'mt', '356'],\n  ['Marshall Islands', 'mh', '692'],\n  ['Martinique', 'mq', '596'],\n  ['Mauritania (\u202B\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627\u202C\u200E)', 'mr', '222'],\n  ['Mauritius (Moris)', 'mu', '230'],\n  ['Mayotte', 'yt', '262'],\n  ['Mexico (M\u00E9xico)', 'mx', '52'],\n  ['Micronesia', 'fm', '691'],\n  ['Moldova (Republica Moldova)', 'md', '373'],\n  ['Monaco', 'mc', '377'],\n  ['Mongolia (\u041C\u043E\u043D\u0433\u043E\u043B)', 'mn', '976'],\n  ['Montenegro (Crna Gora)', 'me', '382'],\n  ['Montserrat', 'ms', '1664'],\n  ['Morocco (\u202B\u0627\u0644\u0645\u063A\u0631\u0628\u202C\u200E)', 'ma', '212'],\n  ['Mozambique (Mo\u00E7ambique)', 'mz', '258'],\n  ['Myanmar (Burma) (\u1019\u103C\u1014\u103A\u1019\u102C)', 'mm', '95'],\n  ['Namibia (Namibi\u00EB)', 'na', '264'],\n  ['Nauru', 'nr', '674'],\n  ['Nepal (\u0928\u0947\u092A\u093E\u0932)', 'np', '977'],\n  ['Netherlands (Nederland)', 'nl', '31'],\n  ['New Caledonia (Nouvelle-Cal\u00E9donie)', 'nc', '687'],\n  ['New Zealand', 'nz', '64'],\n  ['Nicaragua', 'ni', '505'],\n  ['Niger (Nijar)', 'ne', '227'],\n  ['Nigeria', 'ng', '234'],\n  ['Niue', 'nu', '683'],\n  ['Norfolk Island', 'nf', '672'],\n  ['North Korea (\uC870\uC120 \uBBFC\uC8FC\uC8FC\uC758 \uC778\uBBFC \uACF5\uD654\uAD6D)', 'kp', '850'],\n  ['Northern Mariana Islands', 'mp', '1670'],\n  ['Norway (Norge)', 'no', '47'],\n  ['Oman (\u202B\u0639\u064F\u0645\u0627\u0646\u202C\u200E)', 'om', '968'],\n  ['Pakistan (\u202B\u067E\u0627\u06A9\u0633\u062A\u0627\u0646\u202C\u200E)', 'pk', '92'],\n  ['Palau', 'pw', '680'],\n  ['Palestine (\u202B\u0641\u0644\u0633\u0637\u064A\u0646\u202C\u200E)', 'ps', '970'],\n  ['Panama (Panam\u00E1)', 'pa', '507'],\n  ['Papua New Guinea', 'pg', '675'],\n  ['Paraguay', 'py', '595'],\n  ['Peru (Per\u00FA)', 'pe', '51'],\n  ['Philippines', 'ph', '63'],\n  ['Poland (Polska)', 'pl', '48'],\n  ['Portugal', 'pt', '351'],\n  ['Puerto Rico', 'pr', '1'],\n  ['Qatar (\u202B\u0642\u0637\u0631\u202C\u200E)', 'qa', '974'],\n  ['R\u00E9union (La R\u00E9union)', 're', '262'],\n  ['Romania (Rom\u00E2nia)', 'ro', '40'],\n  ['Russia (\u0420\u043E\u0441\u0441\u0438\u044F)', 'ru', '7'],\n  ['Rwanda', 'rw', '250'],\n  ['Saint Barth\u00E9lemy (Saint-Barth\u00E9lemy)', 'bl', '590'],\n  ['Saint Helena', 'sh', '290'],\n  ['Saint Kitts and Nevis', 'kn', '1869'],\n  ['Saint Lucia', 'lc', '1758'],\n  ['Saint Martin', 'mf', '590'],\n  ['Saint Pierre and Miquelon', 'pm', '508'],\n  ['Saint Vincent and the Grenadines', 'vc', '1784'],\n  ['Samoa', 'ws', '685'],\n  ['San Marino', 'sm', '378'],\n  ['S\u00E3o Tom\u00E9 and Pr\u00EDncipe', 'st', '239'],\n  ['Saudi Arabia (\u202B\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629\u202C\u200E)', 'sa', '966'],\n  ['Senegal (S\u00E9n\u00E9gal)', 'sn', '221'],\n  ['Serbia (\u0421\u0440\u0431\u0438\u0458\u0430)', 'rs', '381'],\n  ['Seychelles', 'sc', '248'],\n  ['Sierra Leone', 'sl', '232'],\n  ['Singapore', 'sg', '65'],\n  ['Sint Maarten', 'sx', '1721'],\n  ['Slovakia (Slovensko)', 'sk', '421'],\n  ['Slovenia (Slovenija)', 'si', '386'],\n  ['Solomon Islands', 'sb', '677'],\n  ['Somalia (Soomaaliya)', 'so', '252'],\n  ['South Africa', 'za', '27'],\n  ['South Korea (\uB300\uD55C\uBBFC\uAD6D)', 'kr', '82'],\n  ['South Sudan (\u202B\u062C\u0646\u0648\u0628 \u0627\u0644\u0633\u0648\u062F\u0627\u0646\u202C\u200E)', 'ss', '211'],\n  ['Spain (Espa\u00F1a)', 'es', '34'],\n  ['Sri Lanka (\u0DC1\u0DCA\u200D\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0)', 'lk', '94'],\n  ['Sudan (\u202B\u0627\u0644\u0633\u0648\u062F\u0627\u0646\u202C\u200E)', 'sd', '249'],\n  ['Suriname', 'sr', '597'],\n  ['Svalbard and Jan Mayen', 'sj', '47'],\n  ['Swaziland', 'sz', '268'],\n  ['Sweden (Sverige)', 'se', '46'],\n  ['Switzerland (Schweiz)', 'ch', '41'],\n  ['Syria (\u202B\u0633\u0648\u0631\u064A\u0627\u202C\u200E)', 'sy', '963'],\n  ['Taiwan (\u53F0\u7063)', 'tw', '886'],\n  ['Tajikistan', 'tj', '992'],\n  ['Tanzania', 'tz', '255'],\n  ['Thailand (\u0E44\u0E17\u0E22)', 'th', '66'],\n  ['Timor-Leste', 'tl', '670'],\n  ['Togo', 'tg', '228'],\n  ['Tokelau', 'tk', '690'],\n  ['Tonga', 'to', '676'],\n  ['Trinidad and Tobago', 'tt', '1868'],\n  ['Tunisia (\u202B\u062A\u0648\u0646\u0633\u202C\u200E)', 'tn', '216'],\n  ['Turkey (T\u00FCrkiye)', 'tr', '90'],\n  ['Turkmenistan', 'tm', '993'],\n  ['Turks and Caicos Islands', 'tc', '1649'],\n  ['Tuvalu', 'tv', '688'],\n  ['U.S. Virgin Islands', 'vi', '1340'],\n  ['Uganda', 'ug', '256'],\n  ['Ukraine (\u0423\u043A\u0440\u0430\u0457\u043D\u0430)', 'ua', '380'],\n  ['United Arab Emirates', 'ae', '971'],\n  ['United Kingdom', 'gb', '44'],\n  ['United States', 'us', '1'],\n  ['Uruguay', 'uy', '598'],\n  ['Uzbekistan (O\u02BBzbekiston)', 'uz', '998'],\n  ['Vanuatu', 'vu', '678'],\n  ['Vatican City (Citt\u00E0 del Vaticano)', 'va', '39'],\n  ['Venezuela', 've', '58'],\n  ['Vietnam (Vi\u1EC7t Nam)', 'vn', '84'],\n  ['Wallis and Futuna', 'wf', '681'],\n  ['Western Sahara (\u202B\u0627\u0644\u0635\u062D\u0631\u0627\u0621 \u0627\u0644\u063A\u0631\u0628\u064A\u0629\u202C\u200E)', 'eh', '212'],\n  ['Yemen (\u202B\u0627\u0644\u064A\u0645\u0646\u202C\u200E)', 'ye', '967'],\n  ['Zambia', 'zm', '260'],\n  ['Zimbabwe', 'zw', '263'],\n  ['\u00C5land Islands', 'ax', '358'],\n];\n\nexport function getCurrentCountry() {\n  const language = navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;\n  const locales = language.split('-');\n  const region = locales.length > 1 ? locales[1] : locales[0];\n  let currentCountry;\n  if (region && region.length > 0) {\n    currentCountry = defaultCountriesData.find((item) => item[1].toUpperCase() === region);\n  }\n  return currentCountry;\n}\n", "import { DownOutlined } from '@ant-design/icons';\nimport { getCloudflareTurnstileResponse } from '@particle-network/auth-core';\nimport { Button, Form, Input } from 'antd';\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode';\nimport type { CountryCode } from 'libphonenumber-js/max';\nimport { isValidPhoneNumber, parsePhoneNumber, parsePhoneNumberWithError } from 'libphonenumber-js/max';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { defaultCountriesData } from '../../../api/model/all-countries';\nimport { useAuthCoreModal, useTranslation } from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { isPhoneValid } from '../../../utils';\nimport styles from './login.less';\n\nfunction PhoneLogin(props: any) {\n  const { t } = useTranslation();\n\n  const { sendCaptcha, setShowInputCaptcha, account, supportAuthTypes, loginWithAccount } = props;\n\n  const [selectVisible, setSelectVisible] = useState(false);\n\n  const { themeType, language } = useCustomize();\n\n  const [countryData, setCountryData] = useState(['United States', 'us', '1']);\n\n  const [form] = Form.useForm();\n\n  const clickRef = useRef<any>();\n  const { authCoreModal } = useAuthCoreModal();\n  const [errorTip, setErrorTip] = useState(false);\n  const [noInputTip, setNoInputTip] = useState(false);\n\n  const [loading, setLoading] = useState(false);\n  const message = useMessage();\n  const phoneInput = useRef<any>(null);\n\n  const [phoneValue, setPhoneValue] = useState<string>();\n\n  useEffect(() => {\n    if (selectVisible) {\n      document.addEventListener('click', clickCallback, true);\n      return () => {\n        document.removeEventListener('click', clickCallback, true);\n      };\n    }\n  }, [selectVisible]);\n\n  useEffect(() => {\n    let currentCountry;\n    if (account && !account.includes('@')) {\n      if (isValidPhoneNumber(account)) {\n        const phoneNumber = parsePhoneNumber(account);\n        const countryCode = phoneNumber.countryCallingCode.toString();\n        const regionCode = phoneNumber.country;\n        form.setFieldsValue({\n          phone: phoneNumber.nationalNumber,\n        });\n        if (countryCode && regionCode) {\n          const items = defaultCountriesData.filter(\n            (item) => item[2].toString() === countryCode && item[1].toLowerCase() === regionCode.toLowerCase()\n          );\n          if (items && items.length > 0) {\n            currentCountry = items[items.length - 1];\n          }\n        }\n      }\n    }\n    if (!currentCountry) {\n      const language = navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;\n      const locales = language.split('-');\n      const region = locales.length > 1 ? locales[1] : locales[0];\n      if (region && region.length > 0) {\n        currentCountry = defaultCountriesData.find((item) => item[1].toUpperCase() === region);\n      }\n    }\n    if (currentCountry) {\n      setCountryData(currentCountry);\n    }\n\n    if (loginWithAccount && account && sendCaptcha && isValidPhoneNumber(account)) {\n      getCaptcha(account, currentCountry ? currentCountry[1].toUpperCase() : undefined);\n    }\n  }, []);\n\n  const clickCallback = (event: any) => {\n    setTimeout(() => {\n      if (clickRef.current?.contains(event.target)) {\n        return;\n      }\n      setSelectVisible(false);\n    });\n  };\n\n  // \u9A8C\u8BC1 form\n  const validateForm = (phoneValue: string, regionCode: string, isValidateEmpty = true) => {\n    if (!phoneValue && isValidateEmpty) {\n      setNoInputTip(true);\n      return;\n    }\n\n    if (phoneValue?.length === 1) {\n      setErrorTip(true);\n      return;\n    }\n\n    if (!isPhoneValid(phoneValue, regionCode)) {\n      setErrorTip(true);\n      return false;\n    } else {\n      setErrorTip(false);\n      return true;\n    }\n  };\n\n  const getCaptcha = (phone: string, regionCode?: string) => {\n    phoneInput.current.focus();\n    if (!phone) {\n      setNoInputTip(true);\n      return;\n    }\n    if (phone.length === 1) {\n      setErrorTip(true);\n      return;\n    }\n\n    if (!regionCode) {\n      regionCode = countryData[1].toUpperCase();\n    }\n    if (isPhoneValid(phone, regionCode)) {\n      const countryCode = regionCode.toUpperCase() as CountryCode;\n      const phoneE164 = parsePhoneNumber(phone, countryCode).format('E.164');\n      console.log('login phone: ' + phoneE164);\n      setPhoneValue(phoneE164);\n      setLoading(true);\n      getCloudflareTurnstileResponse({\n        theme: themeType,\n        language,\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      })\n        .then((token) => {\n          sendCaptchaImpl(token, phoneE164);\n        })\n        .catch(() => {\n          setLoading(false);\n          message.error(t('error.server_20112'));\n        });\n    } else {\n      setErrorTip(true);\n    }\n  };\n\n  const sendCaptchaImpl = (token: string, phoneValue: string) => {\n    setLoading(true);\n    sendCaptcha({\n      phone: phoneValue,\n      // eslint-disable-next-line camelcase\n      cf_turnstile_response: token,\n    })\n      .then((result: boolean) => {\n        setShowInputCaptcha(result);\n      })\n      .catch(() => {\n        setLoading(false);\n      });\n  };\n\n  const initialAccountValue = () => {\n    try {\n      if (account?.includes('@')) {\n        return '';\n      } else if (account?.length > 0) {\n        const phoneNumber = parsePhoneNumberWithError(account);\n        return phoneNumber.nationalNumber;\n      }\n    } catch (error) {\n      console.log('initialAccountValue', error);\n    }\n    return '';\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='login-style'>\n        {selectVisible && (\n          <div className='select-country' ref={clickRef}>\n            {defaultCountriesData.map((item, index) => {\n              return (\n                <div\n                  key={index}\n                  className='country-item'\n                  onClick={() => {\n                    setCountryData(item);\n                    setSelectVisible(false);\n\n                    setTimeout(() => {\n                      const phoneValue = form.getFieldsValue().phone;\n                      if (phoneValue) {\n                        validateForm(phoneValue, item[1].toUpperCase(), false);\n                      }\n                    });\n                  }}\n                >\n                  <div className='country-box'>\n                    <div className='country-flag'>{getUnicodeFlagIcon(`${item[1]}`)}</div>\n                    <span className='country-name'>{item[0]}</span>\n                  </div>\n                  <div className='country-code'>{'+' + item[2]}</div>\n                </div>\n              );\n            })}\n          </div>\n        )}\n        <Form\n          name='login-form'\n          onFinish={(values) => getCaptcha(values.phone, undefined)}\n          className='form-box'\n          requiredMark={false}\n          form={form}\n          labelCol={{\n            style: { textAlign: 'left' },\n          }}\n        >\n          <div className='phone-box'>\n            <div\n              className='phone-select'\n              defaultValue={`+${countryData[2]}`}\n              onClick={() => {\n                if (!loading) {\n                  setSelectVisible(true);\n                }\n              }}\n            >\n              {getUnicodeFlagIcon(`${countryData[1]}`)}\n              <DownOutlined className='down-more' />\n            </div>\n            <div className='country-code'>+{countryData[2]}</div>\n            <Form.Item\n              name='phone'\n              // label={t(\"login.enter_phone\")}\n              label=''\n              className='form-item'\n              getValueFromEvent={(event) => {\n                return event.target.value.replace(/\\D+/g, '');\n              }}\n              initialValue={initialAccountValue()}\n            >\n              <Input\n                type='text'\n                className='phone-input'\n                placeholder={t('login.mobile_number') || undefined}\n                ref={phoneInput}\n                onChange={() => {\n                  setErrorTip(false);\n                  setNoInputTip(false);\n                }}\n                readOnly={loginWithAccount}\n                onFocus={() => {\n                  document.querySelector('.phone-box')?.setAttribute('data-focus', 'true');\n                }}\n                onBlur={() => {\n                  document.querySelector('.phone-box')?.removeAttribute('data-focus');\n                }}\n              />\n            </Form.Item>\n          </div>\n\n          <div className='error-tip'>{errorTip && t('login.phone_format_error')}</div>\n          <div className='error-tip'>{noInputTip && t('login.input_phone_holder')}</div>\n\n          <Form.Item className='form-item'>\n            <Button type='primary' htmlType='submit' className='primary-antd-btn submit-btn' loading={loading}>\n              {t('login.get_captcha')}\n            </Button>\n          </Form.Item>\n        </Form>\n        {!loginWithAccount && supportAuthTypes.length > 0 && (\n          <div className='login-or'>\n            <div className='or-line'></div>\n            {t('login.or')}\n            <div className='or-line'></div>\n          </div>\n        )}\n      </div>\n    </>\n  );\n}\n\nexport default PhoneLogin;\n", "import { AuthType } from '@particle-network/auth-core';\nimport React, { useMemo, useState } from 'react';\nimport apple from '../../../common/images/apple_icon.png';\nimport discord from '../../../common/images/discord_icon.png';\nimport email from '../../../common/images/email_icon.png';\nimport facebook from '../../../common/images/facebook_icon.png';\nimport github from '../../../common/images/github_icon.png';\nimport google from '../../../common/images/google_icon.png';\nimport jwt from '../../../common/images/jwt_icon.png';\nimport linkedin from '../../../common/images/linkedin_icon.png';\nimport microsoft from '../../../common/images/microsoft_icon.png';\nimport passkeys from '../../../common/images/passkeys_icon.png';\nimport phone from '../../../common/images/phone_icon.png';\nimport telegram from '../../../common/images/telegram_icon.png';\nimport twitch from '../../../common/images/twitch_icon.png';\nimport twitter from '../../../common/images/twitter_icon.png';\nimport SVGIcon from '../../../components/icon/svg-icon';\n\ninterface Props {\n  supportAuthTypes: AuthType[];\n  preferredAuthType?: AuthType;\n  onPreferredAuthTypeChange?: (authType: AuthType) => void;\n  thirdpartyAuthLogin: (authType: AuthType) => void;\n}\nconst SocialLogin = (props: Props) => {\n  const { supportAuthTypes, preferredAuthType, onPreferredAuthTypeChange, thirdpartyAuthLogin } = props;\n\n  const [collapse, setCollapse] = useState(true);\n\n  const authLogin = (authType: AuthType) => {\n    thirdpartyAuthLogin(authType);\n  };\n\n  const toggleEmailOrPhone = (authType: AuthType) => {\n    onPreferredAuthTypeChange?.(authType);\n  };\n\n  const imgs = {\n    email,\n    phone,\n    facebook,\n    google,\n    apple,\n    twitter,\n    discord,\n    github,\n    twitch,\n    microsoft,\n    linkedin,\n    jwt,\n    telegram,\n    passkeys,\n  };\n\n  const items = useMemo(() => {\n    const authTypes = supportAuthTypes as AuthType[];\n    const hasEmailAndPhone = authTypes.includes(AuthType.email) && authTypes.includes(AuthType.phone);\n    const items: React.ReactNode[] = [];\n    if (hasEmailAndPhone) {\n      if (preferredAuthType === AuthType.phone) {\n        items.push(<img key='email-login' src={email} alt='' onClick={() => toggleEmailOrPhone(AuthType.email)} />);\n      } else {\n        items.push(<img key='phone-login' src={phone} alt='' onClick={() => toggleEmailOrPhone(AuthType.phone)} />);\n      }\n    }\n    const displayAuthTypes = authTypes.filter((authType) => authType !== AuthType.email && authType !== AuthType.phone);\n\n    items.push(\n      ...displayAuthTypes.map((authType) => (\n        <img key={`${authType}-login`} src={imgs[authType]} alt='' onClick={() => authLogin(authType as AuthType)} />\n      ))\n    );\n\n    const collapseIcon = (\n      <div\n        key='collapse-login'\n        className='collapse-login-icon'\n        onClick={() => setCollapse(!collapse)}\n        data-is-collapse={collapse}\n      >\n        <SVGIcon className='collapse-icon' name='collapse_icon' />\n      </div>\n    );\n\n    if (items.length > 5) {\n      items.splice(4, 0, collapseIcon);\n    }\n\n    if (collapse) {\n      items.splice(5, items.length - 5);\n    }\n\n    return items;\n  }, [collapse, preferredAuthType, supportAuthTypes]);\n\n  return (\n    <div className='change-login-mode' data-collapse={!!collapse}>\n      <div className='change-social'>{items}</div>\n    </div>\n  );\n};\n\nexport default SocialLogin;\n", "import { LoadingOutlined } from '@ant-design/icons';\nimport {\n  AuthType,\n  getConnectCaptcha,\n  isNullish,\n  requireNotNullish,\n  type CaptchaRequest,\n  type ConnectParam,\n  type PhoneCaptchaRequest,\n  type SocialAuthType,\n} from '@particle-network/auth-core';\nimport { Image } from 'antd';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport logoImg from '../../common/images/logo.png';\nimport PowerFooter from '../../components/power-footer';\nimport { useParticleAuth, useTranslation } from '../../context';\nimport useLogin from '../../context/hooks/useLogin';\nimport { EmailRegExp, isValidE164PhoneNumber } from '../../utils';\nimport CaptchaInput from './components/captcha-input';\nimport EmailLogin from './components/email-login';\nimport loginStyles from './components/login.less';\nimport PhoneLogin from './components/phone-login';\nimport SocialLogin from './components/social-login';\nimport styles from './index.less';\n\nfunction Login(props?: ConnectParam) {\n  // @ts-ignore\n  const { email, phone, authorization, chain } = props || {};\n\n  const { modalOptions, setLoginAuthorization } = useParticleAuth();\n  const { socialAuthLogin } = useLogin();\n\n  const getDefaultLoginType = () => {\n    const indexPhone = modalOptions.authTypes?.indexOf(AuthType.phone) ?? -1;\n    const indexEmail = modalOptions.authTypes?.indexOf(AuthType.email) ?? -1;\n    if (\n      (!isNullish(phone) && (indexPhone >= 0 || !modalOptions.authTypes?.length)) ||\n      (!email &&\n        ((indexPhone >= 0 && indexEmail < 0) || (indexPhone >= 0 && indexEmail >= 0 && indexPhone < indexEmail)))\n    ) {\n      return AuthType.phone;\n    } else {\n      return AuthType.email;\n    }\n  };\n\n  const [loginType, setLoginType] = useState<AuthType>(getDefaultLoginType()); // email or phone\n\n  const { t } = useTranslation();\n\n  const [account, setAccount] = useState<string | undefined>('');\n\n  const [showInputCaptcha, setShowInputCaptcha] = useState(false);\n\n  const [loginWithAccount, setLoginWithAccount] = useState(false);\n\n  const [supportAuthTypes, setSupportAuthTypes] = useState<AuthType[]>(modalOptions.authTypes || []);\n\n  const displayInputCaptcha = (visible: boolean) => {\n    setShowInputCaptcha(visible);\n  };\n\n  useEffect(() => {\n    document.documentElement.setAttribute('data-login-type', loginType || '');\n  }, [loginType]);\n\n  useEffect(() => {\n    if (!loginWithAccount) {\n      const allTypes = Object.values(AuthType).filter(\n        (authType) => authType !== AuthType.jwt && authType !== AuthType.telegram\n      );\n      if (!modalOptions.authTypes) {\n        setSupportAuthTypes(allTypes);\n      } else {\n        const types = modalOptions.authTypes.filter(\n          (authType) => authType !== AuthType.jwt && authType !== AuthType.telegram && allTypes.includes(authType)\n        );\n        if (!types.includes(AuthType.email) && !types.includes(AuthType.phone) && types.length > 0) {\n          types.unshift(AuthType.email);\n        }\n        if (types.length === 1 && (types[0] === AuthType.email || types[0] === AuthType.phone)) {\n          //clear all\n          types.length = 0;\n        }\n        setSupportAuthTypes(types);\n      }\n    } else {\n      setSupportAuthTypes([]);\n    }\n  }, [loginWithAccount, modalOptions.authTypes]);\n\n  useEffect(() => {\n    if (authorization) {\n      setLoginAuthorization({ authorization, chain: requireNotNullish(chain) });\n    } else {\n      setLoginAuthorization(undefined);\n    }\n\n    loginDirectly();\n  }, []);\n\n  //\u53D1\u9001\u9A8C\u8BC1\u7801\n  const sendCaptcha = async (data: CaptchaRequest): Promise<boolean> => {\n    setAccount('email' in data && data.email ? data.email : (data as PhoneCaptchaRequest).phone);\n    const result = await getConnectCaptcha(data).then((result) => {\n      console.log(`request captcha success: ${result}`);\n      return result;\n    });\n    return result;\n  };\n\n  // login directly\n  const loginDirectly = () => {\n    if (email && loginType === AuthType.email) {\n      if (EmailRegExp.test(email)) {\n        setLoginWithAccount(true);\n        setAccount(email);\n      }\n    } else if (phone && loginType === AuthType.phone) {\n      const e164Phone = isValidE164PhoneNumber(phone);\n      if (e164Phone) {\n        setLoginWithAccount(true);\n        setAccount(e164Phone);\n      }\n    }\n  };\n\n  const thirdpartyAuthLogin = (authType: AuthType) => {\n    setLoginType(authType);\n    socialAuthLogin({\n      socialType: authType as SocialAuthType,\n      prompt: 'select_account',\n      authorization,\n      chain,\n    });\n  };\n\n  const loginContent = () => {\n    if (showInputCaptcha) {\n      return (\n        <CaptchaInput\n          sendCaptcha={sendCaptcha}\n          setShowInputCaptcha={displayInputCaptcha}\n          account={account}\n          loginWithAccount={loginWithAccount}\n          chain={chain}\n        />\n      );\n    } else if (loginType === AuthType.email) {\n      return (\n        <EmailLogin\n          sendCaptcha={sendCaptcha}\n          setShowInputCaptcha={displayInputCaptcha}\n          setLoginType={changeLoginType}\n          account={email || account}\n          supportAuthTypes={supportAuthTypes}\n          loginWithAccount={!!email || loginWithAccount}\n        />\n      );\n    } else if (loginType === AuthType.phone) {\n      return (\n        <PhoneLogin\n          sendCaptcha={sendCaptcha}\n          setShowInputCaptcha={displayInputCaptcha}\n          setLoginType={changeLoginType}\n          account={phone || account}\n          supportAuthTypes={supportAuthTypes}\n          loginWithAccount={!!phone || loginWithAccount}\n        />\n      );\n    }\n  };\n\n  const changeLoginType = (type: AuthType) => {\n    setLoginType(type);\n  };\n\n  const authTypeDisplayed = (type: AuthType): string => {\n    if (type === AuthType.jwt) {\n      return 'JWT';\n    } else {\n      return type.titleCase();\n    }\n  };\n\n  const loggingHint = (loginType: AuthType): string => {\n    if (loginType === AuthType.jwt || loginType === AuthType.telegram) {\n      return t('login.create_wallet');\n    } else {\n      return t('login.social_login').format(authTypeDisplayed(loginType));\n    }\n  };\n\n  const projectLogo: string = useMemo(() => {\n    let img = modalOptions.customStyle?.logo;\n    if (!img) {\n      img = logoImg;\n    }\n    return (img || '') as string;\n  }, [modalOptions.customStyle?.logo]);\n\n  return (\n    <div className='login-container-box'>\n      <style>{loginStyles as unknown as string}</style>\n      <style>{styles as unknown as string}</style>\n      <div className='wrap'>\n        <div className='login-logo'>\n          <Image\n            className='product-logo'\n            preview={false}\n            height={64}\n            src={projectLogo}\n            key={projectLogo}\n            placeholder={\n              <div className='placeholder-wrap'>\n                <LoadingOutlined style={{ fontSize: 24 }} spin />\n              </div>\n            }\n            fallback={logoImg}\n            onError={(e) => {\n              e.currentTarget.src = logoImg;\n            }}\n          />\n        </div>\n        <div className='login-header0'>{modalOptions.customStyle?.projectName ?? t('common.particle_auth')}</div>\n\n        {showInputCaptcha ? (\n          <div className='login-des'>{account}</div>\n        ) : (\n          <div className='login-des'>\n            {loginType === AuthType.email || loginType === AuthType.phone ? (\n              modalOptions.customStyle?.subtitle ?? t('login.to_continue').format('App')\n            ) : (\n              <div className='third-party-des'>{loggingHint(loginType)}</div>\n            )}\n          </div>\n        )}\n\n        {loginContent()}\n\n        {!showInputCaptcha && !loginWithAccount && (loginType === AuthType.email || loginType === AuthType.phone) && (\n          <SocialLogin\n            supportAuthTypes={supportAuthTypes}\n            preferredAuthType={loginType}\n            onPreferredAuthTypeChange={setLoginType}\n            thirdpartyAuthLogin={thirdpartyAuthLogin}\n          />\n        )}\n      </div>\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n}\n\nexport default Login;\n", "import type { ReactNode } from 'react';\nimport React from 'react';\nimport { useCustomNavigate, useCustomRouter } from '../../context';\nimport SVGIcon from '../icon/svg-icon';\nimport styles from './index.less';\ninterface IProps {\n  children?: ReactNode;\n  leftContent?: ReactNode | string;\n  rightContent?: ReactNode | string;\n  displayBackBtn?: boolean;\n  onBack?: any;\n}\n\nconst Header = (props: IProps) => {\n  const { children, leftContent, rightContent, onBack } = props;\n  let { displayBackBtn = false } = props;\n\n  const navigate = useCustomNavigate();\n  const { customRouter } = useCustomRouter();\n  if (onBack) {\n    displayBackBtn = true;\n  }\n\n  if (leftContent || (customRouter?.history?.length ?? 0) <= 1) {\n    displayBackBtn = false;\n  }\n\n  return (\n    <div className='width-100'>\n      <style>{styles as unknown as string}</style>\n      <div className='p-auth-header'>\n        <div className='left'>\n          <>\n            {displayBackBtn && (\n              <SVGIcon\n                className='header-back-btn'\n                name='circle_back'\n                onClick={() => {\n                  if (onBack) {\n                    onBack();\n                  } else {\n                    navigate(-1);\n                  }\n                }}\n              />\n            )}\n            {leftContent}\n          </>\n        </div>\n        <div className='middle'>{children}</div>\n        <div className='right'>{rightContent}</div>\n      </div>\n    </div>\n  );\n};\n\nexport default Header;\n", "import Icon from '@ant-design/icons';\nimport React from 'react';\nimport styles from './index.less';\n\nconst CircleClose = ({ className = '', ...others }) => {\n  const svg = require('../../common/icon/circle_close.svg').default;\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <Icon\n        className={className ? `circle-close-icon ${className}` : 'circle-close-icon'}\n        //@ts-ignore\n        component={svg}\n        {...others}\n      />\n    </>\n  );\n};\n\nexport default CircleClose;\n", "import { Button, Modal } from 'antd';\nimport React from 'react';\nimport CircleClose from '../../../components/icon/circle-close';\nimport { useAuthCoreModal, useTranslation } from '../../../context';\nimport styles from './index.less';\n\ninterface Prop {\n  visible: boolean;\n  setVisible: (visible: boolean) => void;\n  onBind: () => void;\n}\n\nconst BindSecurityAccountPrompt = (prop: Prop) => {\n  const { visible, setVisible, onBind } = prop;\n  const { t } = useTranslation();\n  const { authCoreModal } = useAuthCoreModal();\n  const onClose = () => {\n    setVisible(false);\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <Modal\n        className='bind-security-account-prompt'\n        open={visible}\n        maskClosable={false}\n        onCancel={onClose}\n        closeIcon={<CircleClose />}\n        centered\n        getContainer={() => {\n          return authCoreModal.rootBody as HTMLElement;\n        }}\n      >\n        <div className='bind-hint-content'>{t('account.security_account_bind_hint')}</div>\n        <div className='prompt-bottom-btn-box'>\n          <Button className='primary-antd-btn secondary particle-cancel-button' onClick={onClose}>\n            {t('common.cancel')}\n          </Button>\n          <Button\n            className='primary-antd-btn'\n            onClick={() => {\n              setVisible(false);\n              onBind();\n            }}\n          >\n            {t('common.bind')}\n          </Button>\n        </div>\n      </Modal>\n    </>\n  );\n};\n\nexport default BindSecurityAccountPrompt;\n", "import {\n  AuthType,\n  hasMasterPassword as checkHasMasterPassword,\n  deletePaymentPassword,\n  getLatestAuthType,\n  syncUserInfo,\n} from '@particle-network/auth-core';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport apple from '../../../common/images/apple_icon.png';\nimport discord from '../../../common/images/discord_icon.png';\nimport email from '../../../common/images/email_icon.png';\nimport facebook from '../../../common/images/facebook_icon.png';\nimport github from '../../../common/images/github_icon.png';\nimport google from '../../../common/images/google_icon.png';\nimport jwt from '../../../common/images/jwt_icon.png';\nimport linkedin from '../../../common/images/linkedin_icon.png';\nimport microsoft from '../../../common/images/microsoft_icon.png';\nimport phone from '../../../common/images/phone_icon.png';\nimport telegram from '../../../common/images/telegram_icon.png';\nimport twitch from '../../../common/images/twitch_icon.png';\nimport twitter from '../../../common/images/twitter_icon.png';\nimport Header from '../../../components/header';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useModalOptions, useParticleAuth, useTranslation } from '../../../context';\nimport { useUserInfo } from '../../../context/hooks';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { displayEmail, displayPhone, shortString } from '../../../utils/common-utils';\nimport { PageType } from '../accountVerify/config';\nimport BindSecurityAccountPrompt from '../bindSecurityAccountPrompt';\nimport styles from './index.less';\n\nconst AccountAndSecurity = () => {\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n  const [promptSecurityAccount, setPromptSecurityAccount] = useState(false);\n  const { setPaymentVerify, showSelectSecurityAccount, setPaymentPassword } = useParticleAuth();\n  const { userInfo } = useUserInfo();\n  const { modalOptions } = useModalOptions();\n  const message = useMessage();\n\n  const hasMasterPassword = useMemo(() => {\n    return checkHasMasterPassword();\n  }, [userInfo]);\n\n  const formatId = (id?: string) => {\n    const provider = userInfo?.thirdparty_user_info?.provider;\n    if (provider === AuthType.jwt) {\n      return id?.replace(`${modalOptions.projectId}:`, '');\n    }\n    return id;\n  };\n\n  const icons = {\n    email,\n    phone,\n    facebook,\n    google,\n    apple,\n    twitter,\n    twitterv1: twitter,\n    discord,\n    github,\n    twitch,\n    microsoft,\n    linkedin,\n    jwt,\n    telegram,\n  };\n\n  // \u5F53\u524D\u767B\u5F55\u8D26\u53F7\u7C7B\u578B\n  const currentAuthType = useMemo(() => {\n    let authType = getLatestAuthType();\n    if (!authType) {\n      authType = (userInfo?.thirdparty_user_info?.provider as AuthType) || 'email';\n    }\n    if ((authType as string) === 'twitterv1') {\n      authType = AuthType.twitter;\n    }\n    return authType as AuthType;\n  }, [userInfo]);\n\n  // \u5F53\u524D\u767B\u5F55\u8D26\u53F7\n  const currentAccount = useMemo(() => {\n    let result = '';\n    if (currentAuthType && userInfo) {\n      result =\n        // @ts-ignore\n        userInfo[`${currentAuthType}`] ||\n        // @ts-ignore\n        userInfo[`${currentAuthType}_email`] ||\n        // @ts-ignore\n        shortString(formatId(userInfo[`${currentAuthType}_id`]));\n    }\n    return (\n      result ||\n      userInfo?.email ||\n      userInfo?.phone ||\n      userInfo?.thirdparty_user_info?.user_info?.email ||\n      shortString(formatId(userInfo?.thirdparty_user_info?.user_info?.id || ''))\n    );\n  }, [currentAuthType, userInfo]);\n\n  const setSecurityAccount = (type: 'phone' | 'email') => {\n    if (\n      (userInfo?.security_account?.email && !userInfo?.security_account?.phone) ||\n      (!userInfo?.security_account?.email && userInfo?.security_account?.phone)\n    ) {\n      // \u8BBE\u7F6E\u5B89\u5168\u8D26\u53F7,\u9700\u5148\u9A8C\u8BC1\u53E6\u4E00\u4E2A\u5B89\u5168\u8D26\u53F7\n      navigate('/account/verify', {\n        state: {\n          account: userInfo?.security_account?.email || userInfo.security_account?.phone,\n          authType: type,\n          redirectUrl: '/account/security',\n          pageType: PageType.VerifySecurityAccount_SetSecurityAccount,\n        },\n      });\n    } else {\n      navigate('/account/bind', {\n        state: {\n          accountType: type,\n          redirectUrl: '/account/security',\n        },\n      });\n    }\n  };\n\n  const chooseVerifyType = () => {\n    if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n      showSelectSecurityAccount(true);\n    } else {\n      navigate('/account/set-password', {\n        state: {\n          account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n        },\n      });\n    }\n  };\n\n  /**\n   * \u5173\u95ED\u652F\u4ED8\u5BC6\u7801\n   */\n  const closePaymentPassword = () => {\n    setPaymentVerify({\n      visible: true,\n      type: 'close',\n      onVerifyCompleted: (password) => {\n        deletePaymentPassword(password)\n          .then((result) => {\n            message.success(t('account.close_success'));\n            syncUserInfo();\n          })\n          .catch((error) => {\n            error.message && message.error(error.message);\n            console.log('closePaymentPassword Error', error);\n          });\n      },\n    });\n  };\n\n  const isCanBack = useMemo(() => {\n    return true;\n  }, []);\n\n  const goBack = () => {\n    navigate(-1);\n  };\n\n  const changeMasterPassword = () => {\n    navigate('/account/master-password/change');\n  };\n\n  const setMasterPassword = () => {\n    navigate('/account/master-password');\n  };\n\n  const aboutMasterPassword = () => {\n    navigate('/account/master-password/description');\n  };\n\n  const hasSecurityAccount = useMemo(\n    () => userInfo?.security_account?.email || userInfo?.security_account?.phone,\n    [userInfo?.security_account?.email, userInfo?.security_account?.phone]\n  );\n\n  useEffect(() => {\n    syncUserInfo().catch((e) => console.log('syncUserInfo', e));\n  }, []);\n\n  return (\n    <div className='account-and-security'>\n      <style>{styles as unknown as string}</style>\n      {isCanBack && <Header onBack={goBack}>{t('account.account_and_security')}</Header>}\n      {!isCanBack && <Header>{t('account.account_and_security')}</Header>}\n      <div className='scroll-content'>\n        <div className='category-title'>{t('account.account')}</div>\n        <div className='account-box'>\n          <img className='account-avatar' src={icons[currentAuthType]} />\n          <div className='account'>{currentAccount}</div>\n          <div\n            className='more-account'\n            onClick={() => {\n              if (hasSecurityAccount) {\n                navigate('/login-account');\n              } else {\n                setPromptSecurityAccount(true);\n              }\n            }}\n          >\n            {t('account.more_login_account')}\n          </div>\n        </div>\n\n        <div className='payment-security authorization-item'>\n          <div\n            className='label-item hover'\n            onClick={() => {\n              navigate('/manageDevices/deviceList');\n            }}\n          >\n            <div className='label-item-name'>{t('new.authorization')}</div>\n            <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n          </div>\n        </div>\n\n        <div className='category-title'>{t('account.security')}</div>\n\n        {/* master password */}\n        <div className='master-password-item'>\n          <div className='mp-header'>\n            <div className='mp-title'>{t('account.master_password')}</div>\n            <div className='mp-learn-more' onClick={aboutMasterPassword}>\n              {t('account.learn_more')}\n            </div>\n          </div>\n          <div className='mp-content'>\n            <div className='mp-desc'>{t('account.master_password_tip')}</div>\n            {!hasMasterPassword && (\n              <div className='mp-set' onClick={setMasterPassword}>\n                {t('account.set')}\n              </div>\n            )}\n          </div>\n          {hasMasterPassword && (\n            <div className='label-item hover' onClick={changeMasterPassword}>\n              <div className='label-item-name'>{t('account.change_master_password')}</div>\n              <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n            </div>\n          )}\n        </div>\n\n        <div className='verification-security'>\n          <h3>{t('account.verification_security')}</h3>\n          <p>{t('account.verification_security_tip')}</p>\n\n          <div className='label-item'>\n            <div className='label-item-name'>{t('account.email')}</div>\n\n            {displayEmail(userInfo?.security_account?.email || '') || (\n              <div className='label-item-btn' onClick={() => setSecurityAccount('email')}>\n                {t('account.set')}\n              </div>\n            )}\n          </div>\n          <div className='label-item'>\n            <div className='label-item-name'>{t('account.mobile')}</div>\n            {displayPhone(userInfo?.security_account?.phone || '') || (\n              <div className='label-item-btn' onClick={() => setSecurityAccount('phone')}>\n                {t('account.set')}\n              </div>\n            )}\n          </div>\n        </div>\n\n        <div className='payment-security'>\n          <h3>{t('account.payment_security')}</h3>\n          <p>{t('account.payment_password_hint')}</p>\n\n          {userInfo?.security_account?.has_set_payment_password ? (\n            <>\n              <div className='label-item hover' onClick={() => navigate('/account/change-password')}>\n                <div className='label-item-name'>{t('account.change_payment_password')}</div>\n                <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n              </div>\n              <div className='label-item hover' onClick={chooseVerifyType}>\n                <div className='label-item-name'>{t('account.forgot_payment_password')}</div>\n                <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n              </div>\n              <div className='label-item hover' onClick={closePaymentPassword}>\n                <div className='label-item-name'>{t('account.close_payment_password')}</div>\n                <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n              </div>\n            </>\n          ) : (\n            <div className='label-item'>\n              <div className='label-item-name'>{t('account.payment_password')}</div>\n              <div\n                className='label-item-btn'\n                onClick={() => {\n                  if (hasSecurityAccount) {\n                    setPaymentPassword();\n                  } else {\n                    setPromptSecurityAccount(true);\n                  }\n                }}\n              >\n                {t('account.set')}\n              </div>\n            </div>\n          )}\n        </div>\n      </div>\n      <PowerFooter className='footer-box-v2' />\n      <BindSecurityAccountPrompt\n        visible={promptSecurityAccount}\n        setVisible={setPromptSecurityAccount}\n        onBind={() => {\n          navigate('/account/bind', {\n            state: {\n              accountType: userInfo?.email ? 'phone' : 'email',\n              showSwitch: true,\n              redirectUrl: '/account/security',\n            },\n          });\n        }}\n      />\n    </div>\n  );\n};\n\nexport default AccountAndSecurity;\n", "import { AuthType } from '@particle-network/auth-core';\nimport { useThrottleFn } from 'ahooks';\nimport { parsePhoneNumber } from 'libphonenumber-js/max';\nimport React, { useMemo } from 'react';\nimport useMessage from '../..//context/hooks/useMessage';\nimport Header from '../../components/header';\nimport SVGIcon from '../../components/icon/svg-icon';\nimport PowerFooter from '../../components/power-footer';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../context';\nimport { PageType } from '../account/accountVerify/config';\n\nimport email from '../../common/images/email_icon.png';\nimport facebook from '../../common/images/facebook_icon.png';\nimport google from '../../common/images/google_icon.png';\nimport phone from '../../common/images/phone_icon.png';\nimport twitter from '../../common/images/twitter_icon.png';\n\nimport styles from './index.less';\n\nexport const getAccountList = (params: any) => {\n  const { userInfo, t } = params;\n  const list = [\n    {\n      type: AuthType.phone,\n      icon: phone,\n      name: t('account.mobile'),\n      value: userInfo.phone,\n      id: undefined,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.email,\n      icon: email,\n      name: t('account.email'),\n      value: userInfo.email,\n      id: undefined,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.google,\n      icon: google,\n      name: t('login.google'),\n      value: userInfo.google_email,\n      id: userInfo.google_id,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.facebook,\n      icon: facebook,\n      name: t('login.facebook'),\n      value: userInfo.facebook_email,\n      id: userInfo.facebook_id,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.twitter,\n      icon: twitter,\n      name: t('login.twitter'),\n      value: userInfo.twitter_email,\n      id: userInfo.twitter_id,\n      isOriginal: false,\n    },\n  ];\n  // if (userInfo.email && isSDKSupportPassKeys()) {\n  //     list.push({\n  //         type: AuthType.passkeys,\n  //         icon: passkeys,\n  //         name: t('login.passkeys'),\n  //         value: undefined,\n  //         id: userInfo.passkeys_id ? userInfo.email : undefined,\n  //         isOriginal: false,\n  //     });\n  // }\n  return list;\n};\n\nexport const encryptValue = (value: string) => {\n  let result = value?.replace(' ', '');\n  if (!result) {\n    return result;\n  } else if (result?.includes?.('@')) {\n    // email\n    result = `${result.split('@')[0].substr(0, 3)}****@${result.split('@')[1]}`;\n  } else if (result?.includes?.('+')) {\n    // phone\n    const phoneNumber = parsePhoneNumber(result);\n    const nationalNumber = phoneNumber.nationalNumber.toString();\n    const countryCode = phoneNumber.countryCallingCode;\n    result = `+${countryCode} ${nationalNumber?.substr?.(0, 3)}****${nationalNumber?.substr?.(-4)}`;\n  } else if (result) {\n    result = `${result.substr(0, 3)}****${result.substr(-4)}`;\n  }\n  return result;\n};\n\nlet selectedAuthType: AuthType;\n\nconst LoginAccount = () => {\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n  const { userInfo, showSelectSecurityAccount } = useParticleAuth();\n  const message = useMessage();\n  const { run: toAccountVerify } = useThrottleFn(\n    (params) => {\n      navigate('/account/verify', {\n        state: {\n          account: params.account, // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n          authType: selectedAuthType, // \u5217\u8868\u9009\u62E9\u7684 authType\n          pageType: PageType.VerifySecurityAccount_BindLoginAccount,\n        },\n      });\n    },\n    { wait: 3000 }\n  );\n\n  const accountList = useMemo(() => {\n    return getAccountList({ userInfo, t });\n  }, [userInfo, t]);\n\n  const toLoginAccountBind = (item: any) => {\n    if (item.value || item.id) {\n      // \u76F4\u63A5\u8DF3\u8F6C\u5230LoginAccount\u9875\u9762\n      // if (item.type === AuthType.passkeys) {\n      //     navigate('/login-account/details', {\n      //         state: {\n      //             accountInfo: item,\n      //         },\n      //     });\n      // } else {\n      navigate('/login-account/bind', {\n        state: {\n          authType: item.type,\n        },\n      });\n      // }\n    } else if (!userInfo?.security_account?.email && !userInfo?.security_account?.phone) {\n      // \u7ED1\u5B9A\u5B89\u5168\u8D26\u53F7\n      message.error('Please bind security account first.');\n    } else if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n      // \u9009\u62E9\u5B89\u5168\u8D26\u53F7\n      showSelectSecurityAccount(true, {\n        authType: selectedAuthType, // \u5217\u8868\u9009\u62E9\u7684 authType\n        pageType: PageType.VerifySecurityAccount_BindLoginAccount,\n      });\n    } else {\n      // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n      toAccountVerify({\n        account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n      });\n    }\n  };\n\n  return (\n    <div className='login-account-box'>\n      <style>{styles as unknown as string}</style>\n      <Header displayBackBtn={true}>{t('account.login_account')}</Header>\n      <div className='scroll-content'>\n        <div className='login-account-description'>{t('account.login_account_hint')}</div>\n        <div className='account-list'>\n          {accountList?.map((item, index) => {\n            return (\n              <div\n                className='login-account-item'\n                onClick={() => {\n                  selectedAuthType = item.type;\n                  toLoginAccountBind(item);\n                }}\n                key={index}\n              >\n                <img src={item.icon} />\n                <div className='login-account-name'>{item.name}</div>\n                <div className='login-account-value' data-no-linked={item.value || item.id ? false : true}>\n                  {encryptValue(item.value || item.id) || t('account.not_linked')}\n                </div>\n                <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n              </div>\n            );\n          })}\n        </div>\n      </div>\n\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n};\n\nexport default LoginAccount;\n", "import { getAuthorizationDApps } from '@particle-network/auth-core';\nimport { useRequest } from 'ahooks';\nimport { Skeleton } from 'antd';\nimport dayjs from 'dayjs';\nimport React, { useEffect } from 'react';\nimport Header from '../../../components/header';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useModalOptions, useTranslation } from '../../../context';\nimport { useCustomize } from '../../../context/hooks';\nimport styles from './index.less';\n\nconst DeviceList = () => {\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n  const { modalOptions } = useModalOptions();\n  const { language } = useCustomize();\n  const {\n    loading,\n    data: deviceList = [],\n    run: getAuthorizationsRequest,\n  } = useRequest(\n    () => {\n      return getAuthorizationDApps().then((list) => {\n        return list.map((item) => {\n          if (item.updated_at) {\n            // eslint-disable-next-line camelcase\n            item.updated_at = dayjs(new Date(item.updated_at)).format('YYYY/MM/DD HH:mm');\n          }\n          if (modalOptions.projectId === item.project_app_uuid || modalOptions.appId === item.project_app_uuid) {\n            item.isCurrent = true;\n          }\n          if (item.login_channel) {\n            // eslint-disable-next-line camelcase\n            item.login_channel = item.login_channel.replace(/( |^)[a-z]/g, (L) => L.toUpperCase());\n          }\n          if (item?.location?.country_code) {\n            try {\n              // eslint-disable-next-line camelcase\n              item.location.country_name = new Intl.DisplayNames([language || 'en'], {\n                type: 'region',\n              }).of(item?.location?.country_code);\n            } catch (error) {\n              console.log('Intl.DisplayNames', error);\n            }\n          }\n          return item;\n        });\n      });\n    },\n    {\n      cacheKey: 'getAuthorizations',\n      manual: true,\n    }\n  );\n\n  useEffect(() => {\n    getAuthorizationsRequest();\n  }, []);\n\n  return (\n    <div className='device-list-container'>\n      <style>{styles as unknown as string}</style>\n      <Header displayBackBtn={true}>{t('new.authorization')}</Header>\n      <div className='scroll-wrapper'>\n        <div className='devices-description'>{t('new.authorization_tips')}</div>\n        {loading ? (\n          <div className='device-list'>\n            <Skeleton />\n          </div>\n        ) : (\n          <div className='device-list'>\n            {deviceList?.map((item, index) => {\n              return (\n                <div\n                  className='item'\n                  key={index}\n                  onClick={() => {\n                    navigate('/manageDevices/deviceDetails', {\n                      state: {\n                        loginDeviceInfo: item,\n                      },\n                    });\n                  }}\n                >\n                  <div className='left'>\n                    <div className='wrap'>\n                      <div className='s-row device'>{item.project_app_name}</div>\n                      <div className='s-row created_at'>{item.updated_at}</div>\n                    </div>\n                  </div>\n                  <div className='right'>\n                    {item.isCurrent && <div className='current-icon'>{t('new.current')}</div>}\n                    <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n                  </div>\n                </div>\n              );\n            })}\n          </div>\n        )}\n      </div>\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n};\n\nexport default DeviceList;\n", "import type { DeviceInfo } from '@particle-network/auth-core';\nimport { deleteAuthorizationDApp } from '@particle-network/auth-core';\nimport { Button, Modal } from 'antd';\nimport React, { useState } from 'react';\nimport Header from '../../../components/header';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport { useAuthCoreModal, useCustomNavigate, useTranslation } from '../../../context';\nimport useMessage from '../../../context/hooks/useMessage';\nimport styles from './index.less';\n\ninterface IProps {\n  loginDeviceInfo: DeviceInfo;\n}\n\nconst DeviceList = (props: IProps) => {\n  const { loginDeviceInfo } = props;\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n  const { authCoreModal } = useAuthCoreModal();\n  const [visibleModal, setVisibleModal] = useState(false);\n  const [deleteLoading, setDeleteLoading] = useState(false);\n  const openDeleteModal = () => {\n    setVisibleModal(true);\n  };\n  const message = useMessage();\n  const closeDeleteModal = () => {\n    setVisibleModal(false);\n  };\n\n  return (\n    <div className='device-details-wrapper'>\n      <style>{styles as unknown as string}</style>\n      <div className='device-details-container'>\n        <Header displayBackBtn={true}>{t('new.details')}</Header>\n        <div className='scroll-wrapper'>\n          <div className='details-list'>\n            <div className='item'>\n              <div className='left'>{t('new.app')}</div>\n              <div className='right'>{loginDeviceInfo.project_app_name || '-'}</div>\n            </div>\n            <div className='item'>\n              <div className='left'>{t('new.device')}</div>\n              <div className='right'>{loginDeviceInfo.device || '-'}</div>\n            </div>\n            <div className='item'>\n              <div className='left'>{t('new.authorized_time')}</div>\n              <div className='right'>{loginDeviceInfo.updated_at || '-'}</div>\n            </div>\n            <div className='item'>\n              <div className='left'>{t('new.login_method')}</div>\n              <div className='right'>{(loginDeviceInfo.login_channel || '-').replace('Twitterv1', 'Twitter')}</div>\n            </div>\n            <div className='item'>\n              <div className='left'>{t('new.ip')}</div>\n              <div className='right'>{loginDeviceInfo?.location?.ip || '-'}</div>\n            </div>\n            <div className='item'>\n              <div className='left'>{t('new.country')}</div>\n              <div className='right'>\n                {loginDeviceInfo?.location?.country_name || loginDeviceInfo?.location?.country_code || '-'}\n              </div>\n            </div>\n            <div className='item'>\n              <div className='left'>{t('new.city')}</div>\n              <div className='right'>{loginDeviceInfo?.location?.city || '-'}</div>\n            </div>\n          </div>\n        </div>\n        <div className='btns'>\n          <Button\n            className='still-confirm confirm-delete-btn'\n            disabled={loginDeviceInfo.isCurrent}\n            onClick={() => {\n              openDeleteModal();\n            }}\n          >\n            {t('new.delete_access')}\n          </Button>\n        </div>\n        <Modal\n          className='delete-confirm-modal'\n          open={visibleModal}\n          closable={false}\n          footer={null}\n          centered={true}\n          getContainer={() => {\n            return authCoreModal.rootBody as HTMLDivElement;\n          }}\n        >\n          <div className='content-wrap'>\n            <div\n              className='close-btn'\n              onClick={() => {\n                closeDeleteModal();\n              }}\n            >\n              <SVGIcon className='circle_close' name='circle_close' />\n            </div>\n            <div className='content-text'>\n              {t('new.delete_access_to_n').format(loginDeviceInfo?.project_app_name, loginDeviceInfo?.device)}\n            </div>\n            <div className='btns'>\n              <Button\n                className='cancel-btn'\n                onClick={() => {\n                  closeDeleteModal();\n                }}\n              >\n                {t('common.cancel')}\n              </Button>\n              <Button\n                className='still-confirm delete-btn'\n                loading={deleteLoading}\n                onClick={() => {\n                  setDeleteLoading(true);\n                  setTimeout(() => {\n                    deleteAuthorizationDApp(loginDeviceInfo?.project_app_uuid)\n                      .finally(() => {\n                        setDeleteLoading(false);\n                      })\n                      .then((res: boolean) => {\n                        if (res) {\n                          closeDeleteModal();\n                          setTimeout(() => {\n                            navigate(-1);\n                          }, 500);\n                        }\n                      })\n                      .catch((error: any) => {\n                        message.error(error.message);\n                        console.log('deleteAuthorization Error', error);\n                      });\n                  }, 500);\n                }}\n              >\n                {t('new.delete')}\n              </Button>\n            </div>\n          </div>\n        </Modal>\n\n        <PowerFooter className='footer-box-v2' />\n      </div>\n    </div>\n  );\n};\n\nexport default DeviceList;\n", "import {\n  EvmRpcMethod,\n  getEVMChainInfoById,\n  getSmartAccountAddress,\n  tronAddressFromHex,\n  type ERC4337Options,\n} from '@particle-network/auth-core';\nimport { isTron } from '../utils/chain-utils';\n\ntype Options = {\n  chainId?: number;\n  method?: EvmRpcMethod;\n  erc4337?: ERC4337Options;\n};\n\nexport const getEVMPublicAddress = async ({ chainId, erc4337, method }: Options): Promise<string> => {\n  const id = chainId || Number(window.particleAuth?.ethereum.chainId);\n  let address;\n  if (erc4337 && method !== EvmRpcMethod.ethSendTransaction) {\n    address = await getSmartAccountAddress(erc4337);\n  } else {\n    if (typeof window !== 'undefined') {\n      address = window.particleAuth?.ethereum.selectedAddress;\n    }\n  }\n\n  if (isTron(getEVMChainInfoById(id))) {\n    address = tronAddressFromHex(address);\n  }\n  return address || '';\n};\n", "import Icon from '@ant-design/icons';\nimport React from 'react';\nimport svg from '../../common/icon/copy.svg';\n\nconst IconCopy = ({ className = '', ...others }) => {\n  return (\n    <Icon\n      className={className}\n      //@ts-ignore\n      component={svg}\n      {...others}\n    />\n  );\n};\n\nexport default IconCopy;\n", "import { ApiError } from '@particle-network/auth-core';\nimport { Modal } from 'antd';\nimport { useAuthCoreModal, useTranslation } from '../../context';\nimport useMessage from './useMessage';\n\nexport function formatServerError(error: any, t: (key: string) => string): string | undefined {\n  if (error && error.error_code) {\n    let message = t?.(`error.server_${error.error_code}`);\n    if (message && message.startsWith('error.server_')) {\n      if (error?.extra && Array.isArray(error?.extra) && error?.extra.length) {\n        message = error?.extra[0];\n      } else {\n        message = error?.extra ?? error.message;\n      }\n      message = message.charAt(0).toUpperCase() + message.slice(1);\n      return message;\n    }\n    return message;\n  } else {\n    return error?.message;\n  }\n}\n\nexport const useError = () => {\n  const { authCoreModal } = useAuthCoreModal();\n  const { t } = useTranslation();\n\n  const message = useMessage();\n\n  /**\n   * error handler\n   * @param err\n   */\n  function errorHandle(err: any) {\n    console.log('errorHandle: ' + JSON.stringify(err));\n    const errorCode = err.error_code ?? err.code;\n    // \u5224\u65AD\u670D\u52A1\u5668\u54CD\u5E94\n    if (errorCode && typeof errorCode === 'number') {\n      if (\n        errorCode === ApiError.InvalidCode ||\n        errorCode === ApiError.ResendCode ||\n        errorCode === ApiError.SecurityAccountFrozen ||\n        errorCode === ApiError.WrongPaymentPassword\n      ) {\n        // Ignore error\n      } else {\n        const message = formatServerError(err, t);\n        if (message) {\n          Modal.error({\n            title: message,\n            wrapClassName: 'auth-core-modal-error',\n            getContainer: () => {\n              return authCoreModal.rootBody as HTMLElement;\n            },\n          });\n        }\n      }\n    } else if (err.code === 'ECONNABORTED') {\n      if (err.message) {\n        message.error(err.message);\n      } else {\n        message.error('Network Error');\n      }\n    } else {\n      switch (err.status) {\n        case 401:\n        case 403:\n        case 404:\n        case 500:\n          message.error('Http Error: ' + err.status);\n          break;\n        default:\n          if (err.message && typeof err.message === 'string') {\n            message.error(err.message);\n          } else {\n            console.error('http error', err);\n          }\n          break;\n      }\n    }\n  }\n\n  return { errorHandle };\n};\n", "import { hasPaymentPassword, isNullish } from '@particle-network/auth-core';\nimport { useEffect, useState } from 'react';\nimport { useParticleAuth } from '..';\nimport { PromptSettingType } from '../../api/model/bundle';\nimport { PreferenceKey, load, save } from '../../repository';\n\nexport const usePaymentPassword = () => {\n  const [hasSetPaymentPassword, setHasSetPaymentPassword] = useState(hasPaymentPassword());\n\n  const { setPaymentPassword, userInfo, modalOptions, showAccountTipModal } = useParticleAuth();\n\n  useEffect(() => {\n    setHasSetPaymentPassword(Boolean(userInfo?.security_account?.has_set_payment_password));\n  }, [userInfo]);\n\n  const showSetPaymentPasswordOrConfirm = (confirm: () => void) => {\n    if (hasSetPaymentPassword) {\n      confirm();\n    } else {\n      if (\n        modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign === PromptSettingType.every ||\n        modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign === PromptSettingType.everyAndNotSkip\n      ) {\n        showAccountTipModal({\n          visible: true,\n          confirm,\n        });\n      } else if (\n        (modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign ||\n          isNullish(modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign)) &&\n        !load(PreferenceKey.PN_OPEN_SET_PAYMENT_PASSWORD)\n      ) {\n        save(PreferenceKey.PN_OPEN_SET_PAYMENT_PASSWORD, '1');\n        showAccountTipModal({\n          visible: true,\n          confirm,\n        });\n      } else {\n        confirm();\n      }\n    }\n  };\n\n  return {\n    hasSetPaymentPassword,\n    setPaymentPassword,\n    showSetPaymentPasswordOrConfirm,\n  };\n};\n", "import {\n  EvmRpcMethod,\n  SignTypedDataVersion,\n  type GasFee,\n  type PrefixedHexString,\n  type TotalAmount,\n} from '@particle-network/auth-core';\nimport { BigNumber } from 'bignumber.js';\nimport { fromWeiFormat } from './number-utils';\n\nexport const ethereumUtils = {\n  gasFee({\n    gasLimit,\n    baseFee,\n    maxFeePerGas,\n    maxPriorityFeePerGas,\n    gasPrice,\n  }: {\n    gasLimit: PrefixedHexString | number;\n    baseFee: PrefixedHexString | number;\n    maxFeePerGas?: PrefixedHexString | number;\n    maxPriorityFeePerGas?: PrefixedHexString | number;\n    gasPrice?: PrefixedHexString | number;\n  }): GasFee {\n    if (maxFeePerGas && maxPriorityFeePerGas && baseFee && gasLimit) {\n      //eip 1559\n      const fee = new BigNumber(maxPriorityFeePerGas)\n        .plus(new BigNumber(baseFee))\n        .multipliedBy(new BigNumber(gasLimit));\n\n      const maxFee = new BigNumber(maxFeePerGas).plus(new BigNumber(baseFee)).multipliedBy(new BigNumber(gasLimit));\n      return {\n        fee: fromWeiFormat(fee.toFixed()),\n        maxFee: fromWeiFormat(maxFee.toFixed()),\n      };\n    } else if (gasPrice) {\n      const fee = new BigNumber(gasPrice).multipliedBy(new BigNumber(gasLimit));\n      return {\n        maxFee: fromWeiFormat(fee.toFixed()),\n      };\n    }\n    return {\n      maxFee: '',\n    };\n  },\n\n  totalAmount({\n    value,\n    gasLimit,\n    baseFee,\n    maxFeePerGas,\n    maxPriorityFeePerGas,\n    gasPrice,\n  }: {\n    value?: PrefixedHexString | number;\n    gasLimit: PrefixedHexString | number;\n    baseFee: PrefixedHexString | number;\n    maxFeePerGas?: PrefixedHexString | number;\n    maxPriorityFeePerGas?: PrefixedHexString | number;\n    gasPrice?: PrefixedHexString | number;\n  }): TotalAmount {\n    if (!value) {\n      value = '0x0';\n    }\n    if (maxFeePerGas && maxPriorityFeePerGas) {\n      //eip 1559\n      const fee = new BigNumber(maxPriorityFeePerGas)\n        .plus(new BigNumber(baseFee))\n        .multipliedBy(new BigNumber(gasLimit));\n\n      const maxFee = new BigNumber(maxFeePerGas).plus(new BigNumber(baseFee)).multipliedBy(new BigNumber(gasLimit));\n      return {\n        amount: fromWeiFormat(new BigNumber(value).plus(fee).toString()),\n        maxAmount: fromWeiFormat(new BigNumber(value).plus(maxFee).toString()),\n      };\n    } else if (gasPrice) {\n      const fee = new BigNumber(gasPrice).multipliedBy(new BigNumber(gasLimit));\n      return {\n        maxAmount: fromWeiFormat(new BigNumber(value).plus(fee).toString()),\n      };\n    }\n    return {\n      maxAmount: '',\n    };\n  },\n\n  getSignTypedVersion(method: string): SignTypedDataVersion {\n    if (method === EvmRpcMethod.ethSignTypedData || method === EvmRpcMethod.ethSignTypedDataV1) {\n      return SignTypedDataVersion.V1;\n    } else if (method === EvmRpcMethod.ethSignTypedDataV3) {\n      return SignTypedDataVersion.V3;\n    } else {\n      return SignTypedDataVersion.V4;\n    }\n  },\n\n  isSignTypedDataUniq(method: string): boolean {\n    return method.includes('uniq');\n  },\n};\n", "import { intToHex } from '@ethereumjs/util';\nimport {\n  EvmEnhancedMethod,\n  EvmRpcMethod,\n  GasFeeMode,\n  getEVMChainInfoById,\n  type EVMTransaction,\n  type GasFee,\n  type GasFeeResult,\n  type TokenPrice,\n  type TotalAmount,\n  type TransactionData,\n  type TxData,\n} from '@particle-network/auth-core';\nimport { useSetState } from 'ahooks';\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport type { Chain as ViemChain } from 'viem/chains';\nimport { mainnet } from 'viem/chains';\nimport { useModalOptions } from '../../context';\nimport { useEthereum } from '../../context/hooks';\nimport useMessage from '../../context/hooks/useMessage';\nimport { bnToHex } from '../../utils/common-utils';\nimport { ethereumUtils } from '../../utils/ethereumUtils';\nimport { toWei } from '../../utils/number-utils';\nimport { isEIP1559Type } from '../../utils/transaction-utils';\n\ninterface EVMState {\n  setTransaction: (tx: EVMTransaction) => void;\n  transactionData?: EVMTransaction;\n  updateTransaction: (tx: Partial<TransactionData>) => void;\n  gasFeeMode?: GasFeeMode;\n  setGasFeeMode: (mode: GasFeeMode) => void;\n  fetchGasAsync: (params: { addresses: string[]; from: string; to?: string; value?: string; data?: string }) => void;\n  gasFeeDisplay?: GasFee;\n  totalAmountDisplay?: TotalAmount;\n  tokenPrice?: TokenPrice[];\n  gasError?: { code: number; message: string };\n  gasFeeResult?: GasFeeResult;\n  latestGasLimit?: string;\n  currentChain: ViemChain;\n  fetchPendingTransactions: (account: string) => Promise<any[]>;\n}\n\nconst defaultData: EVMState = {\n  setTransaction: () => {},\n  updateTransaction: () => {},\n  setGasFeeMode: () => {},\n  fetchGasAsync: () => {},\n  currentChain: mainnet,\n  fetchPendingTransactions: () => Promise.resolve([]),\n};\n\nexport const EVMContext = createContext<EVMState>(defaultData);\n\nexport const EVMContextProvider = (props: { method: string; param: unknown; children: React.ReactNode }) => {\n  const { modalOptions } = useModalOptions();\n  const [evmTransaction, setEVMTransaction] = useSetState<EVMTransaction>({ from: '' });\n  const [latestGasLimit, setLatestGasLimit] = useState<string>();\n  const [tokenPrice, setTokenProce] = useState<TokenPrice[]>();\n  const [feeMode, setFeeMode] = useState<GasFeeMode>(GasFeeMode.custom);\n  const [gasError, setGasError] = useState<{ code: number; message: string }>();\n  const [gasFeeResult, setGasFeeResult] = useState<GasFeeResult>();\n  const [gasFeeDisplay, setGasFeeDisplay] = useState<GasFee>();\n  const [totalAmountDisplay, setTotalAmountDisplay] = useState<TotalAmount>();\n  const message = useMessage();\n  const { chainInfo } = useEthereum();\n\n  const getTxChain = () => {\n    if (props.method === EvmRpcMethod.ethSendTransaction && (props.param as TxData).chainId) {\n      const chainId = (props.param as TxData).chainId;\n      const chain = getEVMChainInfoById(Number(chainId));\n      return chain ?? chainInfo;\n    } else {\n      return chainInfo;\n    }\n  };\n  //\u4EA4\u6613\u8FC7\u7A0B\u4E2D\u5982\u679C\u5207\u6362\u4E86\u7F51\u7EDC\uFF0C\u4E0D\u5F71\u54CD\u5F53\u524D\u4EA4\u6613\n  const [currentChain] = useState<ViemChain>(getTxChain());\n\n  const updateTransaction = (data: Partial<TransactionData>) => {\n    if (evmTransaction) {\n      if (data.maxFeePerGas) {\n        setEVMTransaction({ maxFeePerGas: data.maxFeePerGas });\n      }\n\n      if (data.maxPriorityFeePerGas) {\n        setEVMTransaction({ maxPriorityFeePerGas: data.maxPriorityFeePerGas });\n      }\n\n      if (data.gasLimit) {\n        setEVMTransaction({ gasLimit: data.gasLimit });\n      }\n\n      if (data.gasPrice) {\n        setEVMTransaction({ gasPrice: data.gasPrice });\n      }\n\n      if (data.data) {\n        setEVMTransaction({ data: data.data });\n      }\n    }\n  };\n\n  useEffect(() => {\n    if (evmTransaction && gasFeeResult) {\n      const params = {\n        gasLimit: evmTransaction.gasLimit || '0x0',\n        baseFee: bnToHex(toWei(gasFeeResult.baseFee, 'gwei')),\n        maxFeePerGas: evmTransaction.maxFeePerGas,\n        maxPriorityFeePerGas: evmTransaction.maxPriorityFeePerGas,\n        gasPrice: evmTransaction.gasPrice,\n      };\n      const gasFeeDisplay = ethereumUtils.gasFee(params);\n      setGasFeeDisplay(gasFeeDisplay);\n\n      const totalAmountDisplay = ethereumUtils.totalAmount({\n        value: evmTransaction.value,\n        gasLimit: evmTransaction.gasLimit || '0x0',\n        baseFee: bnToHex(toWei(gasFeeResult.baseFee, 'gwei')),\n        maxFeePerGas: evmTransaction.maxFeePerGas,\n        maxPriorityFeePerGas: evmTransaction.maxPriorityFeePerGas,\n        gasPrice: evmTransaction.gasPrice,\n      });\n      setTotalAmountDisplay(totalAmountDisplay);\n    }\n  }, [evmTransaction, gasFeeResult]);\n\n  const setTransaction = (transaction: EVMTransaction) => {\n    setEVMTransaction(transaction);\n    if (transaction.gasLevel) {\n      setFeeMode(transaction.gasLevel as GasFeeMode);\n      console.log('update gas fee mode', transaction.gasLevel);\n    } else {\n      setFeeMode(GasFeeMode.custom);\n      console.log('update gas fee mode (default)', GasFeeMode.custom);\n    }\n  };\n\n  const setGasFeeMode = (gasFeeMode: GasFeeMode) => {\n    setFeeMode(gasFeeMode);\n    console.log('update gas fee mode (setGasFeeMode)', gasFeeMode);\n    if (evmTransaction && gasFeeResult && gasFeeMode !== GasFeeMode.custom) {\n      if (isEIP1559Type(evmTransaction.type)) {\n        setEVMTransaction({\n          maxFeePerGas: bnToHex(toWei(gasFeeResult[gasFeeMode].maxFeePerGas, 'gwei')),\n          maxPriorityFeePerGas: bnToHex(toWei(gasFeeResult[gasFeeMode].maxPriorityFeePerGas, 'gwei')),\n        });\n      } else {\n        setEVMTransaction({\n          gasPrice: bnToHex(toWei(gasFeeResult[gasFeeMode].maxFeePerGas, 'gwei')),\n        });\n      }\n    }\n  };\n\n  const fetchGasAsync = (params: { addresses: string[]; from: string; to?: string; value?: string; data?: string }) => {\n    fetchGas(params)\n      .then(({ gasFee, prices, gasLimit }) => {\n        setGasFeeResult(gasFee);\n        setTokenProce(prices);\n        let gasLimitValue: string;\n        if (typeof gasLimit === 'string') {\n          gasLimitValue = gasLimit;\n          setLatestGasLimit(gasLimit);\n          setGasError(undefined);\n        } else {\n          if (!latestGasLimit) {\n            gasLimitValue = intToHex(50000);\n            setLatestGasLimit(gasLimitValue);\n            setGasError({\n              message: gasLimit.message,\n              code: -32000,\n            });\n          } else {\n            gasLimitValue = latestGasLimit;\n          }\n        }\n\n        if (evmTransaction) {\n          if (isEIP1559Type(evmTransaction.type)) {\n            //eip 1559\n            if (feeMode && feeMode !== GasFeeMode.custom) {\n              evmTransaction.maxFeePerGas = bnToHex(toWei(gasFee[feeMode].maxFeePerGas, 'gwei'));\n              evmTransaction.maxPriorityFeePerGas = bnToHex(toWei(gasFee[feeMode].maxPriorityFeePerGas, 'gwei'));\n            } else if (!evmTransaction.maxFeePerGas || !evmTransaction.maxPriorityFeePerGas) {\n              evmTransaction.maxFeePerGas = bnToHex(toWei(gasFee.medium.maxFeePerGas, 'gwei'));\n              evmTransaction.maxPriorityFeePerGas = bnToHex(toWei(gasFee.medium.maxPriorityFeePerGas, 'gwei'));\n              if (!evmTransaction.gasLimit) {\n                setFeeMode(GasFeeMode.medium);\n                console.log('update gas fee mode (fulfilled)', GasFeeMode.medium);\n              }\n            }\n          } else {\n            if (feeMode && feeMode !== GasFeeMode.custom) {\n              evmTransaction.gasPrice = bnToHex(toWei(gasFee[feeMode].maxFeePerGas, 'gwei'));\n            } else if (!evmTransaction.gasPrice) {\n              evmTransaction.gasPrice = bnToHex(toWei(gasFee.medium.maxFeePerGas, 'gwei'));\n              if (!evmTransaction.gasLimit) {\n                setFeeMode(GasFeeMode.medium);\n                console.log('update gas fee mode (fulfilled)', GasFeeMode.medium);\n              }\n            }\n          }\n\n          if (\n            !evmTransaction.gasLimit ||\n            feeMode !== GasFeeMode.custom ||\n            Number(evmTransaction.gasLimit) < Number(gasLimitValue)\n          ) {\n            evmTransaction.gasLimit = gasLimitValue;\n            console.log('update gasLimit(state.value):', gasLimitValue);\n          }\n          setEVMTransaction(evmTransaction);\n        }\n      })\n      .catch((error) => {\n        if (error?.message) {\n          message.error(error?.message.replace('code:-32000,', ''));\n        }\n      });\n  };\n\n  const fetchSuggestedGasFee = useCallback(async (): Promise<GasFeeResult> => {\n    const result = await window.particleAuth?.ethereum.request({\n      chainId: currentChain.id,\n      method: EvmEnhancedMethod.suggestedGasFees,\n    });\n    return result;\n  }, [currentChain]);\n\n  const fetchPendingTransactions = useCallback(\n    async (account: string): Promise<any[]> => {\n      const result = await window.particleAuth?.ethereum.request({\n        chainId: currentChain.id,\n        method: EvmEnhancedMethod.getPendingTransactionsByAddress,\n        params: [account],\n      });\n      return result;\n    },\n    [currentChain]\n  );\n\n  const fetchPrice = useCallback(\n    async (addresses: string[]): Promise<TokenPrice[]> => {\n      const result = await window.particleAuth?.ethereum.request({\n        chainId: currentChain.id,\n        method: EvmEnhancedMethod.getPrice,\n        params: [addresses, [modalOptions.fiatCoin?.toLowerCase() || 'usd']],\n      });\n      return result;\n    },\n    [modalOptions.fiatCoin, currentChain]\n  );\n\n  const fetchEstimateGas = useCallback(\n    async (param: { from: string; to?: string; value?: string; data?: string }): Promise<string | Error> => {\n      if (!param.to || param.to.length === 0) {\n        delete param.to;\n      }\n      try {\n        const result = await window.particleAuth?.ethereum.request({\n          chainId: currentChain.id,\n          method: 'eth_estimateGas',\n          params: [param],\n        });\n        return result;\n      } catch (error: unknown) {\n        return error as Error;\n      }\n    },\n    [currentChain]\n  );\n\n  const fetchGas = useCallback(\n    async ({\n      addresses,\n      from,\n      to,\n      value,\n      data,\n    }: {\n      addresses: string[];\n      from: string;\n      to?: string;\n      value?: string;\n      data?: string;\n    }) => {\n      try {\n        const result = await Promise.all([\n          fetchSuggestedGasFee(),\n          fetchPrice(addresses),\n          fetchEstimateGas({\n            from,\n            to,\n            value,\n            data,\n          }),\n        ]);\n        // The value we return becomes the `fulfilled` action payload\n        return {\n          gasFee: result[0],\n          prices: result[1],\n          gasLimit: result[2],\n        };\n      } catch (error: any) {\n        if (error.code && error.message) {\n          return Promise.reject({\n            message: 'code:' + error.code + ', ' + error.message.toString(),\n          });\n        } else {\n          return Promise.reject(error);\n        }\n      }\n    },\n    [fetchSuggestedGasFee, fetchPrice, fetchEstimateGas]\n  );\n\n  return (\n    <EVMContext.Provider\n      value={{\n        setTransaction,\n        updateTransaction,\n        setGasFeeMode,\n        fetchGasAsync,\n        fetchPendingTransactions,\n        transactionData: evmTransaction,\n        gasFeeDisplay,\n        totalAmountDisplay,\n        tokenPrice,\n        gasError,\n        gasFeeMode: feeMode,\n        gasFeeResult,\n        latestGasLimit,\n        currentChain,\n      }}\n    >\n      {props.children}\n    </EVMContext.Provider>\n  );\n};\n\nexport const useEVMTransaction = () => useContext(EVMContext);\n", "import { Button, Modal } from 'antd';\nimport React from 'react';\nimport { useAuthCoreModal } from '..';\nimport { useTranslation } from '../../context';\nimport { useEVMTransaction } from '../../pages/sign/evmContextProvider';\nimport { useAuthCore } from './useAuthCore';\nimport { useEthereum } from './useEthereum';\n\nconst usePending = () => {\n  const { t } = useTranslation();\n  const { transactionData, fetchPendingTransactions } = useEVMTransaction();\n\n  const { address } = useEthereum();\n  const { openWallet } = useAuthCore();\n  const { authCoreModal } = useAuthCoreModal();\n\n  const pendingModalRef = React.useRef<any>();\n\n  const { authCoreModalClose } = useAuthCoreModal();\n\n  const checkPending = async (approveSign: any, pendingConfirm: boolean) => {\n    let pendingTransactions = [];\n\n    if (\n      transactionData &&\n      transactionData.action !== 'cancel' &&\n      transactionData.action !== 'speedup' &&\n      !pendingConfirm\n    ) {\n      pendingTransactions = await fetchPendingTransactions(address as string);\n    }\n\n    if (\n      transactionData &&\n      transactionData.action !== 'cancel' &&\n      transactionData.action !== 'speedup' &&\n      !pendingConfirm &&\n      (pendingTransactions?.length >= 3 ||\n        !!pendingTransactions.find((item: any) => {\n          const now = new Date().getTime();\n          const timestamp = new Date(item.timestamp * 1000).getTime();\n          return now - timestamp > 30 * 60 * 1000;\n        }))\n    ) {\n      // \u5F53\u8BE5\u5730\u5740\u6709\u8D85\u8FC73\u7B14\u4EA4\u6613\u6B63\u5728Pending\u6216\u4E00\u7B14\u4EA4\u6613timestamp\u8D85\u8FC730\u5206\u949F\u672A\u5B8C\u6210\u65F6\uFF0C\u7528\u6237\u518D\u6B21\u786E\u8BA4\u4EA4\u6613\u65F6\u5C06\u5F39\u51FA\u6B64\u5F39\u7A97\n      console.log('pendingTransactions', pendingTransactions);\n\n      pendingModalRef.current = Modal.warning({\n        className: 'pending-warning-modal  auth-core-modal-warning',\n        content: (\n          <div className='content-wrap'>\n            <div className='content'>{t('new.transaction_pending_v2')}</div>\n            <div className='footer-btns'>\n              <Button\n                className='cancel-btn continue-btn'\n                disabled={pendingTransactions?.length >= 10}\n                type='default'\n                onClick={() => {\n                  approveSign(true);\n                  pendingModalRef.current.destroy();\n                }}\n              >\n                {t('new.continue')}\n              </Button>\n              <Button\n                className='process-now-btn'\n                type='primary'\n                onClick={() => {\n                  // \u53D6\u6D88\u7B7E\u540D\uFF0C\u8DF3\u8F6C\u5230wallet\n                  console.log('>>>', '\u53D6\u6D88\u7B7E\u540D\uFF0C\u8DF3\u8F6C\u5230wallet');\n\n                  pendingModalRef.current.destroy();\n                  authCoreModalClose();\n\n                  setTimeout(() => {\n                    openWallet({\n                      pathName: '/tokenDetail.html',\n                      windowSize: 'small',\n                      query: {\n                        tokenAddress: 'native',\n                        pageMode: 'Simple',\n                      },\n                      topMenuType: 'close',\n                    });\n                    // \u5982\u679C\u4E0D\u8BBE\u7F6E\u5EF6\u8FDF\uFF0C\u4F1A\u51FA\u73B0\u6253\u5F00\u9A6C\u4E0A\u88AB\u5173\u95ED\u7684\u60C5\u51B5 wwl\n                  }, 300);\n                }}\n              >\n                {t('new.process_now')}\n              </Button>\n            </div>\n          </div>\n        ),\n        closable: true,\n        maskClosable: false,\n        getContainer: () => {\n          return (authCoreModal.rootBody as HTMLElement).querySelector('.info-sign') as HTMLElement;\n        },\n      });\n      return true;\n    }\n\n    return false;\n  };\n\n  return {\n    checkPending,\n  };\n};\n\nexport default usePending;\n", "import { type SecurityDetection } from '@particle-network/auth-core';\nimport { Tree } from 'antd';\nimport type { DataNode } from 'antd/es/tree';\nimport React, { useMemo } from 'react';\nimport { useTranslation } from '../../../context';\nimport styles from './index.less';\n\ninterface Prop {\n  securityDetection: SecurityDetection[];\n  className?: string;\n  title?: string;\n}\n\nconst RiskTypography = (prop: Prop) => {\n  const { securityDetection, title } = prop;\n  const { t } = useTranslation();\n\n  const treeData = useMemo<DataNode[]>(() => {\n    const warningsTypes = securityDetection.filter((item) => item.warnings && item.warnings.length > 0);\n    const risksTypes = securityDetection.filter((item) => item.risks && item.risks.length > 0);\n\n    const data: DataNode[] = [];\n    if (risksTypes.length > 0) {\n      data.push({\n        title: t('sign.security_risk'),\n        key: '0-1',\n        icon: <div className='risk-icon danger'></div>,\n        children: risksTypes.map((item) => {\n          return {\n            title: t(`risk.${item.type}`),\n            key: item.type,\n            icon: <div className='risk-dot danger'></div>,\n            children: item.risks?.map((risk) => {\n              return {\n                title: t(`risk.${risk}`),\n                key: risk,\n                icon: <div className='risk-dot danger'></div>,\n              };\n            }),\n          };\n        }),\n      });\n    }\n\n    if (warningsTypes.length > 0) {\n      data.push({\n        title: t('sign.transaction_may_fail'),\n        key: '0-0',\n        icon: <div className='risk-icon warning'></div>,\n        children: warningsTypes.map((item) => {\n          return {\n            title: t(`risk.${item.type}`),\n            key: item.type,\n            icon: <div className='risk-dot warning'></div>,\n            children: item.warnings?.map((warning) => {\n              return {\n                title: t(`risk.${warning}`),\n                key: warning,\n                icon: <div className='risk-dot warning'></div>,\n              };\n            }),\n          };\n        }),\n      });\n    }\n\n    return data;\n  }, [securityDetection, t]);\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className={`risk-typography ${prop?.className}`}>\n        {title && <div className='risk-typography-title'>{title}</div>}\n        <Tree rootClassName='risk-tree' showIcon defaultExpandAll treeData={treeData} selectable={false} />\n      </div>\n    </>\n  );\n};\n\nexport default RiskTypography;\n", "import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { type SecurityDetection } from '@particle-network/auth-core';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from '../../../context';\nimport RiskTypography from '../riskTypography';\nimport styles from './index.less';\n\ninterface Prop {\n  securityDetection: SecurityDetection[];\n}\n\nconst RiskReminder = (prop: Prop) => {\n  const { securityDetection } = prop;\n\n  const { t } = useTranslation();\n\n  const [fold, setFold] = useState(false);\n\n  const toggleFold = () => {\n    setFold(!fold);\n  };\n\n  useEffect(() => {\n    const doc = document.documentElement;\n    doc.style.setProperty('--risk-bar-height', '36px');\n    return () => {\n      doc.style.setProperty('--risk-bar-height', '0px');\n    };\n  }, []);\n\n  return (\n    <div className='risk-reminder'>\n      <style>{styles as unknown as string}</style>\n      <div className='risk-header' onClick={toggleFold}>\n        <div className='risk-red-dot'></div>\n        <div className='risk-found'>{t('sign.risk_found')}</div>\n        {fold ? <UpOutlined className='btn-risk-fold' /> : <DownOutlined className='btn-risk-fold' />}\n      </div>\n      <RiskTypography\n        className={fold ? 'hide' : ''}\n        securityDetection={securityDetection}\n        title={t('sign.risk_hint_title') as string}\n      />\n    </div>\n  );\n};\n\nexport default RiskReminder;\n", "import React from 'react';\n\nconst IconEditPen = () => {\n  return (\n    <svg width={10.577} height={10.492} viewBox='0 0 10.577 10.492'>\n      <defs>\n        <style>\n          {\n            '.cls-1{fill:currentColor;stroke-width:0.2px}.cls-1,.cls-2{stroke:currentColor}.cls-2{fill:none;stroke-width:0.8px}'\n          }\n        </style>\n      </defs>\n      <g id='\u7EC4_120' transform='translate(-869.458 -38.834)'>\n        <path\n          id='Fill_583'\n          className='cls-1'\n          d='M2.337 10.292H.356A.356.356 0 0 1 0 9.936V7.955a1.29 1.29 0 0 1 .385-.924L7.033.382a1.3 1.3 0 0 1 1.843 0l1.035 1.031a1.311 1.311 0 0 1 0 1.847L3.262 9.909a1.306 1.306 0 0 1-.925.383Zm3.718-7.926L.888 7.534a.583.583 0 0 0-.176.421V9.58h1.625a.612.612 0 0 0 .423-.174l5.166-5.169-1.871-1.871Zm1.9-1.654a.583.583 0 0 0-.418.173l-.978.976 1.87 1.872.978-.976a.6.6 0 0 0 0-.84L8.373.886a.582.582 0 0 0-.418-.174Z'\n          transform='translate(869.558 38.934)'\n        />\n\n        <path id='\u8DEF\u5F84_2122' className='cls-2' d='m0 0 2.389 2.389' transform='translate(870.102 46.23)' />\n      </g>\n    </svg>\n  );\n};\nexport default React.memo(IconEditPen);\n", "import React from 'react';\n\nconst IconTo = ({ width = '34.2', height = '12.632', ...other }) => {\n  return (\n    <svg\n      xmlns='http://www.w3.org/2000/svg'\n      fill='none'\n      version='1.1'\n      width='36'\n      height='36'\n      viewBox='0 0 36 36'\n      {...other}\n    >\n      <g>\n        <g transform='matrix(0,-1,1,0,-36,36)'>\n          <ellipse cx='18' cy='54' rx='18' ry='18' fill='currentColor' fillOpacity='0.08' />\n        </g>\n        <g>\n          <g transform='matrix(0,1,-1,0,39.271209716796875,-15.271026611328125)'>\n            <path\n              d='M34.0711181640625,13.066761552734375L38.0711181640625,18.400091552734374C38.565518164062496,19.059331552734374,38.0951181640625,20.000091552734375,37.2711181640625,20.000091552734375L29.2711181640625,20.000091552734375C28.4470681640625,20.000091552734375,27.9766911640625,19.059331552734374,28.4711181640625,18.400091552734374L32.4711181640625,13.066761552734375C32.8711181640625,12.533424552734376,33.6711181640625,12.533424552734376,34.0711181640625,13.066761552734375'\n              fill='currentColor'\n              fillOpacity='1'\n            />\n          </g>\n          <g transform='matrix(0,1,-1,0,37.415496826171875,-1.415802001953125)'>\n            <path d='' fill='#181B1E' fillOpacity='1' />\n            <path\n              d='M18.5656494140625,28.686447412109374L18.5656494140625,24.011087412109376L18.5656494140625,22.638147412109376L18.5656494140625,17.999847412109375Q18.5656494140625,17.916129712109374,18.5819824140625,17.834020412109375Q18.5983144140625,17.751911412109376,18.6303514140625,17.674566412109375Q18.6623894140625,17.597221412109374,18.7089004140625,17.527612412109374Q18.7554114140625,17.458004412109375,18.8146084140625,17.398806412109376Q18.8738064140625,17.339609412109375,18.9434144140625,17.293098412109376Q19.0130234140625,17.246587412109374,19.0903684140625,17.214549412109374Q19.1677134140625,17.182512412109375,19.2498224140625,17.166180412109377Q19.3319317140625,17.149847412109374,19.4156494140625,17.149847412109374Q19.4993671140625,17.149847412109374,19.5814764140625,17.166180412109377Q19.6635854140625,17.182512412109375,19.7409304140625,17.214549412109374Q19.8182754140625,17.246587412109374,19.8878844140625,17.293098412109376Q19.9574924140625,17.339609412109375,20.0166904140625,17.398806412109376Q20.0758874140625,17.458004412109375,20.1223984140625,17.527612412109374Q20.1689094140625,17.597221412109374,20.2009474140625,17.674566412109375Q20.2329844140625,17.751911412109376,20.2493164140625,17.834020412109375Q20.2656494140625,17.916129712109374,20.2656494140625,17.999847412109375L20.2656494140625,22.638147412109376L20.2656494140625,24.011087412109376L20.2656494140625,28.686447412109374Q20.2656494140625,28.770247412109377,20.2493164140625,28.852347412109374Q20.2329844140625,28.934447412109375,20.2009474140625,29.011747412109376Q20.1689094140625,29.089147412109376,20.1223984140625,29.158747412109374Q20.0758874140625,29.228347412109375,20.0166904140625,29.287547412109376Q19.9574924140625,29.346747412109373,19.8878844140625,29.393247412109375Q19.8182754140625,29.439747412109377,19.7409304140625,29.471747412109373Q19.6635854140625,29.503847412109373,19.5814764140625,29.520147412109374Q19.4993671140625,29.536447412109375,19.4156494140625,29.536447412109375Q19.3319317140625,29.536447412109375,19.2498224140625,29.520147412109374Q19.1677134140625,29.503847412109373,19.0903684140625,29.471747412109373Q19.0130234140625,29.439747412109377,18.9434144140625,29.393247412109375Q18.8738064140625,29.346747412109373,18.8146084140625,29.287547412109376Q18.7554114140625,29.228347412109375,18.7089004140625,29.158747412109374Q18.6623894140625,29.089147412109376,18.6303514140625,29.011747412109376Q18.5983144140625,28.934447412109375,18.5819824140625,28.852347412109374Q18.5656494140625,28.770247412109377,18.5656494140625,28.686447412109374Z'\n              fillRule='evenodd'\n              fill='currentColor'\n              fillOpacity='1'\n            />\n          </g>\n        </g>\n      </g>\n    </svg>\n  );\n};\nexport default React.memo(IconTo);\n", "import { EvmRpcMethod, GasFeeMode, type EVMTransaction, type TokenPrice } from '@particle-network/auth-core';\nimport { useInterval } from 'ahooks';\nimport React, { useEffect, useState } from 'react';\nimport type { Chain as ViemChain } from 'viem/chains';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport { useParticleAuth, useTranslation } from '../../../context';\nimport { getNativeSymbol } from '../../../utils/chain-utils';\nimport { formatPrice } from '../../../utils/number-utils';\nimport { useEVMTransaction } from '../evmContextProvider';\nimport styles from './info-sign.less';\ntype IProps = {\n  openGasDrawer: () => void;\n  signLoading: boolean;\n  chainInfo: ViemChain;\n  signMethod: string;\n};\n\nfunction GasDisplay(props: IProps) {\n  const { openGasDrawer, signLoading, chainInfo, signMethod } = props;\n\n  const { t } = useTranslation();\n\n  const { gasFeeResult, gasFeeMode, fetchGasAsync, gasFeeDisplay, tokenPrice, totalAmountDisplay, transactionData } =\n    useEVMTransaction();\n\n  const [interval, setInterval] = useState<number | undefined>(undefined);\n\n  const [countdown, setCountdown] = useState(10);\n\n  const { modalOptions } = useParticleAuth();\n\n  useInterval(() => {\n    const result = countdown - 1;\n    if (result <= 0) {\n      setCountdown(10);\n      loadGasConfig();\n    } else {\n      setCountdown(result);\n    }\n  }, interval);\n\n  useEffect(() => {\n    if (signLoading) {\n      setInterval(undefined);\n      setCountdown(10);\n    } else {\n      setInterval(1000);\n      loadGasConfig();\n    }\n    return () => {\n      setInterval(undefined);\n      setCountdown(10);\n    };\n  }, [signLoading]);\n\n  const loadGasConfig = () => {\n    if (transactionData) {\n      fetchGasAsync({\n        addresses: ['native'],\n        from: transactionData.from,\n        to: transactionData.to,\n        value: transactionData.value,\n        data: transactionData.data,\n      });\n    }\n  };\n\n  const editGas = () => {\n    if (!gasFeeResult) {\n      return;\n    }\n    openGasDrawer();\n  };\n\n  const estimatedTime = (data?: EVMTransaction): string => {\n    if (!data || !gasFeeResult || !gasFeeMode) {\n      return '';\n    }\n    let time: number;\n    if (gasFeeMode == GasFeeMode.low) {\n      time = gasFeeResult.low.maxWaitTime;\n    } else if (gasFeeMode == GasFeeMode.medium) {\n      time = gasFeeResult.medium.maxWaitTime;\n    } else if (gasFeeMode == GasFeeMode.high) {\n      time = gasFeeResult.high.maxWaitTime;\n    } else {\n      time = gasFeeResult.low.maxWaitTime;\n    }\n    let displayTime: string;\n    if (time / 1000 >= 60) {\n      displayTime = `>${time / 1000 / 60}min`;\n    } else {\n      displayTime = `<${time / 1000}s`;\n    }\n\n    return displayTime;\n  };\n\n  const formatDisplayPrice = (fee: string, prices: TokenPrice[]): string => {\n    return prices.length > 0 && prices[0].currencies && prices[0].currencies.length > 0\n      ? formatPrice({\n          amount: fee,\n          price: prices[0].currencies[0].price,\n          fiatCoin: modalOptions.fiatCoin || 'USD',\n        })\n      : '';\n  };\n\n  return (\n    <div>\n      <style>{styles as unknown as string}</style>\n      <div className='net-fee' onClick={editGas}>\n        <div className='evm-fee'>\n          <div className='fee-title'>\n            {t('sign.evm_fee')}\n            {gasFeeDisplay && interval && (\n              <span>\n                {' '}\n                {t('sign.refresh_in')} {countdown}s\n              </span>\n            )}\n          </div>\n\n          {gasFeeDisplay && tokenPrice && (\n            <div className='fee-row'>\n              <div>\n                {gasFeeDisplay.fee && (\n                  <div>\n                    {gasFeeDisplay.fee} {getNativeSymbol(chainInfo)}\n                    <span className='approximately'> {formatDisplayPrice(gasFeeDisplay.fee, tokenPrice)}</span>\n                  </div>\n                )}\n                {t('sign.max_fee')}\n                {gasFeeDisplay.maxFee} {getNativeSymbol(chainInfo)}\n                <span className='approximately'> {formatDisplayPrice(gasFeeDisplay.maxFee, tokenPrice)}</span>\n              </div>\n              <div className='fee-right'>\n                <div>\n                  {gasFeeDisplay && <div className='fee-standard'>{t(`sign.gas_${gasFeeMode}`)}</div>}\n                  <div\n                    className='fee-time'\n                    style={estimatedTime(transactionData).search('min') !== -1 ? { color: '#F55F0D' } : {}}\n                  >\n                    {estimatedTime(transactionData)}\n                  </div>\n                </div>\n                <div>\n                  <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n                </div>\n              </div>\n            </div>\n          )}\n        </div>\n      </div>\n\n      {signMethod !== EvmRpcMethod.ethSendTransaction && (\n        <div className='total'>\n          <div className='total-title'>{t('sign.total')}</div>\n          {totalAmountDisplay && tokenPrice && (\n            <div className='total-content mt8'>\n              {totalAmountDisplay.amount && (\n                <div>\n                  {totalAmountDisplay.amount} {getNativeSymbol(chainInfo)}\n                  <span> {formatDisplayPrice(totalAmountDisplay.amount, tokenPrice)}</span>\n                </div>\n              )}\n              <div>\n                {t('sign.max_amount')}: {totalAmountDisplay.maxAmount} {getNativeSymbol(chainInfo)}\n                <span> {formatDisplayPrice(totalAmountDisplay.maxAmount, tokenPrice)}</span>\n              </div>\n            </div>\n          )}\n        </div>\n      )}\n    </div>\n  );\n}\n\nexport default GasDisplay;\n", "import React from 'react';\nimport { useTranslation } from '../../../context';\nimport { getNativeSymbol } from '../../../utils/chain-utils';\nimport { useEVMTransaction } from '../evmContextProvider';\nimport styles from './info-sign.less';\n\nfunction NoGas() {\n  const { t } = useTranslation();\n\n  const { totalAmountDisplay, currentChain: chainInfo } = useEVMTransaction();\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='no-gas-fee'>\n        <div className='no-title'>{t('sign.network_fee')}</div>\n        <div className='no-warning'>\n          <img alt='' src={require('../../../common/images/no_warning.png').default} />\n          <span>{t('sign.gas_fee_cannot')}</span>\n        </div>\n        {totalAmountDisplay && (\n          <>\n            <div className='data-title'>{t('sign.total')}</div>\n            {totalAmountDisplay.amount && (\n              <div className='data-item'>\n                {totalAmountDisplay.amount} {getNativeSymbol(chainInfo)}\n              </div>\n            )}\n            <div className='data-item'>\n              {t('sign.max_amount')}:{' '}\n              <span>\n                {totalAmountDisplay.maxAmount} {getNativeSymbol(chainInfo)}\n              </span>\n            </div>\n          </>\n        )}\n      </div>\n    </>\n  );\n}\n\nexport default NoGas;\n", "import {\n  defaultTokenIcon,\n  EvmEnhancedMethod,\n  TransactionSmartType,\n  type EVMDeserializeTransactionResult,\n  type EVMFunction,\n  type EVMNFTChange,\n  type TokenPrice,\n} from '@particle-network/auth-core';\nimport { Form, Image, Input, Modal } from 'antd';\nimport { BigNumber } from 'bignumber.js';\nimport dayjs from 'dayjs';\nimport numbro from 'numbro';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport type { Chain as ViemChain } from 'viem/chains';\nimport type { AuthError } from '../../../api/model/authError';\nimport IconEditPen from '../../../components/icon-edit-pen';\nimport IconTo from '../../../components/icon-to';\nimport CircleClose from '../../../components/icon/circle-close';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport { useAuthCoreModal, useParticleAuth, useTranslation } from '../../../context';\nimport { formatAddress, formatPng, getNativeSymbol, getNativeTokenIcon } from '../../../utils/chain-utils';\nimport { isNullish, shortString } from '../../../utils/common-utils';\nimport { ipfsToSrc } from '../../../utils/index';\nimport { formatPrice } from '../../../utils/number-utils';\nimport { isTron } from '../../../utils/transaction-utils';\nimport { useEVMTransaction } from '../evmContextProvider';\nimport GasDisplay from './gas-display';\nimport NoGas from './no-gas';\nconst trimDecimals = (value: string, decimals = 10) => {\n  let [integerPart, decimalPart] = value.split('.');\n  if (decimalPart && decimalPart.length > decimals) {\n    decimalPart = decimalPart.slice(0, decimals + 1).slice(0, -1);\n  }\n  return `${integerPart}.${decimalPart ?? ''}`.replace(/0+$/, '').replace(/\\.$/, '');\n};\n\ninterface Props {\n  displayDetail: boolean;\n  gasError: AuthError | undefined;\n  setGasVis: React.Dispatch<React.SetStateAction<boolean>>;\n  formatFunction: (evmFunction: EVMFunction) => string;\n  setDisplayDetail: React.Dispatch<React.SetStateAction<boolean>>;\n  transactionInfo: EVMDeserializeTransactionResult | undefined;\n  changeApproveAmount: string;\n  setChangeApproveAmount: (amount: string) => Promise<void>;\n  signLoading: boolean;\n  signMessage: () => JSX.Element;\n  chainInfo: ViemChain;\n  signMethod: string;\n}\n\nconst NewErcTransfers = (props: Props) => {\n  const { t } = useTranslation();\n  const {\n    transactionInfo,\n    setDisplayDetail,\n    displayDetail,\n    gasError,\n    setGasVis,\n    formatFunction,\n    changeApproveAmount,\n    setChangeApproveAmount,\n    signLoading,\n    chainInfo,\n    signMethod,\n  } = props;\n\n  // const transaction = useAppSelector(selectTransaction);\n  const { transactionData, gasFeeDisplay, tokenPrice: nativeTokenPrice } = useEVMTransaction();\n  const [visibleModal, setVisibleModal] = useState<boolean>(false);\n  const [tokenPrice, setTokenPrice] = useState<number | undefined>(undefined);\n  const [editApproveAmountForm] = Form.useForm();\n\n  const { authCoreModal } = useAuthCoreModal();\n  const [changeApproveAmountLoading, setChangeApproveAmountLoading] = useState(false);\n  const { modalOptions } = useParticleAuth();\n\n  // to address\n  const to = useMemo(() => {\n    const params = transactionInfo?.data?.function?.params;\n    if (transactionInfo?.type == TransactionSmartType.ERC20_TRANSFER) {\n      return params ? (params[params.length === 3 ? 1 : 0].value as string) : '';\n    } else if (transactionInfo?.type == TransactionSmartType.ERC20_APPROVE) {\n      return params ? (params[0].value as string) : '';\n    } else if (transactionInfo?.type == TransactionSmartType.NativeTransfer) {\n      return transactionInfo.data.to;\n    } else if (\n      transactionInfo?.type == TransactionSmartType.ERC721_TRANFER ||\n      transactionInfo?.type == TransactionSmartType.ERC1155_TRANFER\n    ) {\n      return params ? (params[1].value as string) : '';\n    } else if (\n      transactionInfo?.type === TransactionSmartType.SEAPORT_CANCEL_ORDER ||\n      transactionInfo?.type === TransactionSmartType.SEAPORT_FULFILL_ORDER\n    ) {\n      return transactionInfo.data.to;\n    } else {\n      return '';\n    }\n  }, [transactionInfo?.data?.function?.params, transactionInfo?.data?.to]);\n\n  const contractAddress = useMemo(() => {\n    if (transactionInfo?.estimatedChanges?.tokens?.[0]?.address) {\n      return transactionInfo.estimatedChanges.tokens[0].address;\n    } else {\n      return '';\n    }\n  }, [transactionInfo?.estimatedChanges]);\n\n  const {\n    tokenIcon = '',\n    tokenSymbol = '',\n    tokenDecimals = 18,\n  } = useMemo(() => {\n    let tokenIcon = '';\n    let tokenSymbol = '';\n    let tokenDecimals = 18;\n    if (\n      transactionInfo?.type == TransactionSmartType.ERC20_TRANSFER ||\n      transactionInfo?.type == TransactionSmartType.ERC20_APPROVE\n    ) {\n      tokenIcon = transactionInfo?.estimatedChanges?.tokens[0].image;\n      tokenSymbol = transactionInfo?.estimatedChanges?.tokens[0].symbol;\n      tokenDecimals = transactionInfo?.estimatedChanges?.tokens[0].decimals;\n      if (!tokenIcon) {\n        tokenIcon = defaultTokenIcon;\n      }\n    } else if (transactionInfo?.type == TransactionSmartType.NativeTransfer) {\n      tokenIcon = getNativeTokenIcon(chainInfo);\n      tokenSymbol = chainInfo?.nativeCurrency?.symbol || '';\n    }\n\n    return {\n      tokenIcon: formatPng(tokenIcon),\n      tokenSymbol,\n      tokenDecimals,\n    };\n  }, [transactionInfo?.estimatedChanges?.tokens, chainInfo]);\n\n  // \u6839\u636E\u5408\u7EA6\u5730\u5740 \u83B7\u53D6\u5408\u7EA6token\u7684price  setTokenPrice(tokenPrice);\n  useEffect(() => {\n    let addresses: string[] | undefined = undefined;\n    if (\n      contractAddress &&\n      (transactionInfo?.type == TransactionSmartType.ERC20_APPROVE ||\n        transactionInfo?.type == TransactionSmartType.ERC20_TRANSFER)\n    ) {\n      addresses = [contractAddress];\n    } else if (transactionInfo?.type == TransactionSmartType.NativeTransfer) {\n      addresses = ['native'];\n    }\n\n    if (addresses) {\n      window.particleAuth?.ethereum\n        .request({\n          chainId: chainInfo.id,\n          method: EvmEnhancedMethod.getPrice,\n          params: [addresses, [modalOptions.fiatCoin?.toLowerCase() || 'usd']],\n        })\n        .then((res: TokenPrice[]) => {\n          const tokenPrice =\n            res.find((item) => item.address.toLowerCase() === addresses?.[0].toLowerCase())?.currencies?.[0]?.price ||\n            0;\n          setTokenPrice(tokenPrice);\n        })\n        .catch((err) => {\n          console.log('window.particleAuth?.ethereum', err);\n        });\n    }\n  }, [contractAddress]);\n\n  const amountChange = useMemo(() => {\n    let value = '';\n    const { decimals = 18, amountChange = 0 } = transactionInfo?.estimatedChanges?.tokens?.[0] || {};\n    if (transactionInfo?.type == TransactionSmartType.ERC20_APPROVE) {\n      const amount = transactionInfo.data?.function?.params?.[1]?.value as string;\n      value = new BigNumber(amount).dividedBy(new BigNumber(10).pow(decimals)).toString();\n    } else if (transactionInfo?.type == TransactionSmartType.ERC20_TRANSFER) {\n      value = new BigNumber(amountChange).dividedBy(new BigNumber(10).pow(decimals)).toString();\n    } else if (transactionInfo?.type == TransactionSmartType.NativeTransfer) {\n      const { nativeChange } = transactionInfo.estimatedChanges.natives[0];\n      value = new BigNumber(nativeChange)\n        .dividedBy(new BigNumber(10).pow(chainInfo.nativeCurrency.decimals))\n        .toString();\n    } else if (\n      transactionInfo?.type == TransactionSmartType.ERC721_TRANFER ||\n      transactionInfo?.type === TransactionSmartType.SEAPORT_FULFILL_ORDER ||\n      transactionInfo?.type === TransactionSmartType.SEAPORT_CANCEL_ORDER ||\n      transactionInfo?.type == TransactionSmartType.ERC1155_TRANFER\n    ) {\n      value = transactionInfo.estimatedChanges?.nfts?.[0]?.amountChange?.toString();\n    }\n    return value || '';\n  }, [transactionInfo?.estimatedChanges?.tokens]);\n\n  const amountChangeUSD = useMemo(() => {\n    if (amountChange && tokenPrice) {\n      return formatPrice({\n        amount: amountChange,\n        price: tokenPrice,\n        fiatCoin: modalOptions.fiatCoin ?? 'USD',\n      });\n    } else {\n      return '';\n    }\n  }, [amountChange, tokenPrice]);\n\n  const formartApproveAmount = (value: BigNumber): string => {\n    const amount = value.toString();\n    if (amount.length < 10) {\n      return amount;\n    } else {\n      return value.toPrecision(10);\n    }\n  };\n\n  const formatAmountChange = useMemo(() => {\n    let value = changeApproveAmount || amountChange || '0';\n    if (transactionInfo?.type === TransactionSmartType.ERC20_APPROVE) {\n      value = formartApproveAmount(new BigNumber(value));\n    } else {\n      value = numbro(value).format({\n        thousandSeparated: true,\n        trimMantissa: true,\n        mantissa: 9,\n      });\n    }\n    return value || '0';\n  }, [transactionInfo?.type, amountChange, changeApproveAmount]);\n\n  const amountFontSize = useMemo(() => {\n    let fontSize = 22;\n    const len = (formatAmountChange?.length || 0) + (tokenSymbol?.length || 0);\n    if (len > 26) {\n      fontSize = 14;\n    } else if (len > 22) {\n      fontSize = 16;\n    } else if (len > 18) {\n      fontSize = 18;\n    }\n    return `${fontSize}px`;\n  }, [formatAmountChange, tokenSymbol]);\n\n  const nftData: EVMNFTChange | undefined = useMemo(() => {\n    return transactionInfo?.estimatedChanges?.nfts?.[0] || transactionInfo?.data?.offer?.[0];\n  }, [transactionInfo?.estimatedChanges?.nfts, transactionInfo?.data?.offer]);\n\n  const contentTitle: string = useMemo(() => {\n    if (transactionInfo?.type === TransactionSmartType.ERC20_APPROVE) {\n      return t('new.token_per');\n    } else if (transactionInfo?.type === TransactionSmartType.SEAPORT_FULFILL_ORDER) {\n      return t('new.buy_nft');\n    } else if (transactionInfo?.type === TransactionSmartType.SEAPORT_CANCEL_ORDER) {\n      return t('new.cancel_nft_listing');\n    } else if (transactionInfo?.type === TransactionSmartType.SEAPORT_NFT_LISTING) {\n      return t('new.nft_listing');\n    } else {\n      return t('new.confirmation');\n    }\n  }, [transactionInfo?.type, t]);\n\n  const hexData = useMemo(() => {\n    return transactionInfo?.data?.data || '';\n  }, [transactionInfo?.data?.data]);\n\n  /**\n   * toTag\n   */\n  const contractTag = useMemo(() => {\n    if (\n      (transactionInfo?.type === TransactionSmartType.SEAPORT_FULFILL_ORDER ||\n        transactionInfo?.type === TransactionSmartType.SEAPORT_CANCEL_ORDER) &&\n      transactionInfo?.toTag\n    ) {\n      return ` (${transactionInfo?.toTag})`;\n    } else {\n      return '';\n    }\n  }, [transactionInfo?.type]);\n\n  const nftName = useMemo(() => {\n    if (nftData) {\n      if (nftData.name && nftData.name.length > 0) {\n        return nftData.name;\n      } else {\n        return `NFT#${nftData.tokenId}`;\n      }\n    }\n    return 'NFT';\n  }, [nftData]);\n\n  /**\n   * \u4EA4\u6613nonce\n   */\n  const nonce = useMemo(() => {\n    if (transactionInfo?.data?.nonce && !isTron(chainInfo)) {\n      return `#${parseInt(transactionInfo?.data?.nonce as string)}`;\n    } else {\n      return '';\n    }\n  }, [chainInfo, transactionInfo?.data?.nonce]);\n\n  /**\n   * NFT \u7C7B\u578B\n   */\n  const nftType = useMemo((): 'ERC1155' | 'ERC721' | '' => {\n    return transactionInfo?.estimatedChanges?.nfts?.[0]?.isSemiFungible === true\n      ? 'ERC1155'\n      : transactionInfo?.estimatedChanges?.nfts?.[0]?.isSemiFungible === false\n      ? 'ERC721'\n      : '';\n  }, [transactionInfo?.type, nftData?.isSemiFungible]);\n\n  /**\n   * nft \u4E0A\u67B6 \u6570\u91CF\n   */\n  const NFTListingQuantity = useMemo(() => {\n    return nftData?.amount || '';\n  }, [nftData]);\n\n  /**\n   * nft \u4EF7\u683C\n   */\n  const nftPrice = useMemo(() => {\n    const { symbol, decimals, amount } = transactionInfo?.price || {};\n    if (transactionInfo?.type === TransactionSmartType.SEAPORT_FULFILL_ORDER && symbol && decimals && amount) {\n      const price = new BigNumber(amount).dividedBy(new BigNumber(10).pow(decimals));\n      return `${trimDecimals(price.toString(10))} ${symbol}`;\n    } else {\n      return '';\n    }\n  }, [transactionInfo?.type, transactionInfo?.price]);\n\n  const NFTListingData = useMemo(() => {\n    if (transactionInfo?.type === TransactionSmartType.SEAPORT_NFT_LISTING) {\n      const seller = `${shortString(formatAddress(transactionInfo?.data?.offerer || '', chainInfo))}(${t('new.you')})`;\n      const symbol = transactionInfo?.data?.consideration?.[0]?.symbol || '';\n      let price = '';\n      let sellerEarnings = '';\n      let others = '';\n      const selfAddress = transactionInfo?.data?.offerer || '';\n      const startMS = Number(transactionInfo?.data?.startTime || 0) * 1000;\n      const startTime = dayjs(new Date(startMS)).format('MM/DD/YYYY hh:mm A');\n      let endTime = '';\n      if (transactionInfo?.data?.endTime && transactionInfo?.data?.endTime?.length > 10) {\n        // \u65E0\u9650\n        endTime = t('new.infinite');\n      } else {\n        const endMS = Number(transactionInfo?.data?.endTime || 0) * 1000;\n        endTime = dayjs(new Date(endMS)).format('MM/DD/YYYY hh:mm A');\n      }\n      if (transactionInfo?.data?.consideration) {\n        const list = transactionInfo?.data?.consideration;\n        let result = new BigNumber(0);\n        for (let i = 0; i < list.length; i++) {\n          const item = list[i];\n          result = result.plus(new BigNumber(item.amount));\n          const amount = `${trimDecimals(\n            new BigNumber(item.amount).dividedBy(new BigNumber(10).pow(list?.[0]?.decimals ?? 18)).toString(10)\n          )} ${symbol}`;\n          if (item.recipient.toLowerCase() === selfAddress.toLowerCase()) {\n            sellerEarnings = amount;\n          } else {\n            others = amount;\n          }\n        }\n        result = result.dividedBy(new BigNumber(10).pow(list?.[0]?.decimals ?? 18));\n        price = `${trimDecimals(result.toString(10))} ${symbol}`;\n      }\n      return {\n        seller,\n        price,\n        sellerEarnings,\n        others,\n        startTime,\n        endTime,\n      };\n    } else {\n      return {};\n    }\n  }, [transactionInfo, t]);\n\n  return (\n    <div className='transfer-content'>\n      {transactionInfo && (\n        <div className='less-box'>\n          <div className='groups'>\n            <div className='item item1'>\n              <div className='flex-sp-row row1'>\n                <div className='left'>{contentTitle}</div>\n                {nonce && <div className='right'>{nonce}</div>}\n              </div>\n              {/* ERC20_TRANSFER or NativeTransfer*/}\n              {(transactionInfo?.type === TransactionSmartType.ERC20_TRANSFER ||\n                transactionInfo?.type === TransactionSmartType.NativeTransfer) && (\n                <div className='flex-sp-row row2' data-feed-line={`${formatAmountChange}`.length > 13 ? true : false}>\n                  <div className='left'>\n                    <div className='icon'>\n                      {!!tokenIcon && (\n                        <Image className='icon' src={tokenIcon} fallback={defaultTokenIcon} preview={false} />\n                      )}\n                    </div>\n                  </div>\n                  <div className='right'>\n                    <div className='amount'>\n                      <div\n                        className='change-val'\n                        style={{\n                          color: formatAmountChange?.includes?.('-') ? '#ea4335' : 'var(--text-color)',\n                          fontSize: amountFontSize,\n                        }}\n                      >\n                        {formatAmountChange}\n                      </div>\n                      <div\n                        className='symbol'\n                        style={{\n                          fontSize: amountFontSize,\n                        }}\n                      >\n                        {tokenSymbol}\n                      </div>\n                    </div>\n                    <div className='amount-usd'>{amountChangeUSD}</div>\n                  </div>\n                </div>\n              )}\n              {/* ERC20_APPROVE */}\n              {transactionInfo?.type === TransactionSmartType.ERC20_APPROVE && (\n                <div className='row-erc20-approve-content'>\n                  <div className='flex-sp-row row-ac1'>\n                    <img className='token-icon' src={tokenIcon} alt='' />\n                    <div className='amount'>\n                      {formatAmountChange}&nbsp;{tokenSymbol}\n                    </div>\n                  </div>\n                  <div\n                    className='flex-sp-row row-ac2'\n                    onClick={() => {\n                      const amount = new BigNumber(changeApproveAmount || amountChange);\n                      editApproveAmountForm.setFieldsValue({\n                        amount: formartApproveAmount(amount),\n                      });\n                      setVisibleModal(true);\n                    }}\n                  >\n                    <div>{t('new.edit_approve')}</div>\n                    <div className='icon'>\n                      <IconEditPen />\n                    </div>\n                  </div>\n                  <div className='flex-sp-row row-ac3'>{t('new.by_granting')}</div>\n                </div>\n              )}\n              {/* ERC1155_TRANFER || ERC721_TRANFER || SEAPORT_FULFILL_ORDER || SEAPORT_CANCEL_ORDER*/}\n              {(transactionInfo?.type === TransactionSmartType.ERC1155_TRANFER ||\n                transactionInfo?.type === TransactionSmartType.SEAPORT_FULFILL_ORDER ||\n                transactionInfo?.type === TransactionSmartType.SEAPORT_CANCEL_ORDER ||\n                transactionInfo?.type === TransactionSmartType.SEAPORT_NFT_LISTING ||\n                transactionInfo?.type === TransactionSmartType.ERC721_TRANFER) && (\n                <>\n                  <div className='flex-sp-row row3'>\n                    <div className='left'>\n                      <Image\n                        width={32}\n                        height={32}\n                        src={ipfsToSrc(nftData?.image || '')}\n                        fallback={require('../../../common/images/default_nft.png').default}\n                        preview={false}\n                        // preview={{\n                        //     getContainer: () => {\n                        //         return authCoreModal.rootBody as HTMLElement;\n                        //     },\n                        // }}\n                      />\n                    </div>\n                    <div className='right'>\n                      <div className='name'>{nftName}</div>\n                    </div>\n                  </div>\n                  <div className='flex-sp-row row4'>{nftType}</div>\n                  {transactionInfo?.type === TransactionSmartType.SEAPORT_NFT_LISTING && NFTListingQuantity && (\n                    <div className='flex-sp-row row5'>\n                      <div className='left'>{t('new.amount')}</div>\n                      <div className='right'>{NFTListingQuantity}</div>\n                    </div>\n                  )}\n                  {nftPrice && (\n                    <div className='flex-sp-row row6'>\n                      <div className='left'>{t('new.nft_price')}</div>\n                      <div className='right'>{nftPrice}</div>\n                    </div>\n                  )}\n                </>\n              )}\n            </div>\n\n            {/* ERC1155_TRANFER */}\n            {transactionInfo?.type === TransactionSmartType.ERC1155_TRANFER && (\n              <div className='item item2-0'>\n                <div className='flex-sp-row'>\n                  <div className='left'>{t('new.amount')}</div>\n                  <div className='right'>\n                    {isNullish(nftData?.amountChange) ? t('program.unknown') : Math.abs(nftData?.amountChange || 1)}\n                  </div>\n                </div>\n              </div>\n            )}\n\n            {transactionInfo?.type !== TransactionSmartType.SEAPORT_NFT_LISTING && (\n              <div className='item item2'>\n                <div className='flex-sp-row'>\n                  <div className='left'>\n                    <div className='pn-row pn-row1'>\n                      {t('new.from')} ({t('new.you')})\n                    </div>\n                    <div className='pn-row pn-row2'>\n                      {shortString(formatAddress(transactionInfo.data.from, chainInfo))}\n                    </div>\n                  </div>\n                  <div className='middle'>\n                    <div className='icon'>\n                      <IconTo />\n                    </div>\n                  </div>\n                  <div className='right'>\n                    <div className='pn-row pn-row1'>\n                      {t('new.to')}\n                      {contractTag}\n                    </div>\n                    {/* <div className=\"pn-row pn-row2\">{shortString(transactionInfo.data.to)}</div> */}\n                    <div className='pn-row pn-row2'>{shortString(formatAddress(to, chainInfo))}</div>\n                  </div>\n                </div>\n              </div>\n            )}\n\n            {!isTron(chainInfo) && transactionInfo?.type !== TransactionSmartType.SEAPORT_NFT_LISTING && (\n              <div className='item item4'>\n                <div className='flex-sp-row'>\n                  <div className='left'>{t('new.network_fee')}</div>\n                  {gasError ? (\n                    <div className='gas-warning'>\n                      <img alt='' src={require('../../../common/images/no_warning.png').default} />\n                      <span>{t('sign.gas_fee_cannot')}</span>\n                    </div>\n                  ) : (\n                    <div className='right'>\n                      <div className='pn-row pn-row1'>\n                        {gasFeeDisplay?.maxFee} {getNativeSymbol(chainInfo)}\n                      </div>\n                      <div className='pn-row pn-row2'>\n                        {formatPrice({\n                          amount: gasFeeDisplay?.maxFee || '',\n                          price: nativeTokenPrice?.[0]?.currencies?.[0]?.price || 0,\n                          mantissa: 4,\n                          fiatCoin: modalOptions.fiatCoin ?? 'USD',\n                        })}\n                      </div>\n                    </div>\n                  )}\n                </div>\n              </div>\n            )}\n            {transactionInfo?.type === TransactionSmartType.SEAPORT_NFT_LISTING && (\n              <div className='item item5'>\n                <div className='flex-sp-row'>\n                  <div className='left'>{t('new.seller')}</div>\n                  <div className='right'>{NFTListingData.seller}</div>\n                </div>\n                <div className='flex-sp-row'>\n                  <div className='left'>{t('new.price')}</div>\n                  <div className='right'>{NFTListingData.price}</div>\n                </div>\n                <div className='flex-sp-row price-sub'>\n                  <div className='left'>{t('new.seller_earnings')}</div>\n                  <div className='right'>{NFTListingData.sellerEarnings}</div>\n                </div>\n                <div className='flex-sp-row price-sub'>\n                  <div className='left'>{t('new.others')}</div>\n                  <div className='right'>{NFTListingData.others}</div>\n                </div>\n                <div className='flex-sp-row'>\n                  <div className='left'>{t('new.start_time')}</div>\n                  <div className='right'>{NFTListingData.startTime}</div>\n                </div>\n                <div className='flex-sp-row'>\n                  <div className='left'>{t('new.end_time')}</div>\n                  <div className='right'>{NFTListingData.endTime}</div>\n                </div>\n              </div>\n            )}\n          </div>\n        </div>\n      )}\n      <div className='fold-content'>\n        <div\n          className='wrap'\n          onClick={() => {\n            setDisplayDetail(!displayDetail);\n          }}\n        >\n          {displayDetail ? (\n            <div className='fold' key='less'>\n              <span>{t('new.less')}</span>\n              <SVGIcon className='arrow-icon' name='arrow_icon' />\n            </div>\n          ) : (\n            <div className='unfold' key='more'>\n              <span>{t('new.details')}</span>\n              <SVGIcon className='arrow-icon' name='arrow_icon' />\n            </div>\n          )}\n        </div>\n      </div>\n      <div\n        className='details-box'\n        style={{\n          display: displayDetail ? '' : 'none',\n        }}\n      >\n        {!gasError && !isTron(chainInfo) && transactionData && (\n          <GasDisplay\n            openGasDrawer={() => setGasVis(true)}\n            signLoading={signLoading}\n            chainInfo={chainInfo}\n            signMethod={signMethod}\n          />\n        )}\n        {gasError && !isTron(chainInfo) && <NoGas />}\n        <div className='mg-bottom-15'></div>\n        <div>\n          {/* function */}\n          {transactionInfo && transactionInfo.data.function && (\n            <div className='inner-instruction' key={'instruction-function'}>\n              <div className='inner-content'>\n                <div className='content-item'>\n                  <div className='item'>\n                    <div className='item-0'>\n                      {t('sign.function_type')} {formatFunction(transactionInfo.data.function)}\n                    </div>\n\n                    {transactionInfo.data.function.params.map((item) => (\n                      <div className='item-1 mt10' key={`instruction-function${item.name}`}>\n                        {shortString(item.name)}\n                        <span>{shortString(item.value)}</span>\n                      </div>\n                    ))}\n                  </div>\n                </div>\n              </div>\n            </div>\n          )}\n          {/* hex data */}\n          {hexData && (\n            <div className='inner-instruction' key={'instruction-hex-data'}>\n              <div className='inner-content'>\n                <div className='content-item'>\n                  <div className='item'>\n                    <div className='item-0'>{t('sign.hex_data')}</div>\n                    <div className='item-1 mt10'>\n                      <div className='data'>{hexData}</div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </div>\n          )}\n          {/* signMessage */}\n          {transactionInfo?.type === TransactionSmartType.SEAPORT_NFT_LISTING &&\n            !!props.signMessage &&\n            props.signMessage()}\n        </div>\n      </div>\n      <Modal\n        title={t('new.edit_approve')}\n        open={visibleModal}\n        centered={true}\n        wrapClassName='edit-approve-amount-modal'\n        okText={t('common.confirm')}\n        confirmLoading={changeApproveAmountLoading}\n        closeIcon={<CircleClose />}\n        onOk={() => {\n          setChangeApproveAmountLoading(true);\n          editApproveAmountForm\n            .validateFields()\n            .then((values) => {\n              const amount = values?.amount?.replace?.(/\\.+$/g, '') || '';\n              if (amount) {\n                return setChangeApproveAmount(amount);\n              }\n            })\n            .then(() => {\n              setChangeApproveAmountLoading(false);\n              setVisibleModal(false);\n            })\n            .catch((error) => {\n              setChangeApproveAmountLoading(false);\n              console.log('editApproveAmountForm', error);\n            });\n        }}\n        onCancel={() => {\n          setChangeApproveAmountLoading(false);\n          setVisibleModal(false);\n        }}\n        getContainer={() => {\n          return authCoreModal.rootBody as HTMLDivElement;\n        }}\n      >\n        <Form form={editApproveAmountForm} autoComplete='off'>\n          <Form.Item\n            label=''\n            name='amount'\n            rules={[\n              {\n                validator: (_, value) => {\n                  if (isNaN((value || '').replace(/\\.$/, '')) || !isFinite((value || '').replace(/\\.$/, ''))) {\n                    return Promise.reject(t('new.please_enter'));\n                  }\n                  if (!value || (value && new BigNumber(value).lte(new BigNumber(0)))) {\n                    return Promise.reject(t('new.the_amount'));\n                  }\n                  const amount = value?.replace?.(/\\.+$/g, '') || '';\n                  const bn = new BigNumber(amount);\n                  if ((bn.decimalPlaces() ?? 0) > tokenDecimals) {\n                    return Promise.reject(t('new.please_enter'));\n                  }\n                  return Promise.resolve();\n                },\n              },\n            ]}\n          >\n            <Input placeholder={t('new.please_enter') as string} />\n          </Form.Item>\n          <div className='icon'>\n            <img src={tokenIcon} alt='' />\n          </div>\n          <div className='symbol'>{tokenSymbol}</div>\n        </Form>\n      </Modal>\n    </div>\n  );\n};\n\nexport default NewErcTransfers;\n", "export const isTelegramWebApp = () => {\n  return typeof window !== 'undefined' && Boolean(window.Telegram);\n};\n", "import { Drawer } from 'antd';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { useAuthCoreModal } from '../../context';\nimport { isMobile } from '../../utils';\nimport { isTelegramWebApp } from '../../utils/isTelegramWebApp';\nimport CircleClose from '../icon/circle-close';\nimport styles from './index.less';\n\ninterface IProps {\n  children?: React.ReactNode;\n  onClose: () => void;\n  visible: boolean;\n  title?: string;\n  [key: string]: any;\n}\nconst ParticleDrawer = (props: IProps) => {\n  const { title, children, onClose, visible, ...rest } = props;\n  const [mobile, setMobile] = useState<boolean>(isMobile());\n  const { authCoreModal } = useAuthCoreModal();\n  const dropDownRef = useRef({\n    isDown: false,\n    moveY: 0,\n  });\n  const drawerContentRef = useRef<HTMLDivElement>(null);\n\n  const className = useMemo(() => {\n    const classNames = [props.className, `particle-${mobile ? 'mobile' : 'pc'}-drawer`, 'particle-drawer-container'];\n    return classNames.join(' ');\n  }, [props.className, mobile]);\n\n  const isScroll = (target: HTMLElement) => {\n    let parentElement: HTMLElement | null = target;\n    let flag = false;\n    while (parentElement) {\n      parentElement = parentElement.parentElement;\n      if (parentElement?.classList.contains('ant-drawer-body')) {\n        break;\n      }\n      if (parentElement?.scrollTop) {\n        flag = true;\n        break;\n      }\n    }\n    return flag;\n  };\n\n  const drawerContainer = useMemo(() => {\n    return props.containerSelector\n      ? document.querySelector(props.containerSelector)\n      : authCoreModal.rootModalContainer || document.querySelector('body');\n  }, [props.containerSelector, authCoreModal.rootModalContainer]);\n\n  useEffect(() => {\n    if (!mobile || !drawerContentRef?.current || isTelegramWebApp()) {\n      return;\n    }\n    const touchstartHandler = (e: TouchEvent) => {\n      if (e.type === 'touchstart' && isScroll(e.target as HTMLElement)) {\n        return;\n      }\n      const clientY = e.touches[0].clientY;\n      e.stopPropagation();\n      dropDownRef.current.isDown = true;\n      dropDownRef.current.moveY = clientY;\n    };\n\n    if (visible) {\n      drawerContentRef?.current?.addEventListener('touchstart', touchstartHandler);\n    }\n\n    if (!visible) {\n      drawerContentRef?.current?.removeEventListener('touchstart', touchstartHandler);\n      dropDownRef.current.isDown = false;\n      dropDownRef.current.moveY = 0;\n    }\n\n    return () => {\n      drawerContentRef?.current?.removeEventListener('touchstart', touchstartHandler);\n      dropDownRef.current.isDown = false;\n      dropDownRef.current.moveY = 0;\n    };\n  }, [visible, mobile, drawerContentRef?.current]);\n\n  useEffect(() => {\n    if (!mobile || !drawerContentRef?.current || isTelegramWebApp()) {\n      return;\n    }\n    const touchendHandler = (e: TouchEvent) => {\n      if (dropDownRef.current.isDown) {\n        e.stopPropagation();\n        dropDownRef.current.isDown = false;\n      }\n    };\n\n    const touchmoveHandler = (e: TouchEvent) => {\n      e.preventDefault();\n      const clientY = e.touches[0].clientY;\n      if (dropDownRef.current.isDown && clientY - dropDownRef.current.moveY > 60) {\n        onClose();\n      }\n    };\n\n    drawerContentRef?.current?.addEventListener('touchend', touchendHandler);\n\n    drawerContentRef?.current?.addEventListener('touchmove', touchmoveHandler, { passive: true });\n\n    return () => {\n      drawerContentRef?.current?.removeEventListener('touchend', touchendHandler);\n      drawerContentRef?.current?.removeEventListener('touchmove', touchmoveHandler);\n    };\n  }, [mobile, drawerContentRef?.current]);\n\n  useEffect(() => {\n    const resizeHandler = () => {\n      setMobile(isMobile());\n    };\n    window.addEventListener('resize', resizeHandler);\n    return () => {\n      window.removeEventListener('resize', resizeHandler);\n    };\n  }, []);\n\n  return (\n    <Drawer\n      onClose={onClose}\n      open={visible}\n      {...rest}\n      className={className}\n      destroyOnClose={false}\n      getContainer={() => {\n        return rest?.getContainer?.() || drawerContainer;\n      }}\n    >\n      <div className='particle-drawer-content' ref={drawerContentRef}>\n        <style>{styles as unknown as string}</style>\n        <CircleClose\n          data-mobile={mobile && !isTelegramWebApp()}\n          className='close-icon'\n          onClick={() => {\n            onClose();\n          }}\n        />\n        <div className='particle-close-btn' data-mobile={mobile && !isTelegramWebApp()}></div>\n        {title && <div className='particle-title'>{title}</div>}\n        {children}\n      </div>\n    </Drawer>\n  );\n};\n\nexport default ParticleDrawer;\n", "import { MinusCircleFilled, PlusCircleFilled } from '@ant-design/icons';\nimport type { PrefixedHexString } from '@ethereumjs/util';\nimport { addHexPrefix } from '@ethereumjs/util';\nimport { GasFeeMode, type GasFee, type TokenPrice } from '@particle-network/auth-core';\nimport { Button, Form, Input, Radio } from 'antd';\nimport { BigNumber } from 'bignumber.js';\nimport React, { useEffect, useRef, useState } from 'react';\nimport ParticleDrawer from '../../..//components/particle-drawer';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport { useAuthCoreModal, useParticleAuth, useTranslation } from '../../../context';\nimport { getNativeSymbol } from '../../../utils/chain-utils';\nimport { bnToHex, toHexPrefixString } from '../../../utils/common-utils';\nimport { ethereumUtils } from '../../../utils/ethereumUtils';\nimport {\n  formatPrice,\n  fromWei,\n  fromWeiFormat,\n  toBigNumber,\n  toWei,\n  toWeiBigNumber,\n  trimDecimals,\n} from '../../../utils/number-utils';\nimport { isEIP1559Type } from '../../../utils/transaction-utils';\nimport { useEVMTransaction } from '../evmContextProvider';\nimport styles from './evm-gas.scss';\n\nfunction EvmGas(props: any) {\n  const { openGasDrawer, visible } = props;\n  const [moreDetails, setMoreDetails] = useState(false);\n  const [errorTip, setErrorTip] = useState(false);\n  const [errorTip1, setErrorTip1] = useState<string>();\n  const [errorTip2, setErrorTip2] = useState<string>();\n  const optionsForm = useRef<any>(null);\n  const { authCoreModal } = useAuthCoreModal();\n  const { t } = useTranslation();\n\n  const {\n    transactionData,\n    updateTransaction,\n    gasFeeMode,\n    setGasFeeMode,\n    gasFeeDisplay: gasFeeDisplayContext,\n    gasFeeResult,\n    tokenPrice,\n    latestGasLimit,\n    currentChain: chainInfo,\n  } = useEVMTransaction();\n\n  const [gasMode, setGasMode] = useState(gasFeeMode);\n  const [gasFeeDisplay, setGasFeeDisplay] = useState(gasFeeDisplayContext);\n  const [gasLimit, setGasLimit] = useState<string>(latestGasLimit || '');\n  const [maxPriorityFeePerGas, setMaxPriorityFeePerGas] = useState(transactionData?.maxPriorityFeePerGas);\n\n  const [maxFee, setMaxFee] = useState<string>('');\n\n  const [gasForm] = Form.useForm();\n\n  const { modalOptions } = useParticleAuth();\n\n  useEffect(() => {\n    if (gasFeeMode || visible) {\n      setGasMode(gasFeeMode);\n    }\n  }, [gasFeeMode, visible]);\n\n  useEffect(() => {\n    if (gasFeeDisplayContext || visible) {\n      setGasFeeDisplay(gasFeeDisplayContext);\n    }\n  }, [gasFeeDisplayContext, visible]);\n\n  useEffect(() => {\n    if (visible) {\n      setMaxPriorityFeePerGas(transactionData?.maxPriorityFeePerGas);\n    }\n  }, [transactionData?.maxPriorityFeePerGas, visible]);\n\n  useEffect(() => {\n    if (visible) {\n      setMaxFee(\n        (isEIP1559Type(transactionData?.type as string)\n          ? transactionData?.maxFeePerGas\n          : transactionData?.gasPrice) as string\n      );\n    }\n  }, [transactionData?.type, transactionData?.maxFeePerGas, transactionData?.gasPrice, visible]);\n\n  useEffect(() => {\n    if (transactionData?.gasLimit || visible) {\n      setGasLimit(transactionData?.gasLimit as any);\n    }\n  }, [transactionData?.gasLimit, visible]);\n\n  useEffect(() => {\n    if (transactionData && gasLimit) {\n      if (isEIP1559Type(transactionData.type)) {\n        setGasFeeDisplay(\n          ethereumUtils.gasFee({\n            gasLimit: gasLimit,\n            baseFee: bnToHex(toWei(gasFeeResult?.baseFee, 'gwei')),\n            maxFeePerGas: maxFee,\n            maxPriorityFeePerGas,\n          })\n        );\n      } else {\n        setGasFeeDisplay(\n          ethereumUtils.gasFee({\n            gasLimit: gasLimit,\n            baseFee: bnToHex(toWei(gasFeeResult?.baseFee, 'gwei')),\n            gasPrice: maxFee,\n          })\n        );\n      }\n    } else if (gasFeeDisplayContext) {\n      setGasFeeDisplay(gasFeeDisplayContext);\n    }\n  }, [gasMode, transactionData, gasFeeDisplayContext, maxFee, visible, gasLimit, gasFeeResult, maxPriorityFeePerGas]);\n\n  const estimatedTime = (mode?: GasFeeMode): string => {\n    if (!tokenPrice || !gasFeeResult) {\n      return '';\n    }\n    let time: number;\n    if (mode == GasFeeMode.low) {\n      time = gasFeeResult.low.maxWaitTime;\n    } else if (mode == GasFeeMode.medium) {\n      time = gasFeeResult.medium.maxWaitTime;\n    } else if (mode == GasFeeMode.high) {\n      time = gasFeeResult.high.maxWaitTime;\n    } else {\n      time = gasFeeResult.low.maxWaitTime;\n    }\n    let displayTime: string;\n    if (time / 1000 >= 60) {\n      displayTime = `>${time / 1000 / 60}min`;\n    } else {\n      displayTime = `<${time / 1000}s`;\n    }\n\n    return displayTime;\n  };\n\n  const usdDisplay = (gasFee?: GasFee): string => {\n    if (!transactionData || !tokenPrice || !gasFee) {\n      return '';\n    }\n    if (isEIP1559Type(transactionData.type)) {\n      //Max Fee: 0.00032 ETH(\u22480.01 $)\n\n      const maxFeeFormat = `${t('sign.max_fee')} ${gasFee.maxFee} ${getNativeSymbol(chainInfo)}`;\n      const price = formatDisplayPrice(gasFee.maxFee, tokenPrice);\n      if (price === '') {\n        return maxFeeFormat;\n      }\n      return maxFeeFormat + `(${price})`;\n    } else {\n      return formatDisplayPrice(gasFee.maxFee, tokenPrice);\n    }\n  };\n\n  const formatDisplayPrice = (fee: string, prices: TokenPrice[]): string => {\n    return prices.length > 0 && prices[0].currencies && prices[0].currencies.length > 0\n      ? formatPrice({\n          amount: fee,\n          price: prices[0].currencies[0].price,\n          fiatCoin: modalOptions.fiatCoin || 'USD',\n        })\n      : '';\n  };\n\n  const selectGasMode = (mode: GasFeeMode) => {\n    setErrorTip(false);\n    setErrorTip1(undefined);\n    setErrorTip2(undefined);\n    if (mode !== gasMode) {\n      setGasMode(mode);\n      applyGasMode(mode);\n    }\n  };\n\n  const applyGasMode = (mode: GasFeeMode) => {\n    if (gasFeeResult && mode != GasFeeMode.custom) {\n      const maxFeeValue = bnToHex(toWei(gasFeeResult[mode].maxFeePerGas, 'gwei'));\n      setMaxFee(maxFeeValue);\n      gasForm.setFieldsValue({ 'max-fee': feeDisplay(maxFeeValue) });\n      const maxPriorityFeePerGasValue = bnToHex(toWei(gasFeeResult[mode].maxPriorityFeePerGas, 'gwei'));\n      setMaxPriorityFeePerGas(maxPriorityFeePerGasValue);\n      gasForm.setFieldsValue({ 'max-priority-fee': feeDisplay(maxPriorityFeePerGasValue) });\n      if (latestGasLimit) {\n        setGasLimit(latestGasLimit);\n      }\n    }\n  };\n\n  const setCustomGasLimit = (value: string) => {\n    setErrorTip(false);\n    if (gasMode !== GasFeeMode.custom) {\n      setGasMode(GasFeeMode.custom);\n    }\n    const bn = Number(value);\n    value = isNaN(bn) ? '0x0' : toHexPrefixString(bn);\n    setGasLimit(value);\n    if (Number(value) < Number(latestGasLimit)) {\n      setErrorTip(true);\n    } else {\n      setErrorTip(false);\n    }\n  };\n\n  const setCustomMaxPriorityFee = (value: string) => {\n    setErrorTip1(undefined);\n    const bn = toBigNumber(value);\n    value = bn.isNaN() || value === '' ? '0' : bn.toString();\n    value = bnToHex(toWei(value, 'gwei'));\n    if (gasMode !== GasFeeMode.custom) {\n      setGasMode(GasFeeMode.custom);\n    }\n    setMaxPriorityFeePerGas(value);\n    maxPriorityFeeErrorTip(value);\n  };\n\n  const setCustomMaxFee = (value: string) => {\n    console.log('setCustomMaxFee', value);\n    setErrorTip2(undefined);\n    const bn = toBigNumber(value);\n    value = bn.isNaN() || value === '' ? '0' : bn.toString();\n    value = bnToHex(toWei(value, 'gwei'));\n    if (gasMode !== GasFeeMode.custom) {\n      setGasMode(GasFeeMode.custom);\n    }\n    setMaxFee(value);\n    maxFeeErrorTip(value);\n  };\n\n  const addGasLimit = () => {\n    if (latestGasLimit && Number(gasLimit) < Number(latestGasLimit)) {\n      setCustomGasLimit(Number(latestGasLimit).toString());\n    } else {\n      setCustomGasLimit((Number(gasLimit) + 1).toString());\n    }\n  };\n\n  const minusGasLimit = () => {\n    if (Number(gasLimit) >= Number(latestGasLimit) + 1) {\n      setCustomGasLimit((Number(gasLimit) - 1).toString());\n    }\n  };\n\n  const addMaxPriorityFee = () => {\n    const value = new BigNumber(maxPriorityFeePerGas ?? '0x0').plus(1000000000);\n    const hex = addHexPrefix(value.toString(16));\n    setCustomMaxPriorityFee(fromWei(hex, 'gwei'));\n    gasForm.setFieldsValue({ 'max-priority-fee': feeDisplay(hex) });\n  };\n\n  const minusMaxPriorityFee = () => {\n    let value = new BigNumber(maxPriorityFeePerGas ?? '0x0').minus(1000000000);\n    if (value.isNegative()) {\n      value = new BigNumber(0);\n    }\n    const hex = addHexPrefix(value.toString(16));\n    setCustomMaxPriorityFee(fromWei(hex, 'gwei'));\n    gasForm.setFieldsValue({ 'max-priority-fee': feeDisplay(hex) });\n  };\n\n  const addMaxFee = () => {\n    const value = new BigNumber(maxFee).plus(1000000000);\n    const hex = addHexPrefix(value.toString(16));\n    setCustomMaxFee(fromWei(hex, 'gwei'));\n    gasForm.setFieldsValue({ 'max-fee': feeDisplay(hex) });\n  };\n\n  const minusMaxFee = () => {\n    let value = new BigNumber(maxFee).minus(1000000000);\n    if (value.isNegative()) {\n      value = new BigNumber(0);\n    }\n    const hex = addHexPrefix(value.toString(16));\n    setCustomMaxFee(fromWei(hex, 'gwei'));\n    gasForm.setFieldsValue({ 'max-fee': feeDisplay(hex) });\n  };\n\n  useEffect(() => {\n    if (isEIP1559Type(transactionData?.type) && maxPriorityFeePerGas) {\n      maxPriorityFeeErrorTip(maxPriorityFeePerGas);\n    }\n\n    maxFeeErrorTip(maxFee);\n  }, []);\n\n  const maxPriorityFeeErrorTip = (value: PrefixedHexString) => {\n    if (!gasFeeResult) return;\n\n    if (\n      new BigNumber(value).isGreaterThan(\n        toWeiBigNumber(gasFeeResult.medium.maxPriorityFeePerGas, 'gwei').multipliedBy(10)\n      )\n    ) {\n      setErrorTip1(t('sign.pr_fee_is_high') as string);\n    } else if (new BigNumber(value).isLessThan(toWeiBigNumber(gasFeeResult.low.maxPriorityFeePerGas, 'gwei'))) {\n      setErrorTip1(t('sign.pr_fee_is_low') as string);\n    } else {\n      setErrorTip1(undefined);\n    }\n\n    if (toBigNumber(value).gte(toBigNumber(maxFee))) {\n      setErrorTip2(t('sign.fee_low_priority') as string);\n    } else {\n      if (toBigNumber(maxFee).gt(toWeiBigNumber(gasFeeResult.medium.maxFeePerGas, 'gwei').multipliedBy(10))) {\n        setErrorTip2(t('sign.fee_is_high') as string);\n      } else if (toBigNumber(maxFee).lt(toWeiBigNumber(gasFeeResult.low.maxFeePerGas, 'gwei'))) {\n        setErrorTip2(t('sign.fee_is_low') as string);\n      } else {\n        setErrorTip2(undefined);\n      }\n    }\n  };\n\n  const maxFeeErrorTip = (value: PrefixedHexString) => {\n    if (!gasFeeResult) return;\n\n    if (isEIP1559Type(transactionData?.type) && maxPriorityFeePerGas && toBigNumber(value).lte(maxPriorityFeePerGas)) {\n      setErrorTip2(t('sign.fee_low_priority') as string);\n    } else if (toBigNumber(value).gt(toWeiBigNumber(gasFeeResult.medium.maxFeePerGas, 'gwei').multipliedBy(10))) {\n      setErrorTip2(t('sign.fee_is_high') as string);\n    } else if (toBigNumber(value).lt(toWeiBigNumber(gasFeeResult.low.maxFeePerGas, 'gwei'))) {\n      setErrorTip2(t('sign.fee_is_low') as string);\n    } else {\n      setErrorTip2(undefined);\n    }\n  };\n\n  const checkSaveBtEnable = (\n    minPriorityFee: BigNumber,\n    minFee: BigNumber,\n    maxPriorityFee: BigNumber,\n    maxFee: BigNumber\n  ): boolean => {\n    if (errorTip && latestGasLimit) {\n      return false;\n    } else if (errorTip1 === t('sign.pr_fee_is_low')) {\n      return false;\n    } else if (errorTip2 === t('sign.fee_is_low') || errorTip2 === t('sign.fee_low_priority')) {\n      return false;\n    } else if (isEIP1559Type(transactionData?.type)) {\n      return maxFee.gte(minFee) && maxPriorityFee.gte(minPriorityFee) && maxFee.gt(maxPriorityFee);\n    } else {\n      return maxFee.gte(minFee);\n    }\n  };\n\n  const saveGas = (values: unknown) => {\n    console.log('saveGas', gasMode, gasLimit, maxPriorityFeePerGas, maxFee);\n    if (gasMode && gasMode !== gasFeeMode) {\n      setGasFeeMode(gasMode);\n    }\n    if (gasMode === GasFeeMode.custom && transactionData) {\n      if (isEIP1559Type(transactionData.type)) {\n        updateTransaction({\n          maxPriorityFeePerGas,\n          maxFeePerGas: maxFee,\n          gasLimit: gasLimit,\n        });\n      } else {\n        updateTransaction({\n          gasPrice: maxFee,\n          gasLimit: gasLimit,\n        });\n      }\n    }\n\n    openGasDrawer();\n  };\n\n  const estimateFee = (limit: PrefixedHexString, fee: PrefixedHexString): string => {\n    return fromWeiFormat(addHexPrefix(toBigNumber(limit).multipliedBy(fee).toString(16)), 'ether', 6);\n  };\n\n  const feeDisplay = (weiFee: PrefixedHexString): string => {\n    return fromWeiFormat(weiFee, 'gwei', 9);\n  };\n\n  useEffect(() => {\n    if (gasMode && gasMode !== GasFeeMode.custom) {\n      applyGasMode(gasMode);\n    }\n  }, [gasFeeResult, latestGasLimit]);\n\n  useEffect(() => {\n    if (maxFee && visible) {\n      gasForm.setFieldsValue({ 'max-fee': feeDisplay(maxFee) });\n    }\n  }, [visible, maxFee]);\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <ParticleDrawer\n        title={t('sign.edit_priority') as string}\n        visible={visible && !!gasFeeResult && !!transactionData && !!gasFeeMode && !!gasFeeDisplay}\n        push={false}\n        forceRender={true}\n        placement='bottom'\n        onClose={openGasDrawer}\n        className='evm-gas-drawer'\n        contentWrapperStyle={{ height: 'auto' }}\n        destroyOnClose={true}\n        getContainer={() => {\n          return authCoreModal.rootBody as HTMLElement;\n        }}\n      >\n        {!!gasFeeResult && !!transactionData && !!gasFeeMode && !!gasFeeDisplay && (\n          <>\n            <div className='gas-content-box'>\n              <div className='eth-amount'>\n                {gasFeeDisplay?.fee ?? gasFeeDisplay?.maxFee} {getNativeSymbol(chainInfo)}\n              </div>\n\n              <div className='eth-amount-about'>{usdDisplay(gasFeeDisplay)}</div>\n\n              <div\n                className='speed-time'\n                style={estimatedTime(gasMode).search('min') != -1 ? { color: '#F55F0D' } : {}}\n              >\n                {estimatedTime(gasMode)}\n              </div>\n              <div className='speed-situation'>\n                <div className='situation-img'>\n                  <Radio\n                    className='radio-item'\n                    checked={gasMode === GasFeeMode.low}\n                    onClick={() => selectGasMode(GasFeeMode.low)}\n                  />\n                  <Radio\n                    className='radio-item'\n                    checked={gasMode === GasFeeMode.medium}\n                    onClick={() => selectGasMode(GasFeeMode.medium)}\n                  />\n                  <Radio\n                    className='radio-item'\n                    checked={gasMode === GasFeeMode.high}\n                    onClick={() => selectGasMode(GasFeeMode.high)}\n                  />\n                </div>\n                <div className='situation-line' />\n                <div className='situation-text'>\n                  <span>{t('sign.gas_low')}</span>\n                  <span>{t('sign.gas_medium')}</span>\n                  <span>{t('sign.gas_high')}</span>\n                </div>\n              </div>\n              <div className='more-details' onClick={() => setMoreDetails(!moreDetails)}>\n                {t('sign.advanced_options')}\n                {moreDetails ? (\n                  <SVGIcon className='arrow-icon' name='arrow_icon' data-fold='true' />\n                ) : (\n                  <SVGIcon className='arrow-icon' name='arrow_icon' data-fold='false' />\n                )}\n              </div>\n\n              <div className='advanced-options'>\n                <Form className='options-form' onFinish={saveGas} form={gasForm} layout='vertical' ref={optionsForm}>\n                  {moreDetails && (\n                    <div className='form-son'>\n                      <div>\n                        <div className='img-box-minus' onClick={minusGasLimit}>\n                          <MinusCircleFilled className='minus-icon' />\n                        </div>\n                        <div className='img-box-add' onClick={addGasLimit}>\n                          <PlusCircleFilled className='add-icon' />\n                        </div>\n                        {errorTip && latestGasLimit && (\n                          <div className='error-tip mt-e0'>\n                            {t('sign.gas_limit_must').format(toBigNumber(latestGasLimit).toString())}\n                          </div>\n                        )}\n                        <Form.Item\n                          label={t('sign.gas_limit')}\n                          getValueFromEvent={(event) => {\n                            return event.target.value.replace(/[^\\d.]/g, '').replace(/(\\.)(\\d*)(\\1*)/g, '$1$2');\n                          }}\n                        >\n                          <Input\n                            value={toBigNumber(gasLimit).toString()}\n                            maxLength={9}\n                            onChange={(e) => setCustomGasLimit(e.target.value)}\n                          />\n                        </Form.Item>\n                      </div>\n\n                      {isEIP1559Type(transactionData?.type) && (\n                        <div>\n                          <div className='estimate mt1'>\n                            {t('sign.estimate')}\n                            <span className='estimate-val'>\n                              {' '}\n                              {trimDecimals(gasFeeResult?.medium?.maxPriorityFeePerGas || 0, 9)} GWEI\n                            </span>\n                          </div>\n                          <div className='about-val mt-a1'>\n                            {!!gasLimit && estimateFee(gasLimit, maxPriorityFeePerGas!)} {getNativeSymbol(chainInfo)}\n                          </div>\n                          <div className='img-box-minus' onClick={minusMaxPriorityFee}>\n                            <MinusCircleFilled className='minus-icon' />\n                          </div>\n                          <div className='img-box-add' onClick={addMaxPriorityFee}>\n                            <PlusCircleFilled className='add-icon' />\n                          </div>\n                          {errorTip1 && <div className='error-tip mt-e0'>{errorTip1}</div>}\n                          <Form.Item\n                            label={t('sign.max_priority_fee')}\n                            name='max-priority-fee'\n                            getValueFromEvent={(event) => {\n                              return event.target.value.replace(/[^\\d.]/g, '').replace(/(\\.)(\\d*)(\\1*)/g, '$1$2');\n                            }}\n                          >\n                            <Input\n                              maxLength={17}\n                              className='special-input'\n                              defaultValue={feeDisplay(maxPriorityFeePerGas!)}\n                              onInput={(e: any) => {\n                                const value = e.target.value;\n                                e.target.value = value\n                                  .replace(/[^\\d.]/g, '')\n                                  .replace(/\\D*(\\d*)(\\.?)(\\d{0,9})\\d*/, '$1$2$3');\n                              }}\n                              onChange={(e) => setCustomMaxPriorityFee(e.target.value)}\n                            />\n                          </Form.Item>\n                        </div>\n                      )}\n\n                      <div>\n                        <div className='estimate mt1'>\n                          {t('sign.estimate')}\n                          <span className='estimate-val'>\n                            {' '}\n                            {trimDecimals(gasFeeResult?.medium?.maxFeePerGas || 0, 9)} GWEI\n                          </span>\n                        </div>\n                        <div className='about-val mt-a1'>\n                          {!!gasLimit && estimateFee(gasLimit, maxFee)} {getNativeSymbol(chainInfo)}\n                        </div>\n                        <div className='img-box-minus' onClick={minusMaxFee}>\n                          <MinusCircleFilled className='minus-icon' />\n                        </div>\n                        <div className='img-box-add' onClick={addMaxFee}>\n                          <PlusCircleFilled className='add-icon' />\n                        </div>\n                        {errorTip2 && <div className='error-tip mt-e0'>{errorTip2}</div>}\n                        <Form.Item\n                          label={t('sign.max_fee')}\n                          name='max-fee'\n                          getValueFromEvent={(event) => {\n                            return event.target.value.replace(/[^\\d.]/g, '').replace(/(\\.)(\\d*)(\\1*)/g, '$1$2');\n                          }}\n                        >\n                          <Input\n                            maxLength={17}\n                            className='special-input'\n                            defaultValue={feeDisplay(maxFee)}\n                            onInput={(e: any) => {\n                              const value = e.target.value;\n                              e.target.value = value\n                                .replace(/[^\\d.]/g, '')\n                                .replace(/\\D*(\\d*)(\\.?)(\\d{0,9})\\d*/, '$1$2$3');\n                            }}\n                            onChange={(e) => setCustomMaxFee(e.target.value)}\n                          />\n                        </Form.Item>\n                      </div>\n                    </div>\n                  )}\n                </Form>\n              </div>\n            </div>\n            <div className='item-save-btn'>\n              <Button\n                className='save-btn'\n                type='primary'\n                disabled={\n                  !checkSaveBtEnable(\n                    toWeiBigNumber(gasFeeResult?.low.maxPriorityFeePerGas, 'gwei'),\n                    toWeiBigNumber(gasFeeResult?.low.maxFeePerGas, 'gwei'),\n                    toBigNumber(maxPriorityFeePerGas),\n                    toBigNumber(maxFee)\n                  ) || toBigNumber(gasLimit).lt(toBigNumber(latestGasLimit))\n                }\n                onClick={() => optionsForm.current.submit()}\n              >\n                {t('common.save')}\n              </Button>\n            </div>\n            <PowerFooter className='footer-box-v2' />\n          </>\n        )}\n      </ParticleDrawer>\n    </>\n  );\n}\n\nexport default EvmGas;\n", "// wallet : displaywallet  \u6BCF\u4E2A\u9875\u9762\u90FD\u6709\n// account : \u6BCF\u4E2A\u9875\u9762\u90FD\u6709,\u7EA2\u70B9 \u70B9\u51FB\u6D88\u5931 \u5B58\u50A8\u5230localstorage\n// transaction : evm \u94FE eth_sendTransaction \u65F6\u6709,\u7EA2\u70B9\u70B9\u51FB\u6D88\u5931 \u5B58\u50A8\u5230 sessionStorage\n// \u5C0F\u4E8E3\u4E2A\u7684\u65F6\u5019\uFF0C\u4E0D\u663E\u793Amenu\uFF0C\u76F4\u63A5\u5E73\u94FA\n\nimport { Badge } from 'antd';\nimport md5 from 'crypto-js/md5.js';\nimport cloneDeep from 'lodash/cloneDeep.js';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport { useCustomNavigate, useParticleAuth } from '../../../context';\n\nconst Menu = (props: any) => {\n  const { userInfo } = props;\n  const navigate = useCustomNavigate();\n  const { modalOptions } = useParticleAuth();\n\n  const accountSecurityKey = useMemo(() => {\n    const key = `${modalOptions.appId}_${userInfo?.uuid}`;\n    return `account_security_${md5(key)}`;\n  }, [modalOptions.appId, userInfo?.uuid]);\n\n  const [meunInfo, setMeunInfo] = useState<any>({\n    account: {\n      name: 'Account & Security',\n      display: true,\n      badge: false,\n    },\n  });\n\n  /**\n   * \u6709Paymentpassword\u6216Masterpassword\u5176\u4E2D\u4E00\u4E2A\u6CA1\u6709\u5C31\u8BBE\u7F6E security \u4E3Atrue\uFF0C\u663E\u793A\u7EA2\u70B9\n   */\n  useEffect(() => {\n    if (userInfo?.security_account && !!accountSecurityKey && !localStorage.getItem(accountSecurityKey)) {\n      // eslint-disable-next-line camelcase\n      const { has_set_master_password, has_set_payment_password } = userInfo?.security_account || {};\n      // eslint-disable-next-line camelcase\n      if (!has_set_master_password || !has_set_payment_password) {\n        meunInfo.account.badge = true;\n      } else {\n        meunInfo.account.badge = false;\n      }\n    } else {\n      meunInfo.account.badge = false;\n    }\n    setMeunInfo(cloneDeep(meunInfo));\n  }, [userInfo?.security_account, accountSecurityKey]);\n\n  const accountButton = (\n    <div\n      className='item'\n      onClick={() => {\n        meunInfo.account.badge = false;\n        setMeunInfo(cloneDeep(meunInfo));\n        navigate('/account/security');\n        localStorage.setItem(accountSecurityKey, 'true');\n      }}\n    >\n      <Badge dot={!!meunInfo.account.badge}>\n        <SVGIcon className='wallet-icon' name='security_icon' />\n      </Badge>\n    </div>\n  );\n\n  return <div className='top-menu-list'>{!!meunInfo?.account?.display && accountButton}</div>;\n};\n\nexport default Menu;\n", "import { addHexPrefix, stripHexPrefix } from '@ethereumjs/util';\nimport { RecordType } from '@particle-network/analytics';\nimport {\n  EvmEnhancedMethod,\n  EvmRpcMethod,\n  TransactionSmartType,\n  analyticsRecord,\n  defaultTokenIcon,\n  getChainIcon,\n  isConnected,\n  syncUserInfo,\n  type EVMDeserializeTransactionResult,\n  type EVMFunction,\n  type EVMNFTChange,\n  type EVMTransaction,\n} from '@particle-network/auth-core';\nimport { Button, Image, Modal, Tabs } from 'antd';\nimport { BigNumber } from 'bignumber.js';\nimport BN from 'bn.js';\n//@ts-ignore\nimport jt from 'json-toy';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport { type EvmSignProps } from '..';\nimport { getEVMPublicAddress } from '../../../api/getPublicAddress';\nimport { AuthError } from '../../../api/model/authError';\nimport { PromptSettingType } from '../../../api/model/bundle';\nimport { AuthPage } from '../../../components/customRouter';\nimport CircleClose from '../../../components/icon/circle-close';\nimport IconCopy from '../../../components/icon/icon-copy';\nimport ParticleLoading from '../../../components/loading';\nimport PowerFooter from '../../../components/power-footer';\nimport { useAuthCoreModal, useCustomNavigate, useEvents, useParticleAuth, useTranslation } from '../../../context';\nimport { useEthereum } from '../../../context/hooks';\nimport { useError } from '../../../context/hooks/useError';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { usePaymentPassword } from '../../../context/hooks/usePaymentPassword';\nimport usePending from '../../../context/hooks/usePending';\nimport { AuthCoreModalEvent } from '../../../context/types';\nimport { formatAddress, getChainDisplayName, getNativeSymbol } from '../../../utils/chain-utils';\nimport { shortString } from '../../../utils/common-utils';\nimport { ethereumUtils } from '../../../utils/ethereumUtils';\nimport { formatTokenAmount2, fromSunFormat, fromWeiFormat } from '../../../utils/number-utils';\nimport { isEIP1559Type, isEVMAddress, isTron, parseTransaction } from '../../../utils/transaction-utils';\nimport { useEVMTransaction } from '../evmContextProvider';\nimport riskModalStyle from '../riskModal/index.less';\nimport RiskReminder from '../riskReminder';\nimport RiskTypography from '../riskTypography';\nimport NewErcTransfers from './NewErcTransfers';\nimport EvmGas from './evm-gas';\nimport GasDisplay from './gas-display';\nimport styles from './info-sign.less';\nimport Menu from './menu';\nimport NoGas from './no-gas';\n\nimport biconomy000 from '../../../common/images/smartAccount/biconomy-000-icon.png';\nimport biconomyfff from '../../../common/images/smartAccount/biconomy-fff-icon.png';\nimport btc000 from '../../../common/images/smartAccount/btc-000-icon.png';\nimport btcfff from '../../../common/images/smartAccount/btc-fff-icon.png';\nimport cyberconnect000 from '../../../common/images/smartAccount/cyberconnect-000-icon.png';\nimport cyberconnectfff from '../../../common/images/smartAccount/cyberconnect-fff-icon.png';\nimport light000 from '../../../common/images/smartAccount/light-000-icon.png';\nimport lightfff from '../../../common/images/smartAccount/light-fff-icon.png';\nimport simple000 from '../../../common/images/smartAccount/simple-000-icon.png';\nimport simplefff from '../../../common/images/smartAccount/simple-fff-icon.png';\nimport universal000 from '../../../common/images/smartAccount/universal-000-icon.png';\nimport universalfff from '../../../common/images/smartAccount/universal-fff-icon.png';\nimport xterio from '../../../common/images/smartAccount/xterio-icon.png';\nimport { isTelegramWebApp } from '../../../utils/isTelegramWebApp';\n\nenum RenderPageType {\n  SIGN_MESSAGE,\n  SEND_TX,\n  SIGN_TYPE_DATA,\n}\n\nexport const getAAIcon = (aaType: string, theme: string) => {\n  aaType = (aaType ?? 'biconomy')?.toLowerCase();\n  const aaIcons: Record<string, any> = {\n    biconomyfff,\n    biconomy000,\n    cyberconnectfff,\n    cyberconnect000,\n    simplefff,\n    simple000,\n    lightfff,\n    light000,\n    btcfff,\n    btc000,\n    universal000,\n    universalfff,\n    xterio000: xterio,\n    xteriofff: xterio,\n  };\n  const key = `${aaType}${theme === 'light' ? 'fff' : '000'}`;\n  return aaIcons[key] ?? aaIcons['biconomyfff'];\n};\n\nfunction EvmSign(props: EvmSignProps) {\n  const { method, param, loginAuthorizationSign } = props;\n\n  const { t } = useTranslation();\n  const message = useMessage();\n  const [loading, setLoading] = useState(false);\n\n  const [transactionInfo, setTransactionInfo] = useState<EVMDeserializeTransactionResult>();\n\n  const infoSignRef = useRef(null);\n\n  const [headerTitle, setHeaderTitle] = useState<string>('');\n  const { authCoreModal } = useAuthCoreModal();\n  const [headerDes, setHeaderDes] = useState<string>('');\n\n  const [gasVis, setGasVis] = useState<boolean>(false);\n\n  const navigate = useCustomNavigate();\n\n  const [renderPageType, setRenderPageType] = useState<RenderPageType | ''>('');\n\n  const [changeApproveAmount, setChangeApproveAmount] = useState<string>('');\n\n  const { errorHandle } = useError();\n\n  const { transactionData, gasError, setTransaction, updateTransaction, currentChain: chainInfo } = useEVMTransaction();\n\n  const [riskPrompt, setRiskPrompt] = useState(false);\n\n  const { events } = useEvents();\n\n  const [addressDisplayed, setAddressDisplayed] = useState<string>();\n\n  const { hasSetPaymentPassword, showSetPaymentPasswordOrConfirm } = usePaymentPassword();\n\n  const { setPaymentVerify, setPaymentPassword, userInfo, modalOptions } = useParticleAuth();\n\n  const { address } = useEthereum();\n\n  const { checkPending } = usePending();\n\n  const loadsecurityAccounts = () => {\n    syncUserInfo()\n      .then(() => {\n        approveSign();\n      })\n      .catch((error) => {\n        setLoading(false);\n        message.error(error.message ?? 'Sign Error');\n      });\n  };\n\n  const { TabPane } = Tabs;\n\n  const isPersonalSign = useMemo(\n    () => method === EvmRpcMethod.personalSign || method === EvmRpcMethod.personalSignUniq,\n    [method]\n  );\n\n  const redirectToApp = ({ error, result }: { error?: AuthError; result?: unknown }) => {\n    events.emit(AuthCoreModalEvent.SignResponse, {\n      result,\n      error,\n    });\n  };\n\n  useEffect(() => {\n    getEVMPublicAddress({\n      erc4337: modalOptions.erc4337,\n      chainId: chainInfo.id,\n      method: method as EvmRpcMethod,\n    })\n      .then((addr) => {\n        setAddressDisplayed(addr);\n      })\n      .catch((error) => {\n        console.error('get public address error', error);\n      });\n  }, [chainInfo.id, modalOptions.erc4337, method]);\n\n  useEffect(() => {\n    let renderPageType: RenderPageType | '' = '';\n    console.log(`evm sign method: ${method}, chainId: ${chainInfo.id}`);\n    if (isPersonalSign) {\n      //sign message\n      setHeaderTitle(t('sign.signature_message') as string);\n      setHeaderDes(t('sign.signature_title') as string);\n\n      renderPageType = RenderPageType.SIGN_MESSAGE;\n    } else if (method === EvmRpcMethod.ethSendTransaction) {\n      //send tx\n      setHeaderTitle(t('sign.send_transaction') as string);\n      setHeaderDes(t('sign.approve_and').format(getChainDisplayName(chainInfo)));\n      setTransactionData();\n      renderPageType = RenderPageType.SEND_TX;\n    } else if (method === EvmRpcMethod.ethSignTypedDataV4 || method === EvmRpcMethod.ethSignTypedDataV4Uniq) {\n      deserializeTypedData(JSON.stringify(param)).then((res) => {\n        if (res?.type === TransactionSmartType.SEAPORT_NFT_LISTING) {\n          setHeaderTitle(t('sign.send_transaction') as string);\n          setHeaderDes(t('sign.approve_and').format(getChainDisplayName(chainInfo)));\n          renderPageType = RenderPageType.SEND_TX;\n        } else {\n          renderPageType = RenderPageType.SIGN_TYPE_DATA;\n          setHeaderTitle(t('sign.sign_typed_data') as string);\n          setHeaderDes(t('sign.signature_title') as string);\n        }\n        setRenderPageType(renderPageType);\n      });\n    } else if (method.includes(EvmRpcMethod.ethSignTypedData)) {\n      //sign typed data\n      setHeaderTitle(t('sign.sign_typed_data') as string);\n      setHeaderDes(t('sign.signature_title') as string);\n      renderPageType = RenderPageType.SIGN_TYPE_DATA;\n    }\n\n    setRenderPageType(renderPageType);\n  }, [chainInfo, t]);\n\n  const setTransactionData = () => {\n    console.log('setTransactionData', param);\n    const txData = parseTransaction(param as any, chainInfo);\n    console.log('setTransactionData\uFF0C after parse', txData);\n    setTransaction(txData);\n    deserializeTransaction(txData);\n  };\n\n  const deserializeTypedData = async (jsonStr: string) => {\n    const result = await window.particleAuth?.ethereum\n      .request({\n        chainId: chainInfo.id,\n        method: EvmEnhancedMethod.deserializeTypedData,\n        params: [jsonStr],\n      })\n      .catch((error) => {\n        console.log('deserializeTypedData error', error);\n        message.error(error.message ?? 'deserializeTypedData Error');\n      });\n    setTransactionInfo(result);\n    return result;\n  };\n\n  const deserializeTransaction = async (txData: EVMTransaction) => {\n    if (!checkTxData(txData)) {\n      return;\n    }\n\n    const module = await import('@ethereumjs/tx');\n    const { TransactionFactory } = module.default || module;\n    const tx = TransactionFactory.fromTxData(txData);\n    window.particleAuth?.ethereum\n      .request({\n        chainId: chainInfo.id,\n        method: EvmEnhancedMethod.deserializeTransaction,\n        params: [address, addHexPrefix(tx.serialize().toString('hex'))],\n      })\n      .then((result) => {\n        setTransactionInfo(result);\n      })\n      .catch((error) => {\n        console.log('deserializeTransaction error', error);\n        Modal.error({\n          title: error.message ?? 'Deserialize Transaction Error',\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n          okCancel: true,\n          cancelText: t('common.cancel'),\n          okText: t('common.retry'),\n          onOk: () => {\n            deserializeTransaction(txData);\n          },\n        });\n      });\n  };\n\n  const hasSecurityRisk = useMemo(() => {\n    return transactionInfo?.securityDetection && transactionInfo?.securityDetection.length > 0;\n  }, [transactionInfo?.securityDetection]);\n\n  const checkTxData = (txData: EVMTransaction): boolean => {\n    if (isTron(chainInfo)) {\n      if (!txData.from || !txData.to || !txData.value) {\n        Modal.error({\n          title: 'Transaction error, see doc for more info',\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n          onOk: () => {\n            redirectToApp({\n              error: AuthError.paramsError(),\n            });\n          },\n        });\n        return false;\n      }\n\n      return true;\n    }\n    if (Number(txData.type) !== 0 && Number(txData.type) !== 1 && Number(txData.type) !== 2) {\n      Modal.error({\n        title: 'Transaction type error, see doc for more info',\n        wrapClassName: 'auth-core-modal-error',\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n        onOk: () => {\n          redirectToApp({\n            error: AuthError.paramsError(),\n          });\n        },\n      });\n      return false;\n    } else if (isEIP1559Type(txData.type) && txData.maxFeePerGas && txData.maxPriorityFeePerGas) {\n      const maxFeePerGasBN = new BN(stripHexPrefix(txData.maxFeePerGas), 16);\n      const maxPriorityFeePerGasBN = new BN(stripHexPrefix(txData.maxPriorityFeePerGas), 16);\n      if (maxFeePerGasBN.lte(maxPriorityFeePerGasBN)) {\n        // maxFeePerGas cannot be less than maxPriorityFeePerGas\n        Modal.error({\n          title: 'maxFeePerGas cannot be less than maxPriorityFeePerGas.',\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n          onOk: () => {\n            redirectToApp({\n              error: AuthError.feeError(),\n            });\n          },\n        });\n        return false;\n      }\n    }\n    return true;\n  };\n\n  const decodeMessage = (message: string): string => {\n    const msg = Buffer.from(stripHexPrefix(message), 'hex').toString('utf-8');\n    if (isPersonalSign) {\n      if (/\uFFFD/.test(msg)) {\n        return message;\n      }\n    }\n    return msg;\n  };\n\n  const formatFunction = (evmFunction: EVMFunction): string => {\n    if (evmFunction.params.length > 0) {\n      const p = evmFunction.params.map((item) => item.type).join(', ');\n      return `${evmFunction.name}(${p})`;\n    }\n    return `${evmFunction.name}()`;\n  };\n\n  const approveSign = async (pendingConfirm = false) => {\n    if (!isConnected()) {\n      redirectToApp({\n        error: AuthError.notLogin(),\n      });\n      return;\n    }\n\n    analyticsRecord({\n      // eslint-disable-next-line camelcase\n      record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK, // confirm\u6309\u94AE\u70B9\u51FB\n    });\n\n    if (method === EvmRpcMethod.ethSendTransaction) {\n      if (await checkPending(approveSign, pendingConfirm)) {\n        return;\n      } else if (userInfo?.security_account?.has_set_payment_password) {\n        setPaymentVerify({\n          visible: true,\n          onVerifyCompleted: signTx,\n        });\n      } else {\n        showSetPaymentPasswordOrConfirm(signTx);\n      }\n    } else if (method.includes(EvmRpcMethod.ethSignTypedData) || isPersonalSign) {\n      if (userInfo?.security_account?.has_set_payment_password) {\n        setPaymentVerify({\n          visible: true,\n          onVerifyCompleted: signData,\n        });\n      } else {\n        if (\n          method.includes(EvmRpcMethod.ethSignTypedData) ||\n          modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign === PromptSettingType.everyAndNotSkip\n        ) {\n          // method\u662Feth_signTypedData \u6216\u8005 \u5F3A\u5236\u8BBE\u7F6E\u652F\u4ED8\u5BC6\u7801\n          showSetPaymentPasswordOrConfirm(signData);\n        } else {\n          signData();\n        }\n      }\n    } else {\n      Modal.error({\n        title: `method ${method} not support`,\n        wrapClassName: 'auth-core-modal-error',\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      });\n    }\n  };\n\n  const signTx = async () => {\n    if (!transactionData) return;\n\n    setLoading(true);\n\n    const unsigned = JSON.stringify(transactionData);\n    console.log('unsigned tx:', unsigned);\n\n    let result;\n    try {\n      result = await window.particleAuth?.ethereum.sendTransaction({ ...transactionData });\n      analyticsRecord({\n        // eslint-disable-next-line camelcase\n        record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK_SUCCESS, // confirm\u6210\u529F\n      });\n    } catch (error: any) {\n      console.error(method, error);\n      analyticsRecord({\n        // eslint-disable-next-line camelcase\n        record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK_FAILURE, // confirm\u5931\u8D25\n      });\n      if (error?.error_code === 50103 && !userInfo?.security_account?.has_set_payment_password) {\n        loadsecurityAccounts();\n      } else if (error?.message === 'Local Key not found' || error?.message === 'Master password decryption error') {\n        navigate(AuthPage.MasterPasswordVerify);\n      } else {\n        Modal.error({\n          title: error.message ?? 'Send Transaction Error',\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n          okText: t('common.confirm'),\n          onOk: () => {\n            redirectToApp({\n              error: error,\n            });\n          },\n        });\n      }\n    } finally {\n      setLoading(false);\n    }\n    if (result) {\n      redirectToApp({\n        result,\n      });\n    }\n  };\n\n  const signData = async () => {\n    setLoading(true);\n    let result;\n    try {\n      if (isPersonalSign) {\n        result = await window.particleAuth?.ethereum.signMessage(param as string);\n      } else {\n        result = await window.particleAuth?.ethereum.signTypedData({\n          data: param as any,\n          version: ethereumUtils.getSignTypedVersion(method),\n          uniq: ethereumUtils.isSignTypedDataUniq(method),\n        });\n      }\n      analyticsRecord({\n        // eslint-disable-next-line camelcase\n        record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK_SUCCESS, // confirm\u6210\u529F\n      });\n    } catch (error: any) {\n      console.error(method, error);\n      analyticsRecord({\n        // eslint-disable-next-line camelcase\n        record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK_FAILURE, // confirm\u5931\u8D25\n      });\n      if (error?.error_code === 50103 && !userInfo?.security_account?.has_set_payment_password) {\n        loadsecurityAccounts();\n      } else if (error?.message === 'Local Key not found' || error?.message === 'Master password decryption error') {\n        navigate(AuthPage.MasterPasswordVerify);\n      } else {\n        message.error(error.message ?? (isPersonalSign ? 'Sign Message Error' : 'Sign Typed Data Error'));\n      }\n    } finally {\n      setLoading(false);\n    }\n\n    if (result) {\n      if (loginAuthorizationSign) {\n        events.emit(AuthCoreModalEvent.LoginSuccess, {\n          ...userInfo,\n          authorization: {\n            message: param,\n            signature: result,\n          },\n        });\n      } else {\n        redirectToApp({\n          result,\n        });\n      }\n    }\n  };\n\n  const cancelSign = async () => {\n    if (loading) {\n      return;\n    }\n\n    if (loginAuthorizationSign) {\n      events.emit(AuthCoreModalEvent.LoginSuccess, userInfo);\n    } else {\n      //\u8FD4\u56DEapp\n      redirectToApp({\n        error: AuthError.userRejectedRequest(),\n      });\n    }\n  };\n\n  const formatValue = (data: any) => {\n    if (isEVMAddress(data.value)) {\n      return shortString(formatAddress(data.value, chainInfo));\n    }\n    return data.value;\n  };\n\n  const signMessageTitle = useMemo(() => {\n    let title = '';\n    if (method.includes(EvmRpcMethod.ethSignTypedData)) {\n      try {\n        const { primaryType } = param as any;\n        title = primaryType;\n      } catch (error) {\n        // pase error\n      }\n    }\n    return title || 'Message';\n  }, [method, param]);\n\n  const sMessage = useMemo(() => {\n    if (method.includes(EvmRpcMethod.ethSignTypedData)) {\n      try {\n        const signQueryMessage = param as any;\n        let { message } = signQueryMessage;\n\n        if (!signQueryMessage.message) {\n          message = signQueryMessage;\n        }\n\n        return message;\n      } catch (error) {\n        // pase error\n      }\n    }\n    return {};\n  }, [method, param]);\n\n  const getRow = (key: string, index: number) => {\n    key = key.replace('ROOT.', '');\n    let value = jt.getValByKeyPath(sMessage, key);\n    let isTitle = false;\n    if (typeof value !== 'string' && typeof value !== 'number') {\n      value = '';\n      isTitle = true;\n    }\n    const indent = key.split('.').length;\n\n    return (\n      <div key={index} className='s-row'>\n        <div\n          className='label'\n          style={{\n            paddingLeft: 20 * indent,\n          }}\n          data-type={isTitle ? 'title' : ''}\n        >\n          {key.split('.').pop()}\uFF1A\n        </div>\n\n        {isEVMAddress(value) ? (\n          <CopyToClipboard text={value} onCopy={() => message.success(t('new.copied_to'))}>\n            <div className='value copy-text'>{formatValue({ value })}</div>\n          </CopyToClipboard>\n        ) : (\n          <div\n            className='value'\n            onClick={(e) => {\n              e.stopPropagation();\n            }}\n          >\n            {value}\n          </div>\n        )}\n      </div>\n    );\n  };\n  // sign message\n  const signMessage = () => {\n    return (\n      <div className='sign-message'>\n        <div\n          className={'message' + (hasSetPaymentPassword ? '' : ' no-password-tip')}\n          data-transaction-type={transactionInfo?.type}\n        >\n          {!method.includes(EvmRpcMethod.ethSignTypedData) && (\n            <div className='pre-wrap personal-message'>{decodeMessage(param as string)}</div>\n          )}\n\n          {method.includes(EvmRpcMethod.ethSignTypedData) && (\n            <>\n              <div className='s-row'>\n                <div className='label' data-type='title'>\n                  {signMessageTitle}\n                </div>\n              </div>\n              {jt.travelJson(sMessage).map((key: string, index: number) => {\n                return getRow(key, index);\n              })}\n            </>\n          )}\n        </div>\n      </div>\n    );\n  };\n\n  const getNFTName = (info: EVMNFTChange): string => {\n    if (info.name && info.name.length > 0) {\n      return info.name;\n    }\n\n    return `NFT#${info.tokenId}`;\n  };\n\n  const approveDisabled = (data?: EVMTransaction): boolean => {\n    if (method === EvmRpcMethod.ethSendTransaction) {\n      if (!data) {\n        return true;\n      }\n\n      if (isTron(chainInfo)) {\n        return false;\n      }\n\n      if (isEIP1559Type(data.type)) {\n        return !data.gasLimit || !data.maxPriorityFeePerGas || !data.maxFeePerGas;\n      } else {\n        return !data.gasLimit || !data.gasPrice;\n      }\n    }\n    return false;\n  };\n  const [displayDetail, setDisplayDetail] = useState<boolean>(false);\n\n  const isErc4361 = useMemo(() => {\n    // https://eips.ethereum.org/EIPS/eip-4361#example-message\n    let result = false;\n    if (isPersonalSign) {\n      const signMessage = decodeMessage(param as string);\n      const domain = signMessage.match(/^(.+)?\\swants you/)?.[1];\n      const address = signMessage.match(/wants you to sign in with your Ethereum account:\\n(.*)/)?.[1];\n      const uri = signMessage.match(/URI:(.*)/)?.[1];\n      const version = signMessage.match(/Version:(.*)/)?.[1];\n      const chainId = signMessage.match(/Chain ID:(.*)/)?.[1];\n      const nonce = signMessage.match(/Nonce:(.*)/)?.[1];\n      if (domain && address && uri && version && chainId && nonce) {\n        result = true;\n      }\n    }\n    return result;\n  }, [transactionData, isPersonalSign]);\n\n  useEffect(() => {\n    if (isErc4361) {\n      setHeaderTitle(t('new.sign_in_request') as string);\n      setHeaderDes(t('new.requesting_sign_4361') as string);\n    }\n  }, [isErc4361]);\n\n  // sign/send transaction\n  const signTransaction = () => {\n    return (\n      <Tabs defaultActiveKey='1'>\n        <TabPane tab={t('sign.details')} key='1'>\n          <div className='balance-change'>\n            <div className='title'>{t('sign.estimated_balance_change')}</div>\n            <div className='change-body'>\n              {transactionInfo?.estimatedChanges?.natives\n                ?.filter((info) => info.address.toLowerCase() === address?.toLowerCase())\n                ?.map((info, index) => {\n                  return (\n                    <div className='change-title' key={`native-change-${index}`}>\n                      {getNativeSymbol(chainInfo)}\n                      <div className='change-val' style={info.nativeChange.includes('-') ? { color: '#ea4335' } : {}}>\n                        {info.nativeChange.includes('-') || info.nativeChange === '0' ? '' : '+'}\n                        {isTron(chainInfo)\n                          ? fromSunFormat(info.nativeChange)\n                          : fromWeiFormat(info.nativeChange, 'ether', 18)}\n                      </div>\n                    </div>\n                  );\n                })}\n\n              {transactionInfo?.estimatedChanges?.nfts?.map((info, index) => {\n                return (\n                  <div className='change-title' key={`nft-change-${index}`}>\n                    {getNFTName(info)}\n                    <div className='change-val' style={info.amountChange < 0 ? { color: '#ea4335' } : {}}>\n                      {info.amountChange < 0 ? '' : '+'}\n                      {info.amountChange}\n                    </div>\n                  </div>\n                );\n              })}\n\n              {transactionInfo?.estimatedChanges?.tokens?.map((info, index) => {\n                return (\n                  <div className='change-title' key={`token-change-${index}`}>\n                    {info.name ? info.name : 'Unknown Token'}\n                    <div className='change-val' style={info.amountChange < 0 ? { color: '#ea4335' } : {}}>\n                      {info.amountChange < 0 ? '' : '+'}\n                      {formatTokenAmount2(info.amountChange, info.decimals)}\n                    </div>\n                  </div>\n                );\n              })}\n            </div>\n          </div>\n\n          {transactionInfo && (\n            <div className='from-to'>\n              <div className='address-item'>\n                <div>{t('sign.from')}</div>\n                <div>{shortString(formatAddress(transactionInfo.data.from, chainInfo))}</div>\n              </div>\n              <div className='address-item mt10'>\n                <div>{t('sign.to')}</div>\n                <div>{shortString(formatAddress(transactionInfo.data.to, chainInfo))}</div>\n              </div>\n              {!isTron(chainInfo) && (\n                <div className='address-item mt10'>\n                  <div>{t('sign.nonce')}</div>\n                  <div>#{parseInt(transactionInfo.data.nonce)}</div>\n                </div>\n              )}\n            </div>\n          )}\n\n          {!gasError && transactionData && !isTron(chainInfo) && (\n            <GasDisplay\n              openGasDrawer={() => setGasVis(true)}\n              signLoading={loading}\n              chainInfo={chainInfo}\n              signMethod={method}\n            />\n          )}\n\n          {gasError && !isTron(chainInfo) && <NoGas />}\n        </TabPane>\n        <TabPane tab={t('sign.data')} key='2'>\n          <div>\n            {transactionInfo && transactionInfo.data.function && (\n              <div className='inner-instruction' key={'instruction-function'}>\n                <div className='inner-content'>\n                  <div className='content-item'>\n                    <div className='item'>\n                      <div className='item-0'>\n                        {t('sign.function_type')} {formatFunction(transactionInfo.data.function)}\n                      </div>\n\n                      {transactionInfo.data.function.params.map((item) => (\n                        <div className='item-1 mt10' key={`instruction-function${item.name}`}>\n                          {shortString(item.name)}\n                          <span>{shortString(item.value)}</span>\n                        </div>\n                      ))}\n                    </div>\n                  </div>\n                </div>\n              </div>\n            )}\n\n            {/* hex data */}\n\n            {transactionInfo && (\n              <div className='inner-instruction' key={'instruction-hex-data'}>\n                <div className='inner-content'>\n                  <div className='content-item'>\n                    <div className='item'>\n                      <div className='item-0'>{t('sign.hex_data')}</div>\n                      <div className='item-1 mt10'>\n                        <div className='data'>{transactionInfo.data.data}</div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            )}\n          </div>\n        </TabPane>\n      </Tabs>\n    );\n  };\n\n  const editApproveAmount = async (amount: string) => {\n    setChangeApproveAmount(amount);\n\n    if (amount && amount !== '' && transactionInfo) {\n      const { decimals = 18 } = transactionInfo?.estimatedChanges?.tokens?.[0] || {};\n\n      BigNumber.config({ EXPONENTIAL_AT: [-256, 256] });\n      const bn = new BigNumber(amount).multipliedBy(new BigNumber(10).pow(decimals));\n      const approveAmount = bn.toString();\n      BigNumber.config({ EXPONENTIAL_AT: [-7, 21] });\n\n      const spender = transactionInfo.data?.function?.params?.[0]?.value || '';\n\n      const encodeData = await window.particleAuth?.ethereum.request({\n        chainId: chainInfo.id,\n        method: 'particle_abi_encodeFunctionCall',\n        params: [transactionInfo.data.to, 'erc20_approve', [spender, approveAmount]],\n      });\n\n      updateTransaction({\n        data: encodeData,\n      });\n    }\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      {transactionInfo?.type ||\n      renderPageType === RenderPageType.SIGN_TYPE_DATA ||\n      renderPageType === RenderPageType.SIGN_MESSAGE ? (\n        <div\n          className={`info-sign info-sign-${transactionInfo?.type}`}\n          data-type={transactionInfo?.type}\n          ref={infoSignRef}\n        >\n          {!hasSetPaymentPassword && (\n            <div className='has-payment-password' data-telegram={isTelegramWebApp()}>\n              <div className='has-payment-password-icon'></div>\n              <div className='has-payment-password-tip'>{t('account.waring_tip1')}</div>\n              <div className='has-payment-password-set' onClick={setPaymentPassword}>\n                {t('account.set')}\n              </div>\n            </div>\n          )}\n          <div className={'scroll-part' + (hasSetPaymentPassword ? '' : ' no-password-tip')}>\n            <Menu userInfo={userInfo} transactionInfo={transactionInfo} />\n            <div className='info-request'>\n              {modalOptions.erc4337 && method !== EvmRpcMethod.ethSendTransaction && (\n                // <div className=\"aa-tag\">AA</div>\n                <div className='aa-icon'>\n                  <Image\n                    src={getAAIcon(\n                      ((modalOptions.erc4337 as any)?.name ?? 'BICONOMY').toLowerCase(),\n                      modalOptions.themeType || 'light'\n                    )}\n                    fallback={defaultTokenIcon}\n                    preview={false}\n                  />\n                </div>\n              )}\n              {headerTitle}\n            </div>\n            <div className='info-title'>\n              <Image src={getChainIcon(chainInfo)} fallback={defaultTokenIcon} preview={false} />\n              {getChainDisplayName(chainInfo)}\n            </div>\n            <CopyToClipboard text={addressDisplayed || ''} onCopy={() => message.success(t('new.copied_to'))}>\n              <div className='info-address'>\n                {shortString(addressDisplayed)}\n                <div className='copy-icon'>\n                  <IconCopy />\n                </div>\n              </div>\n            </CopyToClipboard>\n            <div className='info-des'>{headerDes}</div>\n            <div className='apart-line'></div>\n            {transactionInfo?.type === TransactionSmartType.NativeTransfer ||\n            transactionInfo?.type === TransactionSmartType.ERC20_TRANSFER ||\n            transactionInfo?.type === TransactionSmartType.ERC20_APPROVE ||\n            transactionInfo?.type === TransactionSmartType.ERC721_TRANFER ||\n            transactionInfo?.type === TransactionSmartType.ERC1155_TRANFER ||\n            transactionInfo?.type === TransactionSmartType.SEAPORT_CANCEL_ORDER ||\n            transactionInfo?.type === TransactionSmartType.SEAPORT_FULFILL_ORDER ||\n            transactionInfo?.type === TransactionSmartType.SEAPORT_NFT_LISTING ? (\n              <NewErcTransfers\n                setDisplayDetail={setDisplayDetail}\n                displayDetail={displayDetail}\n                gasError={gasError}\n                setGasVis={setGasVis}\n                formatFunction={formatFunction}\n                transactionInfo={transactionInfo}\n                changeApproveAmount={changeApproveAmount}\n                setChangeApproveAmount={editApproveAmount}\n                signLoading={loading}\n                signMessage={signMessage}\n                chainInfo={chainInfo}\n                signMethod={method}\n              />\n            ) : method === EvmRpcMethod.ethSendTransaction ? (\n              signTransaction()\n            ) : method !== EvmRpcMethod.ethSendTransaction ? (\n              signMessage()\n            ) : (\n              ''\n            )}\n          </div>\n\n          <div className='btn-box'>\n            <div>\n              <Button className='btn-cancel' onClick={cancelSign}>\n                {t('common.cancel')}\n              </Button>\n              <Button\n                className={`btn-approve ${gasError || hasSecurityRisk ? 'still-confirm' : ''}`}\n                onClick={() => {\n                  if (hasSecurityRisk) {\n                    setRiskPrompt(true);\n                  } else {\n                    approveSign();\n                  }\n                }}\n                loading={loading}\n                disabled={approveDisabled(transactionData)}\n              >\n                {isErc4361\n                  ? t('new.sign_in')\n                  : gasError || hasSecurityRisk\n                  ? t('common.still_confirm')\n                  : t('common.confirm')}\n              </Button>\n            </div>\n\n            <PowerFooter></PowerFooter>\n          </div>\n\n          {hasSecurityRisk && transactionInfo?.securityDetection && (\n            <>\n              <RiskReminder securityDetection={transactionInfo?.securityDetection}></RiskReminder>\n              <Modal\n                className='risk-modal'\n                open={riskPrompt}\n                closeIcon={<CircleClose />}\n                centered\n                maskClosable={false}\n                onCancel={() => {\n                  setRiskPrompt(false);\n                }}\n                getContainer={() => {\n                  return authCoreModal.rootBody as HTMLDivElement;\n                }}\n              >\n                <style>{riskModalStyle as unknown as string}</style>\n                <div className='risk-modal-title'>{t('sign.risk_hint_title')}</div>\n                <RiskTypography\n                  className='risk-modal-content'\n                  securityDetection={transactionInfo?.securityDetection}\n                  title={t('sign.risk_identified') as string}\n                />\n                <div className='risk-bottom-btn-box'>\n                  <Button\n                    className='primary-antd-btn secondary'\n                    onClick={() => {\n                      setRiskPrompt(false);\n                    }}\n                  >\n                    {t('common.cancel')}\n                  </Button>\n                  <Button\n                    className='primary-antd-btn danger'\n                    onClick={() => {\n                      approveSign();\n                      setRiskPrompt(false);\n                    }}\n                  >\n                    {t('common.confirm')}\n                  </Button>\n                </div>\n              </Modal>\n            </>\n          )}\n\n          <EvmGas openGasDrawer={() => setGasVis(false)} visible={gasVis} />\n        </div>\n      ) : (\n        <ParticleLoading />\n      )}\n    </>\n  );\n}\n\nexport default EvmSign;\n", "import { isNeedRestoreWallet, syncUserInfo } from '@particle-network/auth-core';\nimport React, { useEffect } from 'react';\nimport { AuthPage } from '../../components/customRouter';\nimport { useCustomNavigate } from '../../context';\nimport EvmSign from './components/evm-sign';\nimport { EVMContextProvider } from './evmContextProvider';\n\nexport type EvmSignProps = {\n  method: string;\n  param: unknown;\n  loginAuthorizationSign?: boolean;\n};\n\nfunction Sign(props: EvmSignProps) {\n  const navigate = useCustomNavigate();\n\n  useEffect(() => {\n    syncUserInfo().catch((e) => console.log('syncUserInfo', e));\n    if (isNeedRestoreWallet()) {\n      navigate(AuthPage.MasterPasswordVerify);\n    }\n  }, []);\n\n  return (\n    <EVMContextProvider {...props}>\n      <EvmSign {...props} />\n    </EVMContextProvider>\n  );\n}\n\nexport default Sign;\n", "import type { PublicKey } from '@solana/web3.js';\n\nconst SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';\n\nconst solana = {\n  async findAssociatedTokenAddress(walletAddress: string, tokenMintAddress: string): Promise<PublicKey> {\n    const { PublicKey } = await import('@solana/web3.js');\n    const TOKEN_PROGRAM_ID = new PublicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA');\n    return PublicKey.findProgramAddressSync(\n      [\n        new PublicKey(walletAddress).toBuffer(),\n        TOKEN_PROGRAM_ID.toBuffer(),\n        new PublicKey(tokenMintAddress).toBuffer(),\n      ],\n      new PublicKey(SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID)\n    )[0];\n  },\n};\n\nexport default solana;\n", "import { RecordType } from '@particle-network/analytics';\nimport {\n  SolanaEnhancedMethod,\n  SolanaRpcMethod,\n  analyticsRecord,\n  getChainIcon,\n  isNeedRestoreWallet,\n  particleAuth,\n  syncUserInfo,\n  type SolanaDeserializeTransactionResult,\n  type SplTokenChangeInfo,\n  type TokenChangeInfo,\n} from '@particle-network/auth-core';\nimport type { Transaction, VersionedTransaction } from '@solana/web3.js';\nimport { Button, Modal, Tabs } from 'antd';\nimport base58 from 'bs58';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport { AuthError } from '../../../api/model/authError';\nimport { PromptSettingType } from '../../../api/model/bundle';\nimport { AuthPage } from '../../../components/customRouter';\nimport IconCopy from '../../../components/icon/icon-copy';\nimport PowerFooter from '../../../components/power-footer';\nimport {\n  useAuthCoreModal,\n  useCustomNavigate,\n  useEvents,\n  useModalOptions,\n  useParticleAuth,\n  useTranslation,\n} from '../../../context';\nimport { useError } from '../../../context/hooks/useError';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { usePaymentPassword } from '../../../context/hooks/usePaymentPassword';\nimport { AuthCoreModalEvent } from '../../../context/types';\nimport { getChainDisplayName } from '../../../utils/chain-utils';\nimport { shortString } from '../../../utils/common-utils';\nimport { isTelegramWebApp } from '../../../utils/isTelegramWebApp';\nimport { formatTokenAmount } from '../../../utils/number-utils';\nimport solana from '../../../utils/solana-utils';\nimport styles from './info-sign.less';\nimport Menu from './menu';\n\ninterface IProps {\n  param: unknown;\n  method: SolanaRpcMethod;\n  chainId?: number;\n  loginAuthorizationSign?: boolean;\n}\nfunction InfoSign(props: IProps) {\n  const { method, param, chainId, loginAuthorizationSign } = props;\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n  const { setPaymentVerify, userInfo, setPaymentPassword } = useParticleAuth();\n  const { events } = useEvents();\n  const { modalOptions } = useModalOptions();\n  const { authCoreModal } = useAuthCoreModal();\n  const { errorHandle } = useError();\n\n  const [loading, setLoading] = useState(false);\n  const message = useMessage();\n  const [transactionInfo, setTransactionInfo] = useState<SolanaDeserializeTransactionResult>();\n\n  const [nftChanges, setNftChanges] = useState<TokenChangeInfo[]>();\n\n  const [tokenChanges, setTokenChanges] = useState<SplTokenChangeInfo[]>();\n\n  const [headerTitle, setHeaderTitle] = useState<string>('');\n  const [headerDes, setHeaderDes] = useState<string>('');\n\n  const { hasSetPaymentPassword, showSetPaymentPasswordOrConfirm } = usePaymentPassword();\n\n  const chain = useMemo(() => {\n    return {\n      id: chainId || particleAuth.solana.chainId,\n      name: 'Solana',\n    };\n  }, []);\n\n  const shortAddress = useMemo(() => {\n    const address = particleAuth.solana.selectedAddress as string;\n    return shortString(address);\n  }, []);\n\n  useEffect(() => {\n    syncUserInfo().catch((e) => console.log('syncUserInfo', e));\n    if (isNeedRestoreWallet()) {\n      navigate(AuthPage.MasterPasswordVerify);\n    }\n  }, [navigate]);\n\n  const loadsecurityAccounts = () => {\n    syncUserInfo()\n      .then(() => {\n        approveSign();\n      })\n      .catch((error) => {\n        setLoading(false);\n        message.error(error.message ?? 'Sign Error');\n      });\n  };\n\n  const finallyHandle = (result: any, error?: any) => {\n    events.emit(AuthCoreModalEvent.SignResponse, {\n      result,\n      error,\n    });\n  };\n\n  async function asyncFilter<T>(predicate: (indo: T) => Promise<boolean>, arr?: T[]): Promise<T[]> {\n    if (!arr) {\n      return [];\n    }\n    const results = await Promise.all(arr.map(predicate));\n    return arr.filter((_v, index) => results[index]);\n  }\n\n  const approveSign = async () => {\n    if (!method) return;\n\n    analyticsRecord({\n      // eslint-disable-next-line camelcase\n      record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK, // confirm\u6309\u94AE\u70B9\u51FB\n    });\n\n    if (userInfo?.security_account?.has_set_payment_password) {\n      setPaymentVerify({\n        visible: true,\n        onVerifyCompleted: approveSignImpl,\n      });\n    } else if (\n      method === SolanaRpcMethod.signAndSendTransaction ||\n      method === SolanaRpcMethod.signTransaction ||\n      method === SolanaRpcMethod.signAllTransactions ||\n      modalOptions?.promptSettingConfig?.promptPaymentPasswordSettingWhenSign === PromptSettingType.everyAndNotSkip\n    ) {\n      // \u663E\u793A\u8BBE\u7F6E\u652F\u4ED8\u5BC6\u7801\n      showSetPaymentPasswordOrConfirm(approveSignImpl);\n    } else {\n      approveSignImpl();\n    }\n  };\n\n  const approveSignImpl = async () => {\n    if (!method) return;\n    setLoading(true);\n    let signed;\n    try {\n      if (method === SolanaRpcMethod.signMessage) {\n        const { signature } = await particleAuth.solana.signMessage(param as Uint8Array);\n        signed = signature;\n      } else if (method === SolanaRpcMethod.signAndSendTransaction) {\n        const { signature } = await particleAuth.solana.signAndSendTransaction(\n          param as Transaction | VersionedTransaction,\n          chain.id\n        );\n        signed = signature;\n      } else if (method === SolanaRpcMethod.signTransaction) {\n        signed = await particleAuth.solana.signTransaction(param as Transaction | VersionedTransaction, chain.id);\n      } else if (method === SolanaRpcMethod.signAllTransactions) {\n        signed = await particleAuth.solana.signAllTransactions(\n          param as (Transaction | VersionedTransaction)[],\n          chain.id\n        );\n      } else {\n        throw new Error('Unknown method');\n      }\n\n      analyticsRecord({\n        // eslint-disable-next-line camelcase\n        record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK_SUCCESS, // confirm\u6210\u529F\n      });\n    } catch (e: any) {\n      console.error('approveSignImpl error', method, e);\n      analyticsRecord({\n        // eslint-disable-next-line camelcase\n        record_type: RecordType.PAGE_SIGN_CONFIRM_BUTTON_CLICK_FAILURE, // confirm\u5931\u8D25\n      });\n\n      if (e?.error_code === 50103 && !userInfo?.security_account?.has_set_payment_password) {\n        loadsecurityAccounts();\n      } else if (e?.message === 'Local Key not found' || e?.message === 'Master password decryption error') {\n        navigate(AuthPage.MasterPasswordVerify);\n      } else {\n        errorHandle(e);\n      }\n    } finally {\n      setLoading(false);\n    }\n\n    if (signed) {\n      if (method === SolanaRpcMethod.signMessage && loginAuthorizationSign) {\n        events.emit(AuthCoreModalEvent.LoginSuccess, {\n          ...userInfo,\n          authorization: {\n            message: base58.encode(param as Uint8Array),\n            signature: signed,\n          },\n        });\n      } else {\n        finallyHandle(signed);\n      }\n    }\n  };\n\n  const cancelSign = () => {\n    if (loading) {\n      return;\n    }\n\n    if (loginAuthorizationSign) {\n      events.emit(AuthCoreModalEvent.LoginSuccess, userInfo);\n    } else {\n      finallyHandle(undefined, AuthError.userRejectedRequest());\n    }\n  };\n\n  useEffect(() => {\n    if (method === SolanaRpcMethod.signMessage) {\n      setHeaderTitle(t('sign.signature_message') as string);\n      setHeaderDes(t('sign.signature_title') as string);\n    } else if (method === SolanaRpcMethod.signAndSendTransaction) {\n      setHeaderTitle(t('sign.send_transaction') as string);\n      setHeaderDes(t('sign.approve_and').format(getChainDisplayName(chain)));\n      const serializeTx = (param as Transaction | VersionedTransaction).serialize({\n        requireAllSignatures: false,\n        verifySignatures: false,\n      });\n      deserializeTransaction([base58.encode(serializeTx)]);\n    } else if (method === SolanaRpcMethod.signTransaction) {\n      setHeaderTitle(t('sign.sign_transaction') as string);\n      setHeaderDes(t('sign.sign_but') as string);\n      const serializeTx = (param as Transaction | VersionedTransaction).serialize({\n        requireAllSignatures: false,\n        verifySignatures: false,\n      });\n      deserializeTransaction([base58.encode(serializeTx)]);\n    } else if (method === SolanaRpcMethod.signAllTransactions) {\n      setHeaderTitle(t('sign.sign_transaction') as string);\n      setHeaderDes(t('sign.sign_but') as string);\n      const serializeTxs = (param as (Transaction | VersionedTransaction)[]).map((tx) =>\n        base58.encode(\n          tx.serialize({\n            requireAllSignatures: false,\n            verifySignatures: false,\n          })\n        )\n      );\n      deserializeTransaction(serializeTxs);\n    } else {\n      throw new Error('Unknown method');\n    }\n  }, [param, t]);\n\n  useEffect(() => {\n    // init connect();\n    particleAuth.solana.connect();\n  }, []);\n\n  const deserializeTransaction = (messages: string[]) => {\n    particleAuth.solana\n      .request({\n        chainId: chain.id,\n        method: SolanaEnhancedMethod.enhancedDeserializeTransaction,\n        params: messages,\n      })\n      .then((result) => {\n        setTransactionInfo(result);\n        asyncFilter(async (info: any) => {\n          const associatedTokenAddress = await solana.findAssociatedTokenAddress(\n            particleAuth.solana.selectedAddress as string,\n            info.mint\n          );\n          return info.associatedTokenAddress === associatedTokenAddress.toBase58();\n        }, result?.estimatedChanges?.nfts).then((results) => {\n          console.log('NFTChanges', results.length);\n          setNftChanges(results);\n        });\n\n        asyncFilter(async (info: any) => {\n          const associatedTokenAddress = await solana.findAssociatedTokenAddress(\n            particleAuth.solana.selectedAddress as string,\n            info.mint\n          );\n          return info.associatedTokenAddress === associatedTokenAddress.toBase58();\n        }, result?.estimatedChanges?.tokens).then((results) => {\n          console.log('TokenChanges', results.length);\n          setTokenChanges(results);\n        });\n      })\n      .catch((error) => {\n        console.log('deserializeTransaction error', error);\n        Modal.error({\n          title: error.message ?? 'Deserialize Transaction Error',\n          okCancel: true,\n          cancelText: t('common.cancel'),\n          okText: t('common.retry'),\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n          onOk: () => {\n            deserializeTransaction(messages);\n          },\n        });\n      });\n  };\n\n  const signMessage = () => {\n    const textDecoder = new TextDecoder();\n    const decodedString = textDecoder.decode(param as any);\n    return (\n      <div className='sign-message'>\n        <div className={'message' + (hasSetPaymentPassword ? '' : ' no-password-tip')}>\n          <div className='pre-wrap personal-message'>{decodedString}</div>\n        </div>\n      </div>\n    );\n  };\n\n  const signTransaction = () => {\n    return (\n      <Tabs\n        defaultActiveKey='1'\n        items={[\n          {\n            label: t('sign.details'),\n            key: '1',\n            children: (\n              <>\n                <div className='balance-change'>\n                  <div className='title'>{t('sign.estimated_balance_change')}</div>\n                  <div className='change-body'>\n                    {transactionInfo?.estimatedChanges?.sols\n                      .filter((info) => info.address === (particleAuth?.solana?.selectedAddress as string))\n                      .map((info, index) => {\n                        return (\n                          <div className='change-title' key={`sol-change-${index}`}>\n                            SOL\n                            <div className='change-val' style={info.lamportsChange < 0 ? { color: '#ea4335' } : {}}>\n                              {info.lamportsChange < 0 ? '' : '+'}\n                              {formatTokenAmount(info.lamportsChange, 9)}\n                            </div>\n                          </div>\n                        );\n                      })}\n\n                    {nftChanges?.map((info, index) => {\n                      return (\n                        <div className='change-title' key={`nft-change-${index}`}>\n                          {info.name ? info.name : 'Unknown NFT'}\n                          <div className='change-val' style={info.amountChange < 0 ? { color: '#ea4335' } : {}}>\n                            {info.amountChange < 0 ? '' : '+'}\n                            {info.amountChange}\n                          </div>\n                        </div>\n                      );\n                    })}\n\n                    {tokenChanges?.map((info, index) => {\n                      return (\n                        <div className='change-title' key={`token-change-${index}`}>\n                          {info.name ? info.name : 'Unknown Token'}\n                          <div className='change-val' style={info.amountChange < 0 ? { color: '#ea4335' } : {}}>\n                            {info.amountChange < 0 ? '' : '+'}\n                            {formatTokenAmount(info.amountChange, info.decimals)}\n                          </div>\n                        </div>\n                      );\n                    })}\n                  </div>\n                </div>\n\n                <div className='net-fee solana'>\n                  <div className='title'>\n                    {t('sign.network_fee')}\n                    {transactionInfo && (\n                      <div className='fee-val'>{formatTokenAmount(transactionInfo.estimatedLamportsFee, 9)} SOL</div>\n                    )}\n                  </div>\n                </div>\n              </>\n            ),\n          },\n          {\n            label: t('sign.data'),\n            key: '2',\n            children: (\n              <div>\n                {transactionInfo?.instructions.map((instruction, index) => {\n                  return (\n                    <div className='inner-instruction' key={`instruction-${index}`}>\n                      <div className='inner-content'>\n                        <div className='content-item'>\n                          <div className='item'>\n                            <div className='item-0'>\n                              #{index + 1} - {t(`program.${instruction.type}`)}\n                            </div>\n                            <div className='item-1 mt10'>\n                              {t('sign.program_id')}\n                              <span>{shortString(instruction.programId)}</span>\n                            </div>\n                            <div className='item-1 mt15'>\n                              {t('sign.data')}\n                              <span>{shortString(instruction.data)}</span>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  );\n                })}\n              </div>\n            ),\n          },\n        ]}\n      />\n    );\n  };\n\n  return (\n    <div className='info-sign'>\n      <style>{styles as unknown as string}</style>\n      {!hasSetPaymentPassword && (\n        <div className='has-payment-password' data-telegram={isTelegramWebApp()}>\n          <div className='has-payment-password-icon'></div>\n          <div className='has-payment-password-tip'>{t('account.waring_tip1')}</div>\n          <div className='has-payment-password-set' onClick={setPaymentPassword}>\n            {t('account.set')}\n          </div>\n        </div>\n      )}\n      <div className={'scroll-part' + (hasSetPaymentPassword ? '' : ' no-password-tip')}>\n        <Menu userInfo={userInfo} transactionInfo={transactionInfo} />\n        <div className='info-request'>{headerTitle}</div>\n        <div className='info-title'>\n          <img src={getChainIcon(chain)} alt='' />\n          {getChainDisplayName(chain)}\n        </div>\n        <CopyToClipboard\n          text={particleAuth.solana.selectedAddress as string}\n          onCopy={() => message.success(t('new.copied_to'))}\n        >\n          <div className='info-address'>\n            {shortAddress}\n            <div className='copy-icon'>\n              <IconCopy />\n            </div>\n          </div>\n        </CopyToClipboard>\n        <div className='info-des'>{headerDes}</div>\n        <div className='apart-line'></div>\n        {method === SolanaRpcMethod.signMessage && signMessage()}\n        {method !== SolanaRpcMethod.signMessage && signTransaction()}\n      </div>\n\n      <div className='btn-box'>\n        <div>\n          <Button className='btn-cancel' onClick={cancelSign}>\n            {t('common.cancel')}\n          </Button>\n          <Button className='btn-approve' onClick={approveSign} loading={loading}>\n            {t('common.confirm')}\n          </Button>\n        </div>\n        <PowerFooter></PowerFooter>\n      </div>\n    </div>\n  );\n}\n\nexport default InfoSign;\n", "import {\n  ApiError,\n  bindSecurityAccount,\n  getBindSecurityAccounCaptcha,\n  getCloudflareTurnstileResponse,\n  syncUserInfo,\n} from '@particle-network/auth-core';\nimport { useInterval, useRequest } from 'ahooks';\nimport { Button } from 'antd';\nimport throttle from 'lodash/throttle.js';\nimport qs from 'qs';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport AuthCode from '../../../components/react-auth-code-input';\nimport { useAuthCoreModal, useCustomNavigate, useTranslation } from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useMessage from '../../../context/hooks/useMessage';\nimport styles from './index.less';\n\nconst CaptchaInput = (props: any) => {\n  const { bindAccount, backToInputAccount, redirectUrl = '', verifyToken = '' } = props;\n  const message = useMessage();\n  const { t } = useTranslation();\n\n  const { themeType, language } = useCustomize();\n\n  const navigate = useCustomNavigate();\n\n  const [captchaCode, setCaptchaCode] = useState<string>('');\n\n  const [interval, setInterval] = useState<number | undefined>(1000);\n\n  const [countdown, setCountdown] = useState(60);\n\n  const [errorTip, setErrorTip] = useState<string>();\n\n  const inputRef = useRef(null);\n\n  const { authCoreModal } = useAuthCoreModal();\n\n  const [bindLoading, setBindLoading] = useState(false);\n\n  useInterval(() => {\n    if (countdown > 0) {\n      const result = countdown - 1;\n      setCountdown(result);\n      if (result === 0) {\n        setInterval(undefined);\n      }\n    }\n  }, interval);\n\n  const { run: runBinding } = useRequest(bindSecurityAccount, {\n    manual: true,\n    onBefore: () => {\n      setBindLoading(true);\n    },\n    onSuccess: (result: any) => {\n      syncUserInfo();\n\n      if (redirectUrl) {\n        navigate(redirectUrl.split('?')[0], {\n          replace: true,\n          back: true,\n          state: {\n            ...qs.parse(redirectUrl.split('?')[1]),\n            verifyToken: result?.token,\n            account: bindAccount,\n          },\n        });\n      } else if (!result.has_set_payment_password) {\n        // router to set payment password\n        navigate('/account/set-password');\n      } else {\n        navigate('/account/security', { replace: true });\n      }\n    },\n    onError: (error: any) => {\n      console.log('bind accounts error', error);\n      if (error?.error_code === ApiError.InvalidCode) {\n        setErrorTip(t('login.invalid_code') as string);\n      } else if (error?.error_code === ApiError.ResendCode) {\n        setErrorTip(t('login.please_send_again') as string);\n      }\n    },\n    onFinally: () => {\n      setTimeout(() => {\n        setBindLoading(false);\n      }, 2000);\n    },\n  });\n\n  const { loading: codeLoading, run: runGetCode } = useRequest(getBindSecurityAccounCaptcha, {\n    manual: true,\n    onSuccess: (result, params) => {\n      if (!interval) {\n        setCountdown(60);\n        setInterval(1000);\n      }\n    },\n    onError: (error: any) => {\n      setCountdown(0);\n      setInterval(undefined);\n    },\n  });\n\n  const submitBind = (code?: string) => {\n    let param: { email?: string; phone?: string; code: string; token?: string };\n    if (bindAccount.includes('@')) {\n      param = { email: bindAccount, code: code || captchaCode };\n    } else {\n      param = { phone: bindAccount, code: code || captchaCode };\n    }\n\n    if (verifyToken) {\n      param.token = verifyToken;\n    }\n    runBinding(param as any);\n  };\n\n  const requestCaptchaCode = () => {\n    setErrorTip('');\n    if (bindAccount.includes('@')) {\n      runGetCode({\n        email: bindAccount,\n      });\n    } else {\n      getCloudflareTurnstileResponse({\n        theme: themeType,\n        language,\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      })\n        .then((token) => {\n          runGetCode({\n            phone: bindAccount,\n            // eslint-disable-next-line camelcase\n            cf_turnstile_response: token,\n          });\n        })\n        .catch((error) => {\n          message.error(t('error.server_20112'));\n        });\n    }\n  };\n\n  const onCodeInputChange = (code: string) => {\n    setCaptchaCode(code);\n    setErrorTip('');\n    if (code.length === 6) {\n      throttleSubmitBind(code);\n    }\n  };\n\n  const throttleSubmitBind = useCallback(\n    throttle(\n      (code) => {\n        submitBind(code);\n      },\n      1000,\n      {\n        leading: true,\n        trailing: false,\n      }\n    ),\n    []\n  );\n\n  useEffect(() => {\n    const elements = document.getElementsByClassName('react-input-code');\n    const contextmenuEvent = (e: any) => e.preventDefault();\n    elements[0]?.addEventListener('contextmenu', contextmenuEvent);\n    return () => {\n      elements[0]?.removeEventListener('contextmenu', contextmenuEvent);\n    };\n  }, []);\n\n  const handleCodeInputFocus = () => {\n    const elements = document.getElementsByClassName('input-code-item');\n    //@ts-ignore\n    elements[Math.min(captchaCode.length, 5)]?.focus();\n  };\n\n  return (\n    <div className='set-email-container'>\n      <style>{styles as unknown as string}</style>\n      <SVGIcon className='icon-navigation-back' name='circle_back' onClick={backToInputAccount} />\n      <h2 className='set-email-title'>{t('account.enter_code')}</h2>\n      <p className='set-email-desc-2' style={{ margin: 20 }}>\n        {bindAccount}\n      </p>\n      <div onClick={handleCodeInputFocus}>\n        <AuthCode\n          containerClassName='react-input-code'\n          inputClassName='input-code-item'\n          allowedCharacters='numeric'\n          length={6}\n          ref={inputRef}\n          placeholder={' '}\n          onChange={onCodeInputChange}\n        />\n      </div>\n\n      {errorTip && <div className='code-error'>{errorTip}</div>}\n\n      <Button\n        disabled={captchaCode.length !== 6}\n        className='account-submit-btn'\n        loading={bindLoading}\n        onClick={() => submitBind()}\n      >\n        {t('common.confirm')}\n      </Button>\n\n      <Button className='send-again' onClick={requestCaptchaCode} disabled={countdown > 0 || codeLoading}>\n        {countdown > 0 ? `${t('login.send_again')} (${countdown}s)` : t('login.send_again')}\n      </Button>\n      <div className='back' onClick={backToInputAccount}>\n        <SVGIcon className='arrow1-icon' name='arrow1_icon' />\n        <span>{t('login.back')}</span>\n      </div>\n      <PowerFooter />\n    </div>\n  );\n};\n\nexport default CaptchaInput;\n", "import { DownOutlined } from '@ant-design/icons';\nimport { getBindSecurityAccounCaptcha, getCloudflareTurnstileResponse } from '@particle-network/auth-core';\nimport { useRequest } from 'ahooks';\nimport { Button } from 'antd';\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { defaultCountriesData, getCurrentCountry } from '../../../api/model/all-countries';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport { useAuthCoreModal, useCustomNavigate, useTranslation } from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { EmailRegExp, isPhoneValid } from '../../../utils';\nimport CaptchaInput from './captcha-input';\nimport styles from './index.less';\n\nconst AccountBind = (props: any) => {\n  const navigate = useCustomNavigate();\n\n  const { t } = useTranslation();\n  const state = props;\n  const redirectUrl = (state as any)?.redirectUrl;\n  const verifyToken = (state as any)?.verifyToken;\n  const message = useMessage();\n  const clickRef = useRef<any>();\n  const [bindAccount, setBindAccount] = useState<string>('');\n  const [countryData, setCountryData] = useState(['United States', 'us', '1']);\n  const [isSendCode, setIsSendCode] = useState(false);\n  const accountInputRef = useRef(null);\n  const [errorMsg, setError] = useState('');\n\n  const { themeType, language } = useCustomize();\n\n  const { authCoreModal } = useAuthCoreModal();\n\n  const [accountType, setAccountType] = useState<string>('email');\n\n  useEffect(() => {\n    if (accountType === 'phone' || (state as any)?.showSwitch) {\n      const currentCountry = getCurrentCountry();\n      if (currentCountry) {\n        setCountryData(currentCountry);\n      }\n    }\n  }, [accountType, (state as any)?.showSwitch]);\n\n  const [visbSelectCountry, setVisbSelectCountry] = useState(false);\n  useEffect(() => {\n    if (visbSelectCountry) {\n      document.addEventListener('click', clickCallback, true);\n      return () => {\n        document.removeEventListener('click', clickCallback, true);\n      };\n    }\n  }, [visbSelectCountry]);\n\n  const clickCallback = (event: any) => {\n    setTimeout(() => {\n      if (clickRef.current?.contains(event.target)) {\n        return;\n      }\n      setVisbSelectCountry(false);\n    });\n  };\n  useEffect(() => {\n    const type = (state as any)?.accountType;\n    if (type) {\n      setAccountType(type);\n    }\n  }, [state]);\n\n  const { loading: codeLoading, run: runGetCode } = useRequest(getBindSecurityAccounCaptcha, {\n    manual: true,\n    onSuccess: (result, params) => {\n      setIsSendCode(result);\n    },\n    onError: (error: any) => {\n      const code = error?.error_code || 0;\n      if (code === 50003 || code === 50004) {\n        setBindAccount('');\n        (accountInputRef.current as any).value = '';\n      }\n    },\n  });\n\n  const checkAndRequestCode = () => {\n    let account = (accountInputRef.current as any).value;\n\n    if (accountType === 'email') {\n      if (!account) {\n        return setError(t('account.input_vaild_email') as string);\n      } else if (!EmailRegExp.test(account)) {\n        return setError(t('login.email_format_error') as string);\n      }\n    } else {\n      const regionCode = countryData[1].toUpperCase();\n      if (!account && account !== '0') {\n        return setError(t('account.input_vaild_mobile') as string);\n      } else if (!isPhoneValid(account, regionCode)) {\n        return setError(t('login.phone_format_error') as string);\n      } else {\n        account = `+${countryData[2]}${account}`;\n      }\n    }\n    setBindAccount(account);\n    if (!account.includes('@')) {\n      getCloudflareTurnstileResponse({\n        theme: themeType,\n        language,\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      })\n        .then((token) => {\n          runGetCode({\n            phone: account,\n            // eslint-disable-next-line camelcase\n            cf_turnstile_response: token,\n          });\n        })\n        .catch((error) => {\n          message.error(t('error.server_20112'));\n        });\n    } else {\n      runGetCode({\n        email: account,\n      });\n    }\n  };\n\n  const changeAccountType = () => {\n    setError('');\n    setAccountType(accountType === 'email' ? 'phone' : 'email');\n    setBindAccount('');\n  };\n\n  useEffect(() => {\n    setTimeout(() => {\n      (accountInputRef.current as any)?.focus();\n    });\n  }, []);\n\n  // \u8F93\u5165\u9A8C\u8BC1\u7801\n  if (isSendCode) {\n    return (\n      <CaptchaInput\n        bindAccount={bindAccount}\n        redirectUrl={redirectUrl || ''}\n        verifyToken={verifyToken}\n        backToInputAccount={() => {\n          setIsSendCode(false);\n        }}\n      />\n    );\n  }\n  return (\n    <div className='set-email-container'>\n      <style>{styles as unknown as string}</style>\n      <SVGIcon className='icon-navigation-back' name='circle_back' onClick={() => navigate(-1)} />\n      <h2 className='set-email-title'>\n        {accountType === 'email' ? t('account.set_your_email') : t('account.set_your_mobile')}\n      </h2>\n      <p className='set-email-desc-1'>\n        {accountType === 'email' ? t('account.set_your_email_tip') : t('account.set_your_mobile_tip')}\n      </p>\n\n      {accountType === 'email' ? (\n        <>\n          <div className='account-input-box'>\n            <input\n              onInput={() => setError('')}\n              className='input_email'\n              type='email'\n              placeholder={t('account.place_email_address') as string}\n              ref={accountInputRef}\n              defaultValue={bindAccount}\n              // \u56DE\u8F66\u4E8B\u4EF6\n              onKeyDown={(e) => {\n                if (e.key === 'Enter') {\n                  checkAndRequestCode();\n                }\n              }}\n            />\n          </div>\n        </>\n      ) : (\n        <>\n          <div className='account-input-box phone' ref={clickRef}>\n            {visbSelectCountry && (\n              <div className='account-select-country'>\n                {defaultCountriesData.map((item, index) => (\n                  <p\n                    key={index}\n                    className='account-select-country-item'\n                    onClick={() => {\n                      setCountryData(item);\n                      setVisbSelectCountry(false);\n                    }}\n                  >\n                    <div className='country-box'>\n                      <div className='country-flag'>{getUnicodeFlagIcon(`${item[1]}`)}</div>\n                      <span className='country-name'>{item[0]}</span>\n                    </div>\n                    <div className='country-code'>{'+' + item[2]}</div>\n                  </p>\n                ))}\n              </div>\n            )}\n            <div className='account-select-opt' onClick={() => setVisbSelectCountry(!visbSelectCountry)}>\n              <div className='account-select-icon'>{getUnicodeFlagIcon(`${countryData[1]}`)}</div>\n              <DownOutlined className='down-more' />\n            </div>\n            <span>+{countryData[2]}</span>\n            <input\n              onInput={() => {\n                setError('');\n\n                (accountInputRef.current as any).value =\n                  (accountInputRef.current as any).value.match(/^\\d+/)?.[0] || '';\n              }}\n              type='text'\n              className='no-number dd'\n              placeholder={t('account.mobile') as string}\n              ref={accountInputRef}\n              onWheel={(e: any) => e.target.blur()}\n              defaultValue={bindAccount.replace(`+${countryData[2]}`, '')}\n              onKeyDown={(e) => {\n                if (e.key === 'Enter') {\n                  checkAndRequestCode();\n                }\n              }}\n              onFocus={() => {\n                document.querySelector('.account-input-box.phone')?.setAttribute('data-focus', 'true');\n              }}\n              onBlur={() => {\n                document.querySelector('.account-input-box.phone')?.setAttribute('data-focus', 'false');\n              }}\n            />\n          </div>\n        </>\n      )}\n      <p className={`error-tip ${errorMsg ? 'show' : ''}`}>{errorMsg}</p>\n\n      <Button\n        className='send-code-btn account-submit-btn bottom-margin'\n        loading={codeLoading}\n        onClick={checkAndRequestCode}\n      >\n        {t('login.get_captcha')}\n      </Button>\n\n      {(state as any)?.showSwitch && (\n        <div className='account-switch-item' onClick={changeAccountType}>\n          {accountType === 'email' ? t('account.switch_text_mobile') : t('account.switch_text_email')}\n        </div>\n      )}\n      <PowerFooter />\n    </div>\n  );\n};\n\nexport default AccountBind;\n", "import {\n  ApiError,\n  AuthType,\n  bindLoginAccount,\n  getBindSecurityAccounCaptcha,\n  getCloudflareTurnstileResponse,\n  getSecurityAccountCaptcha,\n  getSecurityAccountToken,\n  setPaymentPassword,\n  syncUserInfo,\n  thirdpartyAuth,\n  type SocialAuthType,\n} from '@particle-network/auth-core';\nimport { useInterval, useRequest } from 'ahooks';\nimport { Button, Modal } from 'antd';\nimport base64url from 'base64url';\nimport throttle from 'lodash/throttle.js';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport AuthCode from '../../../components/react-auth-code-input';\nimport {\n  useAuthCoreModal,\n  useCustomNavigate,\n  useCustomRouter,\n  useParticleAuth,\n  useTranslation,\n} from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { displayEmail, displayPhone } from '../../../utils/common-utils';\nimport { getAccountList } from '../../loginAccount';\nimport { PageType } from './config';\nimport styles from './index.less';\n\ninterface IParams {\n  account: string; // \u8FDB\u5165\u9875\u9762\u65F6\u4F1A\u7ED9\u8FD9\u4E2A\u8D26\u6237\u53D1\u9001\u9A8C\u8BC1\u7801\uFF0C\u8FD9\u4E2A\u8D26\u6237\u53EF\u80FD\u662F\u5B89\u5168\u8D26\u53F7\uFF0C\u4E5F\u53EF\u80FD\u662F\u8981\u7ED1\u5B9A\u7684\u8D26\u53F7\n  pageType: PageType;\n  unbindAccount: string; //\u89E3\u7ED1\u624B\u673A\u3001\u90AE\u7BB1\u65F6\u4F7F\u7528\n  authType: AuthType;\n  verifyToken: string;\n  redirectUrl: string;\n  password: string; // \u91CD\u7F6E\u5BC6\u7801\u65F6\u9700\u8981\n}\n\nconst AccountVerify = (props: any) => {\n  const navigate = useCustomNavigate();\n  const { t } = useTranslation();\n\n  const state = props;\n\n  const message = useMessage();\n\n  const { customRouter } = useCustomRouter();\n\n  const { themeType, language } = useCustomize();\n\n  const { account, pageType, authType, verifyToken, redirectUrl, password } = state as IParams;\n\n  const [code, setCode] = useState<string>('');\n\n  const [interval, setInterval] = useState<number | undefined>(1000);\n\n  const [countdown, setCountdown] = useState(60);\n\n  const [errorTip, setErrorTip] = useState<string>();\n  const { authCoreModal } = useAuthCoreModal();\n  const { userInfo } = useParticleAuth();\n  const [verifyLoading, setVerifyLoading] = useState(false);\n\n  const inputRef = useRef(null);\n\n  useInterval(() => {\n    if (countdown > 0) {\n      const result = countdown - 1;\n      setCountdown(result);\n      if (result === 0) {\n        setInterval(undefined);\n      }\n    }\n  }, interval);\n\n  // \u83B7\u53D6\u9A8C\u8BC1\u7801\n  const { run: runGetCode } = useRequest(\n    async (params) => {\n      console.log('get code', params);\n      if (pageType === PageType.BindLoginAccount) {\n        params = {\n          [authType as string]: account,\n          // eslint-disable-next-line camelcase\n          cf_turnstile_response: params.cf_turnstile_response,\n        };\n        return getBindSecurityAccounCaptcha(params).then((res) => {\n          return res;\n        });\n      } else {\n        return getSecurityAccountCaptcha(params.verifyCodeMethod);\n      }\n    },\n    {\n      manual: true,\n      onSuccess: (result, params) => {\n        if (!interval) {\n          setCountdown(60);\n          setInterval(1000);\n        }\n      },\n      onError: (error) => {\n        setCountdown(0);\n        setInterval(undefined);\n      },\n    }\n  );\n\n  // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\uFF0C\u83B7\u53D6token\n  const { runAsync: securityAccountsVerifyRequest } = useRequest(getSecurityAccountToken, {\n    manual: true,\n    onBefore: () => {\n      setVerifyLoading(true);\n    },\n    onError: (error: any) => {\n      if (error?.error_code === ApiError.InvalidCode) {\n        setErrorTip(t('login.invalid_code') as string);\n      } else if (error?.error_code === ApiError.ResendCode) {\n        setErrorTip(t('login.please_send_again') as string);\n      } else {\n        error.message && message.error(error.message);\n      }\n    },\n    onFinally: () => {\n      setTimeout(() => {\n        setVerifyLoading(false);\n      }, 2000);\n    },\n  });\n\n  // \u7ED1\u5B9A\u767B\u5F55\u90AE\u7BB1\u6216\u624B\u673A\u53F7\n  const { loading: loadBindingLoading, runAsync: loginBindingsAsyncRequest } = useRequest(\n    async (params) => {\n      console.log('loginBindingsAsyncRequest', params);\n      return bindLoginAccount(params).then(async () => {\n        await syncUserInfo();\n      });\n    },\n    {\n      manual: true,\n      onSuccess: (data) => {\n        message.success(t('new.bind_login_account_success'));\n      },\n      onError: (error: any) => {\n        console.log('loginBindings', error);\n        let messageValue = error.message;\n        if (error?.error_code === ApiError.InvalidCode) {\n          setErrorTip(t('login.invalid_code') as string);\n          return;\n        } else if (error?.error_code === ApiError.ResendCode) {\n          setErrorTip(t('login.please_send_again') as string);\n          return;\n        } else if (error.error_code === 20109) {\n          messageValue = authType == AuthType.email ? t('error.server_email_20109') : t('error.server_phone_20109');\n        } else {\n          messageValue = error?.extra?.[0] || error.message;\n        }\n\n        Modal.error({\n          title: messageValue,\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n          onOk: () => {\n            (inputRef.current as any)?.clear();\n            if (error.error_code === 20109) {\n              // back\n              navigate(-1);\n            }\n          },\n        });\n      },\n    }\n  );\n\n  // \u91CD\u7F6E\u652F\u4ED8\u5BC6\u7801\n  const { loading: resetLoading, run: runResetPaymentPassword } = useRequest(setPaymentPassword, {\n    manual: true,\n    onError: (error: any) => {\n      if (error?.error_code === ApiError.InvalidCode) {\n        setErrorTip(t('login.invalid_code') as string);\n      } else if (error?.error_code === ApiError.ResendCode) {\n        setErrorTip(t('login.please_send_again') as string);\n      }\n    },\n    onSuccess: (result, params) => {\n      syncUserInfo();\n\n      const paths = ['account/security', 'solana/sign', 'evm-chain/sign'];\n      const indexs = paths.map((path) => {\n        return customRouter.history?.findIndex((item) => item.path === path) as number;\n      });\n\n      const index = indexs.indexOf(Math.max(...indexs));\n\n      navigate(paths[index], { replace: true, back: true });\n    },\n  });\n\n  // \u89E3\u7ED1\u767B\u5F55\u8D26\u53F7\n  const { loading: deleteLoginAccountLoading, run: deleteLoginAccount } = useRequest(\n    // pnApi.deleteLoginBinding\n    () => new Promise((resolve, reject) => {}),\n    {\n      manual: true,\n      onSuccess: (result) => {\n        // const _userInfo = tokenProvider.userInfo;\n        // _userInfo.passkeys_id = undefined;\n        // tokenProvider.userInfo = _userInfo;\n        // setUserInfo({\n        //     passkeys_id: undefined,\n        // });\n        // route(-2);\n      },\n    }\n  );\n\n  const verifyCodeMethod = useMemo(() => {\n    return account?.includes('@') ? AuthType.email : AuthType.phone;\n  }, [account]);\n\n  useEffect(() => {\n    requestVerifyCode();\n  }, [account]);\n\n  const requestVerifyCode = () => {\n    setErrorTip('');\n    if (pageType === PageType.BindLoginAccount && authType === AuthType.phone) {\n      getCloudflareTurnstileResponse({\n        theme: themeType,\n        language,\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      })\n        .then((token) => {\n          runGetCode({\n            // eslint-disable-next-line camelcase\n            verify_code_method: verifyCodeMethod,\n            // eslint-disable-next-line camelcase\n            cf_turnstile_response: token,\n          });\n        })\n        .catch(() => {\n          message.error(t('error.server_20112'));\n          navigate(-1);\n        });\n    } else {\n      runGetCode({\n        // eslint-disable-next-line camelcase\n        verifyCodeMethod: verifyCodeMethod,\n      });\n    }\n  };\n\n  const onCodeInputChange = (code: string) => {\n    setErrorTip('');\n    setCode(code);\n\n    if (code.length === 6) {\n      throttleConfirmCode(code);\n    }\n  };\n\n  const throttleConfirmCode = useCallback(\n    throttle(\n      (code) => {\n        confirmCode(code);\n      },\n      1000,\n      {\n        leading: true,\n        trailing: false,\n      }\n    ),\n    []\n  );\n\n  const resetPassword = (codeValue?: string) => {\n    runResetPaymentPassword({\n      password,\n      verifyCodeMethod: verifyCodeMethod,\n      code: codeValue || code,\n    });\n  };\n\n  const confirmCode = (code = '') => {\n    console.log('pageType', pageType);\n    if (errorTip) {\n      console.log('errorTip', errorTip);\n      return;\n    }\n    let data: any = { code };\n    if (pageType === PageType.ResetPaymentPassword) {\n      resetPassword(code);\n    } else if (pageType == PageType.VerifySecurityAccount_SetSecurityAccount) {\n      // \u7ED1\u5B9A\u5B89\u5168\u8D26\u53F7\u65F6\u524D\u7F6E\u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n      securityAccountsVerifyRequest({\n        verifyCodeMethod: verifyCodeMethod,\n        code,\n      }).then((verifyToken) => {\n        navigate('/account/bind', {\n          replace: true,\n          state: {\n            accountType: authType,\n            verifyToken,\n            redirectUrl,\n          },\n        });\n      });\n    } else if (pageType === PageType.VerifySecurityAccount_BindLoginAccount) {\n      // \u7ED1\u5B9A\u767B\u5F55\u8D26\u53F7\u65F6\u524D\u7F6E\u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n      securityAccountsVerifyRequest({\n        verifyCodeMethod: verifyCodeMethod,\n        code,\n      }).then((verifyToken) => {\n        const accountList = getAccountList({\n          userInfo,\n          t,\n        });\n        const { id, value } = accountList.find((item) => item.type === authType) || {};\n        // \u9A8C\u8BC1\u6210\u529F\u540E\uFF0C\u6839\u636E authType \u6267\u884C\u4E0D\u540C\u903B\u8F91\n        // AuthType.phone\uFF0CAuthType.email \u8DF3\u8F6C\u9875\u9762\uFF0C\u5176\u4ED6\u7684\u6267\u884Cauth\u7B7E\u540D\u8DF3\u8F6C\u767B\u5F55\u6388\u6743\n        if (authType === AuthType.phone || authType === AuthType.email || value || id) {\n          navigate('/login-account/bind', {\n            state: {\n              authType,\n              verifyToken,\n            },\n            replace: true,\n          });\n        } else {\n          console.log('\u7ED1\u5B9A\u7B2C\u4E09\u65B9 \u9875\u9762\u8DF3\u8F6C');\n          const appState = base64url.encode(JSON.stringify({ verifyToken, purpose: 'bindLoginAccount' }));\n          thirdpartyAuth({\n            authType: authType as SocialAuthType,\n            appState,\n            prompt: 'select_account',\n          }).catch((error) => {\n            message.error(error?.message || error);\n          });\n        }\n      });\n    } else if (pageType === PageType.BindLoginAccount) {\n      // eslint-disable-next-line camelcase\n      data = { ...data, security_account_verify_token: verifyToken, [authType as string]: account };\n      loginBindingsAsyncRequest(data).then((res) => {\n        navigate(-2);\n      });\n    } else if (pageType === PageType.UnbindLoginAccount) {\n      // passkeys\n    }\n  };\n\n  const formatDisplayAccount = (): string => {\n    if (account.includes('@')) {\n      return displayEmail(account);\n    } else {\n      return displayPhone(account);\n    }\n  };\n\n  useEffect(() => {\n    const elements = document.getElementsByClassName('react-input-code');\n    const contextmenuEvent = (e: any) => e.preventDefault();\n    elements[0]?.addEventListener('contextmenu', contextmenuEvent);\n    return () => {\n      elements[0]?.removeEventListener('contextmenu', contextmenuEvent);\n    };\n  }, []);\n\n  const handleCodeInputFocus = () => {\n    const elements = document.getElementsByClassName('input-code-item');\n    //@ts-ignore\n    elements[Math.min(code.length, 5)]?.focus();\n  };\n\n  return (\n    <div className='set-viery-container'>\n      <style>{styles as unknown as string}</style>\n      <div className='account-header'>\n        <SVGIcon\n          className='icon-navigation-back'\n          name='circle_back'\n          onClick={() => {\n            navigate(-1);\n          }}\n        />\n      </div>\n      <h2 className='set-email-title'>{t('account.enter_code')}</h2>\n      <p className='set-email-desc-2'>{formatDisplayAccount()}</p>\n\n      <div onClick={handleCodeInputFocus}>\n        <AuthCode\n          containerClassName='react-input-code'\n          inputClassName='input-code-item'\n          allowedCharacters='numeric'\n          length={6}\n          ref={inputRef}\n          placeholder={' '}\n          onChange={onCodeInputChange}\n        />\n      </div>\n\n      {errorTip && <div className='code-error'>{errorTip}</div>}\n\n      <Button\n        className='account-submit-btn'\n        loading={resetLoading || verifyLoading || loadBindingLoading || deleteLoginAccountLoading}\n        onClick={() => {\n          setTimeout(() => {\n            confirmCode(code);\n          });\n        }}\n        disabled={code.length !== 6}\n      >\n        {t('common.confirm')}\n      </Button>\n\n      <Button className='send-again' onClick={requestVerifyCode} disabled={countdown > 0}>\n        {countdown > 0 ? `${t('login.send_again')} (${countdown}s)` : t('login.send_again')}\n      </Button>\n      <div\n        className='back'\n        onClick={() => {\n          navigate(-1);\n        }}\n      >\n        <SVGIcon className='arrow1-icon' name='arrow1_icon' />\n        <span>{t('login.back')}</span>\n      </div>\n\n      <PowerFooter />\n    </div>\n  );\n};\n\nexport default AccountVerify;\n", "import React from 'react';\nimport SVGIcon from '../icon/svg-icon';\nimport styles from './index.less';\n\nconst EyeOpen = () => {\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <SVGIcon className='icon-eye' name='eye_open' />\n    </>\n  );\n};\nconst EyeClose = () => {\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <SVGIcon className='icon-eye' name='eye_close' />\n    </>\n  );\n};\n\nexport { EyeClose, EyeOpen };\n", "import { Input } from 'antd';\nimport React from 'react';\nimport { isAutoFocusSupported } from '../../utils';\nimport { isNullish } from '../../utils/common-utils';\nimport { EyeClose, EyeOpen } from '../eyeIcon';\nimport styles from './index.less';\n\ntype Prop = {\n  className?: string;\n  maxLength?: number;\n  defaultValue?: string;\n  onChange?: (value: string) => void;\n  onPressEnter?: (event: any) => void;\n  onBlur?: (event: any) => void;\n  autoFocus?: boolean;\n};\n\nconst InputPassword = (prop: Prop) => {\n  const inputRef = React.useRef<any>(null);\n\n  return (\n    <>\n      <div className='password-input-0'>\n        <Input.Password />\n      </div>\n\n      <style>{`\n        ${styles as unknown as string}\n        .password-input .ant-input-password {\n          background-image: none !important;\n        }\n        .password-input .ant-input-password input {\n          -webkit-text-fill-color: inherit !important;\n          opacity: 1 !important;\n        }\n      `}</style>\n      <Input.Password\n        ref={inputRef}\n        className={'password-input' + (prop?.className ? ` ${prop?.className}` : '')}\n        iconRender={(visible) =>\n          visible ? (\n            <div>\n              <EyeOpen />\n            </div>\n          ) : (\n            <div>\n              <EyeClose />\n            </div>\n          )\n        }\n        onChange={(e) => {\n          if (prop?.onChange) {\n            prop?.onChange?.(e.target.value);\n          }\n        }}\n        defaultValue={prop?.defaultValue}\n        maxLength={prop?.maxLength || 20}\n        onPressEnter={(e) => prop?.onPressEnter?.(e)}\n        onBlur={(e) => prop?.onBlur?.(e)}\n        autoFocus={isNullish(prop?.autoFocus) && isAutoFocusSupported() ? true : prop?.autoFocus}\n      />\n    </>\n  );\n};\n\nexport default InputPassword;\n", "import { useInterval } from 'ahooks';\nimport { Button, Space, Typography } from 'antd';\nimport { useLottie } from 'lottie-react';\nimport React, { Suspense, useState } from 'react';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport styles from './index.less';\nconst rightData = require('../../../common/lottie/right.json');\n\nconst SetMasterPasswordSuccess = (props: any) => {\n  const { loginSetMasterPassword } = props;\n  const { loginSuccessRedirectToApp } = useParticleAuth();\n  const { Text } = Typography;\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n\n  const [interval, setInterval] = useState<number | undefined>(1000);\n\n  const [countdown, setCountdown] = useState(3);\n\n  const { View } = useLottie({\n    animationData: rightData,\n    loop: false,\n  });\n\n  useInterval(() => {\n    if (countdown > 0) {\n      const result = countdown - 1;\n      setCountdown(result);\n      if (result === 0) {\n        setInterval(undefined);\n        backOnClick();\n      }\n    }\n  }, interval);\n\n  const backOnClick = () => {\n    if (loginSetMasterPassword) {\n      loginSuccessRedirectToApp();\n    } else {\n      navigate('/account/security', { replace: true, back: true });\n    }\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='set-mp-success-container'>\n        <Suspense fallback={<></>}>\n          <div className='set-mp-success-icon'>{View}</div>\n        </Suspense>\n        <div className='set-mp-success'>{t('account.setting_successed')}</div>\n        <Space className='set-mp-success-tip' direction='vertical'>\n          <Text>{t('account.master_password_successed')}</Text>\n          <Text strong>{t('account.master_password_store_hint')}</Text>\n        </Space>\n\n        <Button className='primary-antd-btn back-btn' onClick={backOnClick}>\n          {t('login.back') + ` (${countdown})`}\n        </Button>\n        <PowerFooter />\n      </div>\n    </>\n  );\n};\n\nexport default SetMasterPasswordSuccess;\n", "import { Space, Typography } from 'antd';\nimport { useLottie } from 'lottie-react';\nimport React, { Suspense } from 'react';\nimport { useTranslation } from '../../../context';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomize } from '../../../context/hooks';\n\nconst walletEncryptLight = require('../../../common/lottie/wallet_encrypt_fff.json');\nconst walletEncryptDark = require('../../../common/lottie/wallet_encrypt_000.json');\n\nconst MasterPasswordLoading = () => {\n  const { t } = useTranslation();\n  const { themeType } = useCustomize();\n\n  const { View } = useLottie({\n    animationData: themeType === 'dark' ? walletEncryptDark : walletEncryptLight,\n    loop: true,\n  });\n\n  return (\n    <div className='mp-loading-container' data-theme={themeType}>\n      <div className='scroll-content'>\n        <Suspense fallback={<></>}>\n          <div className='mp-icon-loading'>{View}</div>\n        </Suspense>\n        <Space className='loading-tip' direction='vertical'>\n          <Typography.Text>{t('account.master_password_loading_tip1')}</Typography.Text>\n          <Typography.Text>{t('account.master_password_loading_tip2')}</Typography.Text>\n          <Typography.Text>{t('account.master_password_loading_tip3')}</Typography.Text>\n        </Space>\n      </div>\n      <PowerFooter />\n    </div>\n  );\n};\n\nexport default MasterPasswordLoading;\n", "import { RecordType } from '@particle-network/analytics';\nimport { analyticsRecord, setMastersPassword } from '@particle-network/auth-core';\nimport { useRequest } from 'ahooks';\nimport { Button, Form, Modal, Space, Typography } from 'antd';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { AuthError } from '../../../api/model/authError';\nimport { PromptSettingType } from '../../../api/model/bundle';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport InputPassword from '../../../components/input-password';\nimport PowerFooter from '../../../components/power-footer';\nimport {\n  useAuthCoreModal,\n  useCustomNavigate,\n  useModalOptions,\n  useParticleAuth,\n  useTranslation,\n} from '../../../context';\nimport { useConnect } from '../../../context/hooks/useConnect';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { AuthCoreModalEvent } from '../../../context/types';\nimport { isAutoFocusSupported } from '../../../utils';\nimport SetMasterPasswordSuccess from '../setMasterPasswordSuccess';\nimport styles from './index.less';\nimport MasterPasswordLoading from './masterPasswordLoading';\n\nconst SetMasterPassword = (props: any) => {\n  const navigate = useCustomNavigate();\n\n  const { t } = useTranslation();\n\n  const { Text, Link } = Typography;\n  const message = useMessage();\n  const state = props;\n\n  const [digitsError, setDigitsError] = useState(false);\n\n  const [matchError, setMatchError] = useState(false);\n\n  const [passwordStep, setPasswordStep] = useState<'unset' | 'loading' | 'success' | 'failure'>('unset');\n\n  const { authCoreModal } = useAuthCoreModal();\n\n  const [passwordForm] = Form.useForm();\n\n  const [passwordValue, setPasswordValue] = useState('');\n\n  const [disableSubmit, setDisableSubmit] = useState(true);\n\n  const { loginSuccessRedirectToApp, events } = useParticleAuth();\n\n  const { modalOptions } = useModalOptions();\n\n  const { disconnect } = useConnect();\n\n  const { setAuthCoreModal } = useAuthCoreModal();\n\n  const changePassword = useMemo(() => (state as any)?.setNewMasterPassword, [state]);\n\n  const loginSetMasterPassword = useMemo(() => (state as any)?.loginSetMasterPassword, [state]);\n\n  useEffect(() => {\n    if (\n      modalOptions?.promptSettingConfig?.promptMasterPasswordSettingWhenLogin === PromptSettingType.everyAndNotSkip &&\n      loginSetMasterPassword\n    ) {\n      setAuthCoreModal({\n        closable: false,\n      });\n      return () => {\n        setAuthCoreModal({\n          closable: true,\n        });\n      };\n    }\n  }, [loginSetMasterPassword, modalOptions?.promptSettingConfig?.promptMasterPasswordSettingWhenLogin]);\n\n  const { run: runSetMasterPassword } = useRequest(setMastersPassword, {\n    manual: true,\n    onBefore: () => {\n      setPasswordStep('loading');\n    },\n    onSuccess: async (result) => {\n      console.log('set master password success', result);\n      if (!changePassword) {\n        analyticsRecord({\n          // eslint-disable-next-line camelcase\n          record_type: RecordType.PAGE_SETTING_MASTER_PASSWORD_SET, // \u4E3B\u5BC6\u7801\u8BBE\u7F6E\u6210\u529F\n        });\n      } else {\n        analyticsRecord({\n          // eslint-disable-next-line camelcase\n          record_type: RecordType.PAGE_SETTING_MASTER_PASSWORD_CHANGE, // \u4E3B\u5BC6\u7801\u4FEE\u6539\u6210\u529F\n        });\n      }\n\n      setPasswordStep('success');\n    },\n    onError: (error) => {\n      console.log('set master password error', error);\n      setPasswordStep('failure');\n      message.error(t('account.master_password_set_failed'));\n    },\n  });\n\n  const toDescription = () => {\n    navigate('/account/master-password/description');\n  };\n\n  const onInputFinish = ({\n    password,\n    confirmPassword,\n  }: {\n    password: string | undefined;\n    confirmPassword: string | undefined;\n  }) => {\n    if (password && password.length >= 6 && password.length <= 20 && password === confirmPassword) {\n      setPasswordValue(password);\n      runSetMasterPassword(password);\n    } else {\n      setDigitsError(!password || password.length < 6 || password.length > 20);\n      setMatchError(Boolean(password && confirmPassword && password !== confirmPassword));\n    }\n  };\n\n  const onPasswordInputBlur = (event: any) => {\n    const password: string | undefined = passwordForm.getFieldValue('password');\n    const confirmPassword: string | undefined = passwordForm.getFieldValue('confirmPassword');\n    setDigitsError(!password || password.length < 6 || password.length > 20);\n    if (password && confirmPassword) {\n      setMatchError(password !== confirmPassword);\n    }\n  };\n  const onConfirmPasswordInputBlur = (event: any) => {\n    const password: string | undefined = passwordForm.getFieldValue('password');\n    const confirmPassword: string | undefined = passwordForm.getFieldValue('confirmPassword');\n    setMatchError(Boolean(password && confirmPassword && password !== confirmPassword));\n  };\n\n  const onPasswordInputChange = () => {\n    setDigitsError(false);\n  };\n\n  const onConfirmPasswordInputChange = () => {\n    setMatchError(false);\n  };\n\n  const warningModalRef = React.useRef<any>();\n\n  const onBack = () => {\n    if (modalOptions?.promptSettingConfig?.promptMasterPasswordSettingWhenLogin === PromptSettingType.everyAndNotSkip) {\n      warningModalRef.current = Modal.warning({\n        className: 'm-warning-modal',\n        wrapClassName: 'auth-core-modal-error set-mp-warning-modal',\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n        content: (\n          <div className='content-wrap'>\n            <div className='content'>{t('account.unset_the_master_password')}</div>\n            <div className='footer-btns'>\n              <Button\n                className='cancel-btn'\n                onClick={() => {\n                  disconnect().finally(() => {\n                    warningModalRef.current.destroy();\n                    setAuthCoreModal({\n                      particleModalVisible: false,\n                    });\n\n                    events.emit(AuthCoreModalEvent.LoginFail, AuthError.userCancelOperation());\n                  });\n                }}\n              >\n                {t('account.exit')}\n              </Button>\n              <Button\n                className='confirm-btn'\n                onClick={() => {\n                  warningModalRef.current.destroy();\n                }}\n              >\n                {t('new.continue')}\n              </Button>\n            </div>\n          </div>\n        ),\n        closable: true,\n        maskClosable: false,\n      });\n    } else if (loginSetMasterPassword) {\n      loginSuccessRedirectToApp();\n    } else {\n      navigate(-1);\n    }\n  };\n\n  const onValuesChange = () => {\n    const password = passwordForm.getFieldValue('password');\n    const confirmPassword = passwordForm.getFieldValue('confirmPassword');\n    setDisableSubmit(!password || !confirmPassword);\n  };\n\n  useEffect(() => {\n    // biRecords({\n    //     record_type: RecordType.PAGE_SETTING_MASTER_PASSWORD_ENTER, // \u8FDB\u5165\u4E3B\u5BC6\u7801\u8BBE\u7F6E\u9875\u9762\n    // });\n  }, []);\n\n  return (\n    <div className='set-mp-container'>\n      <style>{styles as unknown as string}</style>\n      <div className='set-mp-title'>\n        {changePassword ? t('account.new_master_password') : t('account.master_password')}\n      </div>\n\n      {/* set master password */}\n      {(passwordStep === 'unset' || passwordStep === 'failure') && (\n        <div className='form-wrap'>\n          <Form onFinish={onInputFinish} form={passwordForm} layout='vertical' onValuesChange={onValuesChange}>\n            <div className='account-header'>\n              <SVGIcon className='icon-navigation-back' name='circle_back' onClick={onBack} />\n            </div>\n            <div className='scroll-content'>\n              <div className='mp-input-name padding-top-16'>\n                {changePassword ? t('account.new_master_password') : t('account.master_password')}\n              </div>\n              <Form.Item name='password' initialValue={passwordValue}>\n                <InputPassword\n                  className='mp-input'\n                  onBlur={onPasswordInputBlur}\n                  onChange={onPasswordInputChange}\n                  autoFocus={isAutoFocusSupported()}\n                />\n              </Form.Item>\n\n              {digitsError && <div className='mp-input-error'>{t('account.password_digits_hint')}</div>}\n\n              <div className='mp-confirm-input-name'>\n                {changePassword ? t('account.confirm_new_master_password') : t('account.confirm_master_password')}\n              </div>\n\n              <Form.Item name='confirmPassword' initialValue={passwordValue}>\n                <InputPassword\n                  className='mp-input'\n                  onBlur={onConfirmPasswordInputBlur}\n                  onChange={onConfirmPasswordInputChange}\n                  autoFocus={false}\n                />\n              </Form.Item>\n\n              {matchError && <div className='mp-input-error'>{t('account.master_password_not_match')}</div>}\n\n              <Space className='description-space' direction='vertical'>\n                <Text>\n                  * {t('account.master_password_use1')}{' '}\n                  <Link onClick={toDescription} className='more-text-btn'>\n                    {t('account.learn_more_period')}\n                  </Link>\n                </Text>\n                <Text strong>* {t('account.master_password_store_hint')}</Text>\n                <Text>{t('account.master_password_note')}</Text>\n              </Space>\n            </div>\n            <Form.Item>\n              <div className='set-mp-footer'>\n                <Button className='primary-antd-btn set-mp-btn' htmlType='submit' disabled={disableSubmit}>\n                  {changePassword ? t('account.set_new_master_password') : t('account.set_master_password')}\n                </Button>\n                <PowerFooter />\n              </div>\n            </Form.Item>\n          </Form>\n        </div>\n      )}\n\n      {/* set master password loading */}\n      {passwordStep === 'loading' && <MasterPasswordLoading />}\n\n      {/* set master password success */}\n      {passwordStep === 'success' && <SetMasterPasswordSuccess loginSetMasterPassword={loginSetMasterPassword} />}\n    </div>\n  );\n};\n\nexport default SetMasterPassword;\n", "import { Space, Typography } from 'antd';\nimport React from 'react';\nimport Header from '../../../components/header';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useTranslation } from '../../../context';\nimport styles from './index.less';\n\nconst MasterPasswordDescription = () => {\n  const { Title, Paragraph } = Typography;\n  const navigate = useCustomNavigate();\n  const { t } = useTranslation();\n\n  return (\n    <div className='master-password-description-container height-100'>\n      <Header>{t('account.about_master_password')}</Header>\n      <div className='scroll-content'>\n        <style>{styles as unknown as string}</style>\n        <div className='about-mp-container'>\n          <SVGIcon className='icon-navigation-back' name='circle_back' onClick={() => navigate(-1)} />\n          <Space direction='vertical' className='space-container'>\n            <Title level={5} className='title'>\n              {t('account.about_master_password_t1')}\n            </Title>\n            <Paragraph className='content'>{t('account.about_master_password_p1')}</Paragraph>\n            <Title level={5} className='title'>\n              {t('account.about_master_password_t2')}\n            </Title>\n            <Paragraph className='content'>{t('account.about_master_password_p2')}</Paragraph>\n            <Title level={5} className='title'>\n              {t('account.about_master_password_t3')}\n            </Title>\n            <Paragraph className='content'>{t('account.about_master_password_p3')}</Paragraph>\n          </Space>\n        </div>\n      </div>\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n};\n\nexport default MasterPasswordDescription;\n", "import { RecordType } from '@particle-network/analytics';\nimport { analyticsRecord, restoreWallet } from '@particle-network/auth-core';\nimport { useRequest } from 'ahooks';\nimport { Button, Form, Space, Typography } from 'antd';\nimport React, { useEffect, useState } from 'react';\nimport InputPassword from '../../../components/input-password';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport useMessage from '../../../context/hooks/useMessage';\nimport styles from './index.less';\n\nexport type MasterPasswordVerifyProps = {\n  loginVerifyMasterPassword?: boolean;\n};\n\nconst MasterPasswordVerify = (props?: MasterPasswordVerifyProps) => {\n  const { Text, Link } = Typography;\n  const navigate = useCustomNavigate();\n  const [showPasswordError, setShowPasswordError] = useState(false);\n  const { t } = useTranslation();\n\n  const { loginVerifyMasterPassword } = props || {};\n  const containerRef = React.useRef<any>(null);\n  const [nextDisabled, setNextDisabled] = useState(true);\n  const { loginSuccessRedirectToApp } = useParticleAuth();\n  const message = useMessage();\n  const { run: runCheckMasterPassword, loading } = useRequest(restoreWallet, {\n    manual: true,\n    onBefore: () => {\n      analyticsRecord({\n        // eslint-disable-next-line camelcase\n        record_type: RecordType.PAGE_MASTER_PASSWORD_VERIFY, // \u4E3B\u5BC6\u7801\u9A8C\u8BC1\n      });\n    },\n    onSuccess: (result: boolean) => {\n      if (result) {\n        analyticsRecord({\n          // eslint-disable-next-line camelcase\n          record_type: RecordType.PAGE_MASTER_PASSWORD_VERIFY_SUCCESS, // \u4E3B\u5BC6\u7801\u9A8C\u8BC1\u6210\u529F\n        });\n        if (loginVerifyMasterPassword) {\n          loginSuccessRedirectToApp();\n        } else {\n          navigate(-1);\n        }\n      } else {\n        setShowPasswordError(true);\n      }\n    },\n    onError: (error) => {\n      console.log('checkMasterPassword error', error);\n      message.error(error?.message || 'check master password error');\n    },\n  });\n\n  const toDecription = () => {\n    navigate('/account/master-password/description');\n  };\n\n  const verifyMasterPassword = (values: any) => {\n    const { password } = values;\n    if (password?.length >= 6 && password?.length <= 20) {\n      setShowPasswordError(false);\n      runCheckMasterPassword(password);\n    } else {\n      setShowPasswordError(true);\n    }\n  };\n\n  const onValuesChange = (values: any) => {\n    const { password } = values;\n    setShowPasswordError(false);\n    setNextDisabled(!password);\n  };\n\n  useEffect(() => {\n    setTimeout(() => {\n      containerRef.current?.querySelector('.password-input input')?.focus();\n    }, 200);\n  }, []);\n\n  return (\n    <div className='mp-verify-container' ref={containerRef}>\n      <style>{styles as unknown as string}</style>\n      <div className='mp-verify-title'>{t('account.restore_wallet')}</div>\n      <Form layout='vertical' onFinish={verifyMasterPassword} onValuesChange={onValuesChange}>\n        <div className='scroll-content'>\n          <div className='mp-input-name padding-top-16'>{t('account.master_password')}</div>\n          <Form.Item name='password'>\n            <InputPassword className='mp-input' />\n          </Form.Item>\n          {showPasswordError && <div className='mp-input-error'>{t('account.password_error')}</div>}\n          <Space direction='vertical' className='mp-tip-space'>\n            <Text>{t('account.mpc_tss_intro')}</Text>\n            <Text>\n              {t('account.input_decrypt_hint')}{' '}\n              <Link onClick={toDecription} className='more-text-btn'>\n                {t('account.learn_more_period')}\n              </Link>\n            </Text>\n          </Space>\n        </div>\n        <Form.Item>\n          <div className='bottom-container footer'>\n            <Button className='primary-antd-btn mp-next' htmlType='submit' loading={loading} disabled={nextDisabled}>\n              {t('common.confirm')}\n            </Button>\n            <PowerFooter className='footer-box-v2' />\n          </div>\n        </Form.Item>\n      </Form>\n    </div>\n  );\n};\n\nexport default MasterPasswordVerify;\n", "import { Button } from 'antd';\nimport React, { useEffect } from 'react';\nimport { PromptSettingType } from '../../../api/model/bundle';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport styles from './index.less';\n\nconst MasterPasswordModal = () => {\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n  const { loginSuccessRedirectToApp, modalOptions, setAuthCoreModal } = useParticleAuth();\n  const { promptSettingConfig } = modalOptions;\n\n  useEffect(() => {\n    setAuthCoreModal({\n      closable: false,\n    });\n    return () => {\n      setAuthCoreModal({\n        closable: true,\n      });\n    };\n  }, []);\n\n  const navigateToSetMasterPassword = () => {\n    navigate('/account/master-password', {\n      replace: true,\n      state: {\n        loginSetMasterPassword: true,\n      },\n    });\n  };\n\n  const laterToSet = () => {\n    loginSuccessRedirectToApp();\n  };\n\n  return (\n    <div className='mp-modal-container'>\n      <style>{styles as unknown as string}</style>\n\n      <div className='particle-title'>{t('account.set_master_password')}</div>\n\n      <div className='scroll-content'>\n        <div className='mp-set-desc'>{t('account.set_master_password_tip')}</div>\n        <div className='mp-set-img' />\n      </div>\n\n      <div className='btns'>\n        <Button className='mp-set-now mp-antd-bt' onClick={navigateToSetMasterPassword}>\n          {t('account.set_master_password_now')}\n        </Button>\n\n        {\n          // \u5F3A\u5236\u8BBE\u7F6E\u4E3B\u5BC6\u7801\uFF0C\u9690\u85CF Later \u6309\u94AE\n          promptSettingConfig?.promptMasterPasswordSettingWhenLogin !== PromptSettingType.everyAndNotSkip && (\n            <Button className='mp-set-later mp-antd-bt' onClick={laterToSet}>\n              {t('account.later')}\n            </Button>\n          )\n        }\n      </div>\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n};\n\nexport default MasterPasswordModal;\n", "import { verifyMasterPassword } from '@particle-network/auth-core';\nimport { useRequest } from 'ahooks';\nimport { Button, Form, Space, Typography } from 'antd';\nimport React, { useState } from 'react';\nimport Header from '../../../components/header';\nimport InputPassword from '../../../components/input-password';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useTranslation } from '../../../context';\nimport useMessage from '../../../context/hooks/useMessage';\nimport styles from './index.less';\n\nconst MasterPasswordChange = () => {\n  const navigate = useCustomNavigate();\n  const { t } = useTranslation();\n  const { Text, Link } = Typography;\n\n  const [showError, setShowError] = useState(false);\n  const message = useMessage();\n  const [nextDisabled, setNextDisabled] = useState(true);\n\n  const { run: runCheckMasterPassword, loading } = useRequest(\n    (password: string) => {\n      return verifyMasterPassword(password).then((res) => {\n        if (!res) {\n          throw new Error('Master password decryption error');\n        }\n        return res;\n      });\n    },\n    {\n      manual: true,\n      onSuccess: (result) => {\n        setNewMasterPassword();\n      },\n      onError: (error) => {\n        console.log('checkMasterPassword error', error);\n        if (error?.message === 'Master password decryption error') {\n          setShowError(true);\n        } else {\n          message.error(error?.message || 'check master password error');\n        }\n      },\n    }\n  );\n\n  const setNewMasterPassword = () => {\n    navigate('/account/master-password', {\n      state: {\n        setNewMasterPassword: true,\n      },\n    });\n  };\n\n  const onInputFinish = (values: any) => {\n    const { password } = values;\n    if (password && password.length >= 6 && password.length <= 20) {\n      runCheckMasterPassword(password);\n    } else {\n      setShowError(true);\n    }\n  };\n\n  const onValuesChange = (values: any) => {\n    setShowError(false);\n    const { password } = values;\n    setNextDisabled(!password);\n  };\n\n  const toDecription = () => {\n    navigate('/account/master-password/description');\n  };\n\n  return (\n    <div className='mp-change-container'>\n      <style>{styles as unknown as string}</style>\n      <Header displayBackBtn={true}>{t('account.current_master_password')}</Header>\n      <div className='wapper'>\n        <Form onFinish={onInputFinish} layout='vertical' onValuesChange={onValuesChange}>\n          <div className='scroll-content'>\n            <div className='mp-input-name padding-top-16'>{t('account.input_master_password')}</div>\n            <Form.Item name='password'>\n              <InputPassword className='mp-input' />\n            </Form.Item>\n            {showError && <div className='mp-input-error'>{t('account.password_error')}</div>}\n            <Space direction='vertical' className='mp-tip-space'>\n              <Text>{t('account.mpc_tss_intro')}</Text>\n              <Text>\n                {t('account.input_decrypt_hint')}{' '}\n                <Link onClick={toDecription} className='more-text-btn'>\n                  {t('account.learn_more_period')}\n                </Link>\n              </Text>\n            </Space>\n          </div>\n          <Form.Item>\n            <div className='bottom-container'>\n              <Button className='primary-antd-btn mp-next' htmlType='submit' loading={loading} disabled={nextDisabled}>\n                {t('common.next')}\n              </Button>\n              <PowerFooter />\n            </div>\n          </Form.Item>\n        </Form>\n      </div>\n    </div>\n  );\n};\n\nexport default MasterPasswordChange;\n", "import { LoadingOutlined } from '@ant-design/icons';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from '../../../context';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport styles from './index.less';\n\nconst ParticleKeywords = ({\n  onChange,\n  value,\n  keyboardInvisible,\n}: {\n  onChange?: (val: string) => void;\n  value?: string;\n  keyboardInvisible?: boolean;\n}) => {\n  const { t } = useTranslation();\n  const [input, setInput] = useState(['', '', '', '', '', '']);\n  const [inputVal, setInputVal] = useState(value ?? '');\n  const [keywords, setKeywords] = useState([1, 2, 3, 4, 5, 6, 7, 8, 9, '', 0]);\n\n  const inputChange = (val: string) => {\n    if (inputVal.length < 6) {\n      setInputVal(inputVal + '' + val);\n    }\n  };\n\n  const delVal = () => {\n    if (inputVal.length > 0) {\n      const newVal = inputVal.slice(0, inputVal.length - 1);\n      setInputVal(newVal);\n    }\n  };\n  useEffect(() => {\n    onChange?.(inputVal);\n  }, [inputVal]);\n\n  useEffect(() => {\n    setInputVal(value ?? '');\n  }, [value]);\n\n  if (!keyboardInvisible) {\n    return (\n      <>\n        <style>{styles as unknown as string}</style>\n        <div className='particle-keywords-box'>\n          {input.map((item, idx) => (\n            <span key={item + idx} className={`input-item ${!item || 'active'}`}>\n              {inputVal[idx] ? '\u25CF' : ''}\n            </span>\n          ))}\n        </div>\n        <div className='particle-keywords-map'>\n          {keywords.map((item) => (\n            <span\n              className='span'\n              key={item}\n              data-value={item}\n              onClick={() => {\n                if (item === '') {\n                  return;\n                }\n                inputChange(item + '');\n              }}\n            >\n              {item}\n            </span>\n          ))}\n          <span className='span del' onClick={delVal}>\n            <SVGIcon className='img' name='backspace' />\n          </span>\n          <PowerFooter />\n        </div>\n      </>\n    );\n  }\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='particle-keywords-map loading'>\n        <img src={require('../../../common/images/account/icon_logo_gray.png').default} alt='' />\n        <p>{t('account.payment_checking')}</p>\n        <LoadingOutlined className='loading-icon' />\n      </div>\n    </>\n  );\n};\n\nexport default ParticleKeywords;\n", "import { useRequest } from 'ahooks';\nimport { Button } from 'antd';\nimport { useEffect, useState } from 'react';\nimport { useCustomNavigate, useTranslation } from '../../../context';\nimport ParticleKeywords from '../ParticleKeywords/index';\n\nimport { updatePaymentPassword } from '@particle-network/auth-core';\nimport React from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport { useError } from '../../../context/hooks/useError';\nimport { PageType } from '../accountVerify/config';\nimport styles from './index.less';\n\nconst SetPaymentPassword = (props: any) => {\n  const navigate = useCustomNavigate();\n  const { t } = useTranslation();\n  const state = props;\n  // 1. loading  3. password  4,success 5. check 6. code 7  confirm password\n  type StepType = 'loading' | 'password' | 'success' | 'check' | 'code' | 'confirm';\n  const [step, setStep] = useState<StepType>('loading');\n  const [codeVal, setCodeVal] = useState('');\n  const [password, setPassword] = useState('');\n  const [passwordMistake, setPasswordMistake] = useState<boolean>();\n  const [passwordMatched, setPasswordMatched] = useState<boolean>(false);\n  const { errorHandle } = useError();\n\n  const { loading: updateLoading, run: runUpdate } = useRequest(updatePaymentPassword, {\n    manual: true,\n    onSuccess: () => {\n      navigate(-1);\n    },\n    onError: (error: any) => {\n      console.log('update password error', error);\n      errorHandle(error);\n      if (error?.error_code === 50104) {\n        setCodeVal('');\n        setPassword('');\n        setPasswordMistake(false);\n        setStep('password');\n      }\n    },\n  });\n\n  useEffect(() => {\n    setStep('password');\n  }, []);\n\n  const checkPassword = (value: string) => {\n    if (value.length === 6) {\n      if (value === password) {\n        setCodeVal(value);\n        setPasswordMatched(true);\n      } else {\n        setCodeVal('');\n        setPassword('');\n        setPasswordMistake(true);\n        setStep('password');\n        setPasswordMatched(false);\n      }\n    } else {\n      setCodeVal(value);\n      setPasswordMatched(false);\n    }\n  };\n\n  const submitPassword = () => {\n    if ((state as any)?.account) {\n      //reset password\n      navigate('/account/verify', {\n        state: {\n          account: (state as any)?.account,\n          password: codeVal,\n          pageType: PageType.ResetPaymentPassword,\n        },\n      });\n    } else if ((state as any)?.oldPassword) {\n      //change password\n      const oldPassword = (state as any)?.oldPassword;\n      const password = codeVal;\n      runUpdate({\n        password: password,\n        oldPassword: oldPassword,\n      });\n    }\n  };\n\n  if (step === 'confirm') {\n    return (\n      <div className='set-password-container'>\n        <style>{styles as unknown as string}</style>\n        <SVGIcon className='icon-navigation-back' name='circle_back' onClick={() => navigate(-1)} />\n        <h2 className='payment-title'>{t('account.set_payment_password')}</h2>\n        <p className='payment-desc-1'>{t('account.re_enter_confirm')}</p>\n        <div className='keyboard-container'>\n          <ParticleKeywords onChange={checkPassword} value={codeVal}></ParticleKeywords>\n        </div>\n        <div className='payment-buttons2'>\n          <Button\n            className='payment-main-button2'\n            disabled={!passwordMatched}\n            loading={(state as any)?.oldPassword ? updateLoading : false}\n            onClick={submitPassword}\n          >\n            {t('account.done')}\n          </Button>\n        </div>\n      </div>\n    );\n  }\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='set-password-container'>\n        <SVGIcon className='icon-navigation-back' name='circle_back' onClick={() => navigate(-1)} />\n        <h2 className='payment-title'>{t('account.set_payment_password')}</h2>\n        <p className='payment-desc-1'>{t('account.set_payment_password_tip')}</p>\n        <div className='keyboard-container'>\n          <ParticleKeywords\n            onChange={(e) => {\n              setPassword(e);\n              if (e.length > 5) {\n                setPasswordMistake(false);\n                setPasswordMatched(false);\n                setStep('confirm');\n              }\n            }}\n            value={password}\n          ></ParticleKeywords>\n        </div>\n\n        {passwordMistake && <div className='password-mistake'>{t('account.password_do_not_match')}</div>}\n      </div>\n    </>\n  );\n};\n\nexport default SetPaymentPassword;\n", "import { useRequest } from 'ahooks';\nimport React, { useState } from 'react';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport ParticleKeywords from '../ParticleKeywords/index';\n\nimport { ApiError, verifyPaymentPassword } from '@particle-network/auth-core';\nimport Header from '../../../components/header';\nimport styles from './index.less';\nconst ChangePaymentPassword = (prop: any) => {\n  const navigate = useCustomNavigate();\n  const { t } = useTranslation();\n  const [pwd, setPwd] = useState('');\n\n  const { setWrongPassword } = useParticleAuth();\n\n  const { loading: verifyLoading, run: runVerify } = useRequest(verifyPaymentPassword, {\n    manual: true,\n    onSuccess: (result, params) => {\n      navigate('/account/set-password', {\n        state: {\n          oldPassword: pwd,\n        },\n        replace: true,\n      });\n    },\n    onError: (error: any) => {\n      console.log('verify password error', error);\n      setPwd('');\n      if (error?.error_code === ApiError.WrongPaymentPassword) {\n        setWrongPassword({ visible: true });\n      } else if (error?.error_code === ApiError.SecurityAccountFrozen) {\n        const seconds = error.extra.seconds || 0;\n        setWrongPassword({\n          visible: true,\n          accountFrozen: {\n            seconds: seconds,\n          },\n        });\n      }\n    },\n  });\n\n  const checkInputPwd = (value: string) => {\n    setPwd(value);\n    if (value.length === 6) {\n      runVerify(value);\n    }\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='payment-password-container'>\n        <Header displayBackBtn={true}></Header>\n        <div className='wrapper'>\n          <div className='page-title'>{t('account.change_payment_password')}</div>\n          <p className='payment-desc-1'>{t('account.change_enter_payment')}</p>\n          <ParticleKeywords onChange={checkInputPwd} value={pwd} keyboardInvisible={verifyLoading} />\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default ChangePaymentPassword;\n", "import { DownOutlined } from '@ant-design/icons';\nimport { useClickAway } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { Form, Input, InputNumber } from 'antd';\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode';\nimport { isValidPhoneNumber, parsePhoneNumber } from 'libphonenumber-js/max';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from '../../context';\nimport { defaultCountriesData, getCurrentCountry } from '../../api/model/all-countries';\nimport styles from './index.less';\ninterface Iprops {\n  form: FormInstance;\n  name: string;\n  disabled?: boolean;\n  previewMode?: string;\n  [key: string]: any;\n}\n\nconst PhoneInputItem = (props: Iprops) => {\n  const form = props.form;\n  const phoneValue = Form.useWatch(props.name, form);\n  const [countryData, setCountryData] = useState(['United States', 'us', '1']);\n  const { t } = useTranslation();\n  const [visbSelectCountry, setVisbSelectCountry] = useState(false);\n  const clickRef = useRef<any>();\n  const forItemRef = useRef<any>();\n  const [searchValue, setSearchValue] = useState('');\n  const searchInputRef = useRef<any>();\n  const countriesList = useMemo(() => {\n    return defaultCountriesData.filter((item) => {\n      return item.join('+').toLowerCase().includes(searchValue.toLowerCase());\n    });\n  }, [searchValue]);\n\n  useClickAway(() => {\n    setVisbSelectCountry(false);\n  }, clickRef);\n\n  useEffect(() => {\n    if (visbSelectCountry) {\n      setSearchValue('');\n    }\n  }, [visbSelectCountry]);\n\n  useEffect(() => {\n    if (phoneValue?.includes('*')) {\n      return;\n    }\n    const countryCode = `+${countryData[2]}`;\n    const value = (phoneValue || '').replace(/^\\+\\d+/, '').trim();\n    form.setFieldsValue({\n      [props.name]: `${countryCode} ${value}`,\n    });\n    if (value) {\n      form.validateFields(['_phone']);\n    }\n  }, [countryData, phoneValue]);\n\n  useEffect(() => {\n    try {\n      if (phoneValue?.includes?.('*')) {\n        form.setFieldsValue({\n          _phone: phoneValue,\n        });\n      } else if (phoneValue) {\n        if (isValidPhoneNumber(phoneValue)) {\n          const phoneNumber = parsePhoneNumber(phoneValue);\n          const value = phoneNumber.nationalNumber;\n\n          form.setFieldsValue({\n            _phone: value,\n          });\n\n          const countryCode = phoneNumber.countryCallingCode.toString();\n          const regionCode = phoneNumber.country;\n\n          if (countryCode && regionCode) {\n            const items = defaultCountriesData.filter(\n              (item) => item[2].toString() === countryCode && item[1].toLowerCase() === regionCode.toLowerCase()\n            );\n            if (items && items.length > 0) {\n              setCountryData(items[items.length - 1]);\n            }\n          }\n        }\n      } else {\n        const currentCountry = getCurrentCountry();\n        if (currentCountry) {\n          setCountryData(currentCountry);\n        }\n      }\n    } catch (error) {\n      // pass\n    }\n  }, [phoneValue]);\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='phone-input-item-container'>\n        <Form.Item\n          className={!props.disabled || (props.disabled && props.previewMode !== 'input') ? 'hidden' : ''}\n          extra={props.extra}\n          name={props.name}\n        >\n          <Input disabled={props.disabled}></Input>\n        </Form.Item>\n        <Form.Item\n          name='_phone'\n          className={props.disabled && props.previewMode == 'input' ? 'hidden' : ''}\n          extra={props.extra}\n          // getValueFromEvent={(event) => {\n          //     return event.target.value.replace(/\\D+/g, '');\n          // }}\n          rules={[\n            {\n              required: true,\n              validator: (rule, value) => {\n                try {\n                  if (!value) {\n                    return Promise.reject(t('login.input_phone_holder'));\n                  } else {\n                    try {\n                      value = `+${countryData[2]} ${value}`;\n                      if (!isValidPhoneNumber(value)) {\n                        return Promise.reject(t('login.phone_format_error'));\n                      }\n                    } catch (error) {\n                      return Promise.reject(t('login.phone_format_error'));\n                    }\n                  }\n                } catch (error) {\n                  return Promise.reject(t('login.phone_format_error'));\n                }\n                return Promise.resolve();\n              },\n            },\n          ]}\n        >\n          <InputNumber\n            placeholder={t('account.mobile') as string}\n            disabled={props.disabled}\n            controls={false}\n            onChange={(value) => {\n              form.setFieldsValue({\n                [props.name]: `+${countryData[2]} ${value}`,\n              });\n            }}\n            onFocus={() => {\n              document.querySelector('.ant-input-number-group-wrapper')?.setAttribute('data-focus', 'true');\n            }}\n            onBlur={() => {\n              document.querySelector('.ant-input-number-group-wrapper')?.setAttribute('data-focus', 'false');\n            }}\n            addonBefore={\n              <div className='country-box phone' ref={forItemRef}>\n                <div\n                  className='prefix-wrap'\n                  onClick={() => {\n                    if (!props.disabled) {\n                      setVisbSelectCountry(!visbSelectCountry);\n                      setTimeout(() => {\n                        searchInputRef.current?.focus();\n                      });\n                    }\n                  }}\n                  ref={clickRef}\n                >\n                  <div className='account-select-opt'>\n                    <div className='account-select-icon'>{getUnicodeFlagIcon(`${countryData[1]}`)}</div>\n                    <DownOutlined className='down-more' />\n                  </div>\n                  <span>+{countryData[2]}</span>\n                </div>\n\n                {visbSelectCountry && (\n                  <div className='account-select-country-list '>\n                    <div\n                      className='account-select-country-item search-input-wrap'\n                      onClick={(e) => {\n                        e.stopPropagation();\n                      }}\n                    >\n                      <Input\n                        ref={searchInputRef}\n                        className='search-input'\n                        type='text'\n                        placeholder={t('login.search_country_holder') as string}\n                        allowClear\n                        onChange={(e) => {\n                          const value = e?.target?.value || '';\n                          setSearchValue(value);\n                        }}\n                      />\n                    </div>\n                    {countriesList && !!countriesList.length ? (\n                      <div className='p-country-list'>\n                        {countriesList.map((item, index) => (\n                          <div\n                            key={`${item[0]}-${item[1]}-${item[2]}`}\n                            className='account-select-country-item'\n                            onClick={() => {\n                              setCountryData(item);\n                              setVisbSelectCountry(false);\n                            }}\n                          >\n                            <div className='country-box'>\n                              <div className='country-flag'>{getUnicodeFlagIcon(`${item[1]}`)}</div>\n                              <span className='country-name'>{item[0]}</span>\n                            </div>\n                            <div className='country-code'>{'+' + item[2]}</div>\n                          </div>\n                        ))}\n                      </div>\n                    ) : (\n                      <div className='no-data'>No data</div>\n                    )}\n                  </div>\n                )}\n              </div>\n            }\n          />\n        </Form.Item>\n      </div>\n    </>\n  );\n};\n\nexport default PhoneInputItem;\n", "import { AuthType, checkHasBoundLoginPhoneOrEmail } from '@particle-network/auth-core';\nimport { useRequest, useThrottleFn } from 'ahooks';\nimport { Button, Form, Input, Modal } from 'antd';\nimport { parsePhoneNumber } from 'libphonenumber-js/max';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport Header from '../../components/header';\nimport PhoneInputItem from '../../components/phoneInputItem';\nimport PowerFooter from '../../components/power-footer';\nimport { useAuthCoreModal, useCustomNavigate, useParticleAuth, useTranslation } from '../../context';\nimport { useUserInfo } from '../../context/hooks';\nimport useMessage from '../../context/hooks/useMessage';\nimport { EmailRegExp } from '../../utils';\nimport { PageType } from '../account/accountVerify/config';\nimport { encryptValue, getAccountList } from '../loginAccount';\nimport styles from './index.less';\n\nexport interface IAccountInfo {\n  type: AuthType;\n  icon: string;\n  name: string;\n  value: string;\n  id?: string;\n  isOriginal?: boolean;\n}\n\ninterface IState {\n  authType: AuthType;\n  verifyToken: string;\n}\n\nconst LoginAccountBind = (props: any) => {\n  const state = props;\n  const authType = (state as IState)?.authType || '';\n  const verifyToken = (state as IState)?.verifyToken || '';\n  const { t } = useTranslation();\n  const [form] = Form.useForm();\n  const navigate = useCustomNavigate();\n  const message = useMessage();\n  const { userInfo } = useUserInfo();\n  const { showSelectSecurityAccount } = useParticleAuth();\n  const [submitLoading, setSubmitLoading] = useState(false);\n  const { runAsync: loginBindingsCheckRequest } = useRequest(checkHasBoundLoginPhoneOrEmail, {\n    manual: true,\n  });\n  const { authCoreModal } = useAuthCoreModal();\n  const accountList = useMemo(() => {\n    return getAccountList({ userInfo, t });\n  }, [userInfo, t]);\n\n  const accountInfo: IAccountInfo = useMemo(() => {\n    const data = (accountList?.find?.((item) => item.type === authType) || {}) as IAccountInfo;\n    return data;\n  }, [accountList, authType]);\n\n  /**\n   *  \u53EF\u4EE5\u5DF2\u7ECF\u7ED1\u5B9A\n   */\n  const canLink = useMemo(() => {\n    return !accountInfo.value && !accountInfo.id;\n  }, [accountInfo]);\n\n  /**\n   * \u662F\u5426\u53EF\u4EE5\u89E3\u7ED1\n   * \u5982\u679CisOriginal=true \u8BF4\u660E\u662F\u539F\u59CB\u8D26\u53F7\uFF0C\u4E0D\u80FD\u89E3\u7ED1\n   */\n  const canUnlink = useMemo(() => {\n    return !accountInfo.isOriginal && !canLink;\n  }, [accountInfo]);\n\n  const bindLoginAccount = () => {\n    form.validateFields().then((values) => {\n      const targetInputValue: string = form.getFieldsValue()?.inputValue?.replace(/\\s/g, '')?.trim?.() || '';\n      setSubmitLoading(true);\n      // \u5224\u65AD\u6B64\u624B\u673A\u53F7\u662F\u5426\u662F\u5B89\u5168\u624B\u673A\u53F7\u7801\uFF0C\u5982\u679C\u662F\u5B89\u5168\u624B\u673A\u53F7\u7801\uFF0C\u5C31\u63D0\u793A\u201D\u5B89\u5168\u624B\u673A\u53F7\u7801\u4E0D\u80FD\u4F5C\u4E3A\u767B\u5F55\u8D26\u53F7\u201C\n      if (authType === 'phone' && userInfo?.security_account?.phone === targetInputValue) {\n        Modal.error({\n          title: t('new.duplicate_phonel_bindings'),\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n        });\n        setSubmitLoading(false);\n        return;\n      } else if (\n        authType === 'email' &&\n        userInfo?.security_account?.email?.toLowerCase() === targetInputValue?.toLowerCase()\n      ) {\n        Modal.error({\n          title: t('new.duplicate_email_bindings'),\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n        });\n        setSubmitLoading(false);\n        return;\n      }\n\n      const params: any = {};\n      if (authType === AuthType.phone) {\n        params.phone = targetInputValue;\n      } else {\n        params.email = targetInputValue;\n      }\n      loginBindingsCheckRequest(params)\n        .then((res) => {\n          navigate('/account/verify', {\n            state: {\n              account: targetInputValue,\n              authType,\n              verifyToken,\n              pageType: PageType.BindLoginAccount,\n            },\n          });\n          setSubmitLoading(false);\n        })\n        .catch((error) => {\n          setSubmitLoading(false);\n          if (error.error_code === 20109) {\n            Modal.error({\n              title: authType === AuthType.phone ? t('error.server_phone_20109') : t('error.server_email_20109'),\n              wrapClassName: 'auth-core-modal-error',\n              getContainer: () => {\n                return authCoreModal.rootBody as HTMLElement;\n              },\n            });\n          } else {\n            message.error(error.message);\n          }\n        });\n    });\n  };\n\n  const { run: toAccountVerify } = useThrottleFn(\n    (params) => {\n      navigate('/account/verify', {\n        state: {\n          account: params.account, // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n          authType,\n          unbindAccount: form.getFieldValue('inputValue'),\n          pageType: PageType.UnbindLoginAccount,\n        },\n      });\n    },\n    { wait: 3000 }\n  );\n\n  const unbindLoginAccount = () => {\n    // \u89E3\u7ED1\u9A8C\u8BC1\u9700\u8981\u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n    if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n      showSelectSecurityAccount(true, {\n        authType,\n        unbindAccount: form.getFieldValue('inputValue'),\n        pageType: PageType.UnbindLoginAccount,\n      });\n    } else {\n      toAccountVerify({\n        account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n      });\n    }\n  };\n\n  useEffect(() => {\n    if (accountInfo?.value || accountInfo?.id) {\n      if (authType === AuthType.phone) {\n        const phoneNumber = parsePhoneNumber(accountInfo?.value.replace(/\\s/g, ''));\n        const countryCode = phoneNumber.countryCallingCode;\n        const nationalNumber = phoneNumber.nationalNumber;\n        form.setFieldsValue({\n          inputValue: encryptValue(`+${countryCode} ${nationalNumber}`),\n        });\n      } else {\n        form.setFieldsValue({\n          inputValue: encryptValue(accountInfo?.value || accountInfo?.id || ''),\n        });\n      }\n    }\n  }, [accountInfo?.value, accountInfo?.id, authType]);\n\n  return (\n    <div className='login-account-bind '>\n      <style>{styles as unknown as string}</style>\n      <Header displayBackBtn={true}>{accountInfo.name}</Header>\n      <Form className='account-bind-form' layout='vertical' form={form} onFinish={bindLoginAccount}>\n        {authType === AuthType.phone ? (\n          <PhoneInputItem\n            name='inputValue'\n            form={form}\n            disabled={!canLink}\n            previewMode='input'\n            extra={<div className='link-account-hint'>{t('new.link_account_hint').format(accountInfo.name)}</div>}\n          />\n        ) : (\n          <Form.Item\n            name='inputValue'\n            validateTrigger='onBlur'\n            extra={<div className='link-account-hint'>{t('new.link_account_hint').format(accountInfo.name)}</div>}\n            rules={[\n              {\n                required: true,\n                validator: async (rule, value) => {\n                  if (!value) {\n                    return Promise.reject(t('account.input_vaild_email'));\n                  } else if (!EmailRegExp.test(value)) {\n                    return Promise.reject(t('login.email_format_error'));\n                  }\n                  return Promise.resolve();\n                },\n              },\n            ]}\n          >\n            <Input\n              className='account-input'\n              placeholder={accountInfo.name}\n              disabled={!canLink}\n              onChange={(e) =>\n                form.setFields([\n                  {\n                    name: 'email',\n                    value: e.target.value,\n                    errors: [],\n                  },\n                ])\n              }\n            />\n          </Form.Item>\n        )}\n\n        <Form.Item>\n          {canLink ? (\n            <Button\n              className='primary-antd-btn link-btn'\n              // onClick={bindLoginAccount}\n              loading={submitLoading}\n              htmlType='submit'\n            >\n              {t('account.link')}\n            </Button>\n          ) : (\n            <></>\n            // <Button\n            //     className=\"primary-antd-btn unlink-btn\"\n            //     disabled={!canUnlink}\n            //     onClick={() => {\n            //         unbindLoginAccount();\n            //     }}\n            // >\n            //     Unlink\n            // </Button>\n          )}\n        </Form.Item>\n      </Form>\n      <PowerFooter />\n    </div>\n  );\n};\n\nexport default LoginAccountBind;\n", "import { bindLoginAccount } from '@particle-network/auth-core';\nimport { useDebounceEffect } from 'ahooks';\nimport { Button } from 'antd';\nimport React, { useMemo, useState } from 'react';\nimport loadingImg from '../../../common/images/loading2.png';\nimport Header from '../../../components/header';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport { useUserInfo } from '../../../context/hooks';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { getLoginLogos } from '../../../utils';\nimport { getAccountList } from '../../loginAccount';\nimport styles from './index.less';\n\nconst LoginAccountBindLoading = (props: any) => {\n  const state = props;\n  const { authType = 'google', verifyToken, code } = state;\n  const navigate = useCustomNavigate();\n  const { modalOptions } = useParticleAuth();\n  const { t } = useTranslation();\n  const [loading, setLoading] = useState(true);\n  const { userInfo } = useUserInfo();\n  const message = useMessage();\n  const accountList = useMemo(() => {\n    return getAccountList({ userInfo, t });\n  }, [userInfo, t]);\n\n  const authItem = useMemo(() => {\n    const item = (accountList.find((item) => item.type.replace(/v1$/, '') == authType) || {}) as any;\n    return {\n      ...item,\n    };\n  }, [accountList, state]);\n\n  useDebounceEffect(\n    () => {\n      if (authType && verifyToken) {\n        bindLoginAccount({\n          provider: authType,\n          // eslint-disable-next-line camelcase\n          thirdparty_code: code,\n          // eslint-disable-next-line camelcase\n          security_account_verify_token: verifyToken,\n          version: 'v2',\n        })\n          .then((res) => {\n            setLoading(false);\n          })\n          .catch((error) => {\n            let msg = error.message;\n            if (error?.error_code === 20109) {\n              const tKey = `error.server_${authType}_20109`;\n              const details = t(tKey);\n              if (details && details != tKey) {\n                msg = details;\n              }\n            }\n            message.error(msg);\n            setTimeout(() => {\n              navigate('/account/security', { replace: true });\n            });\n          });\n      }\n    },\n    [authType, verifyToken],\n    {\n      wait: 50,\n    }\n  );\n\n  return (\n    <div className='account-bind-container'>\n      <style>{styles as unknown as string}</style>\n      <Header displayBackBtn={true}></Header>\n      <div className='particle-connect-form-contaier center-center flex-column'>\n        {loading ? (\n          <div className='particle-loading'>\n            <div className='loading-wrap'>\n              <img\n                src={getLoginLogos(modalOptions.themeType)[authType] || ''}\n                className='logo-img logo-img-2'\n                alt='logo'\n              />\n              <p>\n                <img className='particle-loading-img' src={loadingImg} alt='' />\n              </p>\n            </div>\n          </div>\n        ) : (\n          <div className='result-content resultsuccess'>\n            <img src={authItem?.icon} alt='' />\n            <div className='info'>Binding succeeded\uFF01</div>\n            <div className='back'>\n              <Button\n                type='primary'\n                onClick={() => {\n                  navigate('/account/security', { replace: true });\n                }}\n              >\n                Back\n              </Button>\n            </div>\n          </div>\n        )}\n      </div>\n    </div>\n  );\n};\n\nexport default LoginAccountBindLoading;\n", "import { isConnected } from '@particle-network/auth-core';\nimport qs from 'qs';\nimport React, { useMemo } from 'react';\nimport type { ICustomRouter } from '../../context/types';\nimport ParticleLoading from '../loading';\n\nexport enum AuthPage {\n  Index = 'index',\n  Login = 'login',\n  EvmSign = 'evm-chain/sign',\n  SolanaSign = 'solana/sign',\n  LoginAccount = 'login-account',\n  AccountSecurity = 'account/security',\n  MasterPasswordVerify = 'account/master-password/verify',\n  MasterPasswordPrompt = 'account/master-password/prompt',\n}\n\ninterface IPage {\n  name?: AuthPage;\n  path?: string;\n  component: React.LazyExoticComponent<any>;\n}\n\nconst pages: IPage[] = [\n  {\n    name: AuthPage.Index,\n    component: React.lazy(() => import('../../pages/index/index')),\n  },\n  {\n    name: AuthPage.Login,\n    component: React.lazy(() => import('../../pages/login')),\n  },\n  {\n    path: 'account/security',\n    component: React.lazy(() => import('../../pages/account/security')),\n  },\n  {\n    name: AuthPage.LoginAccount,\n    path: 'login-account',\n    component: React.lazy(() => import('../../pages/loginAccount/index')),\n  },\n  {\n    path: 'manageDevices/deviceList',\n    component: React.lazy(() => import('../../pages/manageDevices/deviceList/index')),\n  },\n  {\n    path: 'manageDevices/deviceDetails',\n    component: React.lazy(() => import('../../pages/manageDevices/deviceDetails/index')),\n  },\n  {\n    name: AuthPage.EvmSign,\n    component: React.lazy(() => import('../../pages/sign/index')),\n  },\n  {\n    name: AuthPage.SolanaSign,\n    component: React.lazy(() => import('../../pages/sign/components/info-sign')),\n  },\n  {\n    path: 'account/bind',\n    component: React.lazy(() => import('../../pages/account/accountBind/index')),\n  },\n  {\n    path: 'account/verify',\n    component: React.lazy(() => import('../../pages/account/accountVerify/index')),\n  },\n  {\n    path: 'login-account',\n    component: React.lazy(() => import('../../pages/loginAccount/index')),\n  },\n  {\n    path: 'manageDevices/deviceDetails',\n    component: React.lazy(() => import('../../pages/manageDevices/deviceDetails/index')),\n  },\n  {\n    path: 'account/master-password',\n    component: React.lazy(() => import('../../pages/account/setMasterPassword/index')),\n  },\n  {\n    path: 'account/master-password/description',\n    component: React.lazy(() => import('../../pages/account/masterPasswordDescription/index')),\n  },\n  {\n    path: AuthPage.MasterPasswordVerify,\n    component: React.lazy(() => import('../../pages/account/masterPasswordVerify/index')),\n  },\n  {\n    path: AuthPage.MasterPasswordPrompt,\n    component: React.lazy(() => import('../../pages/account/masterPasswordModal/index')),\n  },\n  {\n    path: 'account/master-password/change',\n    component: React.lazy(() => import('../../pages/account/masterPasswordChange/index')),\n  },\n  {\n    path: 'account/set-password',\n    component: React.lazy(() => import('../../pages/account/setPaymentPassword/index')),\n  },\n  {\n    path: 'account/change-password',\n    component: React.lazy(() => import('../../pages/account/changePaymentPassword/index')),\n  },\n  {\n    path: 'login-account/bind',\n    component: React.lazy(() => import('../../pages/loginAccountBind/index')),\n  },\n  {\n    path: 'login-account/bind-loading',\n    component: React.lazy(() => import('../../pages/account/loginAccountBindLoading/index')),\n  },\n];\n\nconst CustomRouter = (props: ICustomRouter) => {\n  const path = useMemo(() => {\n    let path = props.path?.split('?')?.[0].replace(/^\\//, '');\n    if (path == '' || path == '/') {\n      path = AuthPage.Index;\n    }\n    if (path !== AuthPage.Login && !isConnected() && path !== AuthPage.Index) {\n      path = AuthPage.Login;\n    }\n    return path;\n  }, [props.path]);\n\n  const queryString = useMemo(() => {\n    let queryString = props.path?.split('?')?.[1];\n    if (path !== AuthPage.Login && !isConnected() && path !== AuthPage.Index) {\n      queryString = '';\n    }\n    return queryString;\n  }, [props.path, path]);\n\n  const state = useMemo(() => {\n    return {\n      ...(props.state || {}),\n      ...qs.parse(queryString),\n    };\n  }, [props.state, queryString]);\n\n  const Comp = useMemo(() => {\n    let Comp = pages.find((item: IPage) => item.name === path || item.path === path);\n    if (!Comp) {\n      if (path) {\n        console.log('Not Found', path);\n      }\n      Comp = pages[0];\n    }\n    return Comp;\n  }, [path]);\n\n  return (\n    <div data-path={path} data-state={qs.stringify(state)} key={path}>\n      <React.Suspense\n        fallback={\n          <div className='lazy-loaing-container'>\n            <ParticleLoading />\n          </div>\n        }\n      >\n        <Comp.component {...state} children={props.children} />\n      </React.Suspense>\n    </div>\n  );\n};\n\nexport default CustomRouter;\n", "import { useEffect, useRef } from 'react';\n\nconst KEYCODE_TAB = 9;\n\nexport default function useFocusTrap() {\n  const elRef = useRef<any>(null);\n\n  function handleFocus(e: any) {\n    if (!elRef.current) return;\n    const focusableEls = elRef.current.querySelectorAll(`\n        a[href]:not(:disabled),\n        button:not(:disabled),\n        textarea:not(:disabled),\n        input[type=\"text\"]:not(:disabled),\n        input[type=\"radio\"]:not(:disabled),\n        input[type=\"checkbox\"]:not(:disabled),\n        select:not(:disabled)\n      `),\n      firstFocusableEl = focusableEls[0],\n      lastFocusableEl = focusableEls[focusableEls.length - 1];\n\n    const isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB;\n\n    if (!isTabPressed) {\n      return;\n    }\n\n    if (e.shiftKey) {\n      /* shift + tab */ if (document.activeElement === firstFocusableEl) {\n        lastFocusableEl.focus();\n        e.preventDefault();\n      }\n    } /* tab */ else {\n      if (document.activeElement === lastFocusableEl) {\n        firstFocusableEl.focus();\n        e.preventDefault();\n      }\n    }\n  }\n\n  useEffect(() => {\n    if (elRef.current) {\n      elRef.current.addEventListener('keydown', handleFocus);\n      elRef.current.focus({ preventScroll: true });\n    }\n    return () => {\n      if (elRef.current) {\n        elRef.current.removeEventListener('keydown', handleFocus);\n      }\n    };\n  }, []);\n\n  return elRef;\n}\n", "import React, { useEffect } from 'react';\nimport useFocusTrap from '../../context/hooks/useFocusTrap';\n\nexport default function FocusTrap(props: any) {\n  const elRef = useFocusTrap();\n\n  useEffect(() => {\n    if (!elRef.current) return;\n    elRef.current.focus({ preventScroll: true });\n  }, []);\n\n  return (\n    <div ref={elRef} tabIndex={0}>\n      {props.children}\n    </div>\n  );\n}\n", "import { Modal } from 'antd';\nimport React, { forwardRef, useEffect, useImperativeHandle, useState } from 'react';\n\nimport { useAuthCoreModal } from '../../context';\nimport ParticleDrawer from '../particle-drawer';\nimport styles from './index.less';\n\ninterface IProps {\n  children?: React.ReactNode;\n  visible?: boolean;\n  containerSelector?: any;\n  title?: string | any;\n  modalProps?: any;\n  locked?: 'modal' | 'drawer';\n  drawerProps?: any;\n  className?: string;\n  closable?: boolean;\n  onOpen?: () => void;\n  onClose?: () => void;\n}\nconst ParticleModal = forwardRef((props: IProps, ref) => {\n  const { children, title, drawerProps = {}, modalProps = {} } = props;\n  const { authCoreModal } = useAuthCoreModal();\n  const [visible, setVisible] = useState(props.visible || false);\n\n  const onClose = () => {\n    setVisible(false);\n    props.onClose && props.onClose();\n  };\n\n  const onOpen = () => {\n    setVisible(true);\n    props.onOpen && props.onOpen();\n  };\n\n  useImperativeHandle(ref, () => ({\n    setVisible,\n    onOpen,\n    onClose,\n  }));\n\n  useEffect(() => {\n    setVisible(props.visible ?? false);\n  }, [props.visible]);\n\n  if (modalProps?.style?.top) {\n    modalProps.style.top = '';\n  }\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      {authCoreModal.viewType == 'desktop' || props.locked === 'modal' ? (\n        <Modal\n          title={title}\n          open={visible}\n          okText=''\n          wrapClassName={`w-model-container ${props.className || ''}`}\n          centered={true}\n          maskClosable={false}\n          getContainer={() => {\n            return props.containerSelector\n              ? document.querySelector(props.containerSelector)\n              : authCoreModal.rootModalContainer || document.querySelector('body');\n          }}\n          onCancel={() => {\n            onClose();\n          }}\n          closable={props.closable ?? true}\n          // closeIcon={<MIcon name=\"icon_63\" size={30} />}\n          {...modalProps}\n          styles={{\n            ...modalProps.styles,\n          }}\n        >\n          {children}\n        </Modal>\n      ) : (\n        <ParticleDrawer\n          className={`w-drawer-container ${props.className || ''}`}\n          closable={props.closable ?? true}\n          onClose={onClose}\n          visible={visible}\n          placement='bottom'\n          getContainer={() => {\n            return props.containerSelector\n              ? document.querySelector(props.containerSelector)\n              : authCoreModal.rootModalContainer || document.querySelector('body');\n          }}\n          extra={<>{/* <MIcon name=\"icon_63\" size={30} onClick={() => onClose()} /> */}</>}\n          title={title}\n          {...drawerProps}\n        >\n          {children}\n        </ParticleDrawer>\n      )}\n    </>\n  );\n});\n\nexport default ParticleModal;\n", "import React, { useEffect, useRef } from 'react';\n\nconst AuthCoreModalContainer = ({ setAuthCoreModal }: any) => {\n  const rootModalContainerRef = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    setAuthCoreModal({\n      rootModalContainer: rootModalContainerRef.current,\n    });\n  }, [setAuthCoreModal]);\n\n  return <div ref={rootModalContainerRef}></div>;\n};\n\nexport default AuthCoreModalContainer;\n", "export const dictionaries = {\n  en: () => import('./en.json').then((module) => module.default),\n  'en-us': () => import('./en.json').then((module) => module.default),\n  ja: () => import('./jp.json').then((module) => module.default),\n  'ja-jp': () => import('./jp.json').then((module) => module.default),\n  ko: () => import('./kr.json').then((module) => module.default),\n  'ko-kr': () => import('./kr.json').then((module) => module.default),\n  'zh-tw': () => import('./tc.json').then((module) => module.default),\n  'zh-cn': () => import('./zh.json').then((module) => module.default),\n  zh: () => import('./zh.json').then((module) => module.default),\n};\n", "import {\n  getLatestAuthType,\n  getUserInfo,\n  isNullish,\n  requireNotNullish,\n  type Chain,\n  type ERC4337Options,\n  type LoginAuthorization,\n  type SolanaAuthorization,\n} from '@particle-network/auth-core';\nimport base58 from 'bs58';\nimport { v4 as uuidv4 } from 'uuid';\nimport { getEVMPublicAddress } from '../api/getPublicAddress';\nimport { isSolana } from './chain-utils';\nimport { shortString, toHexPrefixString } from './common-utils';\n\nexport type AuthorizationResult = {\n  message: string;\n  signature: string;\n};\n\n//https://eips.ethereum.org/EIPS/eip-4361\nconst signInEthereumMessage = `{0} wants you to sign in with your Ethereum account:\n{1}\n\n{2}\n\nURI: https://{3}/\nVersion: 1\nChain ID: {4}\nNonce: {5}\nIssued At: {6}\nExpiration Time: {7}`;\n\nconst authorizeUtils = {\n  isNeedAuthorize({ authorization, chain }: LoginAuthorization): boolean {\n    if (!authorization) {\n      return false;\n    }\n    if (chain.name.toLowerCase() === 'solana') {\n      return (\n        'message' in authorization &&\n        !isNullish(authorization.message) &&\n        'uniq' in authorization &&\n        !isNullish(authorization.uniq)\n      );\n    } else {\n      return 'uniq' in authorization && !isNullish(authorization.uniq);\n    }\n  },\n\n  async generateMessage(chain: Chain, erc4337?: ERC4337Options): Promise<string> {\n    const domain = location.host;\n    const userInfo = getUserInfo() as any;\n    const address = isSolana(chain)\n      ? window.particleAuth?.solana.selectedAddress\n      : await getEVMPublicAddress({\n          ...erc4337,\n          chainId: chain.id,\n        });\n    const authType = getLatestAuthType() || 'email';\n    const account = userInfo[authType] || userInfo[`${authType}_email`] || shortString(userInfo[`${authType}_id`]);\n    const statement = `${authType.titleCase()}: ${account}`;\n    const nonce = uuidv4().replace(/-/g, '');\n    const issuedAt = new Date().toISOString();\n    // 15\u5206\u949F\u6709\u6548\u671F\n    const expirationTime = new Date(Date.now() + 10 * 60 * 1000).toISOString();\n    return signInEthereumMessage.format(\n      domain,\n      address || '',\n      statement,\n      domain,\n      chain.id.toString(),\n      nonce,\n      issuedAt,\n      expirationTime\n    );\n  },\n\n  async authorize(\n    { authorization, chain }: LoginAuthorization,\n    erc4337?: ERC4337Options\n  ): Promise<AuthorizationResult> {\n    const message = isSolana(chain)\n      ? (authorization as SolanaAuthorization).message\n      : toHexPrefixString(await this.generateMessage(chain, erc4337));\n    const particleAuth = requireNotNullish(window.particleAuth);\n    let signature;\n    if (isSolana(chain)) {\n      const { signature: result } = await particleAuth.solana.signMessage(base58.decode(message));\n      signature = Buffer.from(result).toString('base64');\n    } else {\n      signature = await particleAuth.ethereum.signMessage(message);\n    }\n    return {\n      message,\n      signature,\n    };\n  },\n};\n\nexport default authorizeUtils;\n", "export const getVersion = () => {\n  // replace when build\n  return 'web_' + '2.0.17';\n};\n", "import base64url from 'base64url';\nimport qs from 'qs';\nimport { isServer } from '.';\n\nexport const isSocialAuthLogin = () => {\n  const query = qs.parse(!isServer() ? window.location.search : '', {\n    ignoreQueryPrefix: true,\n  });\n  const particleThirdpartyParamsContent = query?.particleThirdpartyParams as string;\n\n  if (particleThirdpartyParamsContent) {\n    const particleThirdpartyParams = JSON.parse(base64url.decode(particleThirdpartyParamsContent as string));\n    const { appState, error } = particleThirdpartyParams;\n    const appStateObj = appState ? JSON.parse(base64url.decode(appState as string)) : {};\n    const { purpose } = appStateObj;\n    return Boolean(!error) && purpose !== 'bindLoginAccount';\n  }\n\n  return false;\n};\n", "import { AuthCoreEvent, hasMasterPassword, hasPaymentPassword, particleAuth } from '@particle-network/auth-core';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { useModalOptions, useParticleAuth } from '.';\nimport { isClient } from '../utils';\nimport { isSocialAuthLogin } from '../utils/isSocialLogin';\nimport { useAuthCore, useConnect, useEthereum, useSolana } from './hooks';\n\nconst ProviderInject = ({ children }: React.PropsWithChildren) => {\n  const { provider } = useEthereum();\n\n  const { userInfo } = useParticleAuth();\n\n  const { wallet } = useSolana();\n\n  const { connect } = useConnect();\n\n  const injectRef = useRef(false);\n\n  const { modalOptions } = useModalOptions();\n\n  const {\n    needRestoreWallet,\n    openAccountAndSecurity,\n    openSetMasterPassword,\n    openChangeMasterPassword,\n    openRestoreByMasterPassword,\n    openSetPaymentPassword,\n    openChangePaymentPassword,\n    openSetSecurityAccount,\n    openLinkLoginAccount,\n  } = useAuthCore();\n\n  if (isClient() && !injectRef.current) {\n    if (window.particle) {\n      window.particle.ethereum = provider;\n      window.particle.solana = wallet;\n    } else {\n      window.particle = { ethereum: provider, solana: wallet };\n    }\n    injectRef.current = true;\n    const socialLogin = isSocialAuthLogin();\n    window.particle.ethereum.isSocialConnecting = socialLogin;\n    window.particle.solana.isSocialConnecting = socialLogin;\n    console.log('particle provider inject', provider, wallet);\n    window.dispatchEvent(new CustomEvent('particle:authProviderInjected'));\n  }\n\n  useEffect(() => {\n    const onRequestAccount = ({ resolve, reject, param }: any) => {\n      console.log('particle auth connect', param);\n      connect(param)\n        .then((userInfo) => {\n          resolve(userInfo);\n        })\n        .catch((error) => {\n          reject(error);\n        });\n    };\n    particleAuth.on(AuthCoreEvent.RequestEthereumAccount, onRequestAccount);\n    particleAuth.on(AuthCoreEvent.RequestSolanaAccount, onRequestAccount);\n    return () => {\n      particleAuth.off(AuthCoreEvent.RequestEthereumAccount, onRequestAccount);\n      particleAuth.off(AuthCoreEvent.RequestSolanaAccount, onRequestAccount);\n    };\n  }, [connect]);\n\n  const getUserInfo = useCallback(() => {\n    return userInfo;\n  }, [userInfo]);\n\n  useEffect(() => {\n    if (window.particle) {\n      window.particle._internal = {\n        needRestoreWallet,\n        openAccountAndSecurity,\n        openSetMasterPassword,\n        openChangeMasterPassword,\n        openRestoreByMasterPassword,\n        openSetPaymentPassword,\n        openChangePaymentPassword,\n        openSetSecurityAccount,\n        openLinkLoginAccount,\n        hasMasterPassword,\n        hasPaymentPassword,\n        getUserInfo,\n      };\n    }\n  }, [\n    needRestoreWallet,\n    openAccountAndSecurity,\n    openSetMasterPassword,\n    openChangeMasterPassword,\n    openRestoreByMasterPassword,\n    openSetPaymentPassword,\n    openChangePaymentPassword,\n    openSetSecurityAccount,\n    openLinkLoginAccount,\n    getUserInfo,\n  ]);\n\n  useEffect(() => {\n    //https://eips.ethereum.org/EIPS/eip-6963\n    if (provider && typeof window !== 'undefined' && modalOptions.supportEIP6963 !== false) {\n      const info = {\n        uuid: 'cf589558-848b-4b1b-9ee7-800b5bbc07da',\n        name: 'Particle Auth',\n        icon: 'https://static.particle.network/logo-small.png',\n        rdns: 'network.particle',\n      };\n      const announceProvider = () => {\n        window.dispatchEvent(\n          new CustomEvent('eip6963:announceProvider', {\n            detail: Object.freeze({\n              provider,\n              info,\n            }),\n          })\n        );\n      };\n      window.addEventListener('eip6963:requestProvider', announceProvider);\n      announceProvider();\n      return () => {\n        window.removeEventListener('eip6963:requestProvider', announceProvider);\n      };\n    }\n  }, [provider, modalOptions.supportEIP6963]);\n\n  return <>{children}</>;\n};\n\nexport default ProviderInject;\n", "import { getLatestAuthType, isSocialAuthType } from '@particle-network/auth-core';\nimport { useEffect } from 'react';\nimport { useConnect, useEthereum } from './hooks';\n\n/**\n * https://github.com/WalletConnect/web3modal/\n */\nconst Web3ModalProvider = ({ web3Modal }: { web3Modal?: any }) => {\n  const { connectionStatus } = useConnect();\n  const { provider } = useEthereum();\n\n  useEffect(() => {\n    if (web3Modal && connectionStatus === 'connected' && isSocialAuthType(getLatestAuthType()) && provider) {\n      //https://github.com/WalletConnect/web3modal/blob/8109853/packages/ethers/src/client.ts#L560\n      web3Modal?.setEIP6963Provider?.(provider, 'Particle Wallet');\n    }\n  }, [connectionStatus, provider, web3Modal]);\n  return undefined;\n};\n\nexport default Web3ModalProvider;\n", "import { AuthCoreEvent, isConnected } from '@particle-network/auth-core';\nimport React, { useCallback, useEffect } from 'react';\nimport { useModalOptions, useParticleAuth } from '.';\nimport { useConnect, useEthereum, useSolana } from './hooks';\n\nenum MessageType {\n  OpenAccountAndSecurity = 'open-account-and-security',\n  GetUserInfo = 'get-user-info',\n}\n\nconst IframeWalletPlugin = () => {\n  const { provider } = useEthereum();\n\n  const { wallet } = useSolana();\n\n  const { modalOptions } = useModalOptions();\n\n  const { connected } = useConnect();\n\n  const { walletEntryPlugin } = useParticleAuth();\n\n  const customEventHandler = useCallback(async (messageType: string) => {\n    if (messageType === MessageType.OpenAccountAndSecurity) {\n      window.particle?._internal?.openAccountAndSecurity();\n    } else if (messageType === MessageType.GetUserInfo) {\n      return window.particle?._internal?.getUserInfo?.();\n    }\n  }, []);\n\n  useEffect(() => {\n    if (modalOptions.wallet !== false && walletEntryPlugin) {\n      const walletOptions = {\n        ...modalOptions.wallet,\n        erc4337: modalOptions.erc4337,\n        language: modalOptions.language,\n        customStyle: {\n          ...modalOptions.customStyle,\n          supportChains: modalOptions.chains?.map((item) => {\n            return {\n              id: item.id,\n              name: item.name,\n              chainType: (item?.custom?.chainType as 'evm' | 'solana') || 'evm',\n            };\n          }),\n        },\n      };\n\n      walletEntryPlugin.init(\n        {\n          projectId: modalOptions.projectId,\n          clientKey: modalOptions.clientKey,\n          appId: modalOptions.appId,\n        },\n        walletOptions\n      );\n      const onConnected = () => {\n        walletEntryPlugin.setWalletCore({\n          ethereum: provider,\n          solana: wallet,\n          customEventHandler,\n        });\n        walletEntryPlugin.walletEntryCreate();\n      };\n      const onDisconnect = () => {\n        walletEntryPlugin.walletEntryDestroy();\n      };\n      if (typeof window !== 'undefined') {\n        window.particleAuth?.on(AuthCoreEvent.ParticleAuthDisconnect, onDisconnect);\n        window.particleAuth?.on(AuthCoreEvent.ParticleAuthConnect, onConnected);\n      }\n      if (isConnected()) {\n        walletEntryPlugin.setWalletCore({\n          ethereum: provider,\n          solana: wallet,\n          customEventHandler,\n        });\n        walletEntryPlugin.walletEntryCreate();\n      }\n      return () => {\n        if (typeof window !== 'undefined') {\n          window.particleAuth?.off(AuthCoreEvent.ParticleAuthDisconnect, onDisconnect);\n          window.particleAuth?.off(AuthCoreEvent.ParticleAuthConnect, onConnected);\n        }\n      };\n    }\n  }, [modalOptions, provider, wallet, customEventHandler, walletEntryPlugin]);\n\n  useEffect(() => {\n    if (connected && modalOptions.wallet !== false && walletEntryPlugin) {\n      walletEntryPlugin.setWalletCore({\n        ethereum: provider,\n        solana: wallet,\n        customEventHandler,\n      });\n    }\n  }, [connected, provider, wallet, modalOptions.wallet, customEventHandler, walletEntryPlugin]);\n\n  return (\n    <div id='auth-core-modal-wallet-plugin' style={{ display: 'none' }}>\n      Wallet Plugin\n    </div>\n  );\n};\n\nexport default IframeWalletPlugin;\n", "import { Button, Modal } from 'antd';\nimport React from 'react';\nimport { PromptSettingType } from '../../../api/model/bundle';\nimport CircleClose from '../../../components/icon/circle-close';\nimport { useAuthCoreModal, useParticleAuth, useTranslation } from '../../../context';\nimport styles from './index.less';\nexport interface AccountTipModalProps {\n  visible: boolean;\n  confirm?: () => void;\n}\n\nconst AccountTipModal = ({ modal }: { modal: AccountTipModalProps }) => {\n  const { visible, confirm } = modal;\n  const { t } = useTranslation();\n  const { setPaymentPassword, showAccountTipModal, modalOptions } = useParticleAuth();\n  const { authCoreModal } = useAuthCoreModal();\n  const setPassword = () => {\n    showAccountTipModal({\n      visible: false,\n    });\n    setPaymentPassword();\n  };\n\n  const continueConfirm = () => {\n    confirm?.();\n    showAccountTipModal({\n      visible: false,\n    });\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <Modal\n        open={visible}\n        closable={false}\n        centered={true}\n        okButtonProps={{ style: { display: 'none' } }}\n        cancelButtonProps={{ style: { display: 'none' } }}\n        width={'90%'}\n        getContainer={() => {\n          return authCoreModal.rootBody as HTMLElement;\n        }}\n      >\n        <div className='wrong-password-content'>\n          <CircleClose\n            className='close-icon'\n            onClick={() =>\n              showAccountTipModal({\n                visible: false,\n              })\n            }\n          />\n          <h3 className='modal-title m-margin-top-20'>{t('account.account_modal1_title')}</h3>\n          <div className='tip'>{t('account.account_modal1_tip')}</div>\n          <Button className='btn' onClick={setPassword}>\n            {t('account.account_modal1_btn1')}\n          </Button>\n          {\n            // \u5F3A\u5236\u8BBE\u7F6E\u652F\u4ED8\u5BC6\u7801\uFF0C\u9690\u85CF\u8DF3\u8FC7\u6309\u94AE\n            modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign !==\n              PromptSettingType.everyAndNotSkip && (\n              <Button className='btn cancel' onClick={continueConfirm}>\n                {t('account.account_modal1_btn2')}\n              </Button>\n            )\n          }\n        </div>\n      </Modal>\n    </>\n  );\n};\n\nexport default AccountTipModal;\n", "import { ApiError, verifyPaymentPassword } from '@particle-network/auth-core';\nimport { useRequest } from 'ahooks';\nimport React, { useEffect, useState } from 'react';\nimport ParticleDrawer from '../../../components/particle-drawer';\nimport { useAuthCoreModal, useParticleAuth, useTranslation } from '../../../context';\nimport ParticleKeywords from '../ParticleKeywords';\nimport styles from './index.less';\nexport interface PaymentVerify {\n  visible: boolean;\n  onVerifyCompleted?: (password: string) => void;\n  onVerifyFailed?: (message: string) => void;\n  type?: 'close' | 'verify';\n}\n\n//\u652F\u4ED8\u65F6\u9A8C\u8BC1\nconst PaymentVerifyModal = ({ props }: { props: PaymentVerify }) => {\n  const { setPaymentVerify, setWrongPassword } = useParticleAuth();\n  const { t } = useTranslation();\n\n  const [pwd, setPwd] = useState('');\n  const { authCoreModal } = useAuthCoreModal();\n  useEffect(() => {\n    if (props.visible) {\n      setPwd('');\n    }\n  }, [props.visible]);\n\n  const { loading: verifyLoading, run: runVerify } = useRequest(verifyPaymentPassword, {\n    manual: true,\n    onSuccess: (result, params) => {\n      setPaymentVerify({ visible: false });\n      props.onVerifyCompleted?.(pwd);\n    },\n    onError: (error: any) => {\n      console.log('verify password error', error);\n      setPwd('');\n      if (error?.error_code === ApiError.WrongPaymentPassword) {\n        setWrongPassword({ visible: true });\n      } else if (error?.error_code === ApiError.SecurityAccountFrozen) {\n        const seconds = error.extra.seconds || 0;\n        setWrongPassword({\n          visible: true,\n          accountFrozen: {\n            seconds: seconds,\n          },\n        });\n      }\n    },\n  });\n\n  const closeVerify = () => {\n    if (verifyLoading) return false;\n    setPaymentVerify({ visible: false });\n    props.onVerifyFailed?.(t('common.cancel'));\n  };\n\n  const checkInputPwd = (value: string) => {\n    setPwd(value);\n    if (value.length === 6) {\n      runVerify(value);\n    }\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <ParticleDrawer\n        visible={props.visible}\n        placement='bottom'\n        height={421}\n        closable={false}\n        maskClosable={false}\n        onClose={closeVerify}\n        className='payment-password-drawer'\n        title={(props.type === 'close' ? t('account.close_payment_password') : t('account.payment_password')) as string}\n        forceRender={true}\n        getContainer={() => {\n          return authCoreModal.rootBody as HTMLElement;\n        }}\n      >\n        <div className='content payment-verify-content'>\n          <ParticleKeywords onChange={checkInputPwd} value={pwd} keyboardInvisible={verifyLoading} />\n        </div>\n      </ParticleDrawer>\n    </>\n  );\n};\n\nexport default PaymentVerifyModal;\n", "import { useInterval } from 'ahooks';\nimport { Button, Modal } from 'antd';\nimport React, { useEffect, useState } from 'react';\nimport CircleClose from '../../../components/icon/circle-close';\nimport { useAuthCoreModal, useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport styles from './index.less';\nexport interface WrongPasswordInfo {\n  visible: boolean;\n  accountFrozen?: { seconds: number };\n}\n\nconst WrongPasswordModal = ({ info }: { info: WrongPasswordInfo }) => {\n  const { t } = useTranslation();\n  const { setWrongPassword, setPaymentVerify, userInfo, showSelectSecurityAccount } = useParticleAuth();\n\n  const navigate = useCustomNavigate();\n\n  const forgotPassword = () => {\n    setWrongPassword({ visible: false });\n    setPaymentVerify({ visible: false });\n    chooseVerifyType();\n  };\n  const { authCoreModal } = useAuthCoreModal();\n\n  //reset password\n  const chooseVerifyType = () => {\n    if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n      showSelectSecurityAccount(true);\n    } else {\n      navigate('/account/set-password', {\n        state: {\n          account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n        },\n      });\n    }\n  };\n\n  const retry = () => {\n    setWrongPassword({ visible: false });\n  };\n\n  const [interval, setInterval] = useState<number | undefined>();\n\n  const [countdown, setCountdown] = useState(info.accountFrozen?.seconds || 0);\n\n  useInterval(() => {\n    const result = countdown - 1;\n    setCountdown(result);\n    if (result <= 0) {\n      setInterval(undefined);\n      retry();\n    }\n  }, interval);\n\n  useEffect(() => {\n    if (info.accountFrozen) {\n      setCountdown(info.accountFrozen.seconds);\n      setInterval(1000);\n    }\n    return () => {\n      setInterval(undefined);\n    };\n  }, [info.accountFrozen]);\n\n  const formatTime = (seconds: number): string => {\n    let h: string | number = Math.floor(seconds / 60 / 60);\n    h = h < 10 ? '0' + h : h;\n    let m: string | number = Math.floor((seconds / 60) % 60);\n    m = m < 10 ? '0' + m : m;\n    let s: string | number = Math.floor(seconds % 60);\n    s = s < 10 ? '0' + s : s;\n    return h + ':' + m + ':' + s;\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <Modal\n        open={info.visible}\n        closable={false}\n        centered={true}\n        okButtonProps={{ style: { display: 'none' } }}\n        cancelButtonProps={{ style: { display: 'none' } }}\n        getContainer={() => {\n          return authCoreModal.rootBody as HTMLDivElement;\n        }}\n      >\n        <div className='wrong-password-content'>\n          <CircleClose className='close-icon' onClick={retry} />\n\n          {info.accountFrozen ? (\n            <>\n              <div className='modal-title'>{t('account.incorrect_payment_password')}</div>\n              <div className='tip m-margin-top-20'>{t('account.incorrect_tip2')}</div>\n            </>\n          ) : (\n            <div className='tip m-margin-top-20'>{t('account.incorrect_tip1')}</div>\n          )}\n\n          {info.accountFrozen && <div className='frozen-countdown'>{formatTime(countdown)}</div>}\n\n          <Button className='btn' onClick={forgotPassword}>\n            {t('account.forgot_password')}\n          </Button>\n\n          {!info.accountFrozen && (\n            <Button className='btn' onClick={retry}>\n              {t('account.retry')}\n            </Button>\n          )}\n        </div>\n      </Modal>\n    </>\n  );\n};\n\nexport default WrongPasswordModal;\n", "import { AuthType } from '@particle-network/auth-core';\nimport { Button } from 'antd';\nimport React from 'react';\nimport ParticleDrawer from '../../../components/particle-drawer';\nimport { useAuthCoreModal, useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport { displayEmail, displayPhone } from '../../../utils/common-utils';\nimport styles from './index.less';\n\nconst SelectSecurityAccount = (props: any) => {\n  const { t } = useTranslation();\n  const { visible, state } = props;\n  const { showSelectSecurityAccount, userInfo } = useParticleAuth();\n  const navigate = useCustomNavigate();\n  const { authCoreModal } = useAuthCoreModal();\n  const navigateToVerify = (account?: string, authType?: AuthType) => {\n    if (state) {\n      navigate('/account/verify', {\n        state: {\n          account,\n          ...state,\n        },\n      });\n    } else {\n      navigate('/account/set-password', {\n        state: {\n          account,\n        },\n      });\n    }\n    showSelectSecurityAccount(false);\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <ParticleDrawer\n        title={t('account.modal_select_verification') ?? ''}\n        placement='bottom'\n        closable={false}\n        className='select-account-drawer'\n        visible={visible}\n        maskClosable={true}\n        forceRender={true}\n        height={220}\n        onClose={() => showSelectSecurityAccount(false)}\n        getContainer={() => {\n          return authCoreModal.rootBody as HTMLElement;\n        }}\n      >\n        <div className='select-account'>\n          <Button\n            className='account-btn'\n            onClick={() => navigateToVerify(userInfo?.security_account?.email, AuthType.email)}\n          >\n            {`${t('account.email')} - ${displayEmail(userInfo?.security_account?.email || '')}`}\n          </Button>\n          <Button\n            className='account-btn'\n            onClick={() => navigateToVerify(userInfo?.security_account?.phone, AuthType.phone)}\n          >\n            {`${t('account.mobile')} - ${displayPhone(userInfo?.security_account?.phone || '')}`}\n          </Button>\n        </div>\n      </ParticleDrawer>\n    </>\n  );\n};\n\nexport default SelectSecurityAccount;\n", "import type { LoginAuthorization, SolanaAuthorization, UserInfo } from '@particle-network/auth-core';\nimport {\n  AuthCoreEvent,\n  EvmRpcMethod,\n  SolanaRpcMethod,\n  connect,\n  getConnectCaptcha,\n  getUserInfo,\n  hasPaymentPassword,\n  isConnected,\n  particleAuth,\n  syncUserInfo,\n} from '@particle-network/auth-core';\nimport type { WalletEntryPlugin } from '@particle-network/wallet';\nimport { useAsyncEffect, useSetState, useSize } from 'ahooks';\nimport base58 from 'bs58';\nimport { EventEmitter } from 'events';\nimport get from 'lodash/get';\nimport React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport root from 'react-shadow';\nimport { AuthError } from '../api/model/authError';\nimport CustomRouter, { AuthPage } from '../components/customRouter';\nimport FocusTrap from '../components/focusTrap';\nimport ParticleModal from '../components/particle-modal';\nimport AuthCoreModalContainer from '../components/particle-modal/authCoreModalContainer';\nimport { dictionaries } from '../locales';\nimport type { AccountTipModalProps } from '../pages/account/accountTipModal';\nimport type { PaymentVerify } from '../pages/account/paymentVerifyModal';\nimport type { WrongPasswordInfo } from '../pages/account/wrongPasswordModal';\nimport { isServer } from '../utils';\nimport authorizeUtils from '../utils/authorizeUtils';\nimport { isSolana } from '../utils/chain-utils';\nimport { toHexPrefixString } from '../utils/common-utils';\nimport { sendAnalyticsActive } from '../utils/sendAnalyticsActive';\nimport { getVersion } from '../utils/version';\nimport ProviderInject from './providerInject';\nimport type {\n  AuthCoreModalOptions,\n  ConnectionStatus,\n  IAuthCoreModal,\n  ICustomRouter,\n  Language,\n  NavigateOptions,\n  SocialConnectCallback,\n  ViewType,\n} from './types';\nimport { AuthCoreModalEvent } from './types';\nimport Web3ModalProvider from './web3ModalProvider';\n\nconst IframeWalletPlugin = React.lazy(() => import('./iframeWalletPlugin'));\nconst AccountTipModal = React.lazy(() => import('../pages/account/accountTipModal'));\nconst PaymentVerifyModal = React.lazy(() => import('../pages/account/paymentVerifyModal'));\nconst WrongPasswordModal = React.lazy(() => import('../pages/account/wrongPasswordModal'));\nconst SelectSecurityAccount = React.lazy(() => import('../pages/account/selectSecurityAccount'));\n\nexport const defaultModalOptions: Partial<AuthCoreModalOptions> = {\n  themeType: 'light',\n  language: 'en',\n  fiatCoin: 'USD',\n  promptSettingConfig: {\n    promptPaymentPasswordSettingWhenSign: 1,\n    promptMasterPasswordSettingWhenLogin: 0,\n  },\n  customStyle: {\n    modalWidth: 400,\n    modalHeight: 650,\n  },\n  wallet: { visible: true, themeType: 'light' },\n};\n\ninterface GlobalState {\n  connectionStatus: ConnectionStatus;\n  setConnectionStatus: (status: ConnectionStatus) => void;\n  userInfo?: UserInfo;\n  modalOptions: AuthCoreModalOptions;\n  setModalOptions: (options: any) => void;\n  showSelectSecurityAccount: (display: boolean, state?: any) => void;\n  setWrongPassword: (info: WrongPasswordInfo) => void;\n  setPaymentVerify: (props: PaymentVerify) => void;\n  showAccountTipModal: (props: AccountTipModalProps) => void;\n  setPaymentPassword: () => void;\n  loginSuccessRedirectToApp: () => void;\n  events: EventEmitter;\n  authCoreModal: IAuthCoreModal;\n  setAuthCoreModal: (params: any) => void;\n  customRouter: ICustomRouter;\n  setCustomRouter: (params: any) => void;\n  customNavigate: (url: string | number, options?: NavigateOptions) => void;\n  setLoginAuthorization: (loginAuthorization?: LoginAuthorization) => void;\n  authCoreModalClose: () => void;\n  socialConnectCallback?: SocialConnectCallback;\n  setSocialConnectCallback: (callback?: SocialConnectCallback) => void;\n  walletEntryPlugin?: WalletEntryPlugin;\n  lang: string;\n  setLang: (value: Language) => void;\n}\n\nexport const GlobalContext = createContext<GlobalState | null>(null);\n\nconst events = new EventEmitter();\nevents.setMaxListeners(100);\n\nexport const AuthCoreContextProvider = (props: { options: AuthCoreModalOptions; children: React.ReactNode }) => {\n  const [userInfo, _setUserInfo] = useState<UserInfo | undefined>();\n  const userInfoRef = useRef<UserInfo | undefined>(userInfo);\n\n  const setUserInfo = (info: UserInfo | undefined) => {\n    _setUserInfo(info);\n    userInfoRef.current = info;\n  };\n\n  const [lang, setLang] = useState<Language>('en');\n  const rootRef = React.useRef<HTMLDivElement>(null);\n\n  const [styles, setStyles] = useState<any>({\n    styleList: [\n      {\n        name: 'antStyle',\n        loadStyle: () => import('../../../../node_modules/antd/dist/antd.css'),\n        styleContent: '',\n      },\n      {\n        name: 'globalStyle',\n        loadStyle: () => import('../common/style/global.scss'),\n        styleContent: '',\n      },\n      {\n        name: 'scrollStyle',\n        loadStyle: () => import('../common/style/scroll.scss'),\n        styleContent: '',\n      },\n      {\n        name: 'themeStyle',\n        loadStyle: () => import('../common/style/theme.scss'),\n        styleContent: '',\n      },\n    ],\n  });\n\n  const [modalOptions, setModalOptions] = useSetState<AuthCoreModalOptions>(props.options);\n\n  const [selectSecurityAccount, setSelectSecurityAccount] = useState(false);\n\n  const [verifySecurityAccountState, setVerifySecurityAccountState] = useState<any>();\n\n  const [wrongPassword, setWrongPassword] = useState<WrongPasswordInfo>({ visible: false });\n\n  const [accountTipModal, setAccountTipModal] = useState<AccountTipModalProps>({\n    visible: false,\n  });\n\n  const initParticleAuthRef = React.useRef<any>(false);\n\n  const [paymentVerify, setPaymentVerify] = useState<PaymentVerify>({ visible: false });\n\n  const [loginAuthorization, _setLoginAuthorization] = useState<LoginAuthorization>();\n\n  const loginAuthorizationRef = useRef<any>(null);\n\n  const setLoginAuthorization = (data?: LoginAuthorization) => {\n    _setLoginAuthorization(data);\n    loginAuthorizationRef.current = data;\n  };\n\n  const [connectionStatus, setConnectionStatus] = useState<ConnectionStatus>('loading');\n\n  const showSelectSecurityAccount = (display: boolean, state?: any) => {\n    setVerifySecurityAccountState(state);\n    setSelectSecurityAccount(display);\n  };\n\n  const showAccountTipModal = (props: AccountTipModalProps) => {\n    setAccountTipModal(props);\n  };\n\n  const loadStyles = () => {\n    const fns = styles.styleList.map((item: any) => {\n      return item?.loadStyle?.();\n    });\n    Promise.all(fns).then((styles: any) => {\n      const styleList = styles.map((item: any) => {\n        return {\n          styleContent: item.default,\n        };\n      });\n      setStyles({\n        styleList,\n      });\n    });\n  };\n\n  const [customRouter, setCustomRouter] = useSetState<ICustomRouter>({ path: '/' });\n  const [authCoreModal, setAuthCoreModal] = useSetState<IAuthCoreModal>({\n    viewType: 'mobile' as ViewType,\n    particleModalVisible: false,\n    rootModalContainer: null,\n    rootBody: null,\n    closable: true,\n  });\n\n  const customNavigate = useCallback(\n    (url: string | number, options?: NavigateOptions) => {\n      if (typeof url === 'string' && url !== '/') {\n        url = url.replace(/^\\//, '');\n      }\n\n      console.log('customNavigate', url, options);\n\n      let { history } = customRouter;\n\n      if (!history) {\n        history = [];\n      }\n\n      if (options?.back === true) {\n        if (\n          typeof url === 'string' &&\n          !!history.find((item: any) => item.path.replace(/^\\//, '') === (url as string).replace(/^\\//, ''))\n        ) {\n          url = history.findIndex((item) => item.path === url) - history.length + 1;\n        }\n      }\n\n      if (typeof url === 'string') {\n        if (url !== AuthPage.Login && url !== AuthPage.Index && !isConnected()) {\n          throw AuthError.notLogin();\n        }\n\n        const { replace = false, state = {} } = options || {};\n\n        if (history.length && replace) {\n          history.pop();\n        }\n\n        history.push({\n          path: url,\n          state,\n          updateAt: new Date().getTime(),\n        });\n\n        setCustomRouter({\n          path: url,\n          replace,\n          state,\n          history,\n        });\n      } else if (typeof url === 'number' && history.length > 0) {\n        for (let i = 0; i < Math.abs(url); i++) {\n          history.pop();\n        }\n\n        if (history.length === 0) {\n          setAuthCoreModal({\n            particleModalVisible: false,\n          });\n          return;\n        }\n\n        const route = history[history.length - 1];\n        setCustomRouter({\n          path: route?.path,\n          replace: false,\n          state: route?.state,\n          history,\n        });\n      }\n    },\n    [customRouter, setAuthCoreModal, setCustomRouter]\n  );\n\n  const setPaymentPassword = useCallback(() => {\n    if (userInfo?.security_account?.has_set_payment_password) {\n      return;\n    }\n    if (!userInfo?.security_account?.email && !userInfo?.security_account?.phone) {\n      customNavigate('/account/bind', {\n        state: {\n          accountType: userInfo?.email ? 'phone' : 'email',\n          showSwitch: true,\n          redirectUrl: '/account/set-password',\n        },\n      });\n      return;\n    }\n    if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n      showSelectSecurityAccount(true);\n    } else {\n      customNavigate('/account/set-password', {\n        state: {\n          account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n        },\n      });\n    }\n  }, [userInfo, customNavigate]);\n\n  const loginSuccessRedirectToApp = useCallback(() => {\n    console.log('login success', 'redirectToApp');\n\n    const userInfo = userInfoRef.current;\n    const loginAuthorization = loginAuthorizationRef.current;\n\n    let authorizeResult;\n    if (loginAuthorization && authorizeUtils.isNeedAuthorize(loginAuthorization)) {\n      if (hasPaymentPassword()) {\n        if (isSolana(loginAuthorization.chain)) {\n          const message = (loginAuthorization.authorization as SolanaAuthorization).message;\n          customNavigate(AuthPage.SolanaSign, {\n            state: {\n              method: SolanaRpcMethod.signMessage,\n              param: base58.decode(message),\n              loginAuthorizationSign: true,\n            },\n          });\n        } else {\n          authorizeUtils\n            .generateMessage(loginAuthorization.chain, modalOptions.erc4337)\n            .then((message) => {\n              customNavigate(AuthPage.EvmSign, {\n                state: {\n                  method: loginAuthorization.authorization.uniq\n                    ? EvmRpcMethod.personalSignUniq\n                    : EvmRpcMethod.personalSign,\n                  param: toHexPrefixString(message),\n                  loginAuthorizationSign: true,\n                },\n              });\n            })\n            .catch((error) => {\n              events.emit(AuthCoreModalEvent.LoginFail, error);\n            });\n        }\n        return;\n      } else {\n        authorizeUtils\n          .authorize(loginAuthorization, modalOptions.erc4337)\n          .then((result) => {\n            events.emit(AuthCoreModalEvent.LoginSuccess, {\n              ...userInfo,\n              authorization: result,\n            });\n          })\n          .catch((error) => {\n            events.emit(AuthCoreModalEvent.LoginFail, error);\n          });\n      }\n    } else {\n      events.emit(AuthCoreModalEvent.LoginSuccess, {\n        ...(userInfo ?? getUserInfo()),\n        authorization: authorizeResult,\n      });\n    }\n  }, [customNavigate, userInfo, modalOptions.erc4337, loginAuthorization]);\n\n  const authCoreModalClose = () => {\n    if (events.listenerCount(AuthCoreModalEvent.SignResponse) > 0) {\n      events.emit(AuthCoreModalEvent.SignResponse, {\n        error: AuthError.userRejectedRequest(),\n      });\n    }\n\n    if (events.listenerCount(AuthCoreModalEvent.LoginSuccess)) {\n      if (customRouter?.path === AuthPage.Login || !userInfo) {\n        events.emit(AuthCoreModalEvent.LoginFail, AuthError.userCancelOperation());\n      } else {\n        events.emit(AuthCoreModalEvent.LoginSuccess, userInfo);\n      }\n    }\n\n    setAuthCoreModal({\n      particleModalVisible: false,\n    });\n  };\n\n  const getPageHTML = () => {\n    let htmlContent = rootRef.current?.outerHTML || '';\n    const path = rootRef.current?.getAttribute('data-path');\n    htmlContent = Buffer.from(htmlContent).toString('base64');\n    console.log('getPageHTML', path, htmlContent.substring(0, 30) + '...');\n    return htmlContent;\n  };\n\n  const fontStyle = useMemo(() => {\n    let style = '';\n    if (!isServer()) {\n      const bodyFontFamily = window.getComputedStyle(window.document.body).fontFamily;\n      const fontFamily =\n        props.options?.customStyle?.fontFamily ||\n        bodyFontFamily ||\n        '\"PingFang SC\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif';\n\n      style = ` \n                            .particle-auth-core-shadow-root {\n                                --auth-core-font-family: ${fontFamily};\n                            }\n                        `;\n    }\n\n    return style;\n  }, [props.options?.customStyle?.fontFamily]);\n\n  // \u81EA\u5B9A\u4E49 \u4E3B\u9898\n  const customThemeStyle = useMemo(() => {\n    const themeType = modalOptions.themeType;\n    const customStyle = modalOptions.customStyle || {};\n\n    const theme = {\n      ...Object.fromEntries(\n        Object.keys(customStyle || {})\n          .filter((key) => key !== 'theme')\n          .map((key) => {\n            return [key, (customStyle as any)?.[key] || ''];\n          })\n      ),\n\n      ...(customStyle?.theme?.[themeType === 'light' ? 'light' : 'dark'] || {}),\n    };\n\n    const styleContent = Object.keys(theme)\n      .filter((key) => key !== 'fontFamily')\n      .map((key) => {\n        const name = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n        let value = theme[key as keyof typeof theme];\n        if (!isNaN(Number(value))) {\n          value = value + 'px';\n        }\n        return `--${name}:${value};`;\n      })\n      .join('\\n');\n\n    if (themeType === 'dark') {\n      return `.particle-auth-core-shadow-root.dark{\n                    ${styleContent}\n                }`;\n    }\n\n    return `.particle-auth-core-shadow-root{\n            ${styleContent}\n        }`;\n  }, [modalOptions.themeType, modalOptions.customStyle]);\n\n  useEffect(() => {\n    setModalOptions({\n      ...defaultModalOptions,\n      ...props.options,\n      promptSettingConfig: {\n        ...defaultModalOptions.promptSettingConfig,\n        ...props.options.promptSettingConfig,\n      },\n      customStyle: {\n        ...defaultModalOptions.customStyle,\n        ...props.options.customStyle,\n      },\n    });\n  }, [props.options, setModalOptions]);\n\n  useEffect(() => {\n    // \u5F39\u51FA\u7A97\u53E3\u540E \u9501\u5B9Abody \u6EDA\u52A8\n    if (!document.querySelector('.particle-auth-core-body-style')) {\n      const style = document.createElement('style');\n      style.classList.add('particle-auth-core-body-style');\n      const styleContent = `.particle-modal-lock {\n                overflow: hidden !important;\n            }`;\n      style.innerHTML = styleContent;\n      document.head.appendChild(style);\n    }\n\n    if (authCoreModal.particleModalVisible) {\n      document.body.classList.add('particle-modal-lock');\n      const rootBody = authCoreModal.rootModalContainer?.querySelector(\n        '.root-particle-modal-container .ant-drawer-body,.root-particle-modal-container .ant-modal-body'\n      ) as HTMLDivElement;\n      setAuthCoreModal({\n        rootBody,\n      });\n    } else {\n      // \u5173\u95EDrootModal\u5F39\u7A97\u540E\uFF0C\u5EF6\u65F6\u6E05\u7A7A\u8DEF\u7531\n      setTimeout(() => {\n        setCustomRouter({\n          path: '/',\n          history: [],\n        });\n      }, 100);\n      document.body.classList.remove('particle-modal-lock');\n    }\n  }, [authCoreModal.particleModalVisible, authCoreModal.rootModalContainer]);\n\n  const bodySze = useSize(isServer() ? null : document.body);\n\n  useEffect(() => {\n    // \u8BBE\u7F6EviewType \u4E3A\u5168\u5C40\u53D8\u91CF desktop | mobile\n    let viewType: ViewType = 'mobile';\n    if (document.body.clientWidth >= 600) {\n      viewType = 'desktop';\n    }\n    setAuthCoreModal({\n      viewType,\n    });\n  }, [bodySze]);\n\n  useEffect(() => {\n    if (customRouter?.path && customRouter?.path != '/') {\n      // \u8DEF\u7531 path \u4E0D\u4E3A / \u65F6\uFF0C\u6253\u5F00rootModal\u5F39\u7A97\n      setAuthCoreModal({\n        particleModalVisible: true,\n      });\n    }\n  }, [customRouter?.path]);\n\n  useEffect(() => {\n    // \u8BBE\u7F6E\u6A21\u6001\u6846\u7684\u5BBD\u5EA6\u548C\u9AD8\u5EA6\uFF0C\u54CD\u5E94\u79FB\u52A8\u7AEF\u89C6\u56FE\n    if (rootRef.current) {\n      const minWidth = 300;\n      const minHeight = 500;\n      let modalWidth = Math.max(minWidth, Number(modalOptions.customStyle?.modalWidth));\n      let modalHeight = Math.max(minHeight, Number(modalOptions.customStyle?.modalHeight));\n\n      if (authCoreModal.viewType == 'mobile') {\n        modalWidth = document.body.clientWidth;\n        modalHeight = document.body.clientHeight * 0.86;\n      }\n      const vm = modalWidth / 100;\n      rootRef.current.style.setProperty('--vw', vm + 'px');\n      rootRef.current.style.setProperty('--doc-height', modalHeight + 'px');\n      rootRef.current.style.setProperty('--doc-width', modalWidth + 'px');\n    }\n  }, [\n    rootRef.current,\n    authCoreModal.viewType,\n    modalOptions.customStyle?.modalWidth,\n    modalOptions.customStyle?.modalHeight,\n  ]);\n\n  useEffect(() => {\n    setTimeout(() => {\n      setLang(modalOptions.language || 'en');\n    });\n  }, [modalOptions.language]);\n\n  useEffect(() => {\n    const onMasterPasswordChange = () => {\n      customNavigate(AuthPage.MasterPasswordVerify);\n    };\n    window?.particleAuth?.on(AuthCoreEvent.MasterPasswordChanged, onMasterPasswordChange);\n    return () => {\n      window?.particleAuth?.off(AuthCoreEvent.MasterPasswordChanged, onMasterPasswordChange);\n    };\n  }, [customRouter.history, customNavigate]);\n\n  useEffect(() => {\n    const userInfoChanged = (userInfo: UserInfo) => {\n      setUserInfo(userInfo);\n    };\n    const onDisconnect = (error?: Error) => {\n      setUserInfo(undefined);\n      if (events.listenerCount(AuthCoreModalEvent.SignResponse) > 0) {\n        // \u5982\u679C\u6709\u76D1\u542CsignResponse\u4E8B\u4EF6\uFF0C\u8BF4\u660E\u662F\u5728\u7B7E\u540D\u4E2D\u65AD\uFF0C\u9700\u8981\u89E6\u53D1signResponse\u4E8B\u4EF6\n        events.emit(AuthCoreModalEvent.SignResponse, {\n          error: error || AuthError.notLogin(),\n        });\n      }\n      setAuthCoreModal({\n        particleModalVisible: false,\n      });\n    };\n\n    window?.particleAuth?.on(AuthCoreEvent.UserInfoChanged, userInfoChanged);\n    window?.particleAuth?.on(AuthCoreEvent.ParticleAuthDisconnect, onDisconnect);\n    return () => {\n      window?.particleAuth?.off(AuthCoreEvent.UserInfoChanged, userInfoChanged);\n      window?.particleAuth?.off(AuthCoreEvent.ParticleAuthDisconnect, onDisconnect);\n    };\n  }, []);\n\n  if (!initParticleAuthRef.current || particleAuth.chains != modalOptions.chains) {\n    // authCore \u521D\u59CB\u5316\n    particleAuth.init({\n      projectId: modalOptions.projectId || props.options.projectId,\n      clientKey: modalOptions.clientKey || props.options.clientKey,\n      appId: modalOptions.appId || props.options.appId,\n      chains: modalOptions.chains,\n    });\n    const info = getUserInfo();\n    setUserInfo(info);\n    initParticleAuthRef.current = true;\n\n    if (info) {\n      const { token = '', ...restInfo } = info;\n      sendAnalyticsActive('open', restInfo);\n    }\n  }\n\n  useEffect(() => {\n    if (isConnected()) {\n      syncUserInfo().catch((e) => console.error('syncUserInfo', e));\n    }\n    loadStyles();\n\n    if (!props?.options?.chains.length) {\n      throw new Error('Auth Core: Please set chains in options');\n    }\n  }, []);\n\n  if (!isServer()) {\n    // @ts-ignore\n    window.__getConnectCaptcha = getConnectCaptcha;\n    // @ts-ignore\n    window.__connect = connect;\n    // @ts-ignore\n    window.__getUserInfo = getUserInfo;\n    // @ts-ignore\n    window.__getPageHTML = getPageHTML;\n    // @ts-ignore\n    window.__navigate = customNavigate;\n    // @ts-ignore\n    window.__particleAuthCoreModal__ = rootRef?.current;\n  }\n\n  useEffect(() => {\n    console.log('\uD83D\uDE80 ~ AuthCoreContextProvider ~ connectionStatus:', connectionStatus);\n  }, [connectionStatus]);\n\n  const [socialConnectCallback, setSocialConnectCallback] = useState<SocialConnectCallback>();\n  const [walletEntryPlugin, setWalletEntryPlugin] = useState<WalletEntryPlugin>();\n\n  useAsyncEffect(async () => {\n    if (modalOptions.wallet !== false) {\n      const { walletEntryPlugin } = await import('@particle-network/wallet');\n      setWalletEntryPlugin(walletEntryPlugin);\n    }\n  }, [modalOptions.wallet]);\n\n  return (\n    <GlobalContext.Provider\n      value={{\n        connectionStatus,\n        setConnectionStatus,\n        userInfo,\n        modalOptions,\n        setModalOptions,\n        showSelectSecurityAccount,\n        setWrongPassword,\n        setPaymentVerify,\n        showAccountTipModal,\n        setPaymentPassword,\n        loginSuccessRedirectToApp,\n        events,\n        authCoreModal,\n        setAuthCoreModal,\n        customRouter,\n        setCustomRouter,\n        customNavigate,\n        setLoginAuthorization,\n        authCoreModalClose,\n        socialConnectCallback,\n        setSocialConnectCallback,\n        walletEntryPlugin,\n        lang,\n        setLang,\n      }}\n    >\n      <ProviderInject>{props.children}</ProviderInject>\n\n      {isServer() ? (\n        <div></div>\n      ) : (\n        <root.div mode='closed'>\n          <div\n            id='particle-auth-core-modal'\n            className={`particle-auth-core-shadow-root ${modalOptions.themeType}`}\n            data-path={customRouter?.path}\n            data-auth-core-modal-version={getVersion()}\n            data-auth-core-version={particleAuth.version}\n            ref={rootRef}\n            onClick={(event) => {\n              event.stopPropagation();\n            }}\n          >\n            {/* <KeyboardProvider container={rootRef.current as HTMLElement}> */}\n            <FocusTrap>\n              <style data-name='fontStyle'>{fontStyle}</style>\n              {!!styles.styleList[0].styleContent &&\n                styles.styleList.map((item: any, index: number) => {\n                  return (\n                    <style data-name={item.name} data-index={index} key={index}>\n                      {item.styleContent}\n                    </style>\n                  );\n                })}\n              <style data-name='customTheme'>{customThemeStyle as unknown as string}</style>\n\n              {authCoreModal.rootModalContainer && (\n                <ParticleModal\n                  visible={authCoreModal.particleModalVisible}\n                  closable={authCoreModal.closable}\n                  onClose={() => {\n                    authCoreModalClose();\n                  }}\n                  className='root-particle-modal-container'\n                  modalProps={{\n                    footer: null,\n                    width: parseInt(modalOptions.customStyle?.modalWidth as unknown as string),\n                    height: parseInt(modalOptions.customStyle?.modalHeight as unknown as string),\n                    forceRender: true,\n                    destroyOnClose: true,\n                    style: {\n                      maxWidth: modalOptions.customStyle?.modalWidth,\n                    },\n                    zIndex: modalOptions.customStyle?.zIndex || 99999,\n                  }}\n                  drawerProps={{\n                    height: '86%',\n                    closable: false,\n                    forceRender: true,\n                    destroyOnClose: true,\n                    push: false,\n                    zIndex: modalOptions.customStyle?.zIndex || 99999,\n                  }}\n                >\n                  <CustomRouter\n                    path={customRouter?.path}\n                    state={customRouter?.state}\n                    replace={customRouter?.replace}\n                    children={customRouter?.children}\n                  />\n                </ParticleModal>\n              )}\n\n              <React.Suspense>\n                <IframeWalletPlugin />\n                <SelectSecurityAccount visible={selectSecurityAccount} state={verifySecurityAccountState} />\n                <AccountTipModal modal={accountTipModal} />\n                <PaymentVerifyModal props={paymentVerify} />\n                <WrongPasswordModal info={wrongPassword} />\n              </React.Suspense>\n              <AuthCoreModalContainer data-ref='rootModalContainer' setAuthCoreModal={setAuthCoreModal} />\n              {props.options.web3Modal && <Web3ModalProvider web3Modal={props.options.web3Modal} />}\n            </FocusTrap>\n            {/* </KeyboardProvider> */}\n          </div>\n        </root.div>\n      )}\n    </GlobalContext.Provider>\n  );\n};\n\nexport const useParticleAuth = () => {\n  const context = useContext(GlobalContext);\n  if (!context) {\n    throw new Error('Auth Core hooks must used in AuthCoreContextProvider');\n  }\n  return context;\n};\n\nexport const useAuthCoreModal = () => {\n  const { authCoreModal, setAuthCoreModal, authCoreModalClose } = useParticleAuth();\n  return {\n    authCoreModalClose,\n    authCoreModal,\n    setAuthCoreModal,\n  };\n};\n\nexport const useCustomRouter = () => {\n  const { customRouter, setCustomRouter } = useParticleAuth();\n  return {\n    customRouter,\n    setCustomRouter,\n  };\n};\n\nexport const useCustomNavigate = () => {\n  const { customNavigate } = useParticleAuth();\n\n  return customNavigate;\n};\n\nexport const useSupportedChains = () => {\n  const { modalOptions } = useParticleAuth();\n  return modalOptions?.chains || [];\n};\n\nexport const useModalOptions = () => {\n  const { modalOptions, setModalOptions } = useParticleAuth();\n  return {\n    modalOptions,\n    setModalOptions,\n  };\n};\n\nexport const useEvents = () => {\n  const { events } = useParticleAuth();\n  return { events };\n};\n\nexport const useTranslation = () => {\n  const { lang } = useParticleAuth();\n  const tempData = (dictionaries[lang.toLowerCase() as keyof typeof dictionaries] || dictionaries.en)();\n  type ValueType = Awaited<typeof tempData>;\n  const [data, setData] = useState<ValueType>({} as ValueType);\n\n  useEffect(() => {\n    async function getTranslations() {\n      const targetTranslations = await tempData;\n\n      setData(targetTranslations);\n    }\n\n    getTranslations();\n  }, [lang]);\n\n  const getTranslation = useCallback(\n    (key: string) => {\n      const keyItems = key.split('.');\n      return get(data, keyItems, '');\n    },\n    [data]\n  );\n\n  return { ...data, t: getTranslation };\n};\n", "import { AuthCoreContextProvider } from './context';\n\nexport type { EVMProvider } from './context/evmProvider';\nexport type { SolanaWallet } from './context/solanaWallet';\nexport * from './context/types';\nexport * from './types';\n\nexport * from './api/model/bundle';\nexport * from './context/hooks';\n\nexport { getEVMPublicAddress } from './api/getPublicAddress';\nexport { isValidE164PhoneNumber, isValidEmail } from './utils';\n\nexport { AuthCoreContextProvider };\n", "export const currencyUnitValues = [\n  'USD',\n  'CNY',\n  'JPY',\n  'HKD',\n  'INR',\n  'KRW',\n  'usd',\n  'cny',\n  'jpy',\n  'hkd',\n  'inr',\n  'krw',\n] as const;\n\nexport type CurrencyUnit = (typeof currencyUnitValues)[number];\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAa;AAAb;AAAA;AAAA;AAAO,IAAM,YAAN,MAAgB;AAAA,MACrB,YAAmB,MAAqBA,UAAiB;AAAtC;AAAqB,uBAAAA;AACtC,aAAK,OAAO;AACZ,aAAK,UAAUA;AAAA,MACjB;AAAA,MAEA,OAAc,WAAW;AACvB,eAAO,IAAI,UAAU,MAAM,uDAAuD;AAAA,MACpF;AAAA,MAEA,OAAc,sBAAsB;AAClC,eAAO,IAAI,UAAU,MAAM,+BAA+B;AAAA,MAC5D;AAAA,MAEA,OAAc,sBAAsB;AAClC,eAAO,IAAI,UAAU,MAAM,8BAA8B;AAAA,MAC3D;AAAA,MAEA,OAAc,eAAe;AAC3B,eAAO,IAAI,UAAU,MAAM,yEAAyE;AAAA,MACtG;AAAA,MAEA,OAAc,cAAc;AAC1B,eAAO,IAAI,UAAU,MAAM,cAAc;AAAA,MAC3C;AAAA,MAEA,OAAc,cAAc;AAC1B,eAAO,IAAI,UAAU,MAAM,oCAAoC;AAAA,MACjE;AAAA,MAEA,OAAc,WAAW;AACvB,eAAO,IAAI,UAAU,MAAM,uBAAuB;AAAA,MACpD;AAAA,MAEA,OAAc,mBAAmB;AAC/B,eAAO,IAAI,UAAU,MAAM,oBAAoB;AAAA,MACjD;AAAA,MAEA,OAAc,iBAAiB;AAC7B,eAAO,IAAI,UAAU,MAAM,iBAAiB;AAAA,MAC9C;AAAA,MAEA,OAAc,UAAU;AACtB,eAAO,IAAI,UAAU,MAAM,eAAe;AAAA,MAC5C;AAAA,MAEA,OAAc,QAAQA,UAAiB;AACrC,eAAO,IAAI,UAAU,KAAMA,QAAO;AAAA,MACpC;AAAA,MAEA,OAAc,QAAQ,QAAgB;AACpC,eAAO,IAAI,UAAU,QAAQ,mBAAmB,sCAAsC;AAAA,MACxF;AAAA,IACF;AAAA;AAAA;;;;;;;;;;;ACrDA,kBAGM,iBA0BCC;AA7BP,IAAAC,gBAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB;AAEA,IAAM,kBAAkB,MAAM;AAC5B,aACE,6BAAAC,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA,cAAC,eAAO,eAA4B,GACpC,6BAAAA,QAAA,cAAC,SAAI,WAAU,qBACb,6BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,GACL,6BAAAA,QAAA,cAAC,WAAI,CACP,GACA,6BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAa,YAAU,GACtC,6BAAAA,QAAA,cAAC,SAAI,WAAU,eAAY,kBAAgB,CAC7C,CACF;AAAA,IAEJ;AAEA,IAAOF,mBAAQ;AAAA;AAAA;;;;;;;;;;;AC7BR,SAAS,KAAK,KAAa,OAAsB;AACtD,MAAI,OAAO;AACT,iBAAa,QAAQ,KAAK,KAAK;AAAA,EACjC,OAAO;AACL,eAAW,GAAG;AAAA,EAChB;AACF;AAEO,SAAS,KAAK,KAA4B;AAC/C,SAAO,aAAa,QAAQ,GAAG;AACjC;AAEO,SAAS,KAAK,KAAsB;AACzC,QAAM,QAAQ,aAAa,QAAQ,GAAG;AAEtC,MAAI,CAAC,OAAO;AACV,iBAAa,QAAQ,KAAK,GAAG;AAAA,EAC/B;AACA,SAAO,QAAQ,KAAK;AACtB;AAEO,SAAS,WAAW,KAAa;AACtC,eAAa,WAAW,GAAG;AAC7B;AAvBA,IAyBa;AAzBb;AAAA;AAAA;AAyBO,IAAM,gBAAN,MAAoB;AAAA,IAG3B;AAFE,IADW,cACJ,+BAA+B;AACtC,IAFW,cAEJ,8BAA8B;AAAA;AAAA;;;AC3BvC,IAKY;AALZ;AAAA;AAAA;AAKO,IAAK,oBAAL,kBAAKG,uBAAL;AAIL,MAAAA,sCAAA,UAAO,KAAP;AAIA,MAAAA,sCAAA,WAAQ,KAAR;AAIA,MAAAA,sCAAA,WAAQ,KAAR;AAIA,MAAAA,sCAAA,qBAAkB,KAAlB;AAhBU,aAAAA;AAAA,OAAA;AAAA;AAAA;;;ACLZ,IAGa;AAHb;AAAA;AAAA;AAAA;AAGO,IAAM,4BAA4B,CAAC,yCAA4D;AACpG,UACE,0DACA,kEACA;AACA,eAAO;AAAA,MACT,WAAW,wCAAwC,wDAAkE;AACnH,eAAO,CAAC,KAAK,cAAc,2BAA2B;AAAA,MACxD,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoBO,SAAS,aAAa,OAAgB;AAC3C,MAAI,SAAS,YAAY,KAAK,KAAK,GAAG;AACpC,WAAO;AAAA,EACT;AACF;AAEO,SAAS,aAAa,OAAe,YAA6B;AACvE,MAAI,CAAC,SAAS,MAAM,SAAS,GAAG;AAC9B,WAAO;AAAA,EACT;AACA,QAAM,cAAc,yCAAY;AAChC,QAAM,aAAS,+BAAmB,OAAO,WAAW;AACpD,SAAO;AACT;AAeO,SAAS,eAAe,MAAe;AAC5C,SAAO,QAAQ,KAAK,MAAM,SAAS;AACrC;AAhEA,IACA,YAmBa,WAQA,aAIA,cAiBA,wBAiBA,sBAIA,UAKA,UAEA,UAEA;AA/Eb;AAAA;AAAA;AACA,iBAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGO,IAAM,YAAY,CAAC,SAAiB;AACzC,UAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,SAAS,GAAG;AACxC,eAAO,QAAQ;AAAA,MACjB;AAEA,aAAO,wBAAwB,UAAU,KAAK,MAAM,CAAC,CAAC;AAAA,IACxD;AAEO,IAAM,cAAc;AAIpB,IAAM,eAAe;AAiBrB,IAAM,yBAAyB,CAAC,UAA8B;AACnE,UAAI,SAAS,aAAa,KAAK,KAAK,GAAG;AACrC,YAAI;AACF,kBAAI,+BAAmB,KAAK,GAAG;AAC7B,kBAAM,gBAAY,sCAA0B,KAAK,EAAE,OAAO,OAAO;AACjE,mBAAO;AAAA,UACT;AAAA,QACF,SAAS,GAAP;AAAA,QAEF;AAAA,MACF;AAAA,IACF;AAMO,IAAM,uBAAuB,MAAM;AACxC,aAAO;AAAA,IACT;AAEO,IAAM,WAAW,MAAM;AAC5B,UAAI,SAAS;AAAG,eAAO;AACvB,aAAO,iEAAiE,KAAK,UAAU,SAAS;AAAA,IAClG;AAEO,IAAM,WAAW,MAAM,OAAO,WAAW;AAEzC,IAAM,WAAW,MAAM,OAAO,WAAW;AAEzC,IAAM,gBAAgB,CAAC,UAA0C;AACtE,YAAM,cAAc,UAAU,SAAS,4BAAc;AACrD,YAAM,aAAa,UAAU,SAAS,2BAAa;AACnD,YAAM,YAAY,UAAU,SAAS,0BAAY;AACjD,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AClGA,sBAGa;AAHb;AAAA;AAAA;AAAA,uBAA4D;AAC5D;AAEO,IAAM,sBAAsB,CACjC,QACA,aACG;AANL;AAOE,YAAM,OAAO,kCAAY,8BAAY;AACrC,UAAI,QAAQ,SAAS,GAAG;AACtB,YAAI,SAAS,KAAK,QAAQ,KAAK,CAAC,SAAS,KAAK,eAAe,QAAQ;AACrE,YAAI,EAAC,iCAAQ,iBAAgB;AAC3B,mBAAS,KAAK,QAAQ,KAAK,CAAC,SAAS,KAAK,eAAe,QAAQ;AAAA,QACnE;AACA,YAAI,UAAU,OAAO,gBAAgB;AAEnC,gDAAgB;AAAA,YACd,UACE,OAAO,eAAe,WAClB,QAAO,YAAO,iBAAP,mBAAqB,SAAS,OAAO,MAC5C,YAAO,iBAAP,mBAAqB,OAAO,YAAW;AAAA,YAC7C,UAAU,KAAK;AAAA,YACf,YAAY;AAAA,YACZ;AAAA,YACA,gBAAgB,OAAO;AAAA,YACvB,WAAW,KAAK,UAAU,IAAI;AAAA,UAChC,CAAC;AAAA,QAEH;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AC7BA,IA8BY;AA9BZ;AAAA;AAAA;AA8BO,IAAK,qBAAL,kBAAKC,wBAAL;AACL,MAAAA,oBAAA,WAAQ;AACR,MAAAA,oBAAA,kBAAe;AACf,MAAAA,oBAAA,eAAY;AACZ,MAAAA,oBAAA,kBAAe;AAJL,aAAAA;AAAA,OAAA;AAAA;AAAA;;;AC9BZ,sBAQAC,mBACA,kBACAC,eAOM,UAmFC;AApGP;AAAA;AAAA;AAAA,uBAA2B;AAQ3B,IAAAD,oBAAyD;AACzD,uBAAsB;AACtB,IAAAC,gBAA4B;AAC5B;AACA;AAEA;AAGA,IAAM,WAAW,MAAM;AACrB,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,2BAA2B,cAAc,QAAAC,QAAO,IAAI,gBAAgB;AAC5E,YAAM,mBAAe;AAAA,QACnB,OAAO,MAAoB,YAAqB,SAAS;AArB7D;AAsBM,cAAI;AACF,gBAAI,CAAC,KAAK,OAAO;AACf,mBAAK,QAAQ,aAAa,OAAO;AAAA,YACnC;AACA,kBAAM,WAAW,UAAM,2BAAQ,IAAI;AACnC,kBAAM,EAAE,QAAQ,OAAO,SAAS,IAAI;AACpC,gCAAoB,SAAS,QAAQ;AAErC,mDAAgB;AAAA,cAEd,aAAa,4BAAW;AAAA,YAC1B,CAAC;AACD,oBAAQ,IAAI,yCAAyC;AAErD,iBAAI,cAAS,qBAAT,mBAA2B,yBAAyB;AACtD,sBAAQ,IAAI,gDAAgD;AAC5D,oFAAwC;AAAA,gBACtC,SAAS;AAAA,gBACT,OAAO;AAAA,kBACL,2BAA2B;AAAA,gBAC7B;AAAA,cACF,CAAC;AAAA,YACH,OAAO;AACL,kBAAI,2BAA0B,kBAAa,wBAAb,mBAAkC,oCAAoC,GAAG;AACrG,wBAAQ,IAAI,6CAA6C;AACzD,sFAAwC;AAAA,kBACtC,SAAS;AAAA,gBACX,CAAC;AAAA,cACH,OAAO;AACL,0CAA0B;AAAA,cAC5B;AAAA,YACF;AAAA,UACF,SAASC,QAAP;AACA,mDAAgB;AAAA,cAEd,aAAa,4BAAW;AAAA,YAC1B,CAAC;AACD,gBAAI,WAAW;AACb,sBAAQ,IAAI,sCAAsCA,MAAK;AACvD,cAAAD,QAAO,kCAAmCC,MAAK;AAAA,YACjD,OAAO;AACL,oBAAMA;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA,CAAC,aAAa,qBAAqB,UAAU,2BAA2B,6CAAc,MAAM;AAAA,MAC9F;AAEA,YAAM,sBAAkB;AAAA,QACtB,OACE,YAIG;AACH,cAAI;AACF,kBAAM,eAAW,iBAAAC;AAAA,cACf,KAAK,UAAU;AAAA,gBACb,OAAO,QAAQ;AAAA,gBACf,eAAe,QAAQ;AAAA,gBACvB,YAAY,QAAQ;AAAA,cACtB,CAAC;AAAA,YACH;AACA,sBAAM,kCAAe;AAAA,cACnB,UAAU,QAAQ;AAAA,cAClB;AAAA,cACA,QAAQ,QAAQ;AAAA,YAClB,CAAC;AAAA,UACH,SAASD,QAAP;AACA,YAAAD,QAAO,kCAAmCC,MAAK;AAAA,UACjD;AAAA,QACF;AAAA,QACA,CAACD,OAAM;AAAA,MACT;AAEA,aAAO,EAAE,cAAc,gBAAgB;AAAA,IACzC;AAEA,IAAO,mBAAQ;AAAA;AAAA;;;ACnGf,SAAS,YAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,MAAK,QAAO,SAAQ,oBAAoB,GAAG,SAAO,qCAAC,UAAK,QAAO,gBAAe,aAAa,KAAK,GAAE,qDAAoD,CAAE;AAClO;AAHA,IAAAG,QAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAIvB,IAAO,sBAAQ;AAAA;AAAA;;;ACHf,SAASC,aAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,MAAK,QAAO,SAAQ,mBAAmB,GAAG,SAAO,qCAAC,UAAK,OAAO,OAAO,QAAQ,OAAO,GAAG,QAAQ,GAAG,OAAO,QAAO,gBAAe,IAAI,OAAO,WAAU,0BAAyB,GAAE,qCAAC,UAAK,OAAO,OAAO,QAAQ,OAAO,GAAG,QAAQ,GAAG,OAAO,QAAO,gBAAe,IAAI,OAAO,WAAU,4BAA2B,CAAE;AACzX;AAHA,IAAAC,QAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAIvB,IAAO,qBAAQD;AAAA;AAAA;;;ACHf,SAASE,aAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,MAAK,QAAO,SAAQ,mBAAmB,GAAG,SAAO,qCAAC,UAAK,OAAO,OAAO,QAAQ,OAAO,GAAG,KAAK,GAAG,QAAQ,QAAO,gBAAe,IAAI,OAAO,WAAU,2BAA0B,GAAE,qCAAC,UAAK,OAAO,OAAO,QAAQ,OAAO,GAAG,OAAO,GAAG,QAAQ,QAAO,gBAAe,IAAI,OAAO,WAAU,6BAA4B,CAAE;AACzX;AAHA,IAAAC,QAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAIvB,IAAO,2BAAQD;AAAA;AAAA;;;ACHf,SAASE,aAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,qBAAqB,GAAG,SAAO,qCAAC,OAAE,aAAU,kBAAc,qCAAC,OAAE,aAAU,uBAAoB,OAAO;AAAA,IAC5K,eAAe;AAAA,IACf,gBAAgB;AAAA,EAClB,KAAG,qCAAC,UAAK,GAAE,iGAAgG,OAAO;AAAA,IAC9G,QAAQ;AAAA,EACV,GAAG,WAAU,kCAAiC,GAAE,qCAAC,UAAK,GAAE,kNAAiN,OAAO;AAAA,IAC9Q,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,GAAG,WAAU,kCAAiC,CAAE,GAAI,qCAAC,UAAK,GAAE,2CAA0C,aAAU,oBAAiB,OAAO;AAAA,IACxI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,IACf,gBAAgB;AAAA,EAClB,GAAG,WAAU,2BAA0B,CAAE,CAAI;AACnD;AAjBA,IAAAC,QAkBO;AAlBP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAkBvB,IAAO,oBAAQD;AAAA;AAAA;;;ACjBf,SAASE,aAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,qCAAC,cAAK,qCAAC,eAAO,6BAA8B,CAAQ,GAAO,qCAAC,OAAE,IAAG,wBAAsB,aAAU,gBAAc,WAAU,0BAAuB,qCAAC,OAAE,IAAG,mBAAkB,WAAU,iCAA8B,qCAAC,OAAE,IAAG,uBAAqB,aAAU,eAAa,WAAU,+BAA4B,qCAAC,YAAO,IAAG,gBAAe,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO;AAAA,IAC7b,SAAS;AAAA,EACX,GAAG,CAAE,CAAI,GAAI,qCAAC,OAAE,IAAG,sBAAoB,aAAU,cAAY,WAAU,iCAA8B,qCAAC,OAAE,IAAG,+BAA4B,aAAU,yBAAoB,qCAAC,UAAK,GAAE,uGAAsG,WAAU,iBAAgB,GAAE,qCAAC,UAAK,GAAE,8FAA6F,OAAO;AAAA,IACzZ,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,GAAG,WAAU,0BAAyB,CAAE,GAAI,qCAAC,OAAE,IAAG,6BAA0B,aAAU,qBAAkB,OAAO;AAAA,IAC/G,QAAQ;AAAA,EACV,GAAG,WAAU,8BAA2B,qCAAC,UAAK,OAAO,MAAM,QAAQ,OAAO,WAAU,iBAAgB,IAAI,OAAO,GAAE,qCAAC,UAAK,OAAO,MAAM,QAAQ,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,OAAO,OAAO;AAAA,IACjL,MAAM;AAAA,EACR,GAAG,CAAE,CAAI,CAAI,CAAI;AAC3B;AAZA,IAAAC,QAaO;AAbP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAavB,IAAO,sBAAQD;AAAA;AAAA;;;ACbf;AAAA;AAAA;AAAA;AACA,SAASE,aAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,qCAAC,YAAO,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,MAAM,GAAE,qCAAC,UAAK,OAAO,OAAO,QAAQ,QAAQ,IAAI,OAAO,WAAU,4BAA2B,GAAE,qCAAC,UAAK,OAAO,OAAO,QAAQ,QAAQ,IAAI,OAAO,WAAU,0BAAyB,CAAE;AACnU;AAHA,IAAAC,QAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAIvB,IAAO,uBAAQD;AAAA;AAAA;;;ACHf,SAASE,aAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,MAAK,QAAO,SAAQ,aAAa,GAAG,SAAO,qCAAC,YAAO,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,MAAK,WAAU,GAAE,qCAAC,UAAK,MAAK,gBAAe,GAAE,iJAAgJ,CAAE;AACzV;AAHA,IAAAC,QAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAIvB,IAAO,wBAAQD;AAAA;AAAA;;;ACHf,SAASE,aAAY,OAAO;AAC1B,SAAO,qCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,MAAK,QAAO,SAAQ,qBAAqB,GAAG,SAAO,qCAAC,cAAK,qCAAC,UAAK,IAAG,eAAY,qCAAC,UAAK,MAAK,QAAO,UAAS,WAAU,GAAE,gEAA+D,CAAE,CAAO,GAAO,qCAAC,UAAK,OAAO,OAAO,QAAQ,OAAO,GAAG,KAAK,GAAG,KAAK,MAAK,QAAO,IAAI,KAAK,GAAE,qCAAC,UAAK,MAAK,gBAAe,UAAS,WAAU,GAAE,svCAAqvC,GAAE,qCAAC,OAAE,MAAK,qBAAkB,qCAAC,UAAK,MAAK,gBAAe,UAAS,WAAU,GAAE,qVAAoV,CAAE,CAAI;AACjiE;AAHA,IAAAC,QAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,SAAuB;AAIvB,IAAO,eAAQD;AAAA;AAAA;;;ACHf,SAASE,aAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,cAAS,IAAG,eAAY,sCAAC,UAAK,GAAE,mBAAkB,CAAE,GAAW,sCAAC,OAAE,UAAS,mBAAkB,WAAU,oBAAiB,sCAAC,UAAK,GAAE,2OAA0O,GAAE,sCAAC,UAAK,GAAE,6gBAA4gB,CAAE,CAAI;AACh/B;AAHA,IAAAC,SAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AAIvB,IAAO,oBAAQD;AAAA;AAAA;;;ACHf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,UAAK,GAAE,oJAAmJ,GAAE,sCAAC,UAAK,GAAE,mnBAAknB,CAAE;AACl4B;AAHA,IAAAC,SAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AAIvB,IAAO,mBAAQD;AAAA;AAAA;;;ACHf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,OAAE,aAAU,kBAAc,sCAAC,OAAE,aAAU,sBAAmB,OAAO;AAAA,IACnK,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,KAAG,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,QAAO,QAAO,IAAI,GAAG,OAAO;AAAA,IACxD,QAAQ;AAAA,EACV,GAAG,GAAE,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,OAAO;AAAA,IAChE,MAAM;AAAA,EACR,GAAG,CAAE,GAAI,sCAAC,UAAK,GAAE,gPAA+O,OAAO;AAAA,IACvQ,MAAM;AAAA,EACR,GAAG,WAAU,+BAA8B,CAAE,CAAI;AACvD;AAZA,IAAAC,SAaOC;AAbP,IAAAC,sBAAA;AAAA;AAAA;AAAA,IAAAF,UAAuB;AAavB,IAAOC,yBAAQF;AAAA;AAAA;;;ACZf,SAASI,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,OAAE,aAAU,kBAAc,sCAAC,OAAE,aAAU,sBAAmB,OAAO;AAAA,IACnK,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,KAAG,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,QAAO,QAAO,IAAI,GAAG,OAAO;AAAA,IACxD,QAAQ;AAAA,EACV,GAAG,GAAE,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,OAAO;AAAA,IAChE,MAAM;AAAA,EACR,GAAG,CAAE,GAAI,sCAAC,UAAK,GAAE,+HAA8H,aAAU,uBAAoB,OAAO;AAAA,IACpL,MAAM;AAAA,EACR,GAAG,WAAU,6BAA4B,GAAE,sCAAC,UAAK,GAAE,uIAAsI,aAAU,uBAAoB,OAAO;AAAA,IAC5N,MAAM;AAAA,EACR,GAAG,WAAU,4BAA2B,GAAE,sCAAC,UAAK,GAAE,iKAAgK,aAAU,uBAAoB,OAAO;AAAA,IACrP,MAAM;AAAA,EACR,GAAG,WAAU,+BAA8B,GAAE,sCAAC,UAAK,GAAE,2IAA0I,aAAU,uBAAoB,OAAO;AAAA,IAClO,MAAM;AAAA,EACR,GAAG,WAAU,+BAA8B,CAAE,CAAI;AACvD;AAlBA,IAAAC,SAmBOC;AAnBP,IAAAC,oBAAA;AAAA;AAAA;AAAA,IAAAF,UAAuB;AAmBvB,IAAOC,uBAAQF;AAAA;AAAA;;;AClBf,SAASI,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,uBAAuB,GAAG,SAAO,sCAAC,cAAK,sCAAC,cAAS,IAAG,uBAAoB,sCAAC,UAAK,IAAG,8BAA2B,GAAE,yBAAwB,WAAU,iBAAgB,aAAU,sBAAmB,CAAE,GAAW,sCAAC,cAAS,IAAG,yBAAsB,sCAAC,UAAK,IAAG,8BAA2B,GAAE,yBAAwB,WAAU,iBAAgB,aAAU,sBAAmB,CAAE,GAAW,sCAAC,eAAO,4VAA6V,CAAQ,GAAO,sCAAC,OAAE,IAAG,wBAAsB,aAAU,gBAAc,WAAU,iCAA8B,sCAAC,OAAE,IAAG,wBAAsB,aAAU,gBAAc,WAAU,gCAA6B,sCAAC,UAAK,IAAG,+BAA4B,GAAE,4CAA2C,WAAU,iBAAgB,aAAU,uBAAoB,WAAU,6BAA4B,GAAE,sCAAC,UAAK,IAAG,+BAA4B,GAAE,qCAAoC,WAAU,iBAAgB,aAAU,uBAAoB,WAAU,0BAAyB,GAAE,sCAAC,OAAE,IAAG,8BAA2B,WAAU,iBAAgB,aAAU,wBAAmB,sCAAC,UAAK,GAAE,qCAAoC,WAAU,kBAAiB,GAAE,sCAAC,UAAK,GAAE,qCAAoC,WAAU,iBAAgB,CAAE,GAAI,sCAAC,UAAK,IAAG,8BAA2B,GAAE,oBAAmB,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,2BAA0B,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,oBAAmB,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,yBAAwB,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,oBAAmB,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,0BAAyB,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,cAAa,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,0BAAyB,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,oBAAmB,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,2BAA0B,GAAE,sCAAC,UAAK,IAAG,4BAAyB,GAAE,6DAA4D,WAAU,iBAAgB,aAAU,oBAAiB,WAAU,4BAA2B,GAAE,sCAAC,OAAE,IAAG,4BAAyB,aAAU,oBAAiB,OAAO;AAAA,IAC1gF,MAAM;AAAA,EACR,KAAG,sCAAC,UAAK,GAAE,8MAA6M,WAAU,kBAAiB,GAAE,sCAAC,UAAK,GAAE,sUAAqU,OAAO;AAAA,IACrkB,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,GAAG,WAAU,4BAA2B,CAAE,GAAI,sCAAC,OAAE,IAAG,mCAA+B,aAAU,2BAAuB,OAAO;AAAA,IAC3H,UAAU;AAAA,EACZ,GAAG,WAAU,2BAAwB,sCAAC,OAAE,IAAG,8BAA2B,aAAU,sBAAmB,OAAO;AAAA,IACtG,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,MAAM;AAAA,EACR,GAAG,WAAU,4BAAyB,sCAAC,UAAK,OAAO,QAAQ,QAAQ,QAAQ,WAAU,kBAAiB,IAAI,QAAQ,GAAE,sCAAC,UAAK,OAAO,QAAQ,QAAQ,QAAQ,GAAG,KAAK,GAAG,KAAK,WAAU,iBAAgB,IAAI,QAAQ,CAAE,CAAI,GAAI,sCAAC,OAAE,IAAG,oCAAgC,aAAU,4BAAwB,OAAO;AAAA,IACxS,UAAU;AAAA,EACZ,KAAG,sCAAC,OAAE,IAAG,+BAA4B,WAAU,iBAAgB,aAAU,yBAAoB,sCAAC,UAAK,GAAE,wKAAuK,WAAU,kBAAiB,GAAE,sCAAC,UAAK,GAAE,gbAA+a,OAAO;AAAA,IACjuB,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,GAAG,WAAU,4BAA2B,CAAE,CAAI,CAAI,GAAI,sCAAC,OAAE,IAAG,wBAAsB,aAAU,gBAAc,WAAU,+BAA4B,sCAAC,UAAK,IAAG,iCAA8B,GAAE,0CAAyC,aAAU,uBAAoB,OAAO;AAAA,IACzQ,MAAM;AAAA,EACR,GAAG,WAAU,4BAA2B,GAAE,sCAAC,UAAK,IAAG,iCAA8B,GAAE,2CAA0C,aAAU,uBAAoB,OAAO;AAAA,IAChK,MAAM;AAAA,EACR,GAAG,WAAU,0BAAyB,GAAE,sCAAC,OAAE,IAAG,gCAA6B,WAAU,iBAAgB,aAAU,wBAAmB,sCAAC,UAAK,GAAE,sCAAqC,WAAU,kBAAiB,GAAE,sCAAC,UAAK,GAAE,sCAAqC,WAAU,iBAAgB,CAAE,GAAI,sCAAC,UAAK,IAAG,gCAA6B,GAAE,oBAAmB,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,2BAA0B,GAAE,sCAAC,UAAK,IAAG,gCAA6B,GAAE,oBAAmB,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,wBAAuB,GAAE,sCAAC,UAAK,IAAG,gCAA6B,GAAE,gBAAe,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,0BAAyB,GAAE,sCAAC,UAAK,IAAG,gCAA6B,GAAE,gBAAe,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,qBAAoB,GAAE,sCAAC,UAAK,IAAG,gCAA6B,GAAE,eAAc,WAAU,iBAAgB,aAAU,sBAAmB,WAAU,yBAAwB,CAAE,GAAI,sCAAC,OAAE,IAAG,8BAA2B,WAAU,iBAAgB,aAAU,wBAAmB,sCAAC,UAAK,GAAE,yBAAwB,WAAU,kBAAiB,GAAE,sCAAC,UAAK,GAAE,qBAAoB,OAAO;AAAA,IAClrC,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,GAAG,WAAU,6BAA4B,CAAE,GAAI,sCAAC,OAAE,IAAG,wBAAsB,aAAU,gBAAc,WAAU,6BAA0B,sCAAC,OAAE,IAAG,8BAA2B,WAAU,kBAAiB,aAAU,wBAAmB,sCAAC,UAAK,GAAE,oDAAmD,WAAU,kBAAiB,GAAE,sCAAC,UAAK,aAAY,wBAAuB,GAAE,sDAAqD,WAAU,iBAAgB,CAAE,GAAI,sCAAC,UAAK,IAAG,8BAA2B,GAAE,oBAAmB,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,2BAA0B,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,mBAAkB,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,uBAAsB,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,mBAAkB,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,2BAA0B,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,cAAa,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,gCAA+B,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,cAAa,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,+BAA8B,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,oBAAmB,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,6BAA4B,GAAE,sCAAC,UAAK,IAAG,8BAA2B,GAAE,oBAAmB,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,6BAA4B,CAAE,GAAI,sCAAC,UAAK,IAAG,2BAA0B,aAAU,mBAAkB,OAAO;AAAA,IAC9hD,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,EACR,GAAG,WAAU,8BAA2B,sCAAC,WAAM,GAAG,SAAS,GAAG,KAAI,iBAAkB,CAAQ,GAAO,sCAAC,OAAE,IAAG,wBAAsB,aAAU,gBAAc,WAAU,+BAA4B,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,sBAAqB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,qBAAoB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,sBAAqB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,qBAAoB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,sBAAqB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,qBAAoB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,qBAAoB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,sBAAqB,GAAE,sCAAC,YAAO,IAAG,8BAA2B,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,WAAU,kBAAiB,aAAU,sBAAmB,WAAU,qBAAoB,CAAE,CAAI,CAAI;AACviD;AA/BA,IAAAC,SAgCO;AAhCP,IAAAC,wBAAA;AAAA;AAAA;AAAA,IAAAD,UAAuB;AAgCvB,IAAO,0BAAQD;AAAA;AAAA;;;AC/Bf,SAASG,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,cAAK,sCAAC,eAAO,iGAAkG,CAAQ,GAAO,sCAAC,OAAE,IAAG,wBAAsB,aAAU,gBAAc,WAAU,yBAAsB,sCAAC,OAAE,IAAG,mBAAkB,WAAU,iCAA8B,sCAAC,OAAE,IAAG,uBAAqB,aAAU,eAAa,WAAU,+BAA4B,sCAAC,YAAO,IAAG,gBAAe,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO;AAAA,IAChgB,MAAM;AAAA,IACN,SAAS;AAAA,EACX,GAAG,CAAE,CAAI,GAAI,sCAAC,OAAE,IAAG,wBAAsB,aAAU,kBAAc,sCAAC,UAAK,IAAG,6BAA0B,GAAE,eAAc,WAAU,iBAAgB,aAAU,qBAAkB,WAAU,2BAA0B,GAAE,sCAAC,UAAK,IAAG,6BAA0B,GAAE,eAAc,WAAU,iBAAgB,aAAU,qBAAkB,WAAU,yBAAwB,GAAE,sCAAC,UAAK,IAAG,6BAA0B,GAAE,eAAc,WAAU,iBAAgB,aAAU,qBAAkB,WAAU,2BAA0B,CAAE,CAAI,CAAI;AAC9f;AANA,IAAAC,SAOO;AAPP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AAOvB,IAAO,eAAQD;AAAA;AAAA;;;ACNf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,cAAK,sCAAC,oBAAe,IAAG,aAAY,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,eAAc,uBAAoB,sCAAC,UAAK,QAAQ,GAAG,WAAU,WAAU,GAAE,sCAAC,UAAK,QAAQ,OAAO,WAAU,WAAU,GAAE,sCAAC,UAAK,QAAQ,GAAG,WAAU,WAAU,CAAE,CAAiB,GAAO,sCAAC,OAAE,aAAU,kBAAc,sCAAC,OAAE,aAAU,sBAAmB,OAAO;AAAA,IACxa,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,KAAG,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,QAAO,QAAO,IAAI,GAAG,OAAO;AAAA,IACxD,QAAQ;AAAA,EACV,GAAG,GAAE,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,OAAO;AAAA,IAChE,MAAM;AAAA,EACR,GAAG,CAAE,GAAI,sCAAC,UAAK,GAAE,y3FAAw3F,aAAU,oBAAiB,OAAO;AAAA,IAC36F,MAAM;AAAA,EACR,GAAG,WAAU,gCAA+B,CAAE,CAAI;AACxD;AAZA,IAAAC,SAaOC;AAbP,IAAAC,sBAAA;AAAA;AAAA;AAAA,IAAAF,UAAuB;AAavB,IAAOC,yBAAQF;AAAA;AAAA;;;ACZf,SAASI,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,MAAK,QAAO,SAAQ,aAAa,GAAG,SAAO,sCAAC,YAAO,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,MAAK,WAAU,GAAE,sCAAC,UAAK,MAAK,WAAU,GAAE,gPAA+O,CAAE;AACnb;AAHA,IAAAC,SAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AAIvB,IAAO,uBAAQD;AAAA;AAAA;;;ACHf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,YAAO,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,MAAM,GAAE,sCAAC,UAAK,GAAE,2rBAA0rB,CAAE;AAC71B;AAHA,IAAAC,SAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AAIvB,IAAO,mBAAQD;AAAA;AAAA;;;ACHf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,OAAE,aAAU,eAAa,WAAU,yBAAsB,sCAAC,YAAO,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,aAAU,qBAAkB,OAAO;AAAA,IAC7N,SAAS;AAAA,EACX,GAAG,WAAU,qBAAoB,GAAE,sCAAC,UAAK,GAAE,4qBAA2qB,aAAU,YAAW,OAAO;AAAA,IAChvB,QAAQ;AAAA,IACR,aAAa;AAAA,EACf,GAAG,WAAU,6BAA4B,CAAE,CAAI;AACrD;AARA,IAAAC,SASO;AATP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AASvB,IAAO,wBAAQD;AAAA;AAAA;;;ACRf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,OAAE,aAAU,gBAAc,WAAU,yBAAsB,sCAAC,YAAO,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,aAAU,qBAAkB,OAAO;AAAA,IAC9N,SAAS;AAAA,EACX,GAAG,WAAU,qBAAoB,GAAE,sCAAC,UAAK,GAAE,wfAAuf,aAAU,YAAW,OAAO;AAAA,IAC5jB,QAAQ;AAAA,IACR,aAAa;AAAA,EACf,GAAG,WAAU,6BAA4B,CAAE,CAAI;AACrD;AARA,IAAAC,SASO;AATP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AASvB,IAAO,2BAAQD;AAAA;AAAA;;;ACRf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,OAAE,aAAU,kBAAc,sCAAC,OAAE,aAAU,sBAAmB,OAAO;AAAA,IACnK,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,KAAG,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,QAAO,QAAO,IAAI,GAAG,OAAO;AAAA,IACxD,QAAQ;AAAA,EACV,GAAG,GAAE,sCAAC,UAAK,OAAO,IAAI,QAAQ,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,OAAO;AAAA,IAChE,MAAM;AAAA,EACR,GAAG,CAAE,GAAI,sCAAC,UAAK,GAAE,6eAA4e,OAAO;AAAA,IACpgB,MAAM;AAAA,EACR,GAAG,WAAU,+BAA8B,CAAE,CAAI;AACvD;AAZA,IAAAC,SAaOC;AAbP,IAAAC,qBAAA;AAAA;AAAA;AAAA,IAAAF,UAAuB;AAavB,IAAOC,wBAAQF;AAAA;AAAA;;;ACZf,SAASI,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,YAAO,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,MAAM,GAAE,sCAAC,UAAK,GAAE,2lBAA0lB,CAAE;AAC7vB;AAHA,IAAAC,SAIO;AAJP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AAIvB,IAAO,iBAAQD;AAAA;AAAA;;;ACHf,SAASE,cAAY,OAAO;AAC1B,SAAO,sCAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAa,GAAG,SAAO,sCAAC,OAAE,aAAU,kBAAc,sCAAC,YAAO,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,aAAU,eAAa,OAAO;AAAA,IACzL,SAAS;AAAA,EACX,GAAG,GAAE,sCAAC,UAAK,GAAE,2lBAA0lB,CAAE,CAAI;AACnnB;AALA,IAAAC,SAMO;AANP;AAAA;AAAA;AAAA,IAAAA,UAAuB;AAMvB,IAAO,sBAAQD;AAAA;AAAA;;;ACNf,IAEkB,MAsBC;AAxBnB;AAAA;AAAA;AACY;AAA2D;AAAyD;AAAoE;AAAwD;AAA2D;AAA6D;AAA+D;AAA8C;AAAuD;AAAqD,IAAAE;AAA+D,IAAAC;AAA2D,IAAAC;AAAmE;AAA8C,IAAAC;AAA+D;AAA6D;AAAsD;AAA+D;AAAqE,IAAAC;AAA6D;AAAkD;AACjtC,IAAM,OAAO;AAAA,MAAE,eAAe;AAAA,MAC1C,cAAc;AAAA,MACd,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,iBAAiBC;AAAA,MACjB,eAAeC;AAAA,MACf,mBAAmB;AAAA,MACnB,QAAQ;AAAA,MACR,iBAAiBC;AAAA,MACjB,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,MACpB,gBAAgBC;AAAA,MAChB,UAAU;AAAA,MACV,eAAe;AAAA,IAAY;AACf,IAAO,gBAAQ;AAAA;AAAA;;;ACxB3B,kBACAC,eAGM,SAYC;AAhBP;AAAA;AAAA;AAAA,mBAAiB;AACjB,IAAAA,gBAAkB;AAClB;AAEA,IAAM,UAAU,CAAC,EAAE,YAAY,IAAI,OAAO,OAAO,OAAO,MAAM;AAC5D,aACE,8BAAAC,QAAA;AAAA,QAAC,aAAAC;AAAA,QAAA;AAAA,UACC,aAAW;AAAA,UACX,WAAW,YAAY,mBAAmB,cAAc;AAAA,UAExD,WAAW,cAAM;AAAA,UAChB,GAAG;AAAA;AAAA,MACN;AAAA,IAEJ;AAEA,IAAO,mBAAQ;AAAA;AAAA;;;AChBf,0CAMM,cAwBA,cACC;AA/BP;AAAA;AAAA;AAAA;AAMA,IAAM,eAAN,MAAmB;AAAA,MAAnB;AACE,oCAAe;AAAA,UACb,QAAQ;AAAA,QACV;AAEA,wCAAmB;AAAA,UACjB,QAAQ;AAAA,QACV;AAEA,2CAAsB;AAAA,UACpB,QAAQ;AAAA,QACV;AAAA;AAAA,MAEA,IAAI,MAAM;AACR,YAAI,CAAC,SAAS,KAAK,OAAO,6BAA6B,eAAe;AACpE,iBAAO,mBAAK;AAAA,QACd,WAAW,CAAC,SAAS,KAAK,OAAO,6BAA6B,WAAW;AACvE,iBAAO,mBAAK;AAAA,QACd,OAAO;AACL,iBAAO,mBAAK;AAAA,QACd;AAAA,MACF;AAAA,IACF;AArBE;AAIA;AAIA;AAeF,IAAM,eAAe,IAAI,aAAa;AACtC,IAAO,iBAAQ;AAAA;AAAA;;;AC/Bf,IAAAC,eAUM,YAyHC;AAnIP;AAAA;AAAA;AAAA,IAAAA,gBAAgD;AAChD;AASA,IAAM,aAAa,MAAM;AACvB,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAE3C,YAAM,yBAAqB,uBAAQ,MAAM,cAAc,oBAAoB,CAAC,aAAa,CAAC;AAE1F,YAAM,oBAAgB;AAAA,QACpB,CAAC,MAAmB,UAAU,OAAO;AAhBzC;AAiBM,gBAAM,gBAAgB,SAAS,cAAc,KAAK;AAClD,wBAAc,YAAY;AAE1B,gBAAM,gBAAgB,SAAS,cAAc,KAAK;AAClD,wBAAc,YAAY;AAE1B,gBAAM,gBAAgB,SAAS,cAAc,KAAK;AAClD,wBAAc,YAAY;AAE1B,gBAAM,WAAW,SAAS,cAAc,MAAM;AAC9C,mBAAS,aAAa,QAAQ,KAAK;AACnC,mBAAS,aAAa,cAAc,cAAc;AAClD,mBAAS,YAAY;AAErB,gBAAM,UAAU,SAAS,cAAc,KAAK;AAE5C,gBAAM,cACJ;AAEF,gBAAM,YACJ;AAEF,gBAAM,WACJ;AAEF,gBAAM,WACJ;AAEF,cAAI,SAAS,yBAAqB;AAChC,0BAAc,aAAa;AAC3B,oBAAQ,YAAY;AAAA,UACtB,WAAW,SAAS,qBAAmB;AACrC,0BAAc,aAAa;AAC3B,oBAAQ,YAAY;AAAA,UACtB,WAAW,SAAS,mBAAkB;AACpC,0BAAc,aAAa;AAC3B,oBAAQ,YAAY;AAAA,UACtB,WAAW,SAAS,yBAAqB;AACvC,0BAAc,aAAa;AAC3B,oBAAQ,YAAY;AAAA,UACtB;AAEA,gBAAM,WAAW,SAAS,cAAc,MAAM;AAC9C,mBAAS,cAAc;AAEvB,mBAAS,YAAY,OAAO;AAC5B,wBAAc,YAAY,QAAQ;AAClC,wBAAc,YAAY,QAAQ;AAClC,wBAAc,YAAY,aAAa;AACvC,wBAAc,YAAY,aAAa;AACvC,yEAAoB,cAAc,oBAAlC,mBAAmD,YAAY;AAC/D,iBAAO;AAAA,QACT;AAAA,QACA,CAAC,kBAAkB;AAAA,MACrB;AAEA,YAAMC,aAAQ;AAAA,QACZ,CAAC,YAAoB;AACnB,gBAAM,KAAK,cAAc,qBAAmB,OAAO;AACnD,qBAAW,MAAM;AA5EvB;AA6EQ,2EAAoB,cAAc,oBAAlC,mBAAmD,YAAY;AAAA,UACjE,GAAG,GAAI;AAAA,QACT;AAAA,QACA,CAAC,aAAa;AAAA,MAChB;AAEA,YAAM,WAAO;AAAA,QACX,CAAC,YAAoB;AACnB,gBAAM,KAAK,cAAc,mBAAkB,OAAO;AAClD,qBAAW,MAAM;AAtFvB;AAuFQ,2EAAoB,cAAc,oBAAlC,mBAAmD,YAAY;AAAA,UACjE,GAAG,GAAI;AAAA,QACT;AAAA,QACA,CAAC,aAAa;AAAA,MAChB;AAEA,YAAM,cAAU;AAAA,QACd,CAAC,YAAoB;AACnB,gBAAM,KAAK,cAAc,yBAAqB,OAAO;AACrD,qBAAW,MAAM;AAhGvB;AAiGQ,2EAAoB,cAAc,oBAAlC,mBAAmD,YAAY;AAAA,UACjE,GAAG,GAAI;AAAA,QACT;AAAA,QACA,CAAC,aAAa;AAAA,MAChB;AAEA,YAAM,cAAU;AAAA,QACd,CAAC,YAAoB;AACnB,gBAAM,KAAK,cAAc,yBAAqB,OAAO;AACrD,qBAAW,MAAM;AA1GvB;AA2GQ,2EAAoB,cAAc,oBAAlC,mBAAmD,YAAY;AAAA,UACjE,GAAG,GAAI;AAAA,QACT;AAAA,QACA,CAAC,aAAa;AAAA,MAChB;AAEA,mCAAU,MAAM;AACd,YAAI,oBAAoB;AACtB,cAAI,mBAAmB,cAAc,cAAc;AAAG;AACtD,gBAAM,mBAAmB,SAAS,cAAc,KAAK;AACrD,2BAAiB,YAAY;AAC7B,2BAAiB,MAAM,SAAS;AAChC,6BAAmB,YAAY,gBAAgB;AAAA,QACjD;AAAA,MACF,GAAG,CAAC,kBAAkB,CAAC;AAEvB,aAAO;AAAA,QACL,OAAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,IAAO,qBAAQ;AAAA;AAAA;;;ACnIf,IAAAC,mBAUAC,eAmBa;AA7Bb;AAAA;AAAA;AAAA,IAAAD,oBAQO;AAEP,IAAAC,gBAAiD;AACjD;AACA;AACA;AAGA;AAEA;AAWO,IAAM,cAAc,MAAM;AAC/B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,UAAU,cAAc,kBAAkB,IAAI,gBAAgB;AACtE,YAAM,CAAC,mBAAmB,oBAAoB,QAAI,4BAAS,uCAAoB,CAAC;AAChF,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAMC,WAAU,mBAAW;AAE3B,YAAM,6BAAyB,2BAAY,MAAM;AAC/C,yDAAiC;AAAA,MACnC,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAM,4BAAwB,2BAAY,MAAM;AAC9C,gBAAI,qCAAkB,GAAG;AACvB,gBAAM,IAAI,MAAM,iCAAiC;AAAA,QACnD;AACA,iBAAS,yBAAyB;AAAA,MACpC,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAM,+BAA2B,2BAAY,MAAM;AACjD,YAAI,KAAC,qCAAkB,GAAG;AACxB,gBAAM,IAAI,MAAM,iDAAiD;AAAA,QACnE;AACA,gBAAI,uCAAoB,GAAG;AACzB,gBAAM,IAAI,MAAM,iEAAiE;AAAA,QACnF;AACA,iBAAS,gCAAgC;AAAA,MAC3C,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAM,kCAA8B,2BAAY,MAAM;AACpD,YAAI,KAAC,qCAAkB,GAAG;AACxB,gBAAM,IAAI,MAAM,6BAA6B;AAAA,QAC/C;AACA,YAAI,KAAC,uCAAoB,GAAG;AAC1B,gBAAM,IAAI,MAAM,0BAA0B;AAAA,QAC5C;AACA,4EAAsC;AAAA,MACxC,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAM,iBAAa;AAAA,QACjB,CAAC,YAAgC;AAC/B,gBAAM,EAAE,YAAY,UAAU,OAAO,YAAY,IAAI,WAAW,CAAC;AACjE,cAAI,KAAC,+BAAY,GAAG;AAClB,kBAAM,UAAU,SAAS;AAAA,UAC3B;AACA,gBAAM,cAAiC,qBAAqB,OAAO;AACnE,cAAI,CAAC,aAAa;AAChB,kBAAM,WAAW,EAAE,4BAA4B;AAC/C,YAAAA,SAAQ,QAAQ,QAAQ;AACxB,kBAAM,IAAI,MAAM,QAAQ;AAAA,UAC1B;AACA,sBAAY,WAAW;AAAA,YACrB,YAAY,cAAc;AAAA,YAC1B,UAAU,YAAY;AAAA,YACtB;AAAA,YACA;AAAA,UACF,CAAC;AACD,8BAAoB,aAAa;AAAA,QACnC;AAAA,QACA,CAAC,mBAAmB,CAAC;AAAA,MACvB;AAEA,YAAM,sBAAkB;AAAA,QACtB,CAAC,YAA8C;AAC7C,cAAI,KAAC,+BAAY,GAAG;AAClB,kBAAM,UAAU,SAAS;AAAA,UAC3B;AACA,cAAI,aAAa,WAAW,OAAO;AACjC,kBAAM,IAAI,MAAM,kCAAkC;AAAA,UACpD;AACA,cAAI,CAAC,mBAAmB;AACtB,kBAAM,IAAI,MAAM,4BAA4B;AAAA,UAC9C;AACA,iBAAO,kBAAkB,gBAAgB,OAAO;AAAA,QAClD;AAAA,QACA,CAAC,aAAa,QAAQ,iBAAiB;AAAA,MACzC;AAEA,YAAM,cAAU;AAAA,QACd,CAAC,YAA6B;AA3GlC;AA4GM,cAAI,MAAM,GAAG,eAAa,IAAI,oBAAoB,aAAa,YAAY,cACzE,aAAa,aAAa;AAE5B,cAAI,aAAa,YAAU,kBAAa,WAAb,mBAAqB,cAAa;AAC3D,kBAAM,EAAE,OAAO,KAAK,IAAI,aAAa,OAAO;AAC5C,mBAAO,gBAAgB,mBAAmB,OAAO,KAAK,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,SAAS,QAAQ,CAAC;AAAA,UAC3G;AAEA,cAAI,SAAS;AACX,mBAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,oBAAM,QAAQ,QAAQ;AACtB,kBAAI,OAAO;AACT,uBAAO,IAAI,OAAO,mBAAmB,KAAK;AAAA,cAC5C;AAAA,YACF,CAAC;AAAA,UACH;AACA,cAAI,OAAO,WAAW,aAAa;AACjC,mBAAO,KAAK,GAAG;AAAA,UACjB;AAAA,QACF;AAAA,QACA,CAAC,aAAa,QAAQ,aAAa,WAAW,aAAa,QAAQ;AAAA,MACrE;AAEA,YAAM,6BAAyB;AAAA,QAC7B,CAAC,gCAAwC;AACvC,gBAAM,sBAAkB,sCAAmB;AAC3C,cAAI,CAAC,gBAAgB,SAAS,CAAC,gBAAgB,OAAO;AACpD,kBAAM,IAAI,MAAM,oCAAoC;AAAA,UACtD;AACA,kBAAI,sCAAmB,GAAG;AACxB,kBAAM,IAAI,MAAM,kCAAkC;AAAA,UACpD;AAEA,cACE,+BACA,gCAAgC,gBAAgB,SAChD,gCAAgC,gBAAgB,OAChD;AACA,kBAAM,IAAI,MAAM,2BAA2B;AAAA,UAC7C;AACA,mBAAS,wBAAwB;AAAA,YAC/B,OAAO;AAAA,cACL,SAAS;AAAA,YACX;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,CAAC,QAAQ;AAAA,MACX;AAEA,YAAM,gCAA4B,2BAAY,MAAM;AAClD,YAAI,KAAC,sCAAmB,GAAG;AACzB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AACA,iBAAS,yBAAyB;AAAA,MACpC,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAM,6BAAyB,2BAAY,MAAM;AAC/C,cAAM,sBAAkB,sCAAmB;AAC3C,YAAI,gBAAgB,SAAS,gBAAgB,OAAO;AAClD,gBAAM,IAAI,MAAM,kCAAkC;AAAA,QACpD;AAEA,cAAM,aAAa,CAAC,gBAAgB,SAAS,CAAC,gBAAgB;AAE9D,YAAK,gBAAgB,SAAS,CAAC,gBAAgB,SAAW,CAAC,gBAAgB,SAAS,gBAAgB,OAAQ;AAC1G,mBAAS,mBAAmB;AAAA,YAC1B,OAAO;AAAA,cACL,SAAS,gBAAgB,SAAS,gBAAgB;AAAA,cAClD,UAAU,gBAAgB,QAAQ,UAAU;AAAA,cAC5C,aAAa;AAAA,cACb;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,eAAI,qCAAU,UAAS,CAAC,gBAAgB,OAAO;AAC7C,qBAAS,gBAAgB;AAAA,cACvB,OAAO,EAAE,YAAY,aAAa,SAAS,sDAAsC;AAAA,YACnF,CAAC;AAAA,UACH,WAAW,CAAC,gBAAgB,OAAO;AACjC,qBAAS,gBAAgB;AAAA,cACvB,OAAO,EAAE,YAAY,aAAa,SAAS,sDAAsC;AAAA,YACnF,CAAC;AAAA,UACH,OAAO;AACL,qBAAS,gBAAgB;AAAA,cACvB,OAAO,EAAE,YAAY,aAAa,SAAS,sDAAsC;AAAA,YACnF,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF,GAAG,CAAC,UAAU,QAAQ,CAAC;AAEvB,YAAM,2BAAuB,2BAAY,MAAM;AAC7C,cAAM,sBAAkB,sCAAmB;AAC3C,YAAI,CAAC,gBAAgB,SAAS,CAAC,gBAAgB,OAAO;AACpD,gBAAM,IAAI,MAAM,oCAAoC;AAAA,QACtD;AACA,mDAA8B;AAAA,MAChC,GAAG,CAAC,QAAQ,CAAC;AAEb,mCAAU,MAAM;AACd,YAAI,UAAU;AACZ,mCAAqB,uCAAoB,CAAC;AAAA,QAC5C,OAAO;AACL,+BAAqB,KAAK;AAAA,QAC5B;AAAA,MACF,GAAG,CAAC,QAAQ,CAAC;AAEb,mCAAU,MAAM;AACd,cAAM,mBAAmB,MAAM;AAC7B,mCAAqB,uCAAoB,CAAC;AAAA,QAC5C;AACA,uCAAa,GAAG,gCAAc,wBAAwB,gBAAgB;AACtE,eAAO,MAAM;AACX,yCAAa,IAAI,gCAAc,wBAAwB,gBAAgB;AAAA,QACzE;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AC/OA,IAAAC,mBAgBAC,eAOa;AAvBb;AAAA;AAAA;AAAA,IAAAD,oBAeO;AACP,IAAAC,gBAAgD;AAEhD;AACA;AAEA;AAEO,IAAM,aAAa,MAAM;AAC9B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,QAAAC,QAAO,IAAI,UAAU;AAC7B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI,gBAAgB;AACpB,YAAM,EAAE,cAAc,gBAAgB,IAAI,iBAAS;AAEnD,YAAM,sBAAkB,2BAAY,CAAC,YAA0B;AAE7D,cAAM,EAAE,OAAO,OAAO,MAAM,UAAU,gBAAgB,WAAW,IAAI;AAErE,gBACI,aAAa,KAAK,KAAK,uBAAuB,KAAK,MAAM,eAAe,IAAI,KAC9E,cACC,YAAY;AAAA,MAEjB,GAAG,CAAC,CAAC;AAEL,YAAMC,eAAU;AAAA,QACd,OAAO,YAA0D;AAC/D,cAAI,WAAW,QAAQ,eAAe;AACpC,yCAAM,QAAQ,OAAO,kDAAkD;AAAA,UACzE;AACA,cAAI,WAAW,aAAa,aAAa,aAAa,UAAU,SAAS,GAAG;AAC1E,gBAAI,WAAW,WAAW,KAAC,6BAAU,QAAQ,KAAK,GAAG;AACnD;AAAA,gBACE,aAAa,UAAU,SAAS,2BAAS,KAAK;AAAA,gBAC9C;AAAA,cACF;AAAA,YACF,WAAW,WAAW,WAAW,KAAC,6BAAU,QAAQ,KAAK,GAAG;AAC1D;AAAA,gBACE,aAAa,UAAU,SAAS,2BAAS,KAAK;AAAA,gBAC9C;AAAA,cACF;AAAA,YACF,WAAW,gBAAgB,WAAW,QAAQ,YAAY;AACxD,oBAAM,OAAQ,QAAQ,eAA0B,cAAc,YAAY,QAAQ;AAClF;AAAA,gBACE,aAAa,UAAU,SAAS,IAAgB;AAAA,gBAChD,GAAG,oDAAoD;AAAA,cACzD;AAAA,YACF,WAAW,cAAc,WAAW,QAAQ,YAAY,oBAAoB,WAAW,QAAQ,gBAAgB;AAC7G;AAAA,gBACE,aAAa,UAAU,SAAS,QAAQ,QAAQ;AAAA,gBAChD,GAAG,QAAQ,+CAA+C,QAAQ;AAAA,cACpE;AAAA,YACF;AAAA,UACF;AACA,8BAAoB,YAAY;AAChC,iBAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAAD,QAAO,wCAAsC,CAAC,aAAa;AA/EnE;AAgFU,kCAAoB,WAAW;AAE/B,+BAAiB;AAAA,gBACf,sBAAsB;AAAA,cACxB,CAAC;AACD,oBAAM,EAAE,YAAY,OAAO,KAAK,IAAK,WAAmB,CAAC;AACzD,kBAAI,cAAc,SAAS,MAAM;AAC/B,qFAAuB,cAAvB,+CAAmC;AAAA,cACrC;AACA,sBAAQ,QAAQ;AAAA,YAClB,CAAC;AAED,YAAAA,QAAO,kCAAmC,CAACE,WAAU;AA5F7D;AA6FU,kCAAoB,cAAc;AAClC,+BAAiB;AAAA,gBACf,sBAAsB;AAAA,cACxB,CAAC;AACD,oBAAM,EAAE,YAAY,OAAO,KAAK,IAAK,WAAmB,CAAC;AACzD,kBAAI,cAAc,SAAS,MAAM;AAC/B,qFAAuB,YAAvB,+CAAiCA;AAAA,cACnC;AACA,qBAAOA,MAAK;AAAA,YACd,CAAC;AACD,gBAAI,WAAW,gBAAgB,OAAO,GAAG;AAEvC,oBAAM,EAAE,eAAe,OAAO,YAAY,OAAO,QAAQ,KAAK,IAAI;AAClE,kBAAI,eAAe;AACjB,sCAAsB,EAAE,eAAe,WAAO,qCAAkB,KAAK,EAAE,CAAC;AAAA,cAC1E,OAAO;AACL,sCAAsB,MAAS;AAAA,cACjC;AACA,kBAAI,eAAe,CAAC,SAAS,CAAC,OAAO;AACnC,gCAAgB;AAAA,kBACd;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF,CAAC;AAAA,cACH,OAAO;AACL,6BAAa,OAAuB;AAAA,cACtC;AAAA,YACF,OAAO;AACL,4CAAyB;AAAA,gBACvB,OAAO;AAAA,cACT,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,CAACF,SAAQ,aAAa,WAAW,cAAc,iBAAiB,UAAU,qBAAqB;AAAA,MACjG;AAEA,mCAAU,MAAM;AACd,cAAM,YAAY,MAAM;AACtB,8BAAoB,WAAW;AAAA,QACjC;AAEA,cAAM,eAAe,MAAM;AACzB,8BAAoB,cAAc;AAAA,QACpC;AACA,uCAAa,GAAG,gCAAc,qBAAqB,SAAS;AAC5D,uCAAa,GAAG,gCAAc,wBAAwB,YAAY;AAElE,gBAAI,+BAAY,GAAG;AACjB,8BAAoB,WAAW;AAAA,QACjC;AAEA,eAAO,MAAM;AACX,yCAAa,IAAI,gCAAc,qBAAqB,SAAS;AAC7D,yCAAa,IAAI,gCAAc,wBAAwB,YAAY;AAAA,QACrE;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,YAAM,4BAAwB;AAAA,QAC5B,OACE,WACqB;AACrB,cAAI,WAAW,UAAU,OAAO,OAAO;AACrC,mBAAO,UAAM,qCAAkB,MAAM;AAAA,UACvC,WAAW,WAAW,UAAU,OAAO,OAAO;AAC5C,kBAAM,QAAQ,UAAM,kDAA+B,OAAO,iBAAiB;AAE3E,mBAAO,UAAM,qCAAkB,EAAE,OAAO,OAAO,OAAO,uBAAuB,MAAM,CAAC;AAAA,UACtF;AACA,gBAAM,IAAI,MAAM,gBAAgB;AAAA,QAClC;AAAA,QACA,CAAC;AAAA,MACH;AAEA,YAAM,gBAAY,uBAAQ,MAAM,qBAAqB,aAAa,CAAC,gBAAgB,CAAC;AAEpF,aAAO;AAAA,QACL,SAAAC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AClLA,IAOa;AAPb;AAAA;AAAA;AAEA;AAKO,IAAM,eAAe,MAAM;AAChC,YAAM,EAAE,cAAc,gBAAgB,IAAI,gBAAgB;AAE1D,YAAM,eAAe,CAAC,cAAsB;AAC1C,wBAAgB;AAAA,UACd;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,iBAAiB,CAAC,gBAA8B;AACpD,wBAAgB;AAAA,UACd,aAAa,cAAc,EAAE,GAAG,YAAY,IAAI;AAAA,QAClD,CAAC;AAAA,MACH;AAEA,YAAM,cAAc,CAAC,aAAwB;AAC3C,wBAAgB;AAAA,UACd;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,eAAe,CAAC,cAA2B;AAC/C,wBAAgB;AAAA,UACd,WAAW,YAAY,CAAC,GAAG,SAAS,IAAI;AAAA,QAC1C,CAAC;AAAA,MACH;AAEA,YAAM,cAAc,CAAC,aAA4B;AAC/C,wBAAgB;AAAA,UACd;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,aAAa,CAAC,YAA6B;AAC/C,wBAAgB;AAAA,UACd;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,mBAAmB,CAAC,WAA+D;AACvF,wBAAgB;AAAA,UACd,QAAQ,WAAW,QAAQ,SAAS,EAAE,GAAG,OAAO;AAAA,QAClD,CAAC;AAAA,MACH;AAEA,YAAM,yBAAyB,CAAC,wBAA8C;AAC5E,wBAAgB;AAAA,UACd;AAAA,QACF,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,QACL,WAAW,aAAa;AAAA,QACxB;AAAA,QACA,aAAa,aAAa;AAAA,QAC1B;AAAA,QACA,eAAe,aAAa;AAAA,QAC5B;AAAA,QACA,UAAU,aAAa;AAAA,QACvB;AAAA,QACA,WAAW,aAAa;AAAA,QACxB;AAAA,QACA,UAAU,aAAa;AAAA,QACvB;AAAA,QACA,SAAS,aAAa;AAAA,QACtB;AAAA,QACA,qBAAqB,aAAa;AAAA,QAClC;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AClDO,SAAS,gBAAgB,OAAsB;AA1BtD;AA2BE,YAAQ,+CAAa,KAAK,MAAlB,mBAAqB,mBAArB,mBAAqC,WAAU,IAAI,QAAQ,QAAQ,KAAK;AAClF;AAEO,SAAS,YAAY,IAAY;AACtC,aAAO,uCAAoB,EAAE;AAC/B;AAEO,SAAS,eAAe,IAAY;AACzC,aAAO,0CAAuB,EAAE;AAClC;AAEO,SAAS,cAAc,SAAiB,OAAsB;AACnE,MAAI,OAAO,KAAK,SAAK,yBAAY,OAAO,GAAG;AACzC,eAAO,sCAAmB,OAAO;AAAA,EACnC;AACA,SAAO;AACT;AAEO,SAAS,SAAS,OAAc;AACrC,SAAO,MAAM,KAAK,YAAY,MAAM;AACtC;AAMO,SAAS,OAAO,OAAe;AACpC,SAAO,SAAS,MAAM,KAAK,YAAY,MAAM;AAC/C;AAOO,SAAS,mBAAmB,OAAuB;AA9D1D;AA+DE,MAAI,OAAO;AACT,UAAM,gBAAY,gCAAa,KAAK;AACpC,QAAI,WAAW;AACb,YAAM,WAAS,4CAAW,eAAe,WAA1B,mBAAkC,kBAAiB;AAClE,UAAI,CAAC,OAAO,OAAO,OAAO,SAAS,QAAQ,MAAM,EAAE,SAAS,MAAM,GAAG;AACnE,eAAO,qDAAqD;AAAA,MAC9D,OAAO;AACL,mBAAO,gCAAa,SAAS;AAAA,MAC/B;AAAA,IACF,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AA7EA,iBAEAE,mBAUa,qBA6CA;AAzDb;AAAA;AAAA;AAAA,kBAA4B;AAE5B,IAAAA,oBAOO;AAGA,IAAM,sBAAsB,CAAC,UAA6B;AAC/D,YAAM,gBAAY,gCAAa,KAAK;AACpC,UAAI,CAAC,WAAW;AACd,eAAO;AAAA,MACT;AACA,UAAI,aAAa;AACjB,UAAI,CAAC,UAAU,WAAW,CAAC,UAAU,KAAK,YAAY,EAAE,SAAS,SAAS,GAAG;AAC3E,qBAAa,UAAU,OAAO;AAAA,MAChC,OAAO;AACL,qBAAa,UAAU;AAAA,MACzB;AACA,aAAO,WAAW,QAAQ,mBAAmB,WAAW,EAAE,QAAQ,uBAAuB,WAAW;AAAA,IACtG;AAiCO,IAAM,YAAY,CAAC,MAAM,OAAO;AACrC,UAAI,CAAC;AAAK,eAAO;AACjB,aAAO,OAAO,IAAI,SAAS,GAAG,IAAI,MAAM,OAAO;AAAA,IACjD;AAAA;AAAA;;;ACtDO,SAAS,YAAY,KAAkB;AAC5C,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,UAAM,MAAM,IAAI,SAAS,IAAI;AAAA,EAC/B;AACA,MAAI,KAAK;AACP,QAAI,OAAO,IAAI,aAAa,YAAY;AACtC,YAAM,IAAI,SAAS;AAAA,IACrB;AACA,QAAI,IAAI,UAAU,IAAI;AACpB,aAAO;AAAA,IACT;AACA,WAAO,GAAG,IAAI,MAAM,GAAG,CAAC,OAAO,IAAI,MAAM,IAAI,SAAS,GAAG,IAAI,MAAM;AAAA,EACrE;AACA,SAAO;AACT;AAwEO,SAASC,WAAU,OAAY;AACpC,SAAO,UAAU,QAAQ,UAAU;AACrC;AAQO,SAAS,eAAe,OAA2B;AACxD,SAAO,OAAO,UAAU,YAAY,KAAC,0BAAY,KAAK,IAAI,OAAO,KAAK,KAAK,QAAI,uBAAS,KAAK;AAC/F;AAEO,SAAS,kBAAkB,OAA8C;AAC9E,MAAI,OAAO,UAAU,gBAAY,0BAAY,KAAK,GAAG;AACnD,WAAO;AAAA,EACT,OAAO;AACL,eAAO,0BAAY,eAAe,KAAK,CAAC;AAAA,EAC1C;AACF;AAKO,SAAS,QAAQ,OAA8B;AACpD,SAAO,KAAK,MAAM,SAAS,EAAE;AAC/B;AAvHA,IACAC,cACAC,mBAEAC,aAkBa,cAYA;AAlCb;AAAA;AAAA;AACA,IAAAF,eAAmD;AACnD,IAAAC,oBAAiC;AAEjC,IAAAC,cAAqD;AAkB9C,IAAM,eAAe,CAAC,UAA0B;AACrD,UAAI,CAAC,OAAO;AACV,eAAO;AAAA,MACT;AACA,YAAM,QAAQ,MAAM,MAAM,GAAG;AAC7B,UAAI,MAAM,GAAG,UAAU,GAAG;AACxB,eAAO,GAAG,MAAM,UAAU,MAAM;AAAA,MAClC,OAAO;AACL,eAAO,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,MAAM;AAAA,MAC9C;AAAA,IACF;AAEO,IAAM,eAAe,CAAC,UAAkB;AAC7C,UAAI,CAAC,OAAO;AACV,eAAO;AAAA,MACT;AACA,cAAI,gCAAmB,KAAK,GAAG;AAC7B,cAAM,kBAAc,8BAAiB,KAAK;AAC1C,cAAM,cAAc,YAAY;AAChC,cAAM,OAAO,YAAY,eAAe,SAAS;AAEjD,YAAI,QAAQ,aAAa;AACvB,gBAAM,QAAQ,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC;AAC/D,iBAAO,IAAI,eAAe,KAAK,MAAM,GAAG,KAAK,QAAQ,KAAK,MAAM,CAAC,KAAK;AAAA,QACxE;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAUA,WAAO,UAAU,SAAS,YAAa,QAA0B;AAC/D,YAAM,OAAO;AACb,aAAO,KAAK,QAAQ,YAAY,SAAU,OAAO,QAAQ;AACvD,eAAO,OAAO,KAAK,WAAW,cAAc,KAAK,UAAU;AAAA,MAC7D,CAAC;AAAA,IACH;AAEA,WAAO,UAAU,YAAY,WAAoB;AAC/C,UAAI,KAAK,WAAW,GAAG;AACrB,eAAO;AAAA,MACT,WAAW,KAAK,WAAW,GAAG;AAC5B,eAAO,KAAK,YAAY;AAAA,MAC1B;AAEA,aAAO,KAAK,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC;AAAA,IACtD;AAAA;AAAA;;;AClEO,SAAS,kBAAkB,QAAgB,UAA0B;AAC1E,MAAI,CAAC,UAAU,CAAC,UAAU;AACxB,WAAO;AAAA,EACT;AAEA,aAAO,cAAAC,SAAO,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,EAAE,OAAO;AAAA,IACpD,mBAAmB;AAAA,IACnB,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AACH;AAEO,SAAS,eAAe,QAAqC,OAAO,SAAoB;AAC7F,SAAO,IAAI,2BAAU,QAAQ,MAAM,QAAQ,IAAI,CAAC,CAAC;AACnD;AAEO,SAAS,YAAY,QAAgD;AAC1E,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAAU;AAC5D,WAAO,IAAI,2BAAU,MAAM;AAAA,EAC7B;AACA,SAAO,IAAI,2BAAU,kBAAkB,MAAM,CAAC;AAChD;AAEO,SAAS,MAAM,QAA0C,OAAO,SAAa;AAClF,MAAI,CAAC,QAAQ;AACX,WAAO,IAAI,UAAAC,QAAG,CAAC;AAAA,EACjB;AAEA,SAAO,kBAAAC,QAAM,MAAM,QAAQ,IAAI;AACjC;AAEO,SAAS,QAAQ,QAA4C,OAAO,SAAiB;AAC1F,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,IAAI,GAAG;AACzD,aAAS,kBAAAA,QAAM,QAAQ,IAAI,UAAAD,YAAG,6BAAe,MAAM,GAAG,EAAE,GAAG,IAAI;AAAA,EACjE,OAAO;AACL,aAAS,kBAAAC,QAAM,QAAQ,IAAI,UAAAD,QAAG,MAAM,GAAG,IAAI;AAAA,EAC7C;AACA,SAAO;AACT;AAEO,SAAS,cAAc,QAA4C,OAAO,SAAS,WAAW,GAAW;AAC9G,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,IAAI,GAAG;AACzD,aAAS,kBAAAC,QAAM,QAAQ,IAAI,UAAAD,YAAG,6BAAe,MAAM,GAAG,EAAE,GAAG,IAAI;AAAA,EACjE,OAAO;AACL,aAAS,kBAAAC,QAAM,QAAQ,IAAI,UAAAD,QAAG,MAAM,GAAG,IAAI;AAAA,EAC7C;AACA,aAAO,cAAAD,SAAO,MAAM,EAAE,OAAO;AAAA,IAC3B,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd;AAAA,EACF,CAAC;AACH;AAEO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKW;AACT,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,IAAI,2BAAU,MAAM,EAAE,aAAa,IAAI,2BAAU,KAAK,CAAC;AACrE,MAAIG,WAAU,QAAQ,GAAG;AACvB,QAAI,MAAM,GAAG,IAAI,2BAAU,CAAC,CAAC,GAAG;AAC9B,iBAAW;AAAA,IACb,OAAO;AACL,iBAAW;AAAA,IACb;AAAA,EACF;AAEA,SAAO,aAAI,cAAAH,SAAO,KAAK,EACpB,OAAO;AAAA,IACN,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd;AAAA,EACF,CAAC,EACA,QAAQ,OAAO,GAAG,KAAK,SAAS,YAAY;AACjD;AAEO,SAAS,aAAa,OAAwB,WAAW,GAAW;AACzE,aAAO,cAAAA,SAAO,KAAK,EAAE,OAAO;AAAA,IAC1B,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd;AAAA,EACF,CAAC;AACH;AAEO,SAAS,cAAc,QAAoC,WAAW,GAAW;AACtF,QAAM,KAAK,IAAI,2BAAU,YAAQ,0BAAY,MAAM,IAAI,KAAK,EAAE;AAC9D,QAAM,QAAQ,GAAG,IAAI,IAAI,2BAAU,GAAQ,CAAC,EAAE,SAAS,EAAE;AACzD,aAAO,cAAAA,SAAO,KAAK,EAAE,OAAO;AAAA,IAC1B,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd;AAAA,EACF,CAAC;AACH;AAvHA,IACAI,cACA,kBACA,WACA,mBACA,eA0Ha;AA/Hb;AAAA;AAAA;AACA,IAAAA,eAA4C;AAC5C,uBAA0B;AAC1B,gBAAe;AACf,wBAAkB;AAClB,oBAAmB;AACnB;AAyHO,IAAM,qBAAqB,CAAC,OAAoC,aAA6B;AAClG,UAAI;AACJ,UAAI,EAAE,iBAAiB,6BAAY;AACjC,aAAK,IAAI,2BAAU,KAAK,EAAE,UAAU,IAAI,2BAAU,EAAE,EAAE,IAAI,QAAQ,CAAC;AAAA,MACrE,OAAO;AACL,aAAK;AAAA,MACP;AAEA,YAAM,MAAM,GAAG,QAAQ;AACvB,YAAM,CAAC,KAAK,GAAG,IAAI,IAAI,MAAM,GAAG;AAChC,UAAI,gBAAgB;AAEpB,UAAI,IAAI,SAAS,IAAI;AACnB,eAAO,GAAG,cAAc,CAAC;AAAA,MAC3B;AAEA,UAAI,IAAI,SAAS,GAAG;AAClB,wBAAgB,KAAK,IAAI,KAAK,IAAI,SAAS,IAAI,CAAC;AAAA,MAClD;AAEA,UAAI,OAAO,gBAAgB,GAAG;AAC5B,cAAM,UAAU,IAAI,MAAM,GAAG,aAAa;AAC1C,eAAO,IAAI,2BAAU,GAAG,OAAO,SAAS,EAAE,QAAQ;AAAA,MACpD;AAEA,aAAO;AAAA,IACT;AAAA;AAAA;;;AC7IO,SAAS,cAAc,MAA4C;AACxE,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,SAAS;AAAA,EAClB,WAAW,OAAO,QAAQ,UAAU;AAClC,WAAO,OAAO,IAAI,MAAM;AAAA,EAC1B;AACA,SAAO;AACT;AAcO,SAAS,iBAAiB,QAAgC,WAAsC;AACrG,MAAI,OACF,UACA,UACA,MACA,IACA,OACA,MACA,MACA,SACA,sBACA,cACA,QACA;AAEF,QAAM,OAAOC,QAAO,SAAS;AAC7B,MAAI,QAAQ,KAAC,0BAAY,OAAO,IAAI,GAAG;AACrC,eAAO,oCAAiB,OAAO,IAAI;AAAA,EACrC,OAAO;AACL,WAAO,OAAO;AAAA,EAChB;AACA,MAAI,OAAO,IAAI;AACb,QAAI,QAAQ,KAAC,0BAAY,OAAO,EAAE,GAAG;AACnC,eAAK,oCAAiB,OAAO,EAAE;AAAA,IACjC,OAAO;AACL,WAAK,OAAO;AAAA,IACd;AAAA,EACF;AAEA,MAAI,OAAO,OAAO,CAAC,OAAO,UAAU;AAClC,eAAW,WAAW,OAAO,GAAG;AAAA,EAClC,WAAW,OAAO,UAAU;AAC1B,eAAW,WAAW,OAAO,QAAQ;AAAA,EACvC;AACA,MAAI,OAAO,OAAO;AAChB,YAAQ,WAAW,OAAO,KAAK;AAAA,EACjC;AACA,MAAI,OAAO,MAAM;AACf,WAAO,kBAAkB,OAAO,IAAI;AAAA,EACtC;AACA,MAAI,OAAO,SAAS;AAClB,cAAU,WAAW,OAAO,OAAO;AAAA,EACrC,OAAO;AACL,cAAU,WAAW,UAAU,EAAE;AAAA,EACnC;AACA,MAAI,OAAO,OAAO;AAChB,YAAQ,WAAW,OAAO,KAAK;AAAA,EACjC;AACA,MAAI,0BAA0B,UAAU,OAAO,sBAAsB;AACnE,2BAAuB,WAAW,OAAO,oBAAoB;AAAA,EAC/D;AACA,MAAI,kBAAkB,UAAU,OAAO,cAAc;AACnD,mBAAe,WAAW,OAAO,YAAY;AAAA,EAC/C;AACA,MAAI,OAAO,UAAU;AACnB,eAAW,WAAW,OAAO,QAAQ;AAAA,EACvC;AAEA,MAAI,OAAO,QAAQ,OAAO,SAAS,GAAG;AACpC,WAAO,WAAW,OAAO,IAAI;AAAA,EAC/B,OAAO;AACL,QACE,0BAA0B,UAC1B,OAAO,wBACP,kBAAkB,UAClB,OAAO,oBACP,yCAAsB,MAAM,GAC5B;AACA,aAAO;AAAA,IACT,WAAW,cAAc,UAAU,OAAO,UAAU;AAClD,aAAO;AAAA,IACT,OAAO;AACL,iBAAO,yCAAsB,MAAM,IAAI,QAAQ;AAAA,IACjD;AAAA,EACF;AAEA,MAAI,OAAO,UAAU,CAAC,UAAU,UAAU,SAAS,EAAE,SAAS,OAAO,MAAM,GAAG;AAC5E,aAAS,OAAO;AAAA,EAClB,OAAO;AACL,aAAS;AAAA,EACX;AAEA,MAAI,OAAO,YAAY,CAAC,UAAU,OAAO,UAAU,MAAM,EAAE,SAAS,OAAO,QAAQ,GAAG;AACpF,eAAW,OAAO;AAAA,EACpB,OAAO;AACL,eAAW;AAAA,EACb;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAWO,SAAS,aAAa,SAA0B;AAErD,SAAO,WAAW,QAAQ,WAAW,MAAM,QAAQ,WAAW,IAAI;AACpE;AAEO,SAASA,QAAO,OAAuB;AAC5C,SAAO,MAAM,KAAK,YAAY,MAAM;AACtC;AA1JA,IAAAC,cAEAC,mBAOAC,mBAYM;AArBN;AAAA;AAAA;AAAA,IAAAF,eAA4B;AAE5B,IAAAC,oBAMO;AACP,IAAAC,oBAA0B;AAE1B;AAUA,IAAM,aAAa,CAAC,UAA2B;AAC7C,UAAI,OAAO,UAAU,UAAU;AAC7B,YAAI,MAAM,WAAW,IAAI,GAAG;AAC1B,iBAAO;AAAA,QACT,OAAO;AACL,iBAAO,KAAK,IAAI,4BAAU,KAAK,EAAE,SAAS,EAAE;AAAA,QAC9C;AAAA,MACF,OAAO;AACL,eAAO,kBAAkB,KAAK;AAAA,MAChC;AAAA,IACF;AAAA;AAAA;;;AC/BA,IAAAC,mBAcM,oBAwCA,kBAoBA,sBAQC;AAlFP;AAAA;AAAA;AAAA,IAAAA,oBASO;AACP;AACA;AACA;AAEA,IAAM,qBAAqB,OAAO,gBAAuE;AACvG,YAAM,UAAU,OAAO,YAAY,WAAW,+BAAa,SAAS,OAAO;AAC3E,YAAM,SAAS;AAAA,QACb,GAAG;AAAA,QACH,MAAM,+BAAa,SAAS;AAAA,QAC5B;AAAA,MACF;AAEA,YAAM,YAAQ,uCAAoB,OAAO;AAEzC,cAAI,6BAAU,OAAO,IAAI,GAAG;AAC1B,eAAO,OAAO;AAAA,MAChB;AAEA,YAAM,QAAQ,iBAAiB,QAAQ,KAAK;AAE5C,UAAI,CAAC,MAAM,UAAU;AACnB,cAAM,WAAW,MAAM;AAAA,UACrB,EAAE,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,OAAO,MAAM,MAAM,KAAK;AAAA,UACvE;AAAA,QACF;AAAA,MACF;AAEA,UAAI,OAAO,MAAM,IAAI,MAAM,GAAG;AAC5B,YAAI,CAAC,MAAM,wBAAwB,CAAC,MAAM,cAAc;AACtD,gBAAM,SAAS,MAAM,qBAAqB,OAAO;AACjD,gBAAM,eAAe,QAAQ,MAAM,OAAO,6BAAW,QAAQ,cAAc,MAAM,CAAC;AAClF,gBAAM,uBAAuB,QAAQ,MAAM,OAAO,6BAAW,QAAQ,sBAAsB,MAAM,CAAC;AAAA,QACpG;AAAA,MACF,OAAO;AACL,YAAI,CAAC,MAAM,UAAU;AACnB,gBAAM,SAAS,MAAM,qBAAqB,OAAO;AACjD,gBAAM,WAAW,QAAQ,MAAM,OAAO,6BAAW,QAAQ,cAAc,MAAM,CAAC;AAAA,QAChF;AAAA,MACF;AAEA,YAAM,SAAS,MAAM,+BAAa,SAAS,gBAAgB,KAAK;AAChE,aAAO;AAAA,IACT;AAEA,IAAM,mBAAmB,OACvB,OAMA,YACoB;AACpB,UAAI,CAAC,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG;AACtC,eAAO,MAAM;AAAA,MACf;AACA,YAAM,SAAS,MAAM,+BAAa,SAAS,QAAQ;AAAA,QACjD;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ,CAAC,KAAK;AAAA,MAChB,CAAC;AACD,aAAO;AAAA,IACT;AAEA,IAAM,uBAAuB,OAAO,YAA2C;AAC7E,YAAM,SAAS,MAAM,+BAAa,SAAS,QAAQ;AAAA,QACjD;AAAA,QACA,QAAQ,oCAAkB;AAAA,MAC5B,CAAC;AACD,aAAO;AAAA,IACT;AAEA,IAAO,6BAAQ;AAAA;AAAA;;;AClFf,IAAAC,cACA,mBACAC,mBAFA,oCAsBa;AAtBb;AAAA;AAAA;AAAA,IAAAD,eAA0C;AAC1C,wBAA0C;AAC1C,IAAAC,oBAkBO;AAEA,IAAM,cAAN,MAA6C;AAAA,MAA7C;AAwLL;AAvLA,aAAS,oBAAoB;AAI7B,2BAAc,OAAOC,UAAqC,SAAoC;AAC5F,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,+BAAkB,OAAO,gBAAuE;AAC9F,gBAAM,IAAI,MAAM,kCAAkC;AAAA,QACpD;AAEA,6BAAgB,OAA+D;AAAA,UAC7E;AAAA,UACA;AAAA,UACA;AAAA,QACF,MAIuB;AACrB,gBAAM,IAAI,MAAM,gCAAgC;AAAA,QAClD;AAAA;AAAA,MAEA,IAAI,kBAAiC;AACnC,mBAAO,qCAAkB,8BAAY,EAAE,SAAS;AAAA,MAClD;AAAA,MAEA,IAAI,UAAkB;AACpB,mBAAO,qCAAkB,8BAAY,EAAE,SAAS;AAAA,MAClD;AAAA,MAEA,cAAuB;AACrB,mBAAO,qCAAkB,8BAAY,EAAE,SAAS,YAAY;AAAA,MAC9D;AAAA,MAEA,GAAG,OAAe,UAA0C;AAC1D,uCAAa,SAAS,GAAG,OAAO,QAAQ;AACxC,eAAO;AAAA,MACT;AAAA,MAEA,KAAK,OAAe,UAA0C;AAC5D,uCAAa,SAAS,KAAK,OAAO,QAAQ;AAC1C,eAAO;AAAA,MACT;AAAA,MAEA,IAAI,OAAe,UAA0C;AAC3D,uCAAa,SAAS,IAAI,OAAO,QAAQ;AACzC,eAAO;AAAA,MACT;AAAA,MAEA,eAAe,OAAe,UAA0C;AACtE,uCAAa,SAAS,eAAe,OAAO,QAAQ;AACpD,eAAO;AAAA,MACT;AAAA,MAMQ,KAAK,OAAe;AAC1B,YAAI,UAAU,cAAc;AAC1B,eAAK,WAAW;AAAA,QAClB;AAAA,MACF;AAAA,MAKA,MAAM,SAA4B;AAChC,eAAO,UAAM,qCAAkB,8BAAY,EAAE,SAAS,OAAO;AAAA,MAC/D;AAAA,MAEA,MAAM,aAAa;AACjB,eAAO,UAAM,qCAAkB,8BAAY,EAAE,SAAS,WAAW;AAAA,MACnE;AAAA,MAEA,MAAM,QAAQ,OAAyC;AACrD,eAAO,UAAM,qCAAkB,8BAAY,EAAE,SAAS,QAAQ,KAAK;AAAA,MACrE;AAAA,MAGA,MAAM,QAAQ,MAAuC;AAzGvD;AA0GI,cAAM,SAAS,KAAK;AACpB,YAAI,CAAC,QAAQ;AACX,gBAAM,4BAAU,cAAc,yCAAyC;AAAA,QACzE;AACA,YAAI,OAAO,OAAO,8BAAY,EAAE,SAAS,MAAsB,GAAG;AAChE,cAAI,WAAW,+BAAa,eAAe,WAAW,+BAAa,oBAAoB;AACrF,mBAAO,UAAM,qCAAkB,8BAAY,EAAE,SAAS,QAAQ,IAAI;AAAA,UACpE,WAAW,WAAW,+BAAa,YAAY;AAC7C,mBAAO,KAAK;AAAA,UACd,WAAW,OAAO,WAAW,+BAAa,gBAAgB,GAAG;AAC3D,kCAAK,oCAAL;AAMA,kBAAM,OAAO,gCAAc,kBAAkB,MAAM;AACnD,kBAAM,OAAO,QAAO,kCAAM,WAAN,mBAAe,MAAK,kCAAM,WAAN,mBAAe;AACvD,gBAAI,YAAY,QAAO,kCAAM,WAAN,mBAAe,MAAK,kCAAM,WAAN,mBAAe;AAC1D,gBAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,oBAAM,4BAAU,cAAc,uDAAuD;AAAA,YACvF;AACA,gBAAI,CAAC,WAAW;AACd,oBAAM,4BAAU,cAAc,8CAA8C;AAAA,YAC9E;AACA,gBAAI,KAAK,YAAY,QAAM,UAAK,oBAAL,mBAAsB,gBAAe;AAC9D,oBAAM,iCAAe,aAAa;AAAA,YACpC;AACA,gBAAI,OAAO,cAAc,UAAU;AACjC,0BAAY,KAAK,MAAM,SAAS;AAAA,YAClC;AACA,kBAAM,OAAO,gCAAc,OAAO,MAAM;AACxC,kBAAM,UAAU,gCAAc,oBAAoB,MAAM;AAExD,kBAAM,SAAS,MAAM,KAAK,cAAc;AAAA,cACtC,MAAM;AAAA,cACN;AAAA,cACA;AAAA,YACF,CAAC;AACD,mBAAO;AAAA,UACT,WAAW,OAAO,WAAW,+BAAa,YAAY,GAAG;AACvD,kCAAK,oCAAL;AACA,gBAAIA,YAAU,kCAAM,WAAN,mBAAe;AAC7B,kBAAM,QAAO,kCAAM,WAAN,mBAAe;AAC5B,gBAAI,CAACA,YAAW,OAAOA,aAAY,UAAU;AAC3C,oBAAM,4BAAU,cAAc,mDAAmD;AAAA,YACnF;AACA,gBAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,oBAAM,4BAAU,cAAc,uDAAuD;AAAA,YACvF;AACA,gBAAI,KAAK,YAAY,QAAM,UAAK,oBAAL,mBAAsB,gBAAe;AAC9D,oBAAM,iCAAe,aAAa;AAAA,YACpC;AAEA,gBAAI,KAAC,0BAAYA,QAAO,GAAG;AACzB,cAAAA,eAAU,2BAAa,OAAO,KAAKA,QAAO,EAAE,SAAS,KAAK,CAAC;AAAA,YAC7D;AACA,kBAAM,OAAO,gCAAc,OAAO,MAAM;AACxC,kBAAM,SAAS,MAAM,KAAK,YAAYA,UAA8B,IAAI;AACxE,mBAAO;AAAA,UACT,WAAW,WAAW,+BAAa,2BAA2B;AAC5D,mBAAO,UAAM,qCAAkB,8BAAY,EAAE,SAAS,QAAQ,IAAI;AAAA,UACpE,WAAW,WAAW,+BAAa,oBAAoB;AACrD,kCAAK,oCAAL;AACA,kBAAM,UAAU,OAAO,KAAK,WAAW,KAAK,OAAO;AACnD,kBAAM,YAAQ,uCAAoB,OAAO;AACzC,gBAAI,CAAC,OAAO;AACV,oBAAM,iCAAe,kBAAkB;AAAA,YACzC;AACA,kBAAM,UAAS,UAAK,WAAL,mBAAc;AAC7B,gBAAI,CAAC,QAAQ;AACX,oBAAM,4BAAU,cAAc,uDAAuD;AAAA,YACvF;AACA,oBAAI,6BAAU,OAAO,IAAI,GAAG;AAC1B,sBAAI,yCAAsB,MAAM,GAAG;AAEjC,uBAAO,OAAO;AAAA,cAChB,OAAO;AACL,uBAAO,OAAO;AAAA,cAChB;AAAA,YACF;AACA,oBAAI,6BAAU,OAAO,OAAO,GAAG;AAC7B,qBAAO,UAAU,KAAK,QAAQ,SAAS,EAAE;AAAA,YAC3C;AACA,oBAAI,6BAAU,OAAO,KAAK,GAAG;AAC3B,qBAAO,QAAQ;AAAA,YACjB;AACA,oBAAI,6BAAU,OAAO,IAAI,GAAG;AAC1B,qBAAO,OAAO;AAAA,YAChB;AACA,kBAAM,SAAS,MAAM,KAAK,gBAAgB,MAAM;AAChD,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,iCAAe,kBAAkB;AAAA,UACzC;AAAA,QACF,OAAO;AACL,iBAAO,UAAM,qCAAkB,8BAAY,EAAE,SAAS,QAAQ,IAAI;AAAA,QACpE;AAAA,MACF;AAAA,IAOF;AALE;AAAA,wBAAe,WAAG;AAChB,UAAI,CAAC,KAAK,YAAY,GAAG;AACvB,cAAM,iCAAe,aAAa;AAAA,MACpC;AAAA,IACF;AAAA;AAAA;;;AClNF,IAEa;AAFb;AAAA;AAAA;AAAA;AAEO,IAAM,cAAc,MAAM;AAC/B,YAAM,EAAE,SAAS,IAAI,gBAAgB;AACrC,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AC0OA,SAAS,uBAAuB,EAAE,SAAS,KAAK,GAA8D;AAC5G,MAAI,wCAAqB,OAAO,SAAS;AACvC,WAAO,gCAAa;AAAA,EACtB,WAAW,wCAAqB,OAAO,SAAS;AAC9C,WAAO,gCAAa;AAAA,EACtB,OAAO;AACL,WAAO,OAAO,gCAAa,yBAAyB,gCAAa;AAAA,EACnE;AACF;AAzPA,IAAAC,oBAiBAC,eAEA,eAca;AAjCb;AAAA;AAAA;AAAA,IAAAD,qBAgBO;AACP,IAAAC,gBAA0D;AAE1D,oBAAwB;AACxB;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEO,IAAM,cAAc,MAAM;AAjCjC;AAkCE,YAAM,WAAW,kBAAkB;AAEnC,YAAM,EAAE,QAAAC,QAAO,IAAI,UAAU;AAE7B,YAAM,CAAC,SAAS,UAAU,QAAI,wBAAiB,OAAO,gCAAa,SAAS,OAAO,CAAC;AAEpF,YAAM,CAAC,WAAW,YAAY,QAAI,4BAAoB,sCAAkB,YAAY,OAAO,KAAK,qBAAO,CAAC;AAExG,YAAM,CAAC,SAAS,UAAU,QAAI,wBAAS,gCAAa,SAAS,eAAe;AAE5E,YAAM,EAAE,SAAS,IAAI,YAAY;AAEjC,YAAM,EAAE,kBAAkB,IAAI,YAAY;AAE1C,YAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,YAAM,EAAE,iBAAiB,IAAI,gBAAgB;AAE7C,YAAM,EAAE,SAAAC,SAAQ,IAAI,WAAW;AAE/B,YAAM,oBAAgB,uBAAQ,MAAM;AAtDtC,YAAAC;AAuDI,YACE,sBACA,qCAAU,iBAAiB,+BAC3BA,MAAA,aAAa,wBAAb,gBAAAA,IAAkC,6CACjC,sCAAkB,MAAM,4BAAS,WAAO,sCAAkB,MAAM,4BAAS,UAC1E;AACA,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT,GAAG;AAAA,QACD,qCAAU,iBAAiB;AAAA,QAC3B;AAAA,SACA,kBAAa,wBAAb,mBAAkC;AAAA,MACpC,CAAC;AAED,mCAAU,MAAM;AACd,cAAM,iBAAiB,CAACC,aAAoB;AAC1C,qBAAW,OAAOA,QAAO,CAAC;AAAA,QAC5B;AACA,wCAAa,SAAS,GAAG,gBAAgB,cAAc;AAEvD,cAAM,YAAY,MAAM;AACtB,qBAAW,gCAAa,SAAS,eAAe;AAAA,QAClD;AACA,wCAAa,SAAS,GAAG,WAAW,SAAS;AAE7C,cAAM,oBAAoB,CAAC,aAAuB;AAChD,cAAI,SAAS,IAAI;AACf,uBAAW,SAAS,EAAE;AAAA,UACxB;AAAA,QACF;AACA,wCAAa,SAAS,GAAG,mBAAmB,iBAAiB;AAE7D,cAAM,eAAe,MAAM;AACzB,qBAAW,IAAI;AAAA,QACjB;AACA,wCAAa,SAAS,GAAG,cAAc,YAAY;AAEnD,eAAO,MAAM;AACX,0CAAa,SAAS,IAAI,gBAAgB,cAAc;AACxD,0CAAa,SAAS,IAAI,WAAW,SAAS;AAC9C,0CAAa,SAAS,IAAI,mBAAmB,iBAAiB;AAC9D,0CAAa,SAAS,IAAI,cAAc,YAAY;AAAA,QACtD;AAAA,MACF,GAAG,CAACF,QAAO,CAAC;AAEZ,mCAAU,MAAM;AACd,YAAI,SAAS;AACX,2BAAa,sCAAkB,YAAY,OAAO,KAAK,qBAAO,CAAC;AAAA,QACjE;AAAA,MACF,GAAG,CAAC,OAAO,CAAC;AAEZ,YAAM,qBAAqB,MAAM;AAC/B,sCAAM,iCAAc,oBAAoB;AACxC,0CAAM,gCAAY,GAAG,UAAU,SAAS,CAAC;AACzC,sCAAM,gCAAa,SAAS,iBAAiB,6BAA6B;AAAA,MAC5E;AAEA,YAAM,eAAW;AAAA,QACf,OAAU,UAA0D;AAClE,6BAAmB;AACnB,gBAAM,SAAS,MAAM,IAAI,QAAW,CAAC,SAAS,WAAW;AACvD,gBAAID,QAAO,+CAA6C,IAAI,GAAG;AAC7D,qBAAO,UAAU,QAAQ,MAAM,CAAC;AAAA,YAClC,OAAO;AACL,cAAAA,QAAO,wCAAsC,CAAC,aAAa;AACzD,oBAAI,SAAS,OAAO;AAClB,yBAAO,SAAS,KAAK;AAAA,gBACvB,OAAO;AACL,0BAAQ,SAAS,MAAM;AAAA,gBACzB;AACA,iCAAiB,EAAE,sBAAsB,MAAM,CAAC;AAAA,cAClD,CAAC;AACD,uDAA2B;AAAA,gBACzB,SAAS;AAAA,gBACT;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AACD,iBAAO;AAAA,QACT;AAAA,QACA,CAAC,UAAUA,OAAM;AAAA,MACnB;AAEA,YAAM,kBAAc;AAAA,QAClB,OAAOI,UAAqC,SAAoC;AAC9E,cAAI,eAAe;AACjB,kBAAM,SAAS,MAAM,gCAAa,SAAS,YAAY,kBAAkBA,QAAO,GAAG,IAAI;AACvF,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,SAAS,MAAM,SAAiB;AAAA,cACpC,OAAO,kBAAkBA,QAAO;AAAA,cAChC,QAAQ,OAAO,gCAAa,mBAAmB,gCAAa;AAAA,YAC9D,CAAC;AACD,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,QACA,CAAC,UAAU,aAAa;AAAA,MAC1B;AAEA,YAAM,oBAAgB;AAAA,QACpB,OAA+D;AAAA,UAC7D;AAAA,UACA;AAAA,UACA;AAAA,QACF,MAIuB;AACrB,cAAI,eAAe;AACjB,kBAAM,SAAS,MAAM,gCAAa,SAAS,cAAc,EAAE,MAAM,SAAS,KAAK,CAAC;AAChF,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,SAAS,MAAM,SAAiB;AAAA,cACpC,OAAO;AAAA,cACP,QAAQ,uBAAuB,EAAE,SAAS,KAAK,CAAC;AAAA,YAClD,CAAC;AACD,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,QACA,CAAC,UAAU,aAAa;AAAA,MAC1B;AAEA,YAAM,sBAAkB;AAAA,QACtB,OAAO,gBAAqF;AAC1F,cAAI,YAAY,WAAW,KAAC,wCAAoB,OAAO,YAAY,OAAO,CAAC,GAAG;AAC5E,kBAAM,IAAI,MAAM,gBAAgB,YAAY,2BAA2B;AAAA,UACzE;AAEA,cAAI,eAAe;AACjB,kBAAM,SAAS,MAAM,2BAAmB,WAAW;AACnD,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,SAAS,MAAM,SAAiB;AAAA,cACpC,OAAO,EAAE,GAAG,aAAa,MAAM,SAAS,SAAS,YAAY,WAAW,QAAQ;AAAA,cAChF,QAAQ,gCAAa;AAAA,YACvB,CAAC;AACD,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,QACA,CAAC,SAAS,SAAS,UAAU,aAAa;AAAA,MAC5C;AAEA,YAAM,kBAAc,2BAAY,OAAO,OAAmC;AACxE,kBAAM,sCAAkB,iCAAc,oBAAoB,EAAE,SAAS,YAAY,EAAE;AAAA,MACrF,GAAG,CAAC,CAAC;AAEL,YAAM,aAAS,2BAAY,YAA6B;AACtD,cAAM,SAAS,UAAM,sCAAkB,iCAAc,oBAAoB,EAAE,SAAS,OAAO;AAC3F,eAAO,OAAO;AAAA,MAChB,GAAG,CAAC,CAAC;AAEL,YAAM,eAAW,uBAAQ,MAAmB;AAhN9C,YAAAF,KAAA;AAiNI,YAAI,SAAS,OAAKA,MAAA,OAAO,aAAP,gBAAAA,IAAiB,WAAU;AAC3C,kBAAO,YAAO,aAAP,mBAAiB;AAAA,QAC1B,OAAO;AACL,gBAAM,kBAAkB,IAAI,YAAY;AACxC,0BAAgB,cAAc;AAC9B,0BAAgB,gBAAgB;AAChC,0BAAgB,kBAAkB;AAClC,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,mCAAU,MAAM;AACd,YAAI,UAAU;AACZ,mBAAS,cAAc;AACvB,mBAAS,gBAAgB;AACzB,mBAAS,kBAAkB;AAAA,QAC7B;AAAA,MACF,GAAG,CAAC,UAAU,aAAa,eAAe,eAAe,CAAC;AAE1D,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AC/OA,IAAAG,eAEa;AAFb;AAAA;AAAA;AAAA,IAAAA,gBAAsC;AAE/B,IAAM,eAAe,MAAM;AAChC,YAAM,CAAC,SAAS,UAAU,QAAI,0BAAW,MAAM,MAAM,KAAK;AAC1D,mCAAU,YAAY,CAAC,UAAU,CAAC;AAClC,aAAO;AAAA,IACT;AAAA;AAAA;;;ACNA,IAGa;AAHb;AAAA;AAAA;AAGO,IAAM,eAAN,MAAmB;AAAA,MAAnB;AACL,aAAS,oBAAoB;AAI7B,oBAAO;AACP,mBAAM;AACN,oBAAO;AAsDP,+BAAkB,OAChB,aACA,YACe;AACf,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,mCAAsB,OACpB,cACA,YACiB;AACjB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,sCAAyB,OACvB,aACA,YACmC;AACnC,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,2BAAc,OAAOC,aAA4D;AAC/E,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,2BAAc,OAAO,YAAoB;AAzF3C;AA0FI,kBAAM,YAAO,iBAAP,mBAAqB,OAAO,YAAY;AAAA,QAChD;AAAA;AAAA,MA/EA,GAAG,OAAe,UAA0C;AAZ9D;AAaI,qBAAO,iBAAP,mBAAqB,OAAO,GAAG,OAAO;AACtC,eAAO;AAAA,MACT;AAAA,MAEA,KAAK,OAAe,UAA0C;AAjBhE;AAkBI,qBAAO,iBAAP,mBAAqB,OAAO,KAAK,OAAO;AACxC,eAAO;AAAA,MACT;AAAA,MAEA,IAAI,OAAe,UAA0C;AAtB/D;AAuBI,qBAAO,iBAAP,mBAAqB,OAAO,IAAI,OAAO;AACvC,eAAO;AAAA,MACT;AAAA,MAEA,eAAe,OAAe,UAA0C;AA3B1E;AA4BI,qBAAO,iBAAP,mBAAqB,OAAO,eAAe,OAAO;AAClD,eAAO;AAAA,MACT;AAAA,MAEA,IAAI,cAAuB;AAhC7B;AAiCI,gBAAO,kBAAO,iBAAP,mBAAqB,OAAO,gBAA5B,YAA2C;AAAA,MACpD;AAAA,MAEA,IAAI,aAAsB;AApC5B;AAqCI,gBAAO,kBAAO,iBAAP,mBAAqB,OAAO,eAA5B,YAA0C;AAAA,MACnD;AAAA,MAEA,IAAI,YAAqB;AAxC3B;AAyCI,gBAAO,kBAAO,iBAAP,mBAAqB,OAAO,cAA5B,YAAyC;AAAA,MAClD;AAAA,MAEA,IAAI,YAA8B;AA5CpC;AA6CI,gBAAO,kBAAO,iBAAP,mBAAqB,OAAO,cAA5B,YAAyC;AAAA,MAClD;AAAA,MAEA,IAAI,kBAAiC;AAhDvC;AAiDI,gBAAO,kBAAO,iBAAP,mBAAqB,OAAO,oBAA5B,YAA+C;AAAA,MACxD;AAAA,MAEA,IAAI,UAAkB;AApDxB;AAqDI,gBAAO,kBAAO,iBAAP,mBAAqB,OAAO,YAA5B,YAAuC;AAAA,MAChD;AAAA,MAEA,MAAM,QAAQ,OAAqC;AAxDrD;AAyDI,gBAAM,YAAO,iBAAP,mBAAqB,OAAO,QAAQ;AAAA,MAC5C;AAAA,MAEA,MAAM,aAA4B;AA5DpC;AA6DI,gBAAM,YAAO,iBAAP,mBAAqB,OAAO;AAAA,MACpC;AAAA,MAgCA,MAAM,QAAQ,MAAuC;AA9FvD;AA+FI,gBAAO,YAAO,iBAAP,mBAAqB,OAAO,QAAQ;AAAA,MAC7C;AAAA,IACF;AAAA;AAAA;;;ACjGA,IAAAC,oBAYAC,eAYa;AAxBb;AAAA;AAAA;AAAA,IAAAD,qBAUO;AAEP,IAAAC,gBAA0D;AAE1D;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACO,IAAM,YAAY,MAAM;AAxB/B;AAyBE,YAAM,WAAW,kBAAkB;AAEnC,YAAM,EAAE,QAAAC,QAAO,IAAI,UAAU;AAE7B,YAAM,CAAC,SAAS,UAAU,QAAI,wBAAiB,gCAAa,OAAO,OAAO;AAE1E,YAAM,CAAC,WAAW,YAAY,QAAI;AAAA,YAChC,sCAAkB,eAAe,gCAAa,OAAO,OAAO,KAAK,yBAAM;AAAA,MACzE;AAEA,YAAM,CAAC,SAAS,UAAU,QAAI,wBAAS,gCAAa,OAAO,eAAe;AAE1E,YAAM,EAAE,iBAAiB,IAAI,gBAAgB;AAE7C,YAAM,EAAE,SAAAC,SAAQ,IAAI,WAAW;AAE/B,YAAM,EAAE,SAAS,IAAI,YAAY;AAEjC,YAAM,EAAE,kBAAkB,IAAI,YAAY;AAE1C,YAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,YAAM,oBAAgB,uBAAQ,MAAM;AA/CtC,YAAAC;AAgDI,YACE,sBACA,qCAAU,iBAAiB,+BAC3BA,MAAA,aAAa,wBAAb,gBAAAA,IAAkC,6CACjC,sCAAkB,MAAM,4BAAS,WAAO,sCAAkB,MAAM,4BAAS,UAC1E;AACA,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT,GAAG;AAAA,QACD,qCAAU,iBAAiB;AAAA,QAC3B;AAAA,SACA,kBAAa,wBAAb,mBAAkC;AAAA,MACpC,CAAC;AAED,mCAAU,MAAM;AA/DlB,YAAAA;AAgEI,cAAM,iBAAiB,CAACC,aAAoB;AAC1C,qBAAWA,QAAO;AAAA,QACpB;AACA,wCAAa,OAAO,GAAG,gBAAgB,cAAc;AAErD,cAAM,YAAY,MAAM;AACtB,qBAAW,gCAAa,OAAO,eAAe;AAAA,QAChD;AACA,wCAAa,OAAO,GAAG,WAAW,SAAS;AAE3C,oBAAWD,MAAA,gCAAa,OAAO,YAApB,OAAAA,MAA+B,GAAG;AAE7C,cAAM,eAAe,MAAM;AACzB,qBAAW,IAAI;AAAA,QACjB;AACA,wCAAa,OAAO,GAAG,cAAc,YAAY;AAEjD,eAAO,MAAM;AACX,0CAAa,OAAO,IAAI,gBAAgB,cAAc;AACtD,0CAAa,OAAO,IAAI,WAAW,SAAS;AAC5C,0CAAa,OAAO,IAAI,cAAc,YAAY;AAAA,QACpD;AAAA,MACF,GAAG,CAACD,QAAO,CAAC;AAEZ,mCAAU,MAAM;AACd,YAAI,SAAS;AACX,cAAI,QAAQ,eAAe,OAAO;AAClC,cAAI,CAAC,SAAS,YAAY,KAAK;AAC7B,oBAAQ;AAAA,UACV;AACA,2BAAa,sCAAkB,KAAK,CAAC;AAAA,QACvC;AAAA,MACF,GAAG,CAAC,OAAO,CAAC;AAEZ,YAAM,qBAAqB,MAAM;AAC/B,sCAAM,iCAAc,oBAAoB;AACxC,0CAAM,gCAAY,GAAG,UAAU,SAAS,CAAC;AACzC,sCAAM,gCAAa,OAAO,iBAAiB,6BAA6B;AAAA,MAC1E;AAEA,YAAM,eAAW;AAAA,QACf,OAAU,UAA4E;AACpF,6BAAmB;AACnB,gBAAM,SAAS,MAAM,IAAI,QAAW,CAAC,SAAS,WAAW;AACvD,gBAAID,QAAO,+CAA6C,IAAI,GAAG;AAC7D,qBAAO,UAAU,QAAQ,MAAM,CAAC;AAAA,YAClC,OAAO;AACL,cAAAA,QAAO,wCAAsC,CAAC,aAAa;AACzD,oBAAI,SAAS,OAAO;AAClB,yBAAO,SAAS,KAAK;AAAA,gBACvB,OAAO;AACL,0BAAQ,SAAS,MAAM;AAAA,gBACzB;AACA,iCAAiB,EAAE,sBAAsB,MAAM,CAAC;AAAA,cAClD,CAAC;AACD,uDAA8B;AAAA,gBAC5B,SAAS;AAAA,gBACT;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AACD,iBAAO;AAAA,QACT;AAAA,QACA,CAAC,QAAQ;AAAA,MACX;AAEA,YAAM,kBAAc;AAAA,QAClB,OAAOI,aAA4D;AACjE,cAAI,eAAe;AACjB,kBAAM,SAAS,MAAM,gCAAa,OAAO,YAAYA,QAAO;AAC5D,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,YAAY,MAAM,SAAqB;AAAA,cAC3C,OAAOA;AAAA,cACP,QAAQ,mCAAgB;AAAA,YAC1B,CAAC;AACD,mBAAO,EAAE,UAAU;AAAA,UACrB;AAAA,QACF;AAAA,QACA,CAAC,UAAU,aAAa;AAAA,MAC1B;AAEA,YAAM,sBAAkB;AAAA,QACtB,OAAqD,aAAgBD,aAAiC;AACpG,wCAAM,CAACA,gBAAW,2CAAuBA,QAAO,GAAG,gBAAgBA,2BAA0B;AAC7F,cAAI,eAAe;AACjB,kBAAM,YAAY,MAAM,gCAAa,OAAO,gBAAgB,aAAaA,QAAO;AAChF,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,YAAY,MAAM,SAAY;AAAA,cAClC,OAAO;AAAA,cACP,QAAQ,mCAAgB;AAAA,cACxB,SAAAA;AAAA,YACF,CAAC;AACD,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,QACA,CAAC,UAAU,aAAa;AAAA,MAC1B;AAEA,YAAM,0BAAsB;AAAA,QAC1B,OAAqD,cAAmBA,aAAmC;AACzG,wCAAM,CAACA,gBAAW,2CAAuBA,QAAO,GAAG,gBAAgBA,2BAA0B;AAC7F,cAAI,eAAe;AACjB,kBAAM,YAAY,MAAM,gCAAa,OAAO,oBAAoB,cAAcA,QAAO;AACrF,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,YAAY,MAAM,SAAc;AAAA,cACpC,OAAO;AAAA,cACP,QAAQ,mCAAgB;AAAA,cACxB,SAAAA;AAAA,YACF,CAAC;AACD,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,QACA,CAAC,UAAU,aAAa;AAAA,MAC1B;AAEA,YAAM,6BAAyB;AAAA,QAC7B,OACE,aACAA,aACmC;AACnC,wCAAM,CAACA,gBAAW,2CAAuBA,QAAO,GAAG,gBAAgBA,2BAA0B;AAC7F,cAAI,eAAe;AACjB,kBAAM,SAAS,MAAM,gCAAa,OAAO,uBAAuB,aAAaA,QAAO;AACpF,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,YAAY,MAAM,SAAiB;AAAA,cACvC,OAAO;AAAA,cACP,QAAQ,mCAAgB;AAAA,cACxB,SAAAA;AAAA,YACF,CAAC;AACD,mBAAO,EAAE,UAAU;AAAA,UACrB;AAAA,QACF;AAAA,QACA,CAAC,UAAU,aAAa;AAAA,MAC1B;AAEA,YAAM,kBAAc,2BAAY,OAAO,OAAe;AACpD,kBAAM,sCAAkB,iCAAc,oBAAoB,EAAE,OAAO,YAAY,EAAE;AAAA,MACnF,GAAG,CAAC,CAAC;AAEL,YAAM,aAAS,2BAAY,YAA6B;AACtD,kBAAM,sCAAkB,iCAAc,oBAAoB,EAAE,OAAO,QAAQ;AAC3E,mBAAO,sCAAkB,gCAAa,OAAO,eAAe;AAAA,MAC9D,GAAG,CAAC,CAAC;AAEL,YAAM,aAAS,uBAAQ,MAAM;AApN/B,YAAAD;AAqNI,YAAI,SAAS,OAAKA,MAAA,OAAO,aAAP,gBAAAA,IAAiB,SAAQ;AACzC,iBAAO,OAAO,SAAS;AAAA,QACzB,OAAO;AACL,gBAAM,eAAe,IAAI,aAAa;AACtC,uBAAa,cAAc;AAC3B,uBAAa,kBAAkB;AAC/B,uBAAa,sBAAsB;AACnC,uBAAa,yBAAyB;AACtC,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,mCAAU,MAAM;AACd,YAAI,QAAQ;AACV,iBAAO,cAAc;AACrB,iBAAO,kBAAkB;AACzB,iBAAO,sBAAsB;AAC7B,iBAAO,yBAAyB;AAAA,QAClC;AAAA,MACF,GAAG,CAAC,QAAQ,aAAa,iBAAiB,qBAAqB,sBAAsB,CAAC;AAEtF,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACtPA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA,SAAS,YAAY,OAAY;AAC/B,QAAM,EAAE,UAAU,IAAI,aAAa;AACnC,QAAM,aAAS,wBAAQ,MAAM;AAC3B,WAAO,cAAc,SACjB,0DAA6C,UAC7C,sDAA2C;AAAA,EACjD,GAAG,CAAC,SAAS,CAAC;AAEd,SACE,+BAAAG,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,oBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAc,GAAG,SAC9B,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAS,KAAK,QAAQ,KAAI,IAAG,CAC9C,CACF;AAEJ;AApBA,IAAAC,gBAsBOC;AAtBP,IAAAC,qBAAA;AAAA;AAAA;AAAA,IAAAF,iBAA+B;AAC/B;AACA;AAoBA,IAAOC,wBAAQ;AAAA;AAAA;;;;;;;;;;;ACtBf,IACAE,gBASM,eA+CCC;AAzDP,IAAAC,sBAAA;AAAA;AAAA;AACA,IAAAF,iBAAkB;AAClB,IAAAG;AACA;AACA;AACA;AACA;AACA,IAAAC;AACA;AAEA,IAAM,gBAAgB,CAAC,EAAE,UAAU,WAAW,KAAK,MAA+C;AAChG,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAM,CAAC,MAAM,OAAO,IAAI,eAAAC,QAAM,SAAS,CAAC,QAAQ;AAEhD,YAAM,EAAE,gBAAgB,IAAI,iBAAS;AAErC,YAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,aACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,4BACb,+BAAAA,QAAA,cAAC,eAAO,qBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,uBAAuB,WAAW,WAAW;AAAA,UACxD,SAAS,MAAM;AACb,gBAAI,CAAC,YAAY;AAAM;AAEvB,oBAAQ,IAAI;AACZ,4BAAgB;AAAA,cACd,YAAY;AAAA,YACd,CAAC;AAAA,UACH;AAAA;AAAA,QAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,KAAK,cAAc,aAAa,SAAS,EAAE,aAAa,IAAI,KAAI,QAAO,CAC9E;AAAA,QACC,QACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,KAAK,kBAAS,KAAI,WAAU,CACnC;AAAA,QAGD,YAAY,CAAC,QACZ,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,gBAAe,MAAK,gBAAe,CACxD;AAAA,MAEJ,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,CAAC,WAAW,EAAE,sBAAsB,IAAI,EAAE,sBAAsB,CAAE,GACzF,YAAY,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,uBAAuB,CAAE,CACjE,GACA,+BAAAA,QAAA,cAACC,uBAAA,EAAY,WAAU,iBAAgB,CACzC;AAAA,IAEJ;AAEA,IAAOL,yBAAQ;AAAA;AAAA;;;;;;;;;;;ACzDf;AAAA;AAAA,iBAAAM;AAAA;AAAA,IAAAC,oBACA,aACAC,mBACA,WACAC,gBAOM,OAgHCH;AA3HP,IAAAI,cAAA;AAAA;AAAA;AAAA,IAAAH,qBAA8C;AAC9C,kBAAwB;AACxB,IAAAC,oBAAsB;AACtB,gBAAe;AACf,IAAAC,iBAA2C;AAC3C,IAAAE;AACA;AACA;AACA;AACA;AAEA,IAAM,QAAQ,MAAM;AAClB,YAAM,EAAE,SAAAC,SAAQ,IAAI,WAAW;AAC/B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,qBAAqB,uBAAuB,iBAAiB,IAAI,gBAAgB;AACzF,YAAM,CAAC,oBAAoB,qBAAqB,IAAI,eAAAC,QAAM,SAAS,KAAK;AACxE,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAiB,EAAY;AAC7D,YAAM,CAAC,mBAAmB,oBAAoB,QAAI,yBAAS,KAAK;AAEhE,YAAM,qBAAqB,CAAC,WAAgB;AAnB9C;AAoBI,aAAI,YAAO,aAAP,mBAAiB,UAAU;AAC7B,iBAAO,SAAS,SAAS,qBAAqB;AAAA,QAChD;AACA,aAAI,YAAO,aAAP,mBAAiB,QAAQ;AAC3B,iBAAO,SAAS,OAAO,qBAAqB;AAAA,QAC9C;AACA,eAAO;AAAA,UACL,IAAI,YAAY,mCAAmC;AAAA,YACjD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAEA,YAAM,kBAAkB,YAAY;AAjCtC;AAkCI,YAAI;AACF,gBAAM,QAAQ,UAAAC,QAAG,MAAM,CAAC,SAAS,IAAI,OAAO,SAAS,SAAS,IAAI;AAAA,YAChE,mBAAmB;AAAA,UACrB,CAAC;AACD,gBAAM,kCAAkC,+BAAO;AAC/C,cAAI,CAAC,iCAAiC;AACpC,gBAAI,KAAC,gCAAY,GAAG;AAClB,kCAAoB,cAAc;AAAA,YACpC;AACA;AAAA,UACF;AAEA,iBAAO,MAAM;AACb,gBAAM,cAAc,OAAO,SAAS,SAAS,OAAO,SAAS,WAAW,MAAM,UAAAA,QAAG,UAAU,KAAK,GAAG;AAAA,YACjG;AAAA,YACA;AAAA,UACF;AACA,iBAAO,QAAQ,aAAa,CAAC,GAAG,SAAS,OAAO,UAAU;AAC1D,mBAAS,QAAQ,SAAS,SAAS;AAEnC,gBAAM,2BAA2B,KAAK,MAAM,kBAAAC,QAAU,OAAO,+BAAyC,CAAC;AACvG,gBAAM,EAAE,MAAM,OAAO,UAAU,OAAAC,OAAM,IAAI;AACzC,gBAAM,cAAc,WAAW,KAAK,MAAM,kBAAAD,QAAU,OAAO,QAAkB,CAAC,IAAI,CAAC;AACnF,gBAAM,EAAE,eAAe,OAAO,SAAS,YAAY,IAAI;AAEvD,cAAIC,QAAO;AACT,gBAAI,KAAC,gCAAY,GAAG;AAClB,kCAAoB,cAAc;AAAA,YACpC;AACA,gBAAI,CAAC,SAAS;AACZ,mFAAuB,YAAvB,+CAAiC,IAAI,MAAMA,MAAK;AAAA,YAClD,OAAO;AACL,kCAAQ,MAAMA,MAAK;AAAA,YACrB;AAEA,gBAAI,YAAY,oBAAoB;AAClC,mCAAqB,IAAI;AAAA,YAC3B;AAEA;AAAA,UACF;AAEA,gBAAMC,YAAW,MAAM,MAAM,GAAG,EAAE;AAClC,sBAAYA,SAAQ;AAEpB,cAAI,YAAY,oBAAoB;AAClC,qBAAS,+BAA+B;AAAA,cACtC,OAAO;AAAA,gBACL,UAAAA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,SAAS;AAAA,YACX,CAAC;AAAA,UACH,OAAO;AACL,oBAAI,qCAAiBA,SAAQ,GAAG;AAC9B,oCAAsB,IAAI;AAC1B,+BAAiB;AAAA,gBACf,sBAAsB;AAAA,cACxB,CAAC;AAAA,YACH;AACA,oBAAQ,IAAI,2BAA2BA,yBAAwB;AAC/D,kBAAML,SAAQ,EAAE,YAAYK,WAAU,MAAM,OAAO,eAAe,MAAM,CAAC;AAAA,UAC3E;AAAA,QACF,SAASD,QAAP;AACA,kBAAQ,MAAM,iCAAiCA,MAAK;AACpD,cAAI,KAAC,gCAAY,GAAG;AAClB,gCAAoB,cAAc;AAAA,UACpC;AACA,6BAAmB;AAAA,YACjB,QAAQ,OAAO,OAAOA,MAAK;AAAA,UAC7B,CAAC;AAAA,QACH;AACA,8BAAsB,KAAK;AAAA,MAC7B;AAEA,oCAAU,MAAM;AACd,wBAAgB;AAAA,MAClB,GAAG,CAAC,CAAC;AAEL,aACE,+BAAAH,QAAA,cAAC,SAAI,WAAU,qBACb,+BAAAA,QAAA,cAAC,eAAO,aAA4B,GACnC,sBAAsB,+BAAAA,QAAA,cAACK,wBAAA,EAAc,UAAoB,UAAU,mBAAmB,CACzF;AAAA,IAEJ;AAEA,IAAOZ,iBAAQ;AAAA;AAAA;;;;;;;;;;;AC3Hf,IAAAa,gBAGM,yBAiCA,UAsBA,UA6MC;AAvQP;AAAA;AAAA;AAAA,IAAAA,iBAA0E;AAC1E;AAEA,IAAM,0BAA0B,CAAC,SAAS,WAAW,cAAc;AAiCnE,IAAM,WAA0C;AAAA,MAC9C,OAAO;AAAA,QACL,MAAM;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,MAEA,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,MAEA,SAAS;AAAA,QACP,MAAM;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,QACT,KAAK;AAAA,QACL,KAAK;AAAA,MACP;AAAA,IACF;AAEA,IAAM,eAAW;AAAA,MACf,CACE;AAAA,QACE,oBAAoB;AAAA,QACpB;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa;AAAA,QACb,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,OAAO;AAAA,MACT,GACA,QACG;AACH,YAAI,MAAM,MAAM,KAAK,SAAS,GAAG;AAC/B,gBAAM,IAAI,MAAM,8CAA8C;AAAA,QAChE;AAEA,YAAI,CAAC,wBAAwB,KAAK,CAAC,UAAU,UAAU,iBAAiB,GAAG;AACzE,gBAAM,IAAI,MAAM,0EAA0E;AAAA,QAC5F;AAEA,cAAM,gBAAY,uBAAgC,CAAC,CAAC;AACpD,cAAM,aAAa,SAAS;AAE5B,gDAAoB,KAAK,OAAO;AAAA,UAC9B,OAAO,MAAM;AACX,gBAAI,UAAU,SAAS;AACrB,wBAAU,QAAQ,GAAG,MAAM;AAAA,YAC7B;AAAA,UACF;AAAA,UACA,OAAO,MAAM;AACX,gBAAI,UAAU,SAAS;AACrB,uBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,QAAQ,KAAK;AACjD,0BAAU,QAAQ,GAAG,QAAQ;AAAA,cAC/B;AACA,wBAAU,QAAQ,GAAG,MAAM;AAAA,YAC7B;AACA,uBAAW;AAAA,UACb;AAAA,QACF,EAAE;AAEF,sCAAU,MAAM;AACd,cAAI,aAAa,qBAAqB,GAAG;AACvC,sBAAU,QAAQ,GAAG,MAAM;AAAA,UAC7B;AAAA,QACF,GAAG,CAAC,CAAC;AAEL,sCAAU,MAAM;AACd,cAAI,MAAM;AACR,qBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,QAAQ,KAAK;AACjD,wBAAU,QAAQ,GAAG,QAAQ;AAAA,YAC/B;AACA,qBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,wBAAU,QAAQ,GAAG,QAAQ,KAAK;AAAA,YACpC;AACA,uBAAW;AAAA,UACb;AAAA,QACF,GAAG,CAAC,IAAI,CAAC;AAET,YAAI,WAAW,UAAU,QAAQ,IAAI,CAAC,UAAU,MAAM,KAAK,EAAE,KAAK,EAAE,KAAK;AAEzE,cAAM,aAAa,MAAM;AACvB,gBAAM,MAAM,UAAU,QAAQ,IAAI,CAAC,UAAU,MAAM,KAAK,EAAE,KAAK,EAAE;AACjE,cAAI,aAAa,KAAK;AACpB,oBAAQ,IAAI,cAAc,GAAG;AAC7B,wBAAY,SAAS,GAAG;AACxB,uBAAW;AAAA,UACb;AAAA,QACF;AAEA,cAAM,iBAAiB,CAAC,MAA2C;AApIvE;AAqIM,gBAAM;AAAA,YACJ,QAAQ,EAAE,OAAO,mBAAmB;AAAA,UACtC,IAAI;AAEJ,cAAI,MAAM,UAAU,GAAG;AACrB,gBAAI,MAAM,MAAM,WAAW,OAAO,GAAG;AACnC,kBAAI,uBAAuB,MAAM;AAC/B,gBAAC,mBAAwC,MAAM;AAAA,cACjD;AAAA,YACF,OAAO;AACL,gBAAE,OAAO,QAAQ;AAAA,YACnB;AAAA,UACF,WAAW,MAAM,SAAS,GAAG;AAC3B,kBAAM,cAAc;AACpB,gBAAI,eAAuB,OAAO,EAAE,OAAO,aAAa,YAAY,CAAC,KAAK;AAC1E,qBAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,oBAAM,kBAAkB,YAAY,OAAO,CAAC;AAC5C,kBAAI,gBAAgB,MAAM,WAAW,OAAO,OAAK,eAAU,YAAV,mBAAoB,gBAAe;AAClF,0BAAU,QAAQ,cAAc,QAAQ;AACxC,oBAAI,UAAU,QAAQ,cAAc,uBAAuB,MAAM;AAC/D,kBAAC,UAAU,QAAQ,cAAc,mBAAwC,MAAM;AAC/E;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,qBAAW,MAAM;AACf,uBAAW;AAAA,UACb,CAAC;AAAA,QACH;AAEA,cAAM,kBAAkB,CAAC,MAA6C;AACpE,gBAAM,EAAE,IAAI,IAAI;AAChB,gBAAM,SAAS,EAAE;AACjB,cAAI,QAAQ,aAAa;AACvB,gBAAI,OAAO,UAAU,IAAI;AACvB,kBAAI,OAAO,2BAA2B,MAAM;AAC1C,sBAAM,IAAI,OAAO;AACjB,kBAAE,QAAQ;AACV,kBAAE,MAAM;AACR,kBAAE,eAAe;AAAA,cACnB;AAAA,YACF,OAAO;AACL,qBAAO,QAAQ;AAAA,YACjB;AACA,uBAAW,MAAM;AACf,yBAAW;AAAA,YACb,CAAC;AAAA,UACH;AAAA,QACF;AAEA,cAAM,gBAAgB,CAAC,MAA0C;AAC/D,YAAE,OAAO,OAAO;AAAA,QAClB;AAEA,cAAM,gBAAgB,CAAC,MAA8C;AA5LzE;AA6LM,cAAI,eAAc,OAAE,cAAc,QAAQ,MAAM,MAA9B,YAAmC;AACrD,wBAAc,YAAY,QAAQ,OAAO,EAAE,EAAE,UAAU,GAAG,CAAC;AAE3D,cAAI,eAAe;AAEnB,mBAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,kBAAM,kBAAkB,YAAY,OAAO,CAAC;AAC5C,kBAAM,eAAe,UAAU,QAAQ,cAAc;AACrD,gBAAI,gBAAgB,MAAM,WAAW,OAAO,GAAG;AAC7C,kBAAI,CAAC,cAAc;AACjB,0BAAU,QAAQ,cAAc,QAAQ;AACxC,oBAAI,UAAU,QAAQ,cAAc,uBAAuB,MAAM;AAC/D,kBAAC,UAAU,QAAQ,cAAc,mBAAwC,MAAM;AAC/E;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,qBAAW;AAEX,YAAE,eAAe;AAAA,QACnB;AAEA,eACE,+BAAAC,QAAA,cAAC,SAAI,WAAW,sBACb,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM;AAClC,iBACE,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,cAAY;AAAA,cACZ,UAAU;AAAA,cACV,WAAW;AAAA,cACX,SAAS;AAAA,cACT,SAAS;AAAA,cACR,GAAG;AAAA,cACJ,MAAM,aAAa,aAAa,WAAW;AAAA,cAC3C,KAAK,CAAC,OAAyB;AAC7B,0BAAU,QAAQ,KAAK;AAAA,cACzB;AAAA,cAEA,WAAW;AAAA,cACX,cAAc,MAAM,IAAI,kBAAkB;AAAA,cAC1C,cAAY,YAAY,GAAG,wBAAwB,IAAI,OAAO,aAAa,IAAI;AAAA,cAC/E;AAAA,cACA;AAAA;AAAA,UACF;AAAA,QAEJ,CAAC,GACD,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,CAAC,MAAM;AACd,gBAAE,eAAe;AACjB,gBAAE,gBAAgB;AAClB,uBAAS,IAAI,UAAU,QAAQ,SAAS,GAAG,KAAK,GAAG,KAAK;AACtD,oBACG,IAAI,KAAK,CAAC,UAAU,QAAQ,GAAG,SAAS,UAAU,QAAQ,IAAI,GAAG,SACjE,MAAM,KAAK,CAAC,UAAU,QAAQ,GAAG,SACjC,KAAK,UAAU,QAAQ,SAAS,KAAK,UAAU,QAAQ,GAAG,OAC3D;AACA,4BAAU,QAAQ,GAAG,MAAM;AAC3B,4BAAU,QAAQ,GAAG;AAAA,oBACnB,UAAU,QAAQ,GAAG,MAAM;AAAA,oBAC3B,UAAU,QAAQ,GAAG,MAAM;AAAA,kBAC7B;AACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA;AAAA,QACF,CACF;AAAA,MAEJ;AAAA,IACF;AAEA,IAAO,gCAAQ;AAAA;AAAA;;;;;;;;;;;AC1Pf,SAAS,aAAa,OAAY;AAChC,QAAM,EAAE,aAAa,qBAAqB,SAAAC,UAAS,kBAAkB,MAAM,IAAI;AAE/E,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,KAAK;AAE5C,QAAM,EAAE,WAAW,SAAS,IAAI,aAAa;AAC7C,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAiB,EAAE;AACjD,QAAM,EAAE,aAAa,IAAI,iBAAS;AAClC,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,KAAK;AAC5C,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAClD,QAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,KAAK;AACtD,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,KAAK;AAChD,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAClD,QAAM,EAAE,cAAc,IAAI,gBAAgB;AAC1C,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAMC,WAAU,mBAAW;AAC3B,QAAM,gBAAY,uBAAY,IAAI;AAClC,QAAM,cAAc;AACpB,QAAM,CAAC,UAAU,WAAW,QAAI,yBAA6B,GAAI;AAEjE,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,EAAE;AAE7C,iCAAY,MAAM;AAChB,QAAI,YAAY,GAAG;AACjB,YAAM,SAAS,YAAY;AAC3B,mBAAa,MAAM;AACnB,UAAI,WAAW,GAAG;AAChB,oBAAY,MAAS;AAAA,MACvB;AAAA,IACF;AAAA,EACF,GAAG,QAAQ;AAEX,QAAM,iBAAiB,MAAM;AAC3B,iBAAa,EAAE;AACf,gBAAY,GAAI;AAAA,EAClB;AAEA,QAAM,aAAa,MAAM;AACvB,QAAID,SAAQ,SAAS,GAAG,GAAG;AACzB,sBAAgB,EAAE,OAAOA,SAAQ,CAAC;AAAA,IACpC,OAAO;AACL,6DAA+B;AAAA,QAC7B,OAAO;AAAA,QACP;AAAA,QACA,cAAc,MAAM;AAClB,iBAAO,cAAc;AAAA,QACvB;AAAA,MACF,CAAC,EACE,KAAK,CAAC,UAAU;AACf,wBAAgB;AAAA,UACd,OAAOA;AAAA,UAEP,uBAAuB;AAAA,QACzB,CAAC;AAAA,MACH,CAAC,EACA,MAAM,MAAM;AACX,QAAAC,SAAQ,MAAM,EAAE,oBAAoB,CAAC;AAAA,MACvC,CAAC;AAAA,IACL;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,UAA0B;AACjD,gBAAY,KAAK,EACd,KAAK,MAAM;AACV,cAAQ,IAAI,sBAAsB;AAClC,qBAAe;AACf,oBAAc,KAAK;AACnB,mBAAa,KAAK;AAAA,IACpB,CAAC,EACA,MAAM,MAAM;AACX,mBAAa,CAAC;AACd,kBAAY,MAAS;AAAA,IACvB,CAAC;AAAA,EACL;AAEA,QAAM,aAAa,CAAC,UAAe;AACjC,kBAAc,KAAK;AAEnB,UAAM,OAAO;AACb,UAAM,OAAO;AACb,QAAI,KAAK,WAAW,GAAG;AACrB,oBAAc,KAAK;AACnB,iBAAW,IAAI;AAAA,IACjB,OAAO;AACL,UAAI,CAAC,KAAK,KAAK,IAAI,GAAG;AACpB,mBAAW,KAAK;AAChB,sBAAc,IAAI;AAAA,MACpB,OAAO;AACL,mBAAW,KAAK;AAChB,sBAAc,KAAK;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEA,QAAMC,SAAQ,CAAC,SAAkB;AAC/B,eAAW,KAAK;AAChB,kBAAc,KAAK;AACnB,oBAAgB,KAAK;AACrB,WAAO,QAAQ;AACf,YAAQ,IAAI,YAAY,MAAM;AAC9B,QAAI,WAAW,YAAY;AACzB;AAAA,IACF;AACA,QAAI,YAAY,KAAK,IAAI,GAAG;AAC1B,wBAAkB,IAAI;AAAA,IACxB,OAAO;AACL,UAAK,KAAK,SAAS,KAAK,KAAK,SAAS,KAAM,CAAC,YAAY,KAAK,IAAI,GAAG;AACnE,sBAAc,IAAI;AAClB,mBAAW,KAAK;AAAA,MAClB;AACA,UAAI,KAAK,WAAW,GAAG;AACrB,sBAAc,KAAK;AACnB,mBAAW,IAAI;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,YAAY,OAAO,SAAiB;AACxC,QAAI,WAAW;AACb;AAAA,IACF;AACA,eAAW,IAAI;AACf,QAAI;AACJ,QAAIF,SAAQ,SAAS,GAAG,GAAG;AACzB,aAAO;AAAA,QACL;AAAA,QACA,OAAOA;AAAA,QACP;AAAA,MACF;AAAA,IACF,OAAO;AACL,aAAO;AAAA,QACL;AAAA,QACA,OAAOA;AAAA,QACP;AAAA,MACF;AAAA,IACF;AACA,QAAI;AACF,YAAM,aAAa,MAAM,KAAK;AAAA,IAChC,SAASG,QAAP;AACA,uBAAiBA,MAAK;AAAA,IACxB;AAAA,EACF;AAEA,QAAM,mBAAmB,CAACA,WAAe;AACvC,YAAQ,IAAI,eAAeA,MAAK;AAChC,eAAW,KAAK;AAChB,YAAI,+BAAWA,MAAK,GAAG;AACrB,YAAM,YAAYA,OAAM;AACxB,UAAI,cAAc,4BAAS,aAAa;AACtC,wBAAgB,IAAI;AAAA,MACtB,WAAW,cAAc,4BAAS,YAAY;AAC5C,qBAAa,IAAI;AACjB,sBAAc,IAAI;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,oBAAoB,CAAC,cAAsB;AAC/C,eAAW,SAAS;AACpB,eAAW,SAAS;AACpB,eAAW,KAAK;AAChB,kBAAc,KAAK;AACnB,oBAAgB,KAAK;AACrB,iBAAa,KAAK;AAClB,QAAI,YAAY,KAAK,SAAS,GAAG;AAC/B,wBAAkB,SAAS;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,wBAAoB;AAAA,QACxB,gBAAAC;AAAA,MACE,CAAC,SAAS;AACR,kBAAU,IAAI;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,uBAAuB,MAAM;AApMrC;AAqMI,UAAM,WAAW,SAAS,uBAAuB,iBAAiB;AAElE,mBAAS,KAAK,IAAI,QAAQ,QAAQ,CAAC,OAAnC,mBAAuC;AAAA,EACzC;AAEA,QAAM,6BAAyB,wBAAQ,MAAM;AAC3C,UAAMD,SAAQ;AAAA,MACZ,UAAU,EAAE,qBAAqB,IAAI;AAAA,MACrC,aAAa,EAAE,2BAA2B,IAAI;AAAA,MAC9C,eAAe,EAAE,oBAAoB,IAAI;AAAA,MACzC,YAAY,EAAE,yBAAyB,IAAI;AAAA,IAC7C,EACG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EACvB,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EACrB,KAAK,GAAG;AAEX,WAAOA,OAAM,SAAS,GAAG,IAAIA,SAAQ,MAAMA;AAAA,EAC7C,GAAG,CAAC,SAAS,YAAY,cAAc,WAAW,CAAC,CAAC;AAEpD,gCAAU,MAAM;AAxNlB;AAyNI,UAAM,WAAW,SAAS,uBAAuB,kBAAkB;AACnE,UAAM,mBAAmB,CAAC,MAAW,EAAE,eAAe;AACtD,mBAAS,OAAT,mBAAa,iBAAiB,eAAe;AAC7C,WAAO,MAAM;AA5NjB,UAAAE;AA6NM,OAAAA,MAAA,SAAS,OAAT,gBAAAA,IAAa,oBAAoB,eAAe;AAAA,IAClD;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,eAAO,qBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBACb,+BAAAA,QAAA,cAAC,SAAI,SAAS,wBACZ,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,oBAAmB;AAAA,MACnB,gBAAe;AAAA,MACf,mBAAkB;AAAA,MAClB,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,aAAa;AAAA,MACb,UAAU;AAAA;AAAA,EACZ,CACF,CACF,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAa,sBAAuB,GAEnD,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAS;AAAA,MACT,WAAU;AAAA,MACV,SAAS,MAAMJ,OAAM;AAAA,MACrB,UAAU;AAAA,MACV;AAAA;AAAA,IAEC,EAAE,gBAAgB;AAAA,EACrB,GAEA,+BAAAI,QAAA,cAAC,uBAAO,WAAU,WAAU,UAAU,YAAY,GAAG,MAAK,QAAO,SAAS,cACvE,EAAE,kBAAkB,GAAE,KAAE,YAAY,IAAI,IAAI,gBAAgB,EAC/D,GAEC,CAAC,oBACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS,MAAM;AACb,4BAAoB,KAAK;AAAA,MAC3B;AAAA;AAAA,IAEA,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,eAAc,MAAK,eAAc;AAAA,IACpD,+BAAAA,QAAA,cAAC,cAAM,EAAE,YAAY,CAAE;AAAA,EACzB,CAEJ,CACF;AAEJ;AAnRA,IAAAC,oBACA,eACAC,cACA,iBACAC,gBAiROC;AArRP,IAAAC,sBAAA;AAAA;AAAA;AAAA,IAAAJ,qBAA0F;AAC1F,oBAA4B;AAC5B,IAAAC,eAAuB;AACvB,sBAAqB;AACrB,IAAAC,iBAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AA0QA,IAAOC,yBAAQ;AAAA;AAAA;;;;;;;;;;;AC/Qf,SAAS,WAAW,OAAY;AAC9B,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,EAAE,aAAa,qBAAqB,SAAAE,UAAS,kBAAkB,iBAAiB,IAAI;AAE1F,QAAM,CAAC,IAAI,IAAI,kBAAK,QAAQ;AAC5B,QAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,KAAK;AAC9C,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAElD,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,KAAK;AAC5C,QAAM,kBAAc,uBAAY,IAAI;AACpC,QAAM,iBAAa,uBAAY,IAAI;AAEnC,gCAAU,MAAM;AACd,QAAI,oBAAoBA,YAAW,aAAa;AAC9C,WAAK,eAAe;AAAA,QAClB,OAAOA;AAAA,MACT,CAAC;AACD,iBAAWA,QAAO;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,aAAa,CAAC,UAAkB;AACpC,eAAW,QAAQ,MAAM;AACzB,QAAI,CAAC,OAAO;AACV,oBAAc,IAAI;AAClB,kBAAY,KAAK;AAAA,IACnB,WAAW,CAAC,YAAY,KAAK,KAAK,GAAG;AACnC,kBAAY,IAAI;AAAA,IAClB,OAAO;AACL,sBAAgB,KAAK;AAAA,IACvB;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,UAAkB;AACzC,eAAW,IAAI;AACf,gBAAY;AAAA,MACV;AAAA,IACF,CAAC,EACE,KAAK,CAAC,WAAoB;AACzB,0BAAoB,MAAM;AAAA,IAC5B,CAAC,EACA,MAAM,MAAM;AACX,iBAAW,KAAK;AAAA,IAClB,CAAC;AAAA,EACL;AAEA,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,aAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAU,CAAC,WAAW,WAAW,OAAO,MAAM,KAAK,CAAC;AAAA,MACpD,WAAU;AAAA,MACV,cAAc;AAAA,MACd;AAAA,MACA,UAAU;AAAA,QACR,OAAO,EAAE,WAAW,OAAO;AAAA,MAC7B;AAAA;AAAA,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAY,KAAK,eAC9B,+BAAAA,QAAA,cAAC,kBAAK,MAAL,EAAU,MAAK,SAAQ,OAAM,IAAG,WAAU,aAAY,eAAcD,YAAA,gBAAAA,SAAS,SAAS,QAAOA,WAAU,MACtG,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAa,EAAE,qBAAqB,KAAK;AAAA,QACzC,KAAK;AAAA,QACL,UAAU,MAAM;AACd,sBAAY,KAAK;AACjB,wBAAc,KAAK;AAAA,QACrB;AAAA,QACA,UAAU;AAAA,QACV,SAAS,MAAM;AACb,sBAAY,QAAQ,aAAa,cAAc,MAAM;AAAA,QACvD;AAAA,QACA,QAAQ,MAAM;AACZ,sBAAY,QAAQ,gBAAgB,YAAY;AAAA,QAClD;AAAA;AAAA,IACF,CACF,CACF;AAAA,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAa,YAAY,EAAE,0BAA0B,CAAE;AAAA,IACtE,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAa,cAAc,EAAE,0BAA0B,CAAE;AAAA,IAExE,+BAAAA,QAAA,cAAC,kBAAK,MAAL,EAAU,WAAU,eACnB,+BAAAA,QAAA,cAAC,uBAAO,MAAK,WAAU,UAAS,UAAS,WAAU,+BAA8B,WAC9E,EAAE,mBAAmB,CACxB,CACF;AAAA,IAEC,CAAC,oBAAoB,iBAAiB,SAAS,KAC9C,+BAAAA,QAAA,cAAC,SAAI,WAAU,cACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAU,GACxB,EAAE,UAAU,GACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAU,CAC3B;AAAA,EAEJ,CACF,CACF;AAEJ;AA5GA,IAAAC,cACAC,gBA6GO;AA9GP;AAAA;AAAA;AAAA,IAAAD,eAAoC;AACpC,IAAAC,iBAAmD;AACnD;AACA;AACA;AA0GA,IAAO,sBAAQ;AAAA;AAAA;;;ACwIR,SAAS,oBAAoB;AAClC,QAAM,WAAW,UAAU,aAAa,UAAU,UAAU,SAAS,UAAU,UAAU,KAAK,UAAU;AACxG,QAAM,UAAU,SAAS,MAAM,GAAG;AAClC,QAAM,SAAS,QAAQ,SAAS,IAAI,QAAQ,KAAK,QAAQ;AACzD,MAAI;AACJ,MAAI,UAAU,OAAO,SAAS,GAAG;AAC/B,qBAAiB,qBAAqB,KAAK,CAAC,SAAS,KAAK,GAAG,YAAY,MAAM,MAAM;AAAA,EACvF;AACA,SAAO;AACT;AA/PA,IAAa;AAAb;AAAA;AAAA;AAAO,IAAM,uBAAuB;AAAA,MAClC,CAAC,0FAA8B,MAAM,IAAI;AAAA,MACzC,CAAC,yBAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,0EAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,kBAAkB,MAAM,MAAM;AAAA,MAC/B,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,YAAY,MAAM,MAAM;AAAA,MACzB,CAAC,uBAAuB,MAAM,MAAM;AAAA,MACpC,CAAC,aAAa,MAAM,IAAI;AAAA,MACxB,CAAC,8DAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,aAAa,MAAM,IAAI;AAAA,MACxB,CAAC,2BAAwB,MAAM,IAAI;AAAA,MACnC,CAAC,gCAA2B,MAAM,KAAK;AAAA,MACvC,CAAC,WAAW,MAAM,MAAM;AAAA,MACxB,CAAC,0EAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,iEAAyB,MAAM,KAAK;AAAA,MACrC,CAAC,YAAY,MAAM,MAAM;AAAA,MACzB,CAAC,8DAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,uBAAoB,MAAM,IAAI;AAAA,MAC/B,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,oBAAiB,MAAM,KAAK;AAAA,MAC7B,CAAC,WAAW,MAAM,MAAM;AAAA,MACxB,CAAC,2CAAkB,MAAM,KAAK;AAAA,MAC9B,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,0BAA0B,MAAM,KAAK;AAAA,MACtC,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,mBAAmB,MAAM,IAAI;AAAA,MAC9B,CAAC,kCAAkC,MAAM,KAAK;AAAA,MAC9C,CAAC,0BAA0B,MAAM,MAAM;AAAA,MACvC,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,+DAAuB,MAAM,KAAK;AAAA,MACnC,CAAC,gBAAgB,MAAM,KAAK;AAAA,MAC5B,CAAC,sBAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,yDAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,uBAAuB,MAAM,KAAK;AAAA,MACnC,CAAC,UAAU,MAAM,GAAG;AAAA,MACpB,CAAC,2BAA2B,MAAM,KAAK;AAAA,MACvC,CAAC,yBAAyB,MAAM,KAAK;AAAA,MACrC,CAAC,kBAAkB,MAAM,MAAM;AAAA,MAC/B,CAAC,4BAA4B,MAAM,KAAK;AAAA,MACxC,CAAC,gBAAgB,MAAM,KAAK;AAAA,MAC5B,CAAC,SAAS,MAAM,IAAI;AAAA,MACpB,CAAC,wBAAc,MAAM,IAAI;AAAA,MACzB,CAAC,oBAAoB,MAAM,IAAI;AAAA,MAC/B,CAAC,2BAA2B,MAAM,IAAI;AAAA,MACtC,CAAC,YAAY,MAAM,IAAI;AAAA,MACvB,CAAC,iFAA0B,MAAM,KAAK;AAAA,MACtC,CAAC,eAAe,MAAM,KAAK;AAAA,MAC3B,CAAC,oBAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,gBAAgB,MAAM,KAAK;AAAA,MAC5B,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,yBAAiB,MAAM,KAAK;AAAA,MAC7B,CAAC,sBAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,QAAQ,MAAM,IAAI;AAAA,MACnB,CAAC,cAAW,MAAM,KAAK;AAAA,MACvB,CAAC,iDAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,4CAAoC,MAAM,KAAK;AAAA,MAChD,CAAC,qBAAqB,MAAM,IAAI;AAAA,MAChC,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,YAAY,MAAM,MAAM;AAAA,MACzB,CAAC,sBAAsB,MAAM,GAAG;AAAA,MAChC,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,gDAAkB,MAAM,IAAI;AAAA,MAC7B,CAAC,eAAe,MAAM,KAAK;AAAA,MAC3B,CAAC,qBAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,mBAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,qCAAqC,MAAM,KAAK;AAAA,MACjD,CAAC,8BAA2B,MAAM,KAAK;AAAA,MACvC,CAAC,QAAQ,MAAM,KAAK;AAAA,MACpB,CAAC,mBAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,UAAU,MAAM,IAAI;AAAA,MACrB,CAAC,iBAAiB,MAAM,KAAK;AAAA,MAC7B,CAAC,oBAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,0EAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,yBAAyB,MAAM,IAAI;AAAA,MACpC,CAAC,iBAAiB,MAAM,KAAK;AAAA,MAC7B,CAAC,aAAa,MAAM,KAAK;AAAA,MACzB,CAAC,iDAAmB,MAAM,IAAI;AAAA,MAC9B,CAAC,gCAAgC,MAAM,KAAK;AAAA,MAC5C,CAAC,WAAW,MAAM,MAAM;AAAA,MACxB,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,QAAQ,MAAM,MAAM;AAAA,MACrB,CAAC,aAAa,MAAM,KAAK;AAAA,MACzB,CAAC,YAAY,MAAM,IAAI;AAAA,MACvB,CAAC,sBAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,mCAAgC,MAAM,KAAK;AAAA,MAC5C,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,4BAAkB,MAAM,KAAK;AAAA,MAC9B,CAAC,6BAA0B,MAAM,IAAI;AAAA,MACrC,CAAC,uBAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,oCAAgB,MAAM,IAAI;AAAA,MAC3B,CAAC,aAAa,MAAM,IAAI;AAAA,MACxB,CAAC,2DAAmB,MAAM,IAAI;AAAA,MAC9B,CAAC,iEAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,eAAe,MAAM,IAAI;AAAA,MAC1B,CAAC,6DAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,kBAAkB,MAAM,IAAI;AAAA,MAC7B,CAAC,WAAW,MAAM,MAAM;AAAA,MACxB,CAAC,wBAAc,MAAM,IAAI;AAAA,MACzB,CAAC,UAAU,MAAM,IAAI;AAAA,MACrB,CAAC,mEAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,uEAA0B,MAAM,GAAG;AAAA,MACpC,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,mEAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,6EAA2B,MAAM,KAAK;AAAA,MACvC,CAAC,6BAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,oBAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,8DAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,4DAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,iBAAiB,MAAM,KAAK;AAAA,MAC7B,CAAC,uBAAuB,MAAM,KAAK;AAAA,MACnC,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,wBAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,oFAAkC,MAAM,KAAK;AAAA,MAC9C,CAAC,6BAA6B,MAAM,KAAK;AAAA,MACzC,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,YAAY,MAAM,IAAI;AAAA,MACvB,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,QAAQ,MAAM,KAAK;AAAA,MACpB,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,oBAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,yFAA6B,MAAM,KAAK;AAAA,MACzC,CAAC,qBAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,sBAAmB,MAAM,IAAI;AAAA,MAC9B,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,+BAA+B,MAAM,KAAK;AAAA,MAC3C,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,mDAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,0BAA0B,MAAM,KAAK;AAAA,MACtC,CAAC,cAAc,MAAM,MAAM;AAAA,MAC3B,CAAC,oEAAuB,MAAM,KAAK;AAAA,MACnC,CAAC,8BAA2B,MAAM,KAAK;AAAA,MACvC,CAAC,0DAA4B,MAAM,IAAI;AAAA,MACvC,CAAC,wBAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,0CAAiB,MAAM,KAAK;AAAA,MAC7B,CAAC,2BAA2B,MAAM,IAAI;AAAA,MACtC,CAAC,yCAAsC,MAAM,KAAK;AAAA,MAClD,CAAC,eAAe,MAAM,IAAI;AAAA,MAC1B,CAAC,aAAa,MAAM,KAAK;AAAA,MACzB,CAAC,iBAAiB,MAAM,KAAK;AAAA,MAC7B,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,QAAQ,MAAM,KAAK;AAAA,MACpB,CAAC,kBAAkB,MAAM,KAAK;AAAA,MAC9B,CAAC,uFAAgC,MAAM,KAAK;AAAA,MAC5C,CAAC,4BAA4B,MAAM,MAAM;AAAA,MACzC,CAAC,kBAAkB,MAAM,IAAI;AAAA,MAC7B,CAAC,2DAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,2EAAyB,MAAM,IAAI;AAAA,MACpC,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,sEAAyB,MAAM,KAAK;AAAA,MACrC,CAAC,sBAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,oBAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,kBAAe,MAAM,IAAI;AAAA,MAC1B,CAAC,eAAe,MAAM,IAAI;AAAA,MAC1B,CAAC,mBAAmB,MAAM,IAAI;AAAA,MAC9B,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,eAAe,MAAM,GAAG;AAAA,MACzB,CAAC,gDAAkB,MAAM,KAAK;AAAA,MAC9B,CAAC,8BAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,wBAAqB,MAAM,IAAI;AAAA,MAChC,CAAC,iDAAmB,MAAM,GAAG;AAAA,MAC7B,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,6CAAuC,MAAM,KAAK;AAAA,MACnD,CAAC,gBAAgB,MAAM,KAAK;AAAA,MAC5B,CAAC,yBAAyB,MAAM,MAAM;AAAA,MACtC,CAAC,eAAe,MAAM,MAAM;AAAA,MAC5B,CAAC,gBAAgB,MAAM,KAAK;AAAA,MAC5B,CAAC,6BAA6B,MAAM,KAAK;AAAA,MACzC,CAAC,oCAAoC,MAAM,MAAM;AAAA,MACjD,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,kCAAyB,MAAM,KAAK;AAAA,MACrC,CAAC,2KAA8C,MAAM,KAAK;AAAA,MAC1D,CAAC,2BAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,iDAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,gBAAgB,MAAM,KAAK;AAAA,MAC5B,CAAC,aAAa,MAAM,IAAI;AAAA,MACxB,CAAC,gBAAgB,MAAM,MAAM;AAAA,MAC7B,CAAC,wBAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,wBAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,mBAAmB,MAAM,KAAK;AAAA,MAC/B,CAAC,wBAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,gBAAgB,MAAM,IAAI;AAAA,MAC3B,CAAC,0CAAsB,MAAM,IAAI;AAAA,MACjC,CAAC,uGAAiC,MAAM,KAAK;AAAA,MAC7C,CAAC,qBAAkB,MAAM,IAAI;AAAA,MAC7B,CAAC,6EAA2B,MAAM,IAAI;AAAA,MACtC,CAAC,wEAAsB,MAAM,KAAK;AAAA,MAClC,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,0BAA0B,MAAM,IAAI;AAAA,MACrC,CAAC,aAAa,MAAM,KAAK;AAAA,MACzB,CAAC,oBAAoB,MAAM,IAAI;AAAA,MAC/B,CAAC,yBAAyB,MAAM,IAAI;AAAA,MACpC,CAAC,4DAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,yBAAe,MAAM,KAAK;AAAA,MAC3B,CAAC,cAAc,MAAM,KAAK;AAAA,MAC1B,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,iCAAkB,MAAM,IAAI;AAAA,MAC7B,CAAC,eAAe,MAAM,KAAK;AAAA,MAC3B,CAAC,QAAQ,MAAM,KAAK;AAAA,MACpB,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,SAAS,MAAM,KAAK;AAAA,MACrB,CAAC,uBAAuB,MAAM,MAAM;AAAA,MACpC,CAAC,wDAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,uBAAoB,MAAM,IAAI;AAAA,MAC/B,CAAC,gBAAgB,MAAM,KAAK;AAAA,MAC5B,CAAC,4BAA4B,MAAM,MAAM;AAAA,MACzC,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,uBAAuB,MAAM,MAAM;AAAA,MACpC,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,wDAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,wBAAwB,MAAM,KAAK;AAAA,MACpC,CAAC,kBAAkB,MAAM,IAAI;AAAA,MAC7B,CAAC,iBAAiB,MAAM,GAAG;AAAA,MAC3B,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,iCAA4B,MAAM,KAAK;AAAA,MACxC,CAAC,WAAW,MAAM,KAAK;AAAA,MACvB,CAAC,wCAAqC,MAAM,IAAI;AAAA,MAChD,CAAC,aAAa,MAAM,IAAI;AAAA,MACxB,CAAC,2BAAsB,MAAM,IAAI;AAAA,MACjC,CAAC,qBAAqB,MAAM,KAAK;AAAA,MACjC,CAAC,4HAAuC,MAAM,KAAK;AAAA,MACnD,CAAC,4DAAoB,MAAM,KAAK;AAAA,MAChC,CAAC,UAAU,MAAM,KAAK;AAAA,MACtB,CAAC,YAAY,MAAM,KAAK;AAAA,MACxB,CAAC,oBAAiB,MAAM,KAAK;AAAA,IAC/B;AAAA;AAAA;;;ACtOA,SAAS,WAAW,OAAY;AAC9B,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,EAAE,aAAa,qBAAqB,SAAAC,UAAS,kBAAkB,iBAAiB,IAAI;AAE1F,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,KAAK;AAExD,QAAM,EAAE,WAAW,SAAS,IAAI,aAAa;AAE7C,QAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,CAAC,iBAAiB,MAAM,GAAG,CAAC;AAE3E,QAAM,CAAC,IAAI,IAAI,kBAAK,QAAQ;AAE5B,QAAM,eAAW,uBAAY;AAC7B,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,KAAK;AAC9C,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAElD,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,KAAK;AAC5C,QAAMC,WAAU,mBAAW;AAC3B,QAAM,iBAAa,uBAAY,IAAI;AAEnC,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAiB;AAErD,gCAAU,MAAM;AACd,QAAI,eAAe;AACjB,eAAS,iBAAiB,SAAS,eAAe,IAAI;AACtD,aAAO,MAAM;AACX,iBAAS,oBAAoB,SAAS,eAAe,IAAI;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,aAAa,CAAC;AAElB,gCAAU,MAAM;AACd,QAAI;AACJ,QAAID,YAAW,CAACA,SAAQ,SAAS,GAAG,GAAG;AACrC,cAAI,gCAAmBA,QAAO,GAAG;AAC/B,cAAM,kBAAc,8BAAiBA,QAAO;AAC5C,cAAM,cAAc,YAAY,mBAAmB,SAAS;AAC5D,cAAM,aAAa,YAAY;AAC/B,aAAK,eAAe;AAAA,UAClB,OAAO,YAAY;AAAA,QACrB,CAAC;AACD,YAAI,eAAe,YAAY;AAC7B,gBAAM,QAAQ,qBAAqB;AAAA,YACjC,CAAC,SAAS,KAAK,GAAG,SAAS,MAAM,eAAe,KAAK,GAAG,YAAY,MAAM,WAAW,YAAY;AAAA,UACnG;AACA,cAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,6BAAiB,MAAM,MAAM,SAAS;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,CAAC,gBAAgB;AACnB,YAAME,YAAW,UAAU,aAAa,UAAU,UAAU,SAAS,UAAU,UAAU,KAAK,UAAU;AACxG,YAAM,UAAUA,UAAS,MAAM,GAAG;AAClC,YAAM,SAAS,QAAQ,SAAS,IAAI,QAAQ,KAAK,QAAQ;AACzD,UAAI,UAAU,OAAO,SAAS,GAAG;AAC/B,yBAAiB,qBAAqB,KAAK,CAAC,SAAS,KAAK,GAAG,YAAY,MAAM,MAAM;AAAA,MACvF;AAAA,IACF;AACA,QAAI,gBAAgB;AAClB,qBAAe,cAAc;AAAA,IAC/B;AAEA,QAAI,oBAAoBF,YAAW,mBAAe,gCAAmBA,QAAO,GAAG;AAC7E,iBAAWA,UAAS,iBAAiB,eAAe,GAAG,YAAY,IAAI,MAAS;AAAA,IAClF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,gBAAgB,CAAC,UAAe;AACpC,eAAW,MAAM;AArFrB;AAsFM,WAAI,cAAS,YAAT,mBAAkB,SAAS,MAAM,SAAS;AAC5C;AAAA,MACF;AACA,uBAAiB,KAAK;AAAA,IACxB,CAAC;AAAA,EACH;AAGA,QAAM,eAAe,CAACG,aAAoB,YAAoB,kBAAkB,SAAS;AACvF,QAAI,CAACA,eAAc,iBAAiB;AAClC,oBAAc,IAAI;AAClB;AAAA,IACF;AAEA,SAAIA,eAAA,gBAAAA,YAAY,YAAW,GAAG;AAC5B,kBAAY,IAAI;AAChB;AAAA,IACF;AAEA,QAAI,CAAC,aAAaA,aAAY,UAAU,GAAG;AACzC,kBAAY,IAAI;AAChB,aAAO;AAAA,IACT,OAAO;AACL,kBAAY,KAAK;AACjB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,aAAa,CAAC,OAAe,eAAwB;AACzD,eAAW,QAAQ,MAAM;AACzB,QAAI,CAAC,OAAO;AACV,oBAAc,IAAI;AAClB;AAAA,IACF;AACA,QAAI,MAAM,WAAW,GAAG;AACtB,kBAAY,IAAI;AAChB;AAAA,IACF;AAEA,QAAI,CAAC,YAAY;AACf,mBAAa,YAAY,GAAG,YAAY;AAAA,IAC1C;AACA,QAAI,aAAa,OAAO,UAAU,GAAG;AACnC,YAAM,cAAc,WAAW,YAAY;AAC3C,YAAM,gBAAY,8BAAiB,OAAO,WAAW,EAAE,OAAO,OAAO;AACrE,cAAQ,IAAI,kBAAkB,SAAS;AACvC,oBAAc,SAAS;AACvB,iBAAW,IAAI;AACf,6DAA+B;AAAA,QAC7B,OAAO;AAAA,QACP;AAAA,QACA,cAAc,MAAM;AAClB,iBAAO,cAAc;AAAA,QACvB;AAAA,MACF,CAAC,EACE,KAAK,CAAC,UAAU;AACf,wBAAgB,OAAO,SAAS;AAAA,MAClC,CAAC,EACA,MAAM,MAAM;AACX,mBAAW,KAAK;AAChB,QAAAF,SAAQ,MAAM,EAAE,oBAAoB,CAAC;AAAA,MACvC,CAAC;AAAA,IACL,OAAO;AACL,kBAAY,IAAI;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,OAAeE,gBAAuB;AAC7D,eAAW,IAAI;AACf,gBAAY;AAAA,MACV,OAAOA;AAAA,MAEP,uBAAuB;AAAA,IACzB,CAAC,EACE,KAAK,CAAC,WAAoB;AACzB,0BAAoB,MAAM;AAAA,IAC5B,CAAC,EACA,MAAM,MAAM;AACX,iBAAW,KAAK;AAAA,IAClB,CAAC;AAAA,EACL;AAEA,QAAM,sBAAsB,MAAM;AAChC,QAAI;AACF,UAAIH,YAAA,gBAAAA,SAAS,SAAS,MAAM;AAC1B,eAAO;AAAA,MACT,YAAWA,YAAA,gBAAAA,SAAS,UAAS,GAAG;AAC9B,cAAM,kBAAc,uCAA0BA,QAAO;AACrD,eAAO,YAAY;AAAA,MACrB;AAAA,IACF,SAASI,QAAP;AACA,cAAQ,IAAI,uBAAuBA,MAAK;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAEA,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,aAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACZ,iBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAiB,KAAK,YAClC,qBAAqB,IAAI,CAAC,MAAM,UAAU;AACzC,WACE,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAU;AAAA,QACV,SAAS,MAAM;AACb,yBAAe,IAAI;AACnB,2BAAiB,KAAK;AAEtB,qBAAW,MAAM;AACf,kBAAMF,cAAa,KAAK,eAAe,EAAE;AACzC,gBAAIA,aAAY;AACd,2BAAaA,aAAY,KAAK,GAAG,YAAY,GAAG,KAAK;AAAA,YACvD;AAAA,UACF,CAAC;AAAA,QACH;AAAA;AAAA,MAEA,+BAAAE,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAgB,eAAAC,SAAmB,GAAG,KAAK,IAAI,CAAE,GAChE,+BAAAD,QAAA,cAAC,UAAK,WAAU,kBAAgB,KAAK,EAAG,CAC1C;AAAA,MACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAgB,MAAM,KAAK,EAAG;AAAA,IAC/C;AAAA,EAEJ,CAAC,CACH,GAEF,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAU,CAAC,WAAW,WAAW,OAAO,OAAO,MAAS;AAAA,MACxD,WAAU;AAAA,MACV,cAAc;AAAA,MACd;AAAA,MACA,UAAU;AAAA,QACR,OAAO,EAAE,WAAW,OAAO;AAAA,MAC7B;AAAA;AAAA,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,cAAc,IAAI,YAAY;AAAA,QAC9B,SAAS,MAAM;AACb,cAAI,CAAC,SAAS;AACZ,6BAAiB,IAAI;AAAA,UACvB;AAAA,QACF;AAAA;AAAA,UAEC,eAAAC,SAAmB,GAAG,YAAY,IAAI;AAAA,MACvC,+BAAAD,QAAA,cAAC,8BAAa,WAAU,aAAY;AAAA,IACtC,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAe,KAAE,YAAY,EAAG,GAC/C,+BAAAA,QAAA;AAAA,MAAC,kBAAK;AAAA,MAAL;AAAA,QACC,MAAK;AAAA,QAEL,OAAM;AAAA,QACN,WAAU;AAAA,QACV,mBAAmB,CAAC,UAAU;AAC5B,iBAAO,MAAM,OAAO,MAAM,QAAQ,QAAQ,EAAE;AAAA,QAC9C;AAAA,QACA,cAAc,oBAAoB;AAAA;AAAA,MAElC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACV,aAAa,EAAE,qBAAqB,KAAK;AAAA,UACzC,KAAK;AAAA,UACL,UAAU,MAAM;AACd,wBAAY,KAAK;AACjB,0BAAc,KAAK;AAAA,UACrB;AAAA,UACA,UAAU;AAAA,UACV,SAAS,MAAM;AAnQ/B;AAoQkB,2BAAS,cAAc,YAAY,MAAnC,mBAAsC,aAAa,cAAc;AAAA,UACnE;AAAA,UACA,QAAQ,MAAM;AAtQ9B;AAuQkB,2BAAS,cAAc,YAAY,MAAnC,mBAAsC,gBAAgB;AAAA,UACxD;AAAA;AAAA,MACF;AAAA,IACF,CACF;AAAA,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAa,YAAY,EAAE,0BAA0B,CAAE;AAAA,IACtE,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAa,cAAc,EAAE,0BAA0B,CAAE;AAAA,IAExE,+BAAAA,QAAA,cAAC,kBAAK,MAAL,EAAU,WAAU,eACnB,+BAAAA,QAAA,cAAC,uBAAO,MAAK,WAAU,UAAS,UAAS,WAAU,+BAA8B,WAC9E,EAAE,mBAAmB,CACxB,CACF;AAAA,EACF,GACC,CAAC,oBAAoB,iBAAiB,SAAS,KAC9C,+BAAAA,QAAA,cAAC,SAAI,WAAU,cACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAU,GACxB,EAAE,UAAU,GACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAU,CAC3B,CAEJ,CACF;AAEJ;AAhSA,IAAAE,eACAC,oBACAC,cACA,gBAEAC,aACAC,gBA4RO;AAlSP;AAAA;AAAA;AAAA,IAAAJ,gBAA6B;AAC7B,IAAAC,qBAA+C;AAC/C,IAAAC,eAAoC;AACpC,qBAA+B;AAE/B,IAAAC,cAAgF;AAChF,IAAAC,iBAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AAsRA,IAAO,sBAAQ;AAAA;AAAA;;;;;;;;;;;AClSf,IAAAC,oBACAC,gBAuBM,aA8EC;AAtGP;AAAA;AAAA;AAAA,IAAAD,qBAAyB;AACzB,IAAAC,iBAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA,IAAM,cAAc,CAAC,UAAiB;AACpC,YAAM,EAAE,kBAAkB,mBAAmB,2BAA2B,oBAAoB,IAAI;AAEhG,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,IAAI;AAE7C,YAAM,YAAY,CAAC,aAAuB;AACxC,4BAAoB,QAAQ;AAAA,MAC9B;AAEA,YAAM,qBAAqB,CAAC,aAAuB;AACjD,+EAA4B;AAAA,MAC9B;AAEA,YAAM,OAAO;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,YAAQ,wBAAQ,MAAM;AAC1B,cAAM,YAAY;AAClB,cAAM,mBAAmB,UAAU,SAAS,4BAAS,KAAK,KAAK,UAAU,SAAS,4BAAS,KAAK;AAChG,cAAMC,SAA2B,CAAC;AAClC,YAAI,kBAAkB;AACpB,cAAI,sBAAsB,4BAAS,OAAO;AACxC,YAAAA,OAAM,KAAK,+BAAAC,QAAA,cAAC,SAAI,KAAI,eAAc,KAAK,oBAAO,KAAI,IAAG,SAAS,MAAM,mBAAmB,4BAAS,KAAK,GAAG,CAAE;AAAA,UAC5G,OAAO;AACL,YAAAD,OAAM,KAAK,+BAAAC,QAAA,cAAC,SAAI,KAAI,eAAc,KAAK,oBAAO,KAAI,IAAG,SAAS,MAAM,mBAAmB,4BAAS,KAAK,GAAG,CAAE;AAAA,UAC5G;AAAA,QACF;AACA,cAAM,mBAAmB,UAAU,OAAO,CAAC,aAAa,aAAa,4BAAS,SAAS,aAAa,4BAAS,KAAK;AAElH,QAAAD,OAAM;AAAA,UACJ,GAAG,iBAAiB,IAAI,CAAC,aACvB,+BAAAC,QAAA,cAAC,SAAI,KAAK,GAAG,kBAAkB,KAAK,KAAK,WAAW,KAAI,IAAG,SAAS,MAAM,UAAU,QAAoB,GAAG,CAC5G;AAAA,QACH;AAEA,cAAM,eACJ,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,KAAI;AAAA,YACJ,WAAU;AAAA,YACV,SAAS,MAAM,YAAY,CAAC,QAAQ;AAAA,YACpC,oBAAkB;AAAA;AAAA,UAElB,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,iBAAgB,MAAK,iBAAgB;AAAA,QAC1D;AAGF,YAAID,OAAM,SAAS,GAAG;AACpB,UAAAA,OAAM,OAAO,GAAG,GAAG,YAAY;AAAA,QACjC;AAEA,YAAI,UAAU;AACZ,UAAAA,OAAM,OAAO,GAAGA,OAAM,SAAS,CAAC;AAAA,QAClC;AAEA,eAAOA;AAAA,MACT,GAAG,CAAC,UAAU,mBAAmB,gBAAgB,CAAC;AAElD,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,qBAAoB,iBAAe,CAAC,CAAC,YAClD,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBAAiB,KAAM,CACxC;AAAA,IAEJ;AAEA,IAAO,uBAAQ;AAAA;AAAA;;;;;;;;;;;ACtGf;AAAA;AAAA,iBAAAC;AAAA;AAyBA,SAAS,MAAM,OAAsB;AAzBrC;AA2BE,QAAM,EAAE,OAAO,OAAO,eAAe,MAAM,IAAI,SAAS,CAAC;AAEzD,QAAM,EAAE,cAAc,sBAAsB,IAAI,gBAAgB;AAChE,QAAM,EAAE,gBAAgB,IAAI,iBAAS;AAErC,QAAM,sBAAsB,MAAM;AAhCpC,QAAAC,KAAAC,KAAAC,KAAAC,KAAAC;AAiCI,UAAM,cAAaH,OAAAD,MAAA,aAAa,cAAb,gBAAAA,IAAwB,QAAQ,4BAAS,WAAzC,OAAAC,MAAmD;AACtE,UAAM,cAAaE,OAAAD,MAAA,aAAa,cAAb,gBAAAA,IAAwB,QAAQ,4BAAS,WAAzC,OAAAC,MAAmD;AACtE,QACG,KAAC,8BAAU,KAAK,MAAM,cAAc,KAAK,GAACC,MAAA,aAAa,cAAb,gBAAAA,IAAwB,YAClE,CAAC,UACE,cAAc,KAAK,aAAa,KAAO,cAAc,KAAK,cAAc,KAAK,aAAa,aAC9F;AACA,aAAO,4BAAS;AAAA,IAClB,OAAO;AACL,aAAO,4BAAS;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAmB,oBAAoB,CAAC;AAE1E,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,CAACC,UAAS,UAAU,QAAI,yBAA6B,EAAE;AAE7D,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,yBAAS,KAAK;AAE9D,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,yBAAS,KAAK;AAE9D,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,yBAAqB,aAAa,aAAa,CAAC,CAAC;AAEjG,QAAM,sBAAsB,CAAC,YAAqB;AAChD,wBAAoB,OAAO;AAAA,EAC7B;AAEA,gCAAU,MAAM;AACd,aAAS,gBAAgB,aAAa,mBAAmB,aAAa,EAAE;AAAA,EAC1E,GAAG,CAAC,SAAS,CAAC;AAEd,gCAAU,MAAM;AACd,QAAI,CAAC,kBAAkB;AACrB,YAAM,WAAW,OAAO,OAAO,2BAAQ,EAAE;AAAA,QACvC,CAAC,aAAa,aAAa,4BAAS,OAAO,aAAa,4BAAS;AAAA,MACnE;AACA,UAAI,CAAC,aAAa,WAAW;AAC3B,4BAAoB,QAAQ;AAAA,MAC9B,OAAO;AACL,cAAM,QAAQ,aAAa,UAAU;AAAA,UACnC,CAAC,aAAa,aAAa,4BAAS,OAAO,aAAa,4BAAS,YAAY,SAAS,SAAS,QAAQ;AAAA,QACzG;AACA,YAAI,CAAC,MAAM,SAAS,4BAAS,KAAK,KAAK,CAAC,MAAM,SAAS,4BAAS,KAAK,KAAK,MAAM,SAAS,GAAG;AAC1F,gBAAM,QAAQ,4BAAS,KAAK;AAAA,QAC9B;AACA,YAAI,MAAM,WAAW,MAAM,MAAM,OAAO,4BAAS,SAAS,MAAM,OAAO,4BAAS,QAAQ;AAEtF,gBAAM,SAAS;AAAA,QACjB;AACA,4BAAoB,KAAK;AAAA,MAC3B;AAAA,IACF,OAAO;AACL,0BAAoB,CAAC,CAAC;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,kBAAkB,aAAa,SAAS,CAAC;AAE7C,gCAAU,MAAM;AACd,QAAI,eAAe;AACjB,4BAAsB,EAAE,eAAe,WAAO,sCAAkB,KAAK,EAAE,CAAC;AAAA,IAC1E,OAAO;AACL,4BAAsB,MAAS;AAAA,IACjC;AAEA,kBAAc;AAAA,EAChB,GAAG,CAAC,CAAC;AAGL,QAAM,cAAc,OAAO,SAA2C;AACpE,eAAW,WAAW,QAAQ,KAAK,QAAQ,KAAK,QAAS,KAA6B,KAAK;AAC3F,UAAM,SAAS,UAAM,sCAAkB,IAAI,EAAE,KAAK,CAACC,YAAW;AAC5D,cAAQ,IAAI,4BAA4BA,SAAQ;AAChD,aAAOA;AAAA,IACT,CAAC;AACD,WAAO;AAAA,EACT;AAGA,QAAM,gBAAgB,MAAM;AAC1B,QAAI,SAAS,cAAc,4BAAS,OAAO;AACzC,UAAI,YAAY,KAAK,KAAK,GAAG;AAC3B,4BAAoB,IAAI;AACxB,mBAAW,KAAK;AAAA,MAClB;AAAA,IACF,WAAW,SAAS,cAAc,4BAAS,OAAO;AAChD,YAAM,YAAY,uBAAuB,KAAK;AAC9C,UAAI,WAAW;AACb,4BAAoB,IAAI;AACxB,mBAAW,SAAS;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,sBAAsB,CAAC,aAAuB;AAClD,iBAAa,QAAQ;AACrB,oBAAgB;AAAA,MACd,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,eAAe,MAAM;AACzB,QAAI,kBAAkB;AACpB,aACE,+BAAAC,QAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC;AAAA,UACA,qBAAqB;AAAA,UACrB,SAASH;AAAA,UACT;AAAA,UACA;AAAA;AAAA,MACF;AAAA,IAEJ,WAAW,cAAc,4BAAS,OAAO;AACvC,aACE,+BAAAE,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,qBAAqB;AAAA,UACrB,cAAc;AAAA,UACd,SAAS,SAASF;AAAA,UAClB;AAAA,UACA,kBAAkB,CAAC,CAAC,SAAS;AAAA;AAAA,MAC/B;AAAA,IAEJ,WAAW,cAAc,4BAAS,OAAO;AACvC,aACE,+BAAAE,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,qBAAqB;AAAA,UACrB,cAAc;AAAA,UACd,SAAS,SAASF;AAAA,UAClB;AAAA,UACA,kBAAkB,CAAC,CAAC,SAAS;AAAA;AAAA,MAC/B;AAAA,IAEJ;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,SAAmB;AAC1C,iBAAa,IAAI;AAAA,EACnB;AAEA,QAAM,oBAAoB,CAAC,SAA2B;AACpD,QAAI,SAAS,4BAAS,KAAK;AACzB,aAAO;AAAA,IACT,OAAO;AACL,aAAO,KAAK,UAAU;AAAA,IACxB;AAAA,EACF;AAEA,QAAM,cAAc,CAACI,eAAgC;AACnD,QAAIA,eAAc,4BAAS,OAAOA,eAAc,4BAAS,UAAU;AACjE,aAAO,EAAE,qBAAqB;AAAA,IAChC,OAAO;AACL,aAAO,EAAE,oBAAoB,EAAE,OAAO,kBAAkBA,UAAS,CAAC;AAAA,IACpE;AAAA,EACF;AAEA,QAAM,kBAAsB,wBAAQ,MAAM;AAjM5C,QAAAT;AAkMI,QAAI,OAAMA,MAAA,aAAa,gBAAb,gBAAAA,IAA0B;AACpC,QAAI,CAAC,KAAK;AACR,YAAM;AAAA,IACR;AACA,WAAQ,OAAO;AAAA,EACjB,GAAG,EAAC,kBAAa,gBAAb,mBAA0B,IAAI,CAAC;AAEnC,SACE,+BAAAO,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA,cAAC,eAAO,aAAiC,GACzC,+BAAAA,QAAA,cAAC,eAAOR,cAA4B,GACpC,+BAAAQ,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,aACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,iCAAgB,OAAO,EAAE,UAAU,GAAG,GAAG,MAAI,MAAC,CACjD;AAAA,MAEF,UAAU;AAAA,MACV,SAAS,CAAC,MAAM;AACd,UAAE,cAAc,MAAM;AAAA,MACxB;AAAA;AAAA,EACF,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAiB,wBAAa,gBAAb,mBAA0B,gBAA1B,YAAyC,EAAE,sBAAsB,CAAE,GAElG,mBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAaF,QAAQ,IAEpC,+BAAAE,QAAA,cAAC,SAAI,WAAU,eACZ,cAAc,4BAAS,SAAS,cAAc,4BAAS,SACtD,wBAAa,gBAAb,mBAA0B,aAA1B,YAAsC,EAAE,mBAAmB,EAAE,OAAO,KAAK,IAEzE,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,YAAY,SAAS,CAAE,CAE7D,GAGD,aAAa,GAEb,CAAC,oBAAoB,CAAC,qBAAqB,cAAc,4BAAS,SAAS,cAAc,4BAAS,UACjG,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,mBAAmB;AAAA,MACnB,2BAA2B;AAAA,MAC3B;AAAA;AAAA,EACF,CAEJ,GACA,+BAAAA,QAAA,cAACG,uBAAA,EAAY,WAAU,iBAAgB,CACzC;AAEJ;AA5PA,IAAAC,eACAC,oBAUAC,cACAC,gBAkPOf;AA9PP,IAAAgB,cAAA;AAAA;AAAA;AAAA,IAAAJ,gBAAgC;AAChC,IAAAC,qBASO;AACP,IAAAC,eAAsB;AACtB,IAAAC,iBAAoD;AACpD;AACA,IAAAE;AACA;AACA;AACA;AACA,IAAAC;AACA;AACA;AACA;AACA;AACA,IAAAF;AAuOA,IAAOhB,iBAAQ;AAAA;AAAA;;;;;;;;;;;AC9Pf,IACAmB,gBAYM,QA2CCC;AAxDP,IAAAC,eAAA;AAAA;AAAA;AACA,IAAAF,iBAAkB;AAClB;AACA;AACA;AASA,IAAM,SAAS,CAAC,UAAkB;AAblC;AAcE,YAAM,EAAE,UAAU,aAAa,cAAc,OAAO,IAAI;AACxD,UAAI,EAAE,iBAAiB,MAAM,IAAI;AAEjC,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,aAAa,IAAI,gBAAgB;AACzC,UAAI,QAAQ;AACV,yBAAiB;AAAA,MACnB;AAEA,UAAI,iBAAgB,wDAAc,YAAd,mBAAuB,WAAvB,YAAiC,MAAM,GAAG;AAC5D,yBAAiB;AAAA,MACnB;AAEA,aACE,+BAAAG,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA,cAAC,eAAO,cAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,kBACC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,SAAS,MAAM;AACb,gBAAI,QAAQ;AACV,qBAAO;AAAA,YACT,OAAO;AACL,uBAAS,EAAE;AAAA,YACb;AAAA,UACF;AAAA;AAAA,MACF,GAED,WACH,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,YAAU,QAAS,GAClC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,YAAa,CACvC,CACF;AAAA,IAEJ;AAEA,IAAOF,kBAAQ;AAAA;AAAA;;;;;;;;;;;ACxDf,IAAAG,eACAC,gBAGM,aAeCC;AAnBP,IAAAC,qBAAA;AAAA;AAAA;AAAA,IAAAH,gBAAiB;AACjB,IAAAC,iBAAkB;AAClB;AAEA,IAAM,cAAc,CAAC,EAAE,YAAY,OAAO,OAAO,MAAM;AACrD,YAAM,MAAM,0DAA8C;AAC1D,aACE,+BAAAG,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,YAA4B,GACpC,+BAAAA,QAAA;AAAA,QAAC,cAAAC;AAAA,QAAA;AAAA,UACC,WAAW,YAAY,qBAAqB,cAAc;AAAA,UAE1D,WAAW;AAAA,UACV,GAAG;AAAA;AAAA,MACN,CACF;AAAA,IAEJ;AAEA,IAAOH,wBAAQ;AAAA;AAAA;;;;;;;;;;;ACnBf,IAAAI,cACAC,gBAWM,2BA0CCC;AAtDP,IAAAC,kCAAA;AAAA;AAAA;AAAA,IAAAH,eAA8B;AAC9B,IAAAC,iBAAkB;AAClB,IAAAG;AACA;AACA;AAQA,IAAM,4BAA4B,CAAC,SAAe;AAChD,YAAM,EAAE,SAAS,YAAY,OAAO,IAAI;AACxC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,UAAU,MAAM;AACpB,mBAAW,KAAK;AAAA,MAClB;AAEA,aACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,iCAA4B,GACpC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,UACd,UAAU;AAAA,UACV,WAAW,+BAAAA,QAAA,cAACC,uBAAA,IAAY;AAAA,UACxB,UAAQ;AAAA,UACR,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA;AAAA,QAEA,+BAAAD,QAAA,cAAC,SAAI,WAAU,uBAAqB,EAAE,oCAAoC,CAAE;AAAA,QAC5E,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,+BAAAA,QAAA,cAAC,uBAAO,WAAU,qDAAoD,SAAS,WAC5E,EAAE,eAAe,CACpB,GACA,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,yBAAW,KAAK;AAChB,qBAAO;AAAA,YACT;AAAA;AAAA,UAEC,EAAE,aAAa;AAAA,QAClB,CACF;AAAA,MACF,CACF;AAAA,IAEJ;AAEA,IAAOH,qCAAQ;AAAA;AAAA;;;;;;;;;;;ACtDf;AAAA;AAAA,iBAAAK;AAAA;AAAA,IAAAC,oBAOAC,gBAyBM,oBA0SCF;AA1UP,IAAAG,iBAAA;AAAA;AAAA;AAAA,IAAAF,qBAMO;AACP,IAAAC,iBAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAAE;AACA;AACA,IAAAC;AACA;AACA;AACA;AACA;AAEA,IAAAC;AACA,IAAAH;AAEA,IAAM,qBAAqB,MAAM;AAhCjC;AAiCE,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,WAAW,kBAAkB;AACnC,YAAM,CAAC,uBAAuB,wBAAwB,QAAI,yBAAS,KAAK;AACxE,YAAM,EAAE,kBAAkB,2BAA2B,oBAAAI,oBAAmB,IAAI,gBAAgB;AAC5F,YAAM,EAAE,SAAS,IAAI,YAAY;AACjC,YAAM,EAAE,aAAa,IAAI,gBAAgB;AACzC,YAAMC,WAAU,mBAAW;AAE3B,YAAMC,yBAAoB,wBAAQ,MAAM;AACtC,mBAAO,mBAAAC,mBAAuB;AAAA,MAChC,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAM,WAAW,CAAC,OAAgB;AA7CpC,YAAAC;AA8CI,cAAM,YAAWA,MAAA,qCAAU,yBAAV,gBAAAA,IAAgC;AACjD,YAAI,aAAa,4BAAS,KAAK;AAC7B,iBAAO,yBAAI,QAAQ,GAAG,aAAa,cAAc;AAAA,QACnD;AACA,eAAO;AAAA,MACT;AAEA,YAAM,QAAQ;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAGA,YAAM,sBAAkB,wBAAQ,MAAM;AAvExC,YAAAA;AAwEI,YAAI,eAAW,sCAAkB;AACjC,YAAI,CAAC,UAAU;AACb,uBAAYA,MAAA,qCAAU,yBAAV,gBAAAA,IAAgC,aAAyB;AAAA,QACvE;AACA,YAAK,aAAwB,aAAa;AACxC,qBAAW,4BAAS;AAAA,QACtB;AACA,eAAO;AAAA,MACT,GAAG,CAAC,QAAQ,CAAC;AAGb,YAAM,qBAAiB,wBAAQ,MAAM;AAnFvC,YAAAA,KAAAC,KAAAC,KAAAC;AAoFI,YAAI,SAAS;AACb,YAAI,mBAAmB,UAAU;AAC/B,mBAEE,SAAS,GAAG,sBAEZ,SAAS,GAAG,4BAEZ,YAAY,SAAS,SAAS,GAAG,qBAAqB,CAAC;AAAA,QAC3D;AACA,eACE,WACA,qCAAU,WACV,qCAAU,YACVF,OAAAD,MAAA,qCAAU,yBAAV,gBAAAA,IAAgC,cAAhC,gBAAAC,IAA2C,UAC3C,YAAY,WAASE,OAAAD,MAAA,qCAAU,yBAAV,gBAAAA,IAAgC,cAAhC,gBAAAC,IAA2C,OAAM,EAAE,CAAC;AAAA,MAE7E,GAAG,CAAC,iBAAiB,QAAQ,CAAC;AAE9B,YAAM,qBAAqB,CAAC,SAA4B;AAvG1D,YAAAH,KAAAC,KAAAC,KAAAC,KAAAC,KAAA;AAwGI,cACGJ,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,UAAS,GAACC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,UAClE,GAACC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,YAASC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,QACnE;AAEA,mBAAS,mBAAmB;AAAA,YAC1B,OAAO;AAAA,cACL,WAASC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,YAAS,cAAS,qBAAT,mBAA2B;AAAA,cACzE,UAAU;AAAA,cACV,aAAa;AAAA,cACb;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,mBAAS,iBAAiB;AAAA,YACxB,OAAO;AAAA,cACL,aAAa;AAAA,cACb,aAAa;AAAA,YACf;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAEA,YAAM,mBAAmB,MAAM;AA/HjC,YAAAJ,KAAAC,KAAAC,KAAAC;AAgII,cAAIH,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,YAASC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,QAAO;AAC1E,oCAA0B,IAAI;AAAA,QAChC,OAAO;AACL,mBAAS,yBAAyB;AAAA,YAChC,OAAO;AAAA,cACL,WAASC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,YAASC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B;AAAA,YAC5E;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAKA,YAAM,uBAAuB,MAAM;AACjC,yBAAiB;AAAA,UACf,SAAS;AAAA,UACT,MAAM;AAAA,UACN,mBAAmB,CAAC,aAAa;AAC/B,0DAAsB,QAAQ,EAC3B,KAAK,CAAC,WAAW;AAChB,cAAAN,SAAQ,QAAQ,EAAE,uBAAuB,CAAC;AAC1C,mDAAa;AAAA,YACf,CAAC,EACA,MAAM,CAACQ,WAAU;AAChB,cAAAA,OAAM,WAAWR,SAAQ,MAAMQ,OAAM,OAAO;AAC5C,sBAAQ,IAAI,8BAA8BA,MAAK;AAAA,YACjD,CAAC;AAAA,UACL;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,gBAAY,wBAAQ,MAAM;AAC9B,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAEL,YAAM,SAAS,MAAM;AACnB,iBAAS,EAAE;AAAA,MACb;AAEA,YAAM,uBAAuB,MAAM;AACjC,iBAAS,iCAAiC;AAAA,MAC5C;AAEA,YAAM,oBAAoB,MAAM;AAC9B,iBAAS,0BAA0B;AAAA,MACrC;AAEA,YAAM,sBAAsB,MAAM;AAChC,iBAAS,sCAAsC;AAAA,MACjD;AAEA,YAAM,yBAAqB;AAAA,QACzB,MAAG;AArLP,cAAAL,KAAAC;AAqLU,mBAAAD,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,YAASC,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B;AAAA;AAAA,QACvE,EAAC,0CAAU,qBAAV,mBAA4B,QAAO,0CAAU,qBAAV,mBAA4B,KAAK;AAAA,MACvE;AAEA,oCAAU,MAAM;AACd,6CAAa,EAAE,MAAM,CAAC,MAAM,QAAQ,IAAI,gBAAgB,CAAC,CAAC;AAAA,MAC5D,GAAG,CAAC,CAAC;AAEL,aACE,+BAAAK,QAAA,cAAC,SAAI,WAAU,0BACb,+BAAAA,QAAA,cAAC,eAAOjB,iBAA4B,GACnC,aAAa,+BAAAiB,QAAA,cAACC,iBAAA,EAAO,QAAQ,UAAS,EAAE,8BAA8B,CAAE,GACxE,CAAC,aAAa,+BAAAD,QAAA,cAACC,iBAAA,MAAQ,EAAE,8BAA8B,CAAE,GAC1D,+BAAAD,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,iBAAiB,CAAE,GACtD,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAiB,KAAK,MAAM,kBAAkB,GAC7D,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAW,cAAe,GACzC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,gBAAI,oBAAoB;AACtB,uBAAS,gBAAgB;AAAA,YAC3B,OAAO;AACL,uCAAyB,IAAI;AAAA,YAC/B;AAAA,UACF;AAAA;AAAA,QAEC,EAAE,4BAA4B;AAAA,MACjC,CACF,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,yCACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,qBAAS,2BAA2B;AAAA,UACtC;AAAA;AAAA,QAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,mBAAmB,CAAE;AAAA,QACzD,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB;AAAA,MAChE,CACF,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,kBAAkB,CAAE,GAGvD,+BAAAA,QAAA,cAAC,SAAI,WAAU,0BACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAY,EAAE,yBAAyB,CAAE,GACxD,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBAAgB,SAAS,uBACrC,EAAE,oBAAoB,CACzB,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAW,EAAE,6BAA6B,CAAE,GAC1D,CAACR,sBACA,+BAAAQ,QAAA,cAAC,SAAI,WAAU,UAAS,SAAS,qBAC9B,EAAE,aAAa,CAClB,CAEJ,GACCR,sBACC,+BAAAQ,QAAA,cAAC,SAAI,WAAU,oBAAmB,SAAS,wBACzC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,gCAAgC,CAAE,GACtE,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB,CAChE,CAEJ,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,+BAAAA,QAAA,cAAC,YAAI,EAAE,+BAA+B,CAAE,GACxC,+BAAAA,QAAA,cAAC,WAAG,EAAE,mCAAmC,CAAE,GAE3C,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,eAAe,CAAE,GAEpD,eAAa,0CAAU,qBAAV,mBAA4B,UAAS,EAAE,KACnD,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAiB,SAAS,MAAM,mBAAmB,OAAO,KACtE,EAAE,aAAa,CAClB,CAEJ,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,gBAAgB,CAAE,GACrD,eAAa,0CAAU,qBAAV,mBAA4B,UAAS,EAAE,KACnD,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAiB,SAAS,MAAM,mBAAmB,OAAO,KACtE,EAAE,aAAa,CAClB,CAEJ,CACF,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,YAAI,EAAE,0BAA0B,CAAE,GACnC,+BAAAA,QAAA,cAAC,WAAG,EAAE,+BAA+B,CAAE,KAEtC,0CAAU,qBAAV,mBAA4B,4BAC3B,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAmB,SAAS,MAAM,SAAS,0BAA0B,KAClF,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,iCAAiC,CAAE,GACvE,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB,CAChE,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAmB,SAAS,oBACzC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,iCAAiC,CAAE,GACvE,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB,CAChE,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAmB,SAAS,wBACzC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,gCAAgC,CAAE,GACtE,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB,CAChE,CACF,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,0BAA0B,CAAE,GAChE,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,gBAAI,oBAAoB;AACtB,cAAAV,oBAAmB;AAAA,YACrB,OAAO;AACL,uCAAyB,IAAI;AAAA,YAC/B;AAAA,UACF;AAAA;AAAA,QAEC,EAAE,aAAa;AAAA,MAClB,CACF,CAEJ,CACF,GACA,+BAAAU,QAAA,cAACE,uBAAA,EAAY,WAAU,iBAAgB,GACvC,+BAAAF,QAAA;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,MAAM;AACZ,qBAAS,iBAAiB;AAAA,cACxB,OAAO;AAAA,gBACL,cAAa,qCAAU,SAAQ,UAAU;AAAA,gBACzC,YAAY;AAAA,gBACZ,aAAa;AAAA,cACf;AAAA,YACF,CAAC;AAAA,UACH;AAAA;AAAA,MACF,CACF;AAAA,IAEJ;AAEA,IAAOpB,oBAAQ;AAAA;AAAA;;;;;;;;;;;AC1Uf;AAAA;AAAA,iBAAAqB;AAAA,EAAA;AAAA;AAAA;AAAA,IAAAC,oBACAC,gBACAC,aACAC,gBAgBa,gBAyDA,cAmBT,kBAEE,cAyFCJ;AA1LP,IAAAK,qBAAA;AAAA;AAAA;AAAA,IAAAJ,qBAAyB;AACzB,IAAAC,iBAA8B;AAC9B,IAAAC,cAAiC;AACjC,IAAAC,iBAA+B;AAC/B;AACA,IAAAE;AACA;AACA,IAAAC;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAEO,IAAM,iBAAiB,CAAC,WAAgB;AAC7C,YAAM,EAAE,UAAU,EAAE,IAAI;AACxB,YAAM,OAAO;AAAA,QACX;AAAA,UACE,MAAM,4BAAS;AAAA,UACf,MAAM;AAAA,UACN,MAAM,EAAE,gBAAgB;AAAA,UACxB,OAAO,SAAS;AAAA,UAChB,IAAI;AAAA,UACJ,YAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAM,4BAAS;AAAA,UACf,MAAM;AAAA,UACN,MAAM,EAAE,eAAe;AAAA,UACvB,OAAO,SAAS;AAAA,UAChB,IAAI;AAAA,UACJ,YAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAM,4BAAS;AAAA,UACf,MAAM;AAAA,UACN,MAAM,EAAE,cAAc;AAAA,UACtB,OAAO,SAAS;AAAA,UAChB,IAAI,SAAS;AAAA,UACb,YAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAM,4BAAS;AAAA,UACf,MAAM;AAAA,UACN,MAAM,EAAE,gBAAgB;AAAA,UACxB,OAAO,SAAS;AAAA,UAChB,IAAI,SAAS;AAAA,UACb,YAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAM,4BAAS;AAAA,UACf,MAAM;AAAA,UACN,MAAM,EAAE,eAAe;AAAA,UACvB,OAAO,SAAS;AAAA,UAChB,IAAI,SAAS;AAAA,UACb,YAAY;AAAA,QACd;AAAA,MACF;AAWA,aAAO;AAAA,IACT;AAEO,IAAM,eAAe,CAAC,UAAkB;AA5E/C;AA6EE,UAAI,SAAS,+BAAO,QAAQ,KAAK;AACjC,UAAI,CAAC,QAAQ;AACX,eAAO;AAAA,MACT,YAAW,sCAAQ,aAAR,gCAAmB,MAAM;AAElC,iBAAS,GAAG,OAAO,MAAM,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,SAAS,OAAO,MAAM,GAAG,EAAE;AAAA,MACzE,YAAW,sCAAQ,aAAR,gCAAmB,MAAM;AAElC,cAAM,kBAAc,8BAAiB,MAAM;AAC3C,cAAM,iBAAiB,YAAY,eAAe,SAAS;AAC3D,cAAM,cAAc,YAAY;AAChC,iBAAS,IAAI,gBAAe,sDAAgB,WAAhB,wCAAyB,GAAG,UAAS,sDAAgB,WAAhB,wCAAyB;AAAA,MAC5F,WAAW,QAAQ;AACjB,iBAAS,GAAG,OAAO,OAAO,GAAG,CAAC,QAAQ,OAAO,OAAO,EAAE;AAAA,MACxD;AACA,aAAO;AAAA,IACT;AAIA,IAAM,eAAe,MAAM;AACzB,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,UAAU,0BAA0B,IAAI,gBAAgB;AAChE,YAAMC,WAAU,mBAAW;AAC3B,YAAM,EAAE,KAAK,gBAAgB,QAAI;AAAA,QAC/B,CAAC,WAAW;AACV,mBAAS,mBAAmB;AAAA,YAC1B,OAAO;AAAA,cACL,SAAS,OAAO;AAAA,cAChB,UAAU;AAAA,cACV;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,EAAE,MAAM,IAAK;AAAA,MACf;AAEA,YAAM,kBAAc,wBAAQ,MAAM;AAChC,eAAO,eAAe,EAAE,UAAU,EAAE,CAAC;AAAA,MACvC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEhB,YAAM,qBAAqB,CAAC,SAAc;AAvH5C;AAwHI,YAAI,KAAK,SAAS,KAAK,IAAI;AASzB,mBAAS,uBAAuB;AAAA,YAC9B,OAAO;AAAA,cACL,UAAU,KAAK;AAAA,YACjB;AAAA,UACF,CAAC;AAAA,QAEH,WAAW,GAAC,0CAAU,qBAAV,mBAA4B,UAAS,GAAC,0CAAU,qBAAV,mBAA4B,QAAO;AAEnF,UAAAA,SAAQ,MAAM,qCAAqC;AAAA,QACrD,aAAW,0CAAU,qBAAV,mBAA4B,YAAS,0CAAU,qBAAV,mBAA4B,QAAO;AAEjF,oCAA0B,MAAM;AAAA,YAC9B,UAAU;AAAA,YACV;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AAEL,0BAAgB;AAAA,YACd,WAAS,0CAAU,qBAAV,mBAA4B,YAAS,0CAAU,qBAAV,mBAA4B;AAAA,UAC5E,CAAC;AAAA,QACH;AAAA,MACF;AAEA,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,uBACb,+BAAAA,QAAA,cAAC,eAAO,oBAA4B,GACpC,+BAAAA,QAAA,cAACC,iBAAA,EAAO,gBAAgB,QAAO,EAAE,uBAAuB,CAAE,GAC1D,+BAAAD,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,+BAA6B,EAAE,4BAA4B,CAAE,GAC5E,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACZ,2CAAa,IAAI,CAAC,MAAM,UAAU;AACjC,eACE,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,iCAAmB,KAAK;AACxB,iCAAmB,IAAI;AAAA,YACzB;AAAA,YACA,KAAK;AAAA;AAAA,UAEL,+BAAAA,QAAA,cAAC,SAAI,KAAK,KAAK,MAAM;AAAA,UACrB,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBAAsB,KAAK,IAAK;AAAA,UAC/C,+BAAAA,QAAA,cAAC,SAAI,WAAU,uBAAsB,kBAAgB,KAAK,SAAS,KAAK,KAAK,QAAQ,QAClF,aAAa,KAAK,SAAS,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAChE;AAAA,UACA,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB;AAAA,QAChE;AAAA,MAEJ,EACF,CACF,GAEA,+BAAAA,QAAA,cAACE,uBAAA,EAAY,WAAU,iBAAgB,CACzC;AAAA,IAEJ;AAEA,IAAOX,wBAAQ;AAAA;AAAA;;;;;;;;;;;AC1Lf;AAAA;AAAA,iBAAAY;AAAA;AAAA,IAAAC,oBACAC,gBACAC,cACA,cACAC,gBAQM,YA8FCJ;AA1GP,IAAAK,mBAAA;AAAA;AAAA;AAAA,IAAAJ,qBAAsC;AACtC,IAAAC,iBAA2B;AAC3B,IAAAC,eAAyB;AACzB,mBAAkB;AAClB,IAAAC,iBAAiC;AACjC,IAAAE;AACA;AACA,IAAAC;AACA;AACA;AACA;AAEA,IAAM,aAAa,MAAM;AACvB,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,aAAa,IAAI,gBAAgB;AACzC,YAAM,EAAE,SAAS,IAAI,aAAa;AAClC,YAAM;AAAA,QACJ;AAAA,QACA,MAAM,aAAa,CAAC;AAAA,QACpB,KAAK;AAAA,MACP,QAAI;AAAA,QACF,MAAM;AACJ,qBAAO,0CAAsB,EAAE,KAAK,CAAC,SAAS;AAC5C,mBAAO,KAAK,IAAI,CAAC,SAAS;AAxBlC;AAyBU,kBAAI,KAAK,YAAY;AAEnB,qBAAK,iBAAa,aAAAC,SAAM,IAAI,KAAK,KAAK,UAAU,CAAC,EAAE,OAAO,kBAAkB;AAAA,cAC9E;AACA,kBAAI,aAAa,cAAc,KAAK,oBAAoB,aAAa,UAAU,KAAK,kBAAkB;AACpG,qBAAK,YAAY;AAAA,cACnB;AACA,kBAAI,KAAK,eAAe;AAEtB,qBAAK,gBAAgB,KAAK,cAAc,QAAQ,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC;AAAA,cACvF;AACA,mBAAI,kCAAM,aAAN,mBAAgB,cAAc;AAChC,oBAAI;AAEF,uBAAK,SAAS,eAAe,IAAI,KAAK,aAAa,CAAC,YAAY,IAAI,GAAG;AAAA,oBACrE,MAAM;AAAA,kBACR,CAAC,EAAE,IAAG,kCAAM,aAAN,mBAAgB,YAAY;AAAA,gBACpC,SAASC,QAAP;AACA,0BAAQ,IAAI,qBAAqBA,MAAK;AAAA,gBACxC;AAAA,cACF;AACA,qBAAO;AAAA,YACT,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,QACA;AAAA,UACE,UAAU;AAAA,UACV,QAAQ;AAAA,QACV;AAAA,MACF;AAEA,oCAAU,MAAM;AACd,iCAAyB;AAAA,MAC3B,GAAG,CAAC,CAAC;AAEL,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,2BACb,+BAAAA,QAAA,cAAC,eAAO,kBAA4B,GACpC,+BAAAA,QAAA,cAACC,iBAAA,EAAO,gBAAgB,QAAO,EAAE,mBAAmB,CAAE,GACtD,+BAAAD,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,yBAAuB,EAAE,wBAAwB,CAAE,GACjE,UACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,2BAAS,CACZ,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACZ,yCAAY,IAAI,CAAC,MAAM,UAAU;AAChC,eACE,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,KAAK;AAAA,YACL,SAAS,MAAM;AACb,uBAAS,gCAAgC;AAAA,gBACvC,OAAO;AAAA,kBACL,iBAAiB;AAAA,gBACnB;AAAA,cACF,CAAC;AAAA,YACH;AAAA;AAAA,UAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAgB,KAAK,gBAAiB,GACrD,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAoB,KAAK,UAAW,CACrD,CACF;AAAA,UACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACZ,KAAK,aAAa,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAgB,EAAE,aAAa,CAAE,GACnE,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB,CAChE;AAAA,QACF;AAAA,MAEJ,EACF,CAEJ,GACA,+BAAAA,QAAA,cAACE,uBAAA,EAAY,WAAU,iBAAgB,CACzC;AAAA,IAEJ;AAEA,IAAOZ,sBAAQ;AAAA;AAAA;;;;;;;;;;;AC1Gf;AAAA;AAAA,iBAAAa;AAAA;AAAA,IACAC,oBACAC,cACAC,gBAYMC,aAqICJ;AApJP,IAAAK,sBAAA;AAAA;AAAA;AACA,IAAAJ,qBAAwC;AACxC,IAAAC,eAA8B;AAC9B,IAAAC,iBAAgC;AAChC,IAAAG;AACA;AACA,IAAAC;AACA;AACA;AACA;AAMA,IAAMH,cAAa,CAAC,UAAkB;AAftC;AAgBE,YAAM,EAAE,gBAAgB,IAAI;AAC5B,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,KAAK;AACtD,YAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,KAAK;AACxD,YAAM,kBAAkB,MAAM;AAC5B,wBAAgB,IAAI;AAAA,MACtB;AACA,YAAMI,WAAU,mBAAW;AAC3B,YAAM,mBAAmB,MAAM;AAC7B,wBAAgB,KAAK;AAAA,MACvB;AAEA,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,4BACb,+BAAAA,QAAA,cAAC,eAAO,qBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,8BACb,+BAAAA,QAAA,cAACC,iBAAA,EAAO,gBAAgB,QAAO,EAAE,aAAa,CAAE,GAChD,+BAAAD,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,SAAS,CAAE,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,gBAAgB,oBAAoB,GAAI,CAClE,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,YAAY,CAAE,GACvC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,gBAAgB,UAAU,GAAI,CACxD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,qBAAqB,CAAE,GAChD,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,gBAAgB,cAAc,GAAI,CAC5D,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,kBAAkB,CAAE,GAC7C,+BAAAA,QAAA,cAAC,SAAI,WAAU,YAAU,gBAAgB,iBAAiB,KAAK,QAAQ,aAAa,SAAS,CAAE,CACjG,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,QAAQ,CAAE,GACnC,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAS,wDAAiB,aAAjB,mBAA2B,OAAM,GAAI,CAC/D,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,aAAa,CAAE,GACxC,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACZ,wDAAiB,aAAjB,mBAA2B,mBAAgB,wDAAiB,aAAjB,mBAA2B,iBAAgB,GACzF,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,UAAU,CAAE,GACrC,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAS,wDAAiB,aAAjB,mBAA2B,SAAQ,GAAI,CACjE,CACF,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,UAAU,gBAAgB;AAAA,UAC1B,SAAS,MAAM;AACb,4BAAgB;AAAA,UAClB;AAAA;AAAA,QAEC,EAAE,mBAAmB;AAAA,MACxB,CACF,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA;AAAA,QAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,+BAAiB;AAAA,YACnB;AAAA;AAAA,UAEA,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,gBAAe,MAAK,gBAAe;AAAA,QACxD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACZ,EAAE,wBAAwB,EAAE,OAAO,mDAAiB,kBAAkB,mDAAiB,MAAM,CAChG,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,+BAAiB;AAAA,YACnB;AAAA;AAAA,UAEC,EAAE,eAAe;AAAA,QACpB,GACA,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS;AAAA,YACT,SAAS,MAAM;AACb,+BAAiB,IAAI;AACrB,yBAAW,MAAM;AACf,gEAAwB,mDAAiB,gBAAgB,EACtD,QAAQ,MAAM;AACb,mCAAiB,KAAK;AAAA,gBACxB,CAAC,EACA,KAAK,CAAC,QAAiB;AACtB,sBAAI,KAAK;AACP,qCAAiB;AACjB,+BAAW,MAAM;AACf,+BAAS,EAAE;AAAA,oBACb,GAAG,GAAG;AAAA,kBACR;AAAA,gBACF,CAAC,EACA,MAAM,CAACE,WAAe;AACrB,kBAAAH,SAAQ,MAAMG,OAAM,OAAO;AAC3B,0BAAQ,IAAI,6BAA6BA,MAAK;AAAA,gBAChD,CAAC;AAAA,cACL,GAAG,GAAG;AAAA,YACR;AAAA;AAAA,UAEC,EAAE,YAAY;AAAA,QACjB,CACF,CACF;AAAA,MACF,GAEA,+BAAAF,QAAA,cAACG,uBAAA,EAAY,WAAU,iBAAgB,CACzC,CACF;AAAA,IAEJ;AAEA,IAAOZ,yBAAQI;AAAA;AAAA;;;ACpJf,IAAAS,oBAea;AAfb;AAAA;AAAA;AAAA,IAAAA,qBAMO;AACP;AAQO,IAAM,sBAAsB,OAAO,EAAE,SAAS,SAAS,OAAO,MAAgC;AAfrG;AAgBE,YAAM,KAAK,WAAW,QAAO,YAAO,iBAAP,mBAAqB,SAAS,OAAO;AAClE,UAAI;AACJ,UAAI,WAAW,WAAW,gCAAa,oBAAoB;AACzD,kBAAU,UAAM,2CAAuB,OAAO;AAAA,MAChD,OAAO;AACL,YAAI,OAAO,WAAW,aAAa;AACjC,qBAAU,YAAO,iBAAP,mBAAqB,SAAS;AAAA,QAC1C;AAAA,MACF;AAEA,UAAI,WAAO,wCAAoB,EAAE,CAAC,GAAG;AACnC,sBAAU,uCAAmB,OAAO;AAAA,MACtC;AACA,aAAO,WAAW;AAAA,IACpB;AAAA;AAAA;;;AC9BA,IAAAC,eACAC,gBAGM,UAWC;AAfP;AAAA;AAAA;AAAA,IAAAD,gBAAiB;AACjB,IAAAC,iBAAkB;AAClB;AAEA,IAAM,WAAW,CAAC,EAAE,YAAY,OAAO,OAAO,MAAM;AAClD,aACE,+BAAAC,QAAA;AAAA,QAAC,cAAAC;AAAA,QAAA;AAAA,UACC;AAAA,UAEA,WAAW;AAAA,UACV,GAAG;AAAA;AAAA,MACN;AAAA,IAEJ;AAEA,IAAO,oBAAQ;AAAA;AAAA;;;ACVR,SAAS,kBAAkBC,QAAY,GAAgD;AAL9F;AAME,MAAIA,UAASA,OAAM,YAAY;AAC7B,QAAIC,WAAU,uBAAI,gBAAgBD,OAAM;AACxC,QAAIC,YAAWA,SAAQ,WAAW,eAAe,GAAG;AAClD,WAAID,UAAA,gBAAAA,OAAO,UAAS,MAAM,QAAQA,UAAA,gBAAAA,OAAO,KAAK,MAAKA,UAAA,gBAAAA,OAAO,MAAM,SAAQ;AACtE,QAAAC,WAAUD,UAAA,gBAAAA,OAAO,MAAM;AAAA,MACzB,OAAO;AACL,QAAAC,YAAU,KAAAD,UAAA,gBAAAA,OAAO,UAAP,YAAgBA,OAAM;AAAA,MAClC;AACA,MAAAC,WAAUA,SAAQ,OAAO,CAAC,EAAE,YAAY,IAAIA,SAAQ,MAAM,CAAC;AAC3D,aAAOA;AAAA,IACT;AACA,WAAOA;AAAA,EACT,OAAO;AACL,WAAOD,UAAA,gBAAAA,OAAO;AAAA,EAChB;AACF;AArBA,IAAAE,oBACAC,cAsBa;AAvBb;AAAA;AAAA;AAAA,IAAAD,qBAAyB;AACzB,IAAAC,eAAsB;AACtB;AACA;AAoBO,IAAM,WAAW,MAAM;AAC5B,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAMF,WAAU,mBAAW;AAM3B,eAAS,YAAY,KAAU;AAjCjC;AAkCI,gBAAQ,IAAI,kBAAkB,KAAK,UAAU,GAAG,CAAC;AACjD,cAAM,aAAY,SAAI,eAAJ,YAAkB,IAAI;AAExC,YAAI,aAAa,OAAO,cAAc,UAAU;AAC9C,cACE,cAAc,4BAAS,eACvB,cAAc,4BAAS,cACvB,cAAc,4BAAS,yBACvB,cAAc,4BAAS,sBACvB;AAAA,UAEF,OAAO;AACL,kBAAMA,WAAU,kBAAkB,KAAK,CAAC;AACxC,gBAAIA,UAAS;AACX,iCAAM,MAAM;AAAA,gBACV,OAAOA;AAAA,gBACP,eAAe;AAAA,gBACf,cAAc,MAAM;AAClB,yBAAO,cAAc;AAAA,gBACvB;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF,WAAW,IAAI,SAAS,gBAAgB;AACtC,cAAI,IAAI,SAAS;AACf,YAAAA,SAAQ,MAAM,IAAI,OAAO;AAAA,UAC3B,OAAO;AACL,YAAAA,SAAQ,MAAM,eAAe;AAAA,UAC/B;AAAA,QACF,OAAO;AACL,kBAAQ,IAAI,QAAQ;AAAA,YAClB,KAAK;AAAA,YACL,KAAK;AAAA,YACL,KAAK;AAAA,YACL,KAAK;AACH,cAAAA,SAAQ,MAAM,iBAAiB,IAAI,MAAM;AACzC;AAAA,YACF;AACE,kBAAI,IAAI,WAAW,OAAO,IAAI,YAAY,UAAU;AAClD,gBAAAA,SAAQ,MAAM,IAAI,OAAO;AAAA,cAC3B,OAAO;AACL,wBAAQ,MAAM,cAAc,GAAG;AAAA,cACjC;AACA;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,YAAY;AAAA,IACvB;AAAA;AAAA;;;ACnFA,IAAAG,oBACAC,gBAKa;AANb;AAAA;AAAA;AAAA,IAAAD,qBAA8C;AAC9C,IAAAC,iBAAoC;AACpC;AAEA;AAEO,IAAM,qBAAqB,MAAM;AACtC,YAAM,CAAC,uBAAuB,wBAAwB,QAAI,6BAAS,uCAAmB,CAAC;AAEvF,YAAM,EAAE,oBAAAC,qBAAoB,UAAU,cAAc,oBAAoB,IAAI,gBAAgB;AAE5F,oCAAU,MAAM;AAXlB;AAYI,iCAAyB,SAAQ,0CAAU,qBAAV,mBAA4B,wBAAwB,CAAC;AAAA,MACxF,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAM,kCAAkC,CAAC,YAAwB;AAfnE;AAgBI,YAAI,uBAAuB;AACzB,kBAAQ;AAAA,QACV,OAAO;AACL,gBACE,kBAAa,wBAAb,mBAAkC,6DAClC,kBAAa,wBAAb,mBAAkC,mEAClC;AACA,gCAAoB;AAAA,cAClB,SAAS;AAAA,cACT;AAAA,YACF,CAAC;AAAA,UACH,cACG,kBAAa,wBAAb,mBAAkC,6CACjC,+BAAU,kBAAa,wBAAb,mBAAkC,oCAAoC,MAClF,CAAC,KAAK,cAAc,4BAA4B,GAChD;AACA,iBAAK,cAAc,8BAA8B,GAAG;AACpD,gCAAoB;AAAA,cAClB,SAAS;AAAA,cACT;AAAA,YACF,CAAC;AAAA,UACH,OAAO;AACL,oBAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,QACL;AAAA,QACA,oBAAAA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AChDA,IAAAC,oBAOAC,mBAGaC;AAVb;AAAA;AAAA;AAAA,IAAAF,qBAMO;AACP,IAAAC,oBAA0B;AAC1B;AAEO,IAAMC,iBAAgB;AAAA,MAC3B,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,GAMW;AACT,YAAI,gBAAgB,wBAAwB,WAAW,UAAU;AAE/D,gBAAM,MAAM,IAAI,4BAAU,oBAAoB,EAC3C,KAAK,IAAI,4BAAU,OAAO,CAAC,EAC3B,aAAa,IAAI,4BAAU,QAAQ,CAAC;AAEvC,gBAAM,SAAS,IAAI,4BAAU,YAAY,EAAE,KAAK,IAAI,4BAAU,OAAO,CAAC,EAAE,aAAa,IAAI,4BAAU,QAAQ,CAAC;AAC5G,iBAAO;AAAA,YACL,KAAK,cAAc,IAAI,QAAQ,CAAC;AAAA,YAChC,QAAQ,cAAc,OAAO,QAAQ,CAAC;AAAA,UACxC;AAAA,QACF,WAAW,UAAU;AACnB,gBAAM,MAAM,IAAI,4BAAU,QAAQ,EAAE,aAAa,IAAI,4BAAU,QAAQ,CAAC;AACxE,iBAAO;AAAA,YACL,QAAQ,cAAc,IAAI,QAAQ,CAAC;AAAA,UACrC;AAAA,QACF;AACA,eAAO;AAAA,UACL,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MAEA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,GAOgB;AACd,YAAI,CAAC,OAAO;AACV,kBAAQ;AAAA,QACV;AACA,YAAI,gBAAgB,sBAAsB;AAExC,gBAAM,MAAM,IAAI,4BAAU,oBAAoB,EAC3C,KAAK,IAAI,4BAAU,OAAO,CAAC,EAC3B,aAAa,IAAI,4BAAU,QAAQ,CAAC;AAEvC,gBAAM,SAAS,IAAI,4BAAU,YAAY,EAAE,KAAK,IAAI,4BAAU,OAAO,CAAC,EAAE,aAAa,IAAI,4BAAU,QAAQ,CAAC;AAC5G,iBAAO;AAAA,YACL,QAAQ,cAAc,IAAI,4BAAU,KAAK,EAAE,KAAK,GAAG,EAAE,SAAS,CAAC;AAAA,YAC/D,WAAW,cAAc,IAAI,4BAAU,KAAK,EAAE,KAAK,MAAM,EAAE,SAAS,CAAC;AAAA,UACvE;AAAA,QACF,WAAW,UAAU;AACnB,gBAAM,MAAM,IAAI,4BAAU,QAAQ,EAAE,aAAa,IAAI,4BAAU,QAAQ,CAAC;AACxE,iBAAO;AAAA,YACL,WAAW,cAAc,IAAI,4BAAU,KAAK,EAAE,KAAK,GAAG,EAAE,SAAS,CAAC;AAAA,UACpE;AAAA,QACF;AACA,eAAO;AAAA,UACL,WAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,oBAAoB,QAAsC;AACxD,YAAI,WAAW,gCAAa,oBAAoB,WAAW,gCAAa,oBAAoB;AAC1F,iBAAO,wCAAqB;AAAA,QAC9B,WAAW,WAAW,gCAAa,oBAAoB;AACrD,iBAAO,wCAAqB;AAAA,QAC9B,OAAO;AACL,iBAAO,wCAAqB;AAAA,QAC9B;AAAA,MACF;AAAA,MAEA,oBAAoB,QAAyB;AAC3C,eAAO,OAAO,SAAS,MAAM;AAAA,MAC/B;AAAA,IACF;AAAA;AAAA;;;ACnGA,IAAAC,cACAC,oBAaAC,gBACAC,gBAEAC,gBA0BM,aASO,YAEA,oBA+RA;AArVb;AAAA;AAAA;AAAA,IAAAJ,eAAyB;AACzB,IAAAC,qBAYO;AACP,IAAAC,iBAA4B;AAC5B,IAAAC,iBAAmF;AAEnF,IAAAC,iBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AAmBA,IAAM,cAAwB;AAAA,MAC5B,gBAAgB,MAAM;AAAA,MAAC;AAAA,MACvB,mBAAmB,MAAM;AAAA,MAAC;AAAA,MAC1B,eAAe,MAAM;AAAA,MAAC;AAAA,MACtB,eAAe,MAAM;AAAA,MAAC;AAAA,MACtB,cAAc;AAAA,MACd,0BAA0B,MAAM,QAAQ,QAAQ,CAAC,CAAC;AAAA,IACpD;AAEO,IAAM,iBAAa,8BAAwB,WAAW;AAEtD,IAAM,qBAAqB,CAAC,UAAyE;AAC1G,YAAM,EAAE,aAAa,IAAI,gBAAgB;AACzC,YAAM,CAAC,gBAAgB,iBAAiB,QAAI,4BAA4B,EAAE,MAAM,GAAG,CAAC;AACpF,YAAM,CAAC,gBAAgB,iBAAiB,QAAI,yBAAiB;AAC7D,YAAM,CAAC,YAAY,aAAa,QAAI,yBAAuB;AAC3D,YAAM,CAAC,SAAS,UAAU,QAAI,yBAAqB,8BAAW,MAAM;AACpE,YAAM,CAAC,UAAU,WAAW,QAAI,yBAA4C;AAC5E,YAAM,CAAC,cAAc,eAAe,QAAI,yBAAuB;AAC/D,YAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAiB;AAC3D,YAAM,CAAC,oBAAoB,qBAAqB,QAAI,yBAAsB;AAC1E,YAAMC,WAAU,mBAAW;AAC3B,YAAM,EAAE,UAAU,IAAI,YAAY;AAElC,YAAM,aAAa,MAAM;AACvB,YAAI,MAAM,WAAW,gCAAa,sBAAuB,MAAM,MAAiB,SAAS;AACvF,gBAAM,UAAW,MAAM,MAAiB;AACxC,gBAAM,YAAQ,wCAAoB,OAAO,OAAO,CAAC;AACjD,iBAAO,wBAAS;AAAA,QAClB,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,YAAM,CAAC,YAAY,QAAI,yBAAoB,WAAW,CAAC;AAEvD,YAAM,oBAAoB,CAAC,SAAmC;AAC5D,YAAI,gBAAgB;AAClB,cAAI,KAAK,cAAc;AACrB,8BAAkB,EAAE,cAAc,KAAK,aAAa,CAAC;AAAA,UACvD;AAEA,cAAI,KAAK,sBAAsB;AAC7B,8BAAkB,EAAE,sBAAsB,KAAK,qBAAqB,CAAC;AAAA,UACvE;AAEA,cAAI,KAAK,UAAU;AACjB,8BAAkB,EAAE,UAAU,KAAK,SAAS,CAAC;AAAA,UAC/C;AAEA,cAAI,KAAK,UAAU;AACjB,8BAAkB,EAAE,UAAU,KAAK,SAAS,CAAC;AAAA,UAC/C;AAEA,cAAI,KAAK,MAAM;AACb,8BAAkB,EAAE,MAAM,KAAK,KAAK,CAAC;AAAA,UACvC;AAAA,QACF;AAAA,MACF;AAEA,oCAAU,MAAM;AACd,YAAI,kBAAkB,cAAc;AAClC,gBAAM,SAAS;AAAA,YACb,UAAU,eAAe,YAAY;AAAA,YACrC,SAAS,QAAQ,MAAM,aAAa,SAAS,MAAM,CAAC;AAAA,YACpD,cAAc,eAAe;AAAA,YAC7B,sBAAsB,eAAe;AAAA,YACrC,UAAU,eAAe;AAAA,UAC3B;AACA,gBAAMC,iBAAgBC,eAAc,OAAO,MAAM;AACjD,2BAAiBD,cAAa;AAE9B,gBAAME,sBAAqBD,eAAc,YAAY;AAAA,YACnD,OAAO,eAAe;AAAA,YACtB,UAAU,eAAe,YAAY;AAAA,YACrC,SAAS,QAAQ,MAAM,aAAa,SAAS,MAAM,CAAC;AAAA,YACpD,cAAc,eAAe;AAAA,YAC7B,sBAAsB,eAAe;AAAA,YACrC,UAAU,eAAe;AAAA,UAC3B,CAAC;AACD,gCAAsBC,mBAAkB;AAAA,QAC1C;AAAA,MACF,GAAG,CAAC,gBAAgB,YAAY,CAAC;AAEjC,YAAM,iBAAiB,CAAC,gBAAgC;AACtD,0BAAkB,WAAW;AAC7B,YAAI,YAAY,UAAU;AACxB,qBAAW,YAAY,QAAsB;AAC7C,kBAAQ,IAAI,uBAAuB,YAAY,QAAQ;AAAA,QACzD,OAAO;AACL,qBAAW,8BAAW,MAAM;AAC5B,kBAAQ,IAAI,iCAAiC,8BAAW,MAAM;AAAA,QAChE;AAAA,MACF;AAEA,YAAM,gBAAgB,CAAC,eAA2B;AAChD,mBAAW,UAAU;AACrB,gBAAQ,IAAI,uCAAuC,UAAU;AAC7D,YAAI,kBAAkB,gBAAgB,eAAe,8BAAW,QAAQ;AACtE,cAAI,cAAc,eAAe,IAAI,GAAG;AACtC,8BAAkB;AAAA,cAChB,cAAc,QAAQ,MAAM,aAAa,YAAY,cAAc,MAAM,CAAC;AAAA,cAC1E,sBAAsB,QAAQ,MAAM,aAAa,YAAY,sBAAsB,MAAM,CAAC;AAAA,YAC5F,CAAC;AAAA,UACH,OAAO;AACL,8BAAkB;AAAA,cAChB,UAAU,QAAQ,MAAM,aAAa,YAAY,cAAc,MAAM,CAAC;AAAA,YACxE,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAEA,YAAM,gBAAgB,CAAC,WAA8F;AACnH,iBAAS,MAAM,EACZ,KAAK,CAAC,EAAE,QAAQ,QAAQ,SAAS,MAAM;AACtC,0BAAgB,MAAM;AACtB,wBAAc,MAAM;AACpB,cAAI;AACJ,cAAI,OAAO,aAAa,UAAU;AAChC,4BAAgB;AAChB,8BAAkB,QAAQ;AAC1B,wBAAY,MAAS;AAAA,UACvB,OAAO;AACL,gBAAI,CAAC,gBAAgB;AACnB,kCAAgB,uBAAS,GAAK;AAC9B,gCAAkB,aAAa;AAC/B,0BAAY;AAAA,gBACV,SAAS,SAAS;AAAA,gBAClB,MAAM;AAAA,cACR,CAAC;AAAA,YACH,OAAO;AACL,8BAAgB;AAAA,YAClB;AAAA,UACF;AAEA,cAAI,gBAAgB;AAClB,gBAAI,cAAc,eAAe,IAAI,GAAG;AAEtC,kBAAI,WAAW,YAAY,8BAAW,QAAQ;AAC5C,+BAAe,eAAe,QAAQ,MAAM,OAAO,SAAS,cAAc,MAAM,CAAC;AACjF,+BAAe,uBAAuB,QAAQ,MAAM,OAAO,SAAS,sBAAsB,MAAM,CAAC;AAAA,cACnG,WAAW,CAAC,eAAe,gBAAgB,CAAC,eAAe,sBAAsB;AAC/E,+BAAe,eAAe,QAAQ,MAAM,OAAO,OAAO,cAAc,MAAM,CAAC;AAC/E,+BAAe,uBAAuB,QAAQ,MAAM,OAAO,OAAO,sBAAsB,MAAM,CAAC;AAC/F,oBAAI,CAAC,eAAe,UAAU;AAC5B,6BAAW,8BAAW,MAAM;AAC5B,0BAAQ,IAAI,mCAAmC,8BAAW,MAAM;AAAA,gBAClE;AAAA,cACF;AAAA,YACF,OAAO;AACL,kBAAI,WAAW,YAAY,8BAAW,QAAQ;AAC5C,+BAAe,WAAW,QAAQ,MAAM,OAAO,SAAS,cAAc,MAAM,CAAC;AAAA,cAC/E,WAAW,CAAC,eAAe,UAAU;AACnC,+BAAe,WAAW,QAAQ,MAAM,OAAO,OAAO,cAAc,MAAM,CAAC;AAC3E,oBAAI,CAAC,eAAe,UAAU;AAC5B,6BAAW,8BAAW,MAAM;AAC5B,0BAAQ,IAAI,mCAAmC,8BAAW,MAAM;AAAA,gBAClE;AAAA,cACF;AAAA,YACF;AAEA,gBACE,CAAC,eAAe,YAChB,YAAY,8BAAW,UACvB,OAAO,eAAe,QAAQ,IAAI,OAAO,aAAa,GACtD;AACA,6BAAe,WAAW;AAC1B,sBAAQ,IAAI,iCAAiC,aAAa;AAAA,YAC5D;AACA,8BAAkB,cAAc;AAAA,UAClC;AAAA,QACF,CAAC,EACA,MAAM,CAACC,WAAU;AAChB,cAAIA,UAAA,gBAAAA,OAAO,SAAS;AAClB,YAAAJ,SAAQ,MAAMI,UAAA,gBAAAA,OAAO,QAAQ,QAAQ,gBAAgB,GAAG;AAAA,UAC1D;AAAA,QACF,CAAC;AAAA,MACL;AAEA,YAAMC,4BAAuB,4BAAY,YAAmC;AA9N9E;AA+NI,cAAM,SAAS,QAAM,YAAO,iBAAP,mBAAqB,SAAS,QAAQ;AAAA,UACzD,SAAS,aAAa;AAAA,UACtB,QAAQ,qCAAkB;AAAA,QAC5B;AACA,eAAO;AAAA,MACT,GAAG,CAAC,YAAY,CAAC;AAEjB,YAAM,+BAA2B;AAAA,QAC/B,OAAOC,aAAoC;AAvO/C;AAwOM,gBAAM,SAAS,QAAM,YAAO,iBAAP,mBAAqB,SAAS,QAAQ;AAAA,YACzD,SAAS,aAAa;AAAA,YACtB,QAAQ,qCAAkB;AAAA,YAC1B,QAAQ,CAACA,QAAO;AAAA,UAClB;AACA,iBAAO;AAAA,QACT;AAAA,QACA,CAAC,YAAY;AAAA,MACf;AAEA,YAAM,iBAAa;AAAA,QACjB,OAAO,cAA+C;AAnP1D;AAoPM,gBAAM,SAAS,QAAM,YAAO,iBAAP,mBAAqB,SAAS,QAAQ;AAAA,YACzD,SAAS,aAAa;AAAA,YACtB,QAAQ,qCAAkB;AAAA,YAC1B,QAAQ,CAAC,WAAW,GAAC,kBAAa,aAAb,mBAAuB,kBAAiB,KAAK,CAAC;AAAA,UACrE;AACA,iBAAO;AAAA,QACT;AAAA,QACA,CAAC,aAAa,UAAU,YAAY;AAAA,MACtC;AAEA,YAAMC,wBAAmB;AAAA,QACvB,OAAO,UAAiG;AA/P5G;AAgQM,cAAI,CAAC,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG;AACtC,mBAAO,MAAM;AAAA,UACf;AACA,cAAI;AACF,kBAAM,SAAS,QAAM,YAAO,iBAAP,mBAAqB,SAAS,QAAQ;AAAA,cACzD,SAAS,aAAa;AAAA,cACtB,QAAQ;AAAA,cACR,QAAQ,CAAC,KAAK;AAAA,YAChB;AACA,mBAAO;AAAA,UACT,SAASH,QAAP;AACA,mBAAOA;AAAA,UACT;AAAA,QACF;AAAA,QACA,CAAC,YAAY;AAAA,MACf;AAEA,YAAM,eAAW;AAAA,QACf,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,MAMM;AACJ,cAAI;AACF,kBAAM,SAAS,MAAM,QAAQ,IAAI;AAAA,cAC/BC,sBAAqB;AAAA,cACrB,WAAW,SAAS;AAAA,cACpBE,kBAAiB;AAAA,gBACf;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF,CAAC;AAAA,YACH,CAAC;AAED,mBAAO;AAAA,cACL,QAAQ,OAAO;AAAA,cACf,QAAQ,OAAO;AAAA,cACf,UAAU,OAAO;AAAA,YACnB;AAAA,UACF,SAASH,QAAP;AACA,gBAAIA,OAAM,QAAQA,OAAM,SAAS;AAC/B,qBAAO,QAAQ,OAAO;AAAA,gBACpB,SAAS,UAAUA,OAAM,OAAO,OAAOA,OAAM,QAAQ,SAAS;AAAA,cAChE,CAAC;AAAA,YACH,OAAO;AACL,qBAAO,QAAQ,OAAOA,MAAK;AAAA,YAC7B;AAAA,UACF;AAAA,QACF;AAAA,QACA,CAACC,uBAAsB,YAAYE,iBAAgB;AAAA,MACrD;AAEA,aACE,+BAAAC,QAAA;AAAA,QAAC,WAAW;AAAA,QAAX;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,iBAAiB;AAAA,YACjB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,QAEC,MAAM;AAAA,MACT;AAAA,IAEJ;AAEO,IAAM,oBAAoB,UAAM,2BAAW,UAAU;AAAA;AAAA;;;ACrV5D,IAAAC,eACAC,gBAOM,YAsGC;AA9GP;AAAA;AAAA;AAAA,IAAAD,gBAA8B;AAC9B,IAAAC,iBAAkB;AAClB;AACA;AACA;AACA;AACA;AAEA,IAAM,aAAa,MAAM;AACvB,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,EAAE,iBAAiB,yBAAyB,IAAI,kBAAkB;AAExE,YAAM,EAAE,QAAQ,IAAI,YAAY;AAChC,YAAM,EAAE,WAAW,IAAI,YAAY;AACnC,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAE3C,YAAM,kBAAkB,eAAAC,QAAM,OAAY;AAE1C,YAAM,EAAE,mBAAmB,IAAI,iBAAiB;AAEhD,YAAM,eAAe,OAAO,aAAkB,mBAA4B;AACxE,YAAI,sBAAsB,CAAC;AAE3B,YACE,mBACA,gBAAgB,WAAW,YAC3B,gBAAgB,WAAW,aAC3B,CAAC,gBACD;AACA,gCAAsB,MAAM,yBAAyB,OAAiB;AAAA,QACxE;AAEA,YACE,mBACA,gBAAgB,WAAW,YAC3B,gBAAgB,WAAW,aAC3B,CAAC,oBACA,2DAAqB,WAAU,KAC9B,CAAC,CAAC,oBAAoB,KAAK,CAAC,SAAc;AACxC,gBAAM,MAAM,IAAI,KAAK,EAAE,QAAQ;AAC/B,gBAAM,YAAY,IAAI,KAAK,KAAK,YAAY,GAAI,EAAE,QAAQ;AAC1D,iBAAO,MAAM,YAAY,KAAK,KAAK;AAAA,QACrC,CAAC,IACH;AAEA,kBAAQ,IAAI,uBAAuB,mBAAmB;AAEtD,0BAAgB,UAAU,oBAAM,QAAQ;AAAA,YACtC,WAAW;AAAA,YACX,SACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAW,EAAE,4BAA4B,CAAE,GAC1D,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,WAAU,2DAAqB,WAAU;AAAA,gBACzC,MAAK;AAAA,gBACL,SAAS,MAAM;AACb,8BAAY,IAAI;AAChB,kCAAgB,QAAQ,QAAQ;AAAA,gBAClC;AAAA;AAAA,cAEC,EAAE,cAAc;AAAA,YACnB,GACA,+BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,MAAK;AAAA,gBACL,SAAS,MAAM;AAEb,0BAAQ,IAAI,OAAO,wDAAgB;AAEnC,kCAAgB,QAAQ,QAAQ;AAChC,qCAAmB;AAEnB,6BAAW,MAAM;AACf,+BAAW;AAAA,sBACT,UAAU;AAAA,sBACV,YAAY;AAAA,sBACZ,OAAO;AAAA,wBACL,cAAc;AAAA,wBACd,UAAU;AAAA,sBACZ;AAAA,sBACA,aAAa;AAAA,oBACf,CAAC;AAAA,kBAEH,GAAG,GAAG;AAAA,gBACR;AAAA;AAAA,cAEC,EAAE,iBAAiB;AAAA,YACtB,CACF,CACF;AAAA,YAEF,UAAU;AAAA,YACV,cAAc;AAAA,YACd,cAAc,MAAM;AAClB,qBAAQ,cAAc,SAAyB,cAAc,YAAY;AAAA,YAC3E;AAAA,UACF,CAAC;AACD,iBAAO;AAAA,QACT;AAEA,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAEA,IAAO,qBAAQ;AAAA;AAAA;;;;;;;;;;;;;;;;;;;AC9Gf,IACAC,eAEAC,gBAUM,gBAmECC;AAhFP,IAAAC,uBAAA;AAAA;AAAA;AACA,IAAAH,gBAAqB;AAErB,IAAAC,iBAA+B;AAC/B;AACA;AAQA,IAAM,iBAAiB,CAAC,SAAe;AACrC,YAAM,EAAE,mBAAmB,MAAM,IAAI;AACrC,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAM,eAAW,wBAAoB,MAAM;AACzC,cAAM,gBAAgB,kBAAkB,OAAO,CAAC,SAAS,KAAK,YAAY,KAAK,SAAS,SAAS,CAAC;AAClG,cAAM,aAAa,kBAAkB,OAAO,CAAC,SAAS,KAAK,SAAS,KAAK,MAAM,SAAS,CAAC;AAEzF,cAAM,OAAmB,CAAC;AAC1B,YAAI,WAAW,SAAS,GAAG;AACzB,eAAK,KAAK;AAAA,YACR,OAAO,EAAE,oBAAoB;AAAA,YAC7B,KAAK;AAAA,YACL,MAAM,+BAAAG,QAAA,cAAC,SAAI,WAAU,oBAAmB;AAAA,YACxC,UAAU,WAAW,IAAI,CAAC,SAAS;AA3B3C;AA4BU,qBAAO;AAAA,gBACL,OAAO,EAAE,QAAQ,KAAK,MAAM;AAAA,gBAC5B,KAAK,KAAK;AAAA,gBACV,MAAM,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBAAkB;AAAA,gBACvC,WAAU,UAAK,UAAL,mBAAY,IAAI,CAACC,UAAS;AAClC,yBAAO;AAAA,oBACL,OAAO,EAAE,QAAQA,OAAM;AAAA,oBACvB,KAAKA;AAAA,oBACL,MAAM,+BAAAD,QAAA,cAAC,SAAI,WAAU,mBAAkB;AAAA,kBACzC;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAEA,YAAI,cAAc,SAAS,GAAG;AAC5B,eAAK,KAAK;AAAA,YACR,OAAO,EAAE,2BAA2B;AAAA,YACpC,KAAK;AAAA,YACL,MAAM,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAoB;AAAA,YACzC,UAAU,cAAc,IAAI,CAAC,SAAS;AAjD9C;AAkDU,qBAAO;AAAA,gBACL,OAAO,EAAE,QAAQ,KAAK,MAAM;AAAA,gBAC5B,KAAK,KAAK;AAAA,gBACV,MAAM,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAmB;AAAA,gBACxC,WAAU,UAAK,aAAL,mBAAe,IAAI,CAAC,YAAY;AACxC,yBAAO;AAAA,oBACL,OAAO,EAAE,QAAQ,SAAS;AAAA,oBAC1B,KAAK;AAAA,oBACL,MAAM,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAmB;AAAA,kBAC1C;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAEA,eAAO;AAAA,MACT,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEzB,aACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,sBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAW,mBAAmB,6BAAM,eACtC,SAAS,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BAAyB,KAAM,GACxD,+BAAAA,QAAA,cAAC,sBAAK,eAAc,aAAY,UAAQ,MAAC,kBAAgB,MAAC,UAAoB,YAAY,OAAO,CACnG,CACF;AAAA,IAEJ;AAEA,IAAOF,0BAAQ;AAAA;AAAA;;;;;;;;;;;AChFf,IAAAI,eAEAC,gBASM,cAoCCC;AA/CP,IAAAC,qBAAA;AAAA;AAAA;AAAA,IAAAH,gBAAyC;AAEzC,IAAAC,iBAA2C;AAC3C;AACA,IAAAG;AACA;AAMA,IAAM,eAAe,CAAC,SAAe;AACnC,YAAM,EAAE,kBAAkB,IAAI;AAE9B,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAM,CAAC,MAAM,OAAO,QAAI,yBAAS,KAAK;AAEtC,YAAM,aAAa,MAAM;AACvB,gBAAQ,CAAC,IAAI;AAAA,MACf;AAEA,oCAAU,MAAM;AACd,cAAM,MAAM,SAAS;AACrB,YAAI,MAAM,YAAY,qBAAqB,MAAM;AACjD,eAAO,MAAM;AACX,cAAI,MAAM,YAAY,qBAAqB,KAAK;AAAA,QAClD;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,eAAO,oBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAc,SAAS,cACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAe,GAC9B,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAc,EAAE,iBAAiB,CAAE,GACjD,OAAO,+BAAAA,QAAA,cAAC,4BAAW,WAAU,iBAAgB,IAAK,+BAAAA,QAAA,cAAC,8BAAa,WAAU,iBAAgB,CAC7F,GACA,+BAAAA,QAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAW,OAAO,SAAS;AAAA,UAC3B;AAAA,UACA,OAAO,EAAE,sBAAsB;AAAA;AAAA,MACjC,CACF;AAAA,IAEJ;AAEA,IAAOJ,wBAAQ;AAAA;AAAA;;;AC/Cf,IAAAK,gBAEM,aAuBC;AAzBP;AAAA;AAAA;AAAA,IAAAA,iBAAkB;AAElB,IAAM,cAAc,MAAM;AACxB,aACE,+BAAAC,QAAA,cAAC,SAAI,OAAO,QAAQ,QAAQ,QAAQ,SAAQ,uBAC1C,+BAAAA,QAAA,cAAC,cACC,+BAAAA,QAAA,cAAC,eAEG,oHAEJ,CACF,GACA,+BAAAA,QAAA,cAAC,OAAE,IAAG,cAAQ,WAAU,iCACtB,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,WAAU;AAAA,UACV,GAAE;AAAA,UACF,WAAU;AAAA;AAAA,MACZ,GAEA,+BAAAA,QAAA,cAAC,UAAK,IAAG,qBAAU,WAAU,SAAQ,GAAE,oBAAmB,WAAU,4BAA2B,CACjG,CACF;AAAA,IAEJ;AACA,IAAO,wBAAQ,eAAAA,QAAM,KAAK,WAAW;AAAA;AAAA;;;ACzBrC,IAAAC,gBAEM,QAqCC;AAvCP;AAAA;AAAA;AAAA,IAAAA,iBAAkB;AAElB,IAAM,SAAS,CAAC,EAAE,QAAQ,QAAQ,SAAS,aAAa,MAAM,MAAM;AAClE,aACE,+BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,OAAM;AAAA,UACN,QAAO;AAAA,UACP,SAAQ;AAAA,UACP,GAAG;AAAA;AAAA,QAEJ,+BAAAA,QAAA,cAAC,WACC,+BAAAA,QAAA,cAAC,OAAE,WAAU,6BACX,+BAAAA,QAAA,cAAC,aAAQ,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,MAAK,gBAAe,aAAY,QAAO,CAClF,GACA,+BAAAA,QAAA,cAAC,WACC,+BAAAA,QAAA,cAAC,OAAE,WAAU,6DACX,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA,YACL,aAAY;AAAA;AAAA,QACd,CACF,GACA,+BAAAA,QAAA,cAAC,OAAE,WAAU,4DACX,+BAAAA,QAAA,cAAC,UAAK,GAAE,IAAG,MAAK,WAAU,aAAY,KAAI,GAC1C,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,UAAS;AAAA,YACT,MAAK;AAAA,YACL,aAAY;AAAA;AAAA,QACd,CACF,CACF,CACF;AAAA,MACF;AAAA,IAEJ;AACA,IAAO,kBAAQ,eAAAA,QAAM,KAAK,MAAM;AAAA;AAAA;;;;;;;;;;;ACtBhC,SAAS,WAAW,OAAe;AACjC,QAAM,EAAE,eAAe,aAAa,WAAW,WAAW,IAAI;AAE9D,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,EAAE,cAAc,YAAY,eAAe,eAAe,YAAY,oBAAoB,gBAAgB,IAC9G,kBAAkB;AAEpB,QAAM,CAAC,UAAU,WAAW,QAAI,yBAA6B,MAAS;AAEtE,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,EAAE;AAE7C,QAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,kCAAY,MAAM;AAChB,UAAM,SAAS,YAAY;AAC3B,QAAI,UAAU,GAAG;AACf,mBAAa,EAAE;AACf,oBAAc;AAAA,IAChB,OAAO;AACL,mBAAa,MAAM;AAAA,IACrB;AAAA,EACF,GAAG,QAAQ;AAEX,gCAAU,MAAM;AACd,QAAI,aAAa;AACf,kBAAY,MAAS;AACrB,mBAAa,EAAE;AAAA,IACjB,OAAO;AACL,kBAAY,GAAI;AAChB,oBAAc;AAAA,IAChB;AACA,WAAO,MAAM;AACX,kBAAY,MAAS;AACrB,mBAAa,EAAE;AAAA,IACjB;AAAA,EACF,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,gBAAgB,MAAM;AAC1B,QAAI,iBAAiB;AACnB,oBAAc;AAAA,QACZ,WAAW,CAAC,QAAQ;AAAA,QACpB,MAAM,gBAAgB;AAAA,QACtB,IAAI,gBAAgB;AAAA,QACpB,OAAO,gBAAgB;AAAA,QACvB,MAAM,gBAAgB;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,UAAU,MAAM;AACpB,QAAI,CAAC,cAAc;AACjB;AAAA,IACF;AACA,kBAAc;AAAA,EAChB;AAEA,QAAM,gBAAgB,CAAC,SAAkC;AACvD,QAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY;AACzC,aAAO;AAAA,IACT;AACA,QAAI;AACJ,QAAI,cAAc,8BAAW,KAAK;AAChC,aAAO,aAAa,IAAI;AAAA,IAC1B,WAAW,cAAc,8BAAW,QAAQ;AAC1C,aAAO,aAAa,OAAO;AAAA,IAC7B,WAAW,cAAc,8BAAW,MAAM;AACxC,aAAO,aAAa,KAAK;AAAA,IAC3B,OAAO;AACL,aAAO,aAAa,IAAI;AAAA,IAC1B;AACA,QAAI;AACJ,QAAI,OAAO,OAAQ,IAAI;AACrB,oBAAc,IAAI,OAAO,MAAO;AAAA,IAClC,OAAO;AACL,oBAAc,IAAI,OAAO;AAAA,IAC3B;AAEA,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB,CAAC,KAAa,WAAiC;AACxE,WAAO,OAAO,SAAS,KAAK,OAAO,GAAG,cAAc,OAAO,GAAG,WAAW,SAAS,IAC9E,YAAY;AAAA,MACV,QAAQ;AAAA,MACR,OAAO,OAAO,GAAG,WAAW,GAAG;AAAA,MAC/B,UAAU,aAAa,YAAY;AAAA,IACrC,CAAC,IACD;AAAA,EACN;AAEA,SACE,+BAAAC,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,eAAO,iBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAU,SAAS,WAChC,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACZ,EAAE,cAAc,GAChB,iBAAiB,YAChB,+BAAAA,QAAA,cAAC,cACE,KACA,EAAE,iBAAiB,GAAE,KAAE,WAAU,GACpC,CAEJ,GAEC,iBAAiB,cAChB,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA,cAAC,aACE,cAAc,OACb,+BAAAA,QAAA,cAAC,aACE,cAAc,KAAI,KAAE,gBAAgB,SAAS,GAC9C,+BAAAA,QAAA,cAAC,UAAK,WAAU,mBAAgB,KAAE,mBAAmB,cAAc,KAAK,UAAU,CAAE,CACtF,GAED,EAAE,cAAc,GAChB,cAAc,QAAO,KAAE,gBAAgB,SAAS,GACjD,+BAAAA,QAAA,cAAC,UAAK,WAAU,mBAAgB,KAAE,mBAAmB,cAAc,QAAQ,UAAU,CAAE,CACzF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA,cAAC,aACE,iBAAiB,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAgB,EAAE,YAAY,YAAY,CAAE,GAC7E,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO,cAAc,eAAe,EAAE,OAAO,KAAK,MAAM,KAAK,EAAE,OAAO,UAAU,IAAI,CAAC;AAAA;AAAA,IAEpF,cAAc,eAAe;AAAA,EAChC,CACF,GACA,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,oBAAmB,MAAK,oBAAmB,CAChE,CACF,CACF,CAEJ,CACF,GAEC,eAAe,gCAAa,sBAC3B,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBAAe,EAAE,YAAY,CAAE,GAC7C,sBAAsB,cACrB,+BAAAA,QAAA,cAAC,SAAI,WAAU,uBACZ,mBAAmB,UAClB,+BAAAA,QAAA,cAAC,aACE,mBAAmB,QAAO,KAAE,gBAAgB,SAAS,GACtD,+BAAAA,QAAA,cAAC,cAAK,KAAE,mBAAmB,mBAAmB,QAAQ,UAAU,CAAE,CACpE,GAEF,+BAAAA,QAAA,cAAC,aACE,EAAE,iBAAiB,GAAE,MAAG,mBAAmB,WAAU,KAAE,gBAAgB,SAAS,GACjF,+BAAAA,QAAA,cAAC,cAAK,KAAE,mBAAmB,mBAAmB,WAAW,UAAU,CAAE,CACvE,CACF,CAEJ,CAEJ;AAEJ;AAhLA,IAAAC,oBACAC,gBACAC,gBAgLO;AAlLP;AAAA;AAAA;AAAA,IAAAF,qBAA+E;AAC/E,IAAAC,iBAA4B;AAC5B,IAAAC,iBAA2C;AAE3C;AACA;AACA;AACA;AACA;AACA;AAyKA,IAAO,sBAAQ;AAAA;AAAA;;;;;;;;;;;;;;;AC5Kf,SAAS,QAAQ;AACf,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,EAAE,oBAAoB,cAAc,UAAU,IAAI,kBAAkB;AAE1E,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,iBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAY,EAAE,kBAAkB,CAAE,GACjD,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,KAAI,IAAG,KAAK,sDAAiD,SAAS,GAC3E,+BAAAA,QAAA,cAAC,cAAM,EAAE,qBAAqB,CAAE,CAClC,GACC,sBACC,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAc,EAAE,YAAY,CAAE,GAC5C,mBAAmB,UAClB,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACZ,mBAAmB,QAAO,KAAE,gBAAgB,SAAS,CACxD,GAEF,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACZ,EAAE,iBAAiB,GAAE,KAAE,KACxB,+BAAAA,QAAA,cAAC,cACE,mBAAmB,WAAU,KAAE,gBAAgB,SAAS,CAC3D,CACF,CACF,CAEJ,CACF;AAEJ;AAvCA,IAAAC,gBAyCO;AAzCP;AAAA;AAAA;AAAA,IAAAA,iBAAkB;AAClB;AACA;AACA;AACA;AAqCA,IAAO,iBAAQ;AAAA;AAAA;;;;;;;;;;;;;;;ACzCf,IAAAC,oBASAC,eACAC,mBACAC,eACAC,gBACAC,gBAgBMC,eAuBA,iBAqrBC;AAzuBP;AAAA;AAAA;AAAA,IAAAN,qBAQO;AACP,IAAAC,gBAA0C;AAC1C,IAAAC,oBAA0B;AAC1B,IAAAC,gBAAkB;AAClB,IAAAC,iBAAmB;AACnB,IAAAC,iBAAoD;AAGpD;AACA;AACA,IAAAE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMD,gBAAe,CAAC,OAAe,WAAW,OAAO;AACrD,UAAI,CAAC,aAAa,WAAW,IAAI,MAAM,MAAM,GAAG;AAChD,UAAI,eAAe,YAAY,SAAS,UAAU;AAChD,sBAAc,YAAY,MAAM,GAAG,WAAW,CAAC,EAAE,MAAM,GAAG,EAAE;AAAA,MAC9D;AACA,aAAO,GAAG,eAAe,oCAAe,KAAK,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,EAAE;AAAA,IACnF;AAiBA,IAAM,kBAAkB,CAAC,UAAiB;AApD1C;AAqDE,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAGJ,YAAM,EAAE,iBAAiB,eAAe,YAAY,iBAAiB,IAAI,kBAAkB;AAC3F,YAAM,CAAC,cAAc,eAAe,QAAI,yBAAkB,KAAK;AAC/D,YAAM,CAAC,YAAY,aAAa,QAAI,yBAA6B,MAAS;AAC1E,YAAM,CAAC,qBAAqB,IAAI,mBAAK,QAAQ;AAE7C,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,CAAC,4BAA4B,6BAA6B,QAAI,yBAAS,KAAK;AAClF,YAAM,EAAE,aAAa,IAAI,gBAAgB;AAGzC,YAAM,SAAK,wBAAQ,MAAM;AA/E3B,YAAAE,KAAAC;AAgFI,cAAM,UAASA,OAAAD,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,aAAvB,gBAAAC,IAAiC;AAChD,aAAI,mDAAiB,SAAQ,wCAAqB,gBAAgB;AAChE,iBAAO,SAAU,OAAO,OAAO,WAAW,IAAI,IAAI,GAAG,QAAmB;AAAA,QAC1E,YAAW,mDAAiB,SAAQ,wCAAqB,eAAe;AACtE,iBAAO,SAAU,OAAO,GAAG,QAAmB;AAAA,QAChD,YAAW,mDAAiB,SAAQ,wCAAqB,gBAAgB;AACvE,iBAAO,gBAAgB,KAAK;AAAA,QAC9B,YACE,mDAAiB,SAAQ,wCAAqB,mBAC9C,mDAAiB,SAAQ,wCAAqB,iBAC9C;AACA,iBAAO,SAAU,OAAO,GAAG,QAAmB;AAAA,QAChD,YACE,mDAAiB,UAAS,wCAAqB,yBAC/C,mDAAiB,UAAS,wCAAqB,uBAC/C;AACA,iBAAO,gBAAgB,KAAK;AAAA,QAC9B,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,EAAC,8DAAiB,SAAjB,mBAAuB,aAAvB,mBAAiC,SAAQ,wDAAiB,SAAjB,mBAAuB,EAAE,CAAC;AAEvE,YAAM,sBAAkB,wBAAQ,MAAM;AAtGxC,YAAAD,KAAAC,KAAAC;AAuGI,aAAIA,OAAAD,OAAAD,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,WAAnC,gBAAAC,IAA4C,OAA5C,gBAAAC,IAAgD,SAAS;AAC3D,iBAAO,gBAAgB,iBAAiB,OAAO,GAAG;AAAA,QACpD,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,CAAC,mDAAiB,gBAAgB,CAAC;AAEtC,YAAM;AAAA,QACJ,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,gBAAgB;AAAA,MAClB,QAAI,wBAAQ,MAAM;AAlHpB,YAAAF,KAAAC,KAAAC,KAAAC;AAmHI,YAAIC,aAAY;AAChB,YAAIC,eAAc;AAClB,YAAIC,iBAAgB;AACpB,aACE,mDAAiB,SAAQ,wCAAqB,mBAC9C,mDAAiB,SAAQ,wCAAqB,eAC9C;AACA,UAAAF,cAAYJ,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,OAAO,GAAG;AACzD,UAAAK,gBAAcJ,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,OAAO,GAAG;AAC3D,UAAAK,kBAAgBJ,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,OAAO,GAAG;AAC7D,cAAI,CAACE,YAAW;AACd,YAAAA,aAAY;AAAA,UACd;AAAA,QACF,YAAW,mDAAiB,SAAQ,wCAAqB,gBAAgB;AACvE,UAAAA,aAAY,mBAAmB,SAAS;AACxC,UAAAC,iBAAcF,MAAA,uCAAW,mBAAX,gBAAAA,IAA2B,WAAU;AAAA,QACrD;AAEA,eAAO;AAAA,UACL,WAAW,UAAUC,UAAS;AAAA,UAC9B,aAAAC;AAAA,UACA,eAAAC;AAAA,QACF;AAAA,MACF,GAAG,EAAC,wDAAiB,qBAAjB,mBAAmC,QAAQ,SAAS,CAAC;AAGzD,oCAAU,MAAM;AA7IlB,YAAAN,KAAAC;AA8II,YAAI,YAAkC;AACtC,YACE,qBACC,mDAAiB,SAAQ,wCAAqB,kBAC7C,mDAAiB,SAAQ,wCAAqB,iBAChD;AACA,sBAAY,CAAC,eAAe;AAAA,QAC9B,YAAW,mDAAiB,SAAQ,wCAAqB,gBAAgB;AACvE,sBAAY,CAAC,QAAQ;AAAA,QACvB;AAEA,YAAI,WAAW;AACb,WAAAA,MAAA,OAAO,iBAAP,gBAAAA,IAAqB,SAClB,QAAQ;AAAA,YACP,SAAS,UAAU;AAAA,YACnB,QAAQ,qCAAkB;AAAA,YAC1B,QAAQ,CAAC,WAAW,GAACD,MAAA,aAAa,aAAb,gBAAAA,IAAuB,kBAAiB,KAAK,CAAC;AAAA,UACrE,GACC,KAAK,CAAC,QAAsB;AAhKrC,gBAAAA,KAAAC,KAAAC;AAiKU,kBAAMK,gBACJL,OAAAD,OAAAD,MAAA,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,YAAY,OAAM,uCAAY,GAAG,cAAa,MAA9E,gBAAAA,IAAiF,eAAjF,gBAAAC,IAA8F,OAA9F,gBAAAC,IAAkG,UAClG;AACF,0BAAcK,WAAU;AAAA,UAC1B,GACC,MAAM,CAAC,QAAQ;AACd,oBAAQ,IAAI,iCAAiC,GAAG;AAAA,UAClD;AAAA,QACJ;AAAA,MACF,GAAG,CAAC,eAAe,CAAC;AAEpB,YAAM,mBAAe,wBAAQ,MAAM;AA5KrC,YAAAP,KAAAC,KAAAC,KAAAC,KAAAK,KAAAC,KAAAC,KAAAC,KAAAC,KAAAC;AA6KI,YAAI,QAAQ;AACZ,cAAM,EAAE,WAAW,IAAI,cAAAC,gBAAe,EAAE,MAAIb,OAAAD,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,WAAnC,gBAAAC,IAA4C,OAAM,CAAC;AAC/F,aAAI,mDAAiB,SAAQ,wCAAqB,eAAe;AAC/D,gBAAM,UAASQ,OAAAD,OAAAL,OAAAD,MAAA,gBAAgB,SAAhB,gBAAAA,IAAsB,aAAtB,gBAAAC,IAAgC,WAAhC,gBAAAK,IAAyC,OAAzC,gBAAAC,IAA6C;AAC5D,kBAAQ,IAAI,4BAAU,MAAM,EAAE,UAAU,IAAI,4BAAU,EAAE,EAAE,IAAI,QAAQ,CAAC,EAAE,SAAS;AAAA,QACpF,YAAW,mDAAiB,SAAQ,wCAAqB,gBAAgB;AACvE,kBAAQ,IAAI,4BAAUK,aAAY,EAAE,UAAU,IAAI,4BAAU,EAAE,EAAE,IAAI,QAAQ,CAAC,EAAE,SAAS;AAAA,QAC1F,YAAW,mDAAiB,SAAQ,wCAAqB,gBAAgB;AACvE,gBAAM,EAAE,aAAa,IAAI,gBAAgB,iBAAiB,QAAQ;AAClE,kBAAQ,IAAI,4BAAU,YAAY,EAC/B,UAAU,IAAI,4BAAU,EAAE,EAAE,IAAI,UAAU,eAAe,QAAQ,CAAC,EAClE,SAAS;AAAA,QACd,YACE,mDAAiB,SAAQ,wCAAqB,mBAC9C,mDAAiB,UAAS,wCAAqB,0BAC/C,mDAAiB,UAAS,wCAAqB,yBAC/C,mDAAiB,SAAQ,wCAAqB,iBAC9C;AACA,mBAAQD,OAAAD,OAAAD,OAAAD,MAAA,gBAAgB,qBAAhB,gBAAAA,IAAkC,SAAlC,gBAAAC,IAAyC,OAAzC,gBAAAC,IAA6C,iBAA7C,gBAAAC,IAA2D;AAAA,QACrE;AACA,eAAO,SAAS;AAAA,MAClB,GAAG,EAAC,wDAAiB,qBAAjB,mBAAmC,MAAM,CAAC;AAE9C,YAAM,sBAAkB,wBAAQ,MAAM;AApMxC,YAAAb;AAqMI,YAAI,gBAAgB,YAAY;AAC9B,iBAAO,YAAY;AAAA,YACjB,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,WAAUA,MAAA,aAAa,aAAb,OAAAA,MAAyB;AAAA,UACrC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,CAAC,cAAc,UAAU,CAAC;AAE7B,YAAM,uBAAuB,CAAC,UAA6B;AACzD,cAAM,SAAS,MAAM,SAAS;AAC9B,YAAI,OAAO,SAAS,IAAI;AACtB,iBAAO;AAAA,QACT,OAAO;AACL,iBAAO,MAAM,YAAY,EAAE;AAAA,QAC7B;AAAA,MACF;AAEA,YAAM,yBAAqB,wBAAQ,MAAM;AACvC,YAAI,QAAQ,uBAAuB,gBAAgB;AACnD,aAAI,mDAAiB,UAAS,wCAAqB,eAAe;AAChE,kBAAQ,qBAAqB,IAAI,4BAAU,KAAK,CAAC;AAAA,QACnD,OAAO;AACL,sBAAQ,eAAAe,SAAO,KAAK,EAAE,OAAO;AAAA,YAC3B,mBAAmB;AAAA,YACnB,cAAc;AAAA,YACd,UAAU;AAAA,UACZ,CAAC;AAAA,QACH;AACA,eAAO,SAAS;AAAA,MAClB,GAAG,CAAC,mDAAiB,MAAM,cAAc,mBAAmB,CAAC;AAE7D,YAAM,qBAAiB,wBAAQ,MAAM;AACnC,YAAI,WAAW;AACf,cAAM,QAAO,yDAAoB,WAAU,OAAM,2CAAa,WAAU;AACxE,YAAI,MAAM,IAAI;AACZ,qBAAW;AAAA,QACb,WAAW,MAAM,IAAI;AACnB,qBAAW;AAAA,QACb,WAAW,MAAM,IAAI;AACnB,qBAAW;AAAA,QACb;AACA,eAAO,GAAG;AAAA,MACZ,GAAG,CAAC,oBAAoB,WAAW,CAAC;AAEpC,YAAM,cAAoC,wBAAQ,MAAM;AApP1D,YAAAf,KAAAC,KAAAC,KAAAC;AAqPI,iBAAOF,OAAAD,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,SAAnC,gBAAAC,IAA0C,SAAME,OAAAD,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,UAAvB,gBAAAC,IAA+B;AAAA,MACxF,GAAG,EAAC,wDAAiB,qBAAjB,mBAAmC,OAAM,wDAAiB,SAAjB,mBAAuB,KAAK,CAAC;AAE1E,YAAM,mBAAuB,wBAAQ,MAAM;AACzC,aAAI,mDAAiB,UAAS,wCAAqB,eAAe;AAChE,iBAAO,EAAE,eAAe;AAAA,QAC1B,YAAW,mDAAiB,UAAS,wCAAqB,uBAAuB;AAC/E,iBAAO,EAAE,aAAa;AAAA,QACxB,YAAW,mDAAiB,UAAS,wCAAqB,sBAAsB;AAC9E,iBAAO,EAAE,wBAAwB;AAAA,QACnC,YAAW,mDAAiB,UAAS,wCAAqB,qBAAqB;AAC7E,iBAAO,EAAE,iBAAiB;AAAA,QAC5B,OAAO;AACL,iBAAO,EAAE,kBAAkB;AAAA,QAC7B;AAAA,MACF,GAAG,CAAC,mDAAiB,MAAM,CAAC,CAAC;AAE7B,YAAM,cAAU,wBAAQ,MAAM;AAtQhC,YAAAH;AAuQI,iBAAOA,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,SAAQ;AAAA,MACxC,GAAG,EAAC,wDAAiB,SAAjB,mBAAuB,IAAI,CAAC;AAKhC,YAAM,kBAAc,wBAAQ,MAAM;AAChC,cACG,mDAAiB,UAAS,wCAAqB,0BAC9C,mDAAiB,UAAS,wCAAqB,0BACjD,mDAAiB,QACjB;AACA,iBAAO,KAAK,mDAAiB;AAAA,QAC/B,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,CAAC,mDAAiB,IAAI,CAAC;AAE1B,YAAM,cAAU,wBAAQ,MAAM;AAC5B,YAAI,SAAS;AACX,cAAI,QAAQ,QAAQ,QAAQ,KAAK,SAAS,GAAG;AAC3C,mBAAO,QAAQ;AAAA,UACjB,OAAO;AACL,mBAAO,OAAO,QAAQ;AAAA,UACxB;AAAA,QACF;AACA,eAAO;AAAA,MACT,GAAG,CAAC,OAAO,CAAC;AAKZ,YAAM,YAAQ,wBAAQ,MAAM;AAvS9B,YAAAA,KAAAC;AAwSI,cAAID,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,UAAS,CAACgB,QAAO,SAAS,GAAG;AACtD,iBAAO,IAAI,UAASf,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,KAAe;AAAA,QAC5D,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,CAAC,YAAW,wDAAiB,SAAjB,mBAAuB,KAAK,CAAC;AAK5C,YAAM,cAAU,wBAAQ,MAAiC;AAlT3D,YAAAD,KAAAC,KAAAC,KAAAC,KAAAK,KAAAC;AAmTI,iBAAOP,OAAAD,OAAAD,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,SAAnC,gBAAAC,IAA0C,OAA1C,gBAAAC,IAA8C,oBAAmB,OACpE,cACAO,OAAAD,OAAAL,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,SAAnC,gBAAAK,IAA0C,OAA1C,gBAAAC,IAA8C,oBAAmB,QACjE,WACA;AAAA,MACN,GAAG,CAAC,mDAAiB,MAAM,mCAAS,cAAc,CAAC;AAKnD,YAAM,yBAAqB,wBAAQ,MAAM;AACvC,gBAAO,mCAAS,WAAU;AAAA,MAC5B,GAAG,CAAC,OAAO,CAAC;AAKZ,YAAM,eAAW,wBAAQ,MAAM;AAC7B,cAAM,EAAE,QAAQ,UAAU,OAAO,KAAI,mDAAiB,UAAS,CAAC;AAChE,aAAI,mDAAiB,UAAS,wCAAqB,yBAAyB,UAAU,YAAY,QAAQ;AACxG,gBAAM,QAAQ,IAAI,4BAAU,MAAM,EAAE,UAAU,IAAI,4BAAU,EAAE,EAAE,IAAI,QAAQ,CAAC;AAC7E,iBAAO,GAAGX,cAAa,MAAM,SAAS,EAAE,CAAC,KAAK;AAAA,QAChD,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF,GAAG,CAAC,mDAAiB,MAAM,mDAAiB,KAAK,CAAC;AAElD,YAAM,qBAAiB,wBAAQ,MAAM;AA9UvC,YAAAE,KAAAC,KAAAC,KAAAC,KAAAK,KAAAC,KAAAC,KAAAC,KAAAC,KAAAC,KAAAI,KAAAC,KAAAC,KAAAC,KAAA;AA+UI,aAAI,mDAAiB,UAAS,wCAAqB,qBAAqB;AACtE,gBAAM,SAAS,GAAG,YAAY,gBAAcpB,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,YAAW,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS;AAC5G,gBAAM,WAASG,OAAAD,OAAAD,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,kBAAvB,gBAAAC,IAAuC,OAAvC,gBAAAC,IAA2C,WAAU;AACpE,cAAI,QAAQ;AACZ,cAAI,iBAAiB;AACrB,cAAI,SAAS;AACb,gBAAM,gBAAcK,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,YAAW;AACtD,gBAAM,UAAU,SAAOC,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,cAAa,CAAC,IAAI;AAChE,gBAAM,gBAAY,cAAAY,SAAM,IAAI,KAAK,OAAO,CAAC,EAAE,OAAO,oBAAoB;AACtE,cAAI,UAAU;AACd,gBAAIX,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,cAAWE,OAAAD,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,YAAvB,gBAAAC,IAAgC,UAAS,IAAI;AAEjF,sBAAU,EAAE,cAAc;AAAA,UAC5B,OAAO;AACL,kBAAM,QAAQ,SAAOC,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,YAAW,CAAC,IAAI;AAC5D,0BAAU,cAAAQ,SAAM,IAAI,KAAK,KAAK,CAAC,EAAE,OAAO,oBAAoB;AAAA,UAC9D;AACA,eAAIJ,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB,eAAe;AACxC,kBAAM,QAAOC,MAAA,mDAAiB,SAAjB,gBAAAA,IAAuB;AACpC,gBAAI,SAAS,IAAI,4BAAU,CAAC;AAC5B,qBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,oBAAM,OAAO,KAAK;AAClB,uBAAS,OAAO,KAAK,IAAI,4BAAU,KAAK,MAAM,CAAC;AAC/C,oBAAM,SAAS,GAAGpB;AAAA,gBAChB,IAAI,4BAAU,KAAK,MAAM,EAAE,UAAU,IAAI,4BAAU,EAAE,EAAE,KAAIsB,OAAAD,MAAA,6BAAO,OAAP,gBAAAA,IAAW,aAAX,OAAAC,MAAuB,EAAE,CAAC,EAAE,SAAS,EAAE;AAAA,cACpG,KAAK;AACL,kBAAI,KAAK,UAAU,YAAY,MAAM,YAAY,YAAY,GAAG;AAC9D,iCAAiB;AAAA,cACnB,OAAO;AACL,yBAAS;AAAA,cACX;AAAA,YACF;AACA,qBAAS,OAAO,UAAU,IAAI,4BAAU,EAAE,EAAE,KAAI,wCAAO,OAAP,mBAAW,aAAX,YAAuB,EAAE,CAAC;AAC1E,oBAAQ,GAAGtB,cAAa,OAAO,SAAS,EAAE,CAAC,KAAK;AAAA,UAClD;AACA,iBAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF,OAAO;AACL,iBAAO,CAAC;AAAA,QACV;AAAA,MACF,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEvB,aACE,+BAAAwB,QAAA,cAAC,SAAI,WAAU,sBACZ,mBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,cACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,YACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,YAAa,GACnC,SAAS,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,KAAM,CAC1C,KAEE,mDAAiB,UAAS,wCAAqB,mBAC/C,mDAAiB,UAAS,wCAAqB,mBAC/C,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAmB,kBAAgB,GAAG,qBAAqB,SAAS,KAAK,OAAO,SAC7F,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACZ,CAAC,CAAC,aACD,+BAAAA,QAAA,cAAC,uBAAM,WAAU,QAAO,KAAK,WAAW,UAAU,qCAAkB,SAAS,OAAO,CAExF,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,YACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA,YACL,SAAO,8DAAoB,aAApB,4CAA+B,QAAO,YAAY;AAAA,YACzD,UAAU;AAAA,UACZ;AAAA;AAAA,QAEC;AAAA,MACH,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA,YACL,UAAU;AAAA,UACZ;AAAA;AAAA,QAEC;AAAA,MACH,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAc,eAAgB,CAC/C,CACF,IAGD,mDAAiB,UAAS,wCAAqB,iBAC9C,+BAAAA,QAAA,cAAC,SAAI,WAAU,+BACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,KAAK,WAAW,KAAI,IAAG,GACnD,+BAAAA,QAAA,cAAC,SAAI,WAAU,YACZ,oBAAmB,QAAO,WAC7B,CACF,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,kBAAM,SAAS,IAAI,4BAAU,uBAAuB,YAAY;AAChE,kCAAsB,eAAe;AAAA,cACnC,QAAQ,qBAAqB,MAAM;AAAA,YACrC,CAAC;AACD,4BAAgB,IAAI;AAAA,UACtB;AAAA;AAAA,QAEA,+BAAAA,QAAA,cAAC,aAAK,EAAE,kBAAkB,CAAE;AAAA,QAC5B,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,2BAAY,CACf;AAAA,MACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,yBAAuB,EAAE,iBAAiB,CAAE,CAC7D,KAGA,mDAAiB,UAAS,wCAAqB,oBAC/C,mDAAiB,UAAS,wCAAqB,0BAC/C,mDAAiB,UAAS,wCAAqB,yBAC/C,mDAAiB,UAAS,wCAAqB,wBAC/C,mDAAiB,UAAS,wCAAqB,mBAC/C,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,KAAK,WAAU,mCAAS,UAAS,EAAE;AAAA,UACnC,UAAU,wDAAkD;AAAA,UAC5D,SAAS;AAAA;AAAA,MAMX,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,OAAQ,CACjC,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAoB,OAAQ,IAC1C,mDAAiB,UAAS,wCAAqB,uBAAuB,sBACrE,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,YAAY,CAAE,GACvC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,kBAAmB,CAC7C,GAED,YACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,eAAe,CAAE,GAC1C,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,QAAS,CACnC,CAEJ,CAEJ,IAGC,mDAAiB,UAAS,wCAAqB,mBAC9C,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,YAAY,CAAE,GACvC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACZC,WAAU,mCAAS,YAAY,IAAI,EAAE,iBAAiB,IAAI,KAAK,KAAI,mCAAS,iBAAgB,CAAC,CAChG,CACF,CACF,IAGD,mDAAiB,UAAS,wCAAqB,uBAC9C,+BAAAD,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACZ,EAAE,UAAU,GAAE,MAAG,EAAE,SAAS,GAAE,GACjC,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACZ,YAAY,cAAc,gBAAgB,KAAK,MAAM,SAAS,CAAC,CAClE,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,YACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,qBAAO,CACV,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACZ,EAAE,QAAQ,GACV,WACH,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAkB,YAAY,cAAc,IAAI,SAAS,CAAC,CAAE,CAC7E,CACF,CACF,GAGD,CAACN,QAAO,SAAS,MAAK,mDAAiB,UAAS,wCAAqB,uBACpE,+BAAAM,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,iBAAiB,CAAE,GAC3C,WACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,KAAI,IAAG,KAAK,sDAAiD,SAAS,GAC3E,+BAAAA,QAAA,cAAC,cAAM,EAAE,qBAAqB,CAAE,CAClC,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACZ,+CAAe,QAAO,KAAE,gBAAgB,SAAS,CACpD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACZ,YAAY;AAAA,QACX,SAAQ,+CAAe,WAAU;AAAA,QACjC,SAAO,sEAAmB,OAAnB,mBAAuB,eAAvB,mBAAoC,OAApC,mBAAwC,UAAS;AAAA,QACxD,UAAU;AAAA,QACV,WAAU,kBAAa,aAAb,YAAyB;AAAA,MACrC,CAAC,CACH,CACF,CAEJ,CACF,IAED,mDAAiB,UAAS,wCAAqB,uBAC9C,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,YAAY,CAAE,GACvC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,eAAe,MAAO,CAChD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,WAAW,CAAE,GACtC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,eAAe,KAAM,CAC/C,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,qBAAqB,CAAE,GAChD,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,eAAe,cAAe,CACxD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,YAAY,CAAE,GACvC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,eAAe,MAAO,CAChD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,gBAAgB,CAAE,GAC3C,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,eAAe,SAAU,CACnD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,EAAE,cAAc,CAAE,GACzC,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,eAAe,OAAQ,CACjD,CACF,CAEJ,CACF,GAEF,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,6BAAiB,CAAC,aAAa;AAAA,UACjC;AAAA;AAAA,QAEC,gBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,QAAO,KAAI,UACxB,+BAAAA,QAAA,cAAC,cAAM,EAAE,UAAU,CAAE,GACrB,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,cAAa,MAAK,cAAa,CACpD,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAS,KAAI,UAC1B,+BAAAA,QAAA,cAAC,cAAM,EAAE,aAAa,CAAE,GACxB,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,cAAa,MAAK,cAAa,CACpD;AAAA,MAEJ,CACF,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA,YACL,SAAS,gBAAgB,KAAK;AAAA,UAChC;AAAA;AAAA,QAEC,CAAC,YAAY,CAACN,QAAO,SAAS,KAAK,mBAClC,+BAAAM,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAe,MAAM,UAAU,IAAI;AAAA,YACnC;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA,QAED,YAAY,CAACN,QAAO,SAAS,KAAK,+BAAAM,QAAA,cAAC,oBAAM;AAAA,QAC1C,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAe;AAAA,QAC9B,+BAAAA,QAAA,cAAC,aAEE,mBAAmB,gBAAgB,KAAK,YACvC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAoB,KAAK,0BACtC,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,YACZ,EAAE,oBAAoB,GAAE,KAAE,eAAe,gBAAgB,KAAK,QAAQ,CACzE,GAEC,gBAAgB,KAAK,SAAS,OAAO,IAAI,CAAC,SACzC,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAc,KAAK,uBAAuB,KAAK,UAC3D,YAAY,KAAK,IAAI,GACtB,+BAAAA,QAAA,cAAC,cAAM,YAAY,KAAK,KAAK,CAAE,CACjC,CACD,CACH,CACF,CACF,CACF,GAGD,WACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAoB,KAAK,0BACtC,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,YAAU,EAAE,eAAe,CAAE,GAC5C,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,OAAQ,CACjC,CACF,CACF,CACF,CACF,IAGD,mDAAiB,UAAS,wCAAqB,uBAC9C,CAAC,CAAC,MAAM,eACR,MAAM,YAAY,CACtB;AAAA,MACF,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,EAAE,kBAAkB;AAAA,UAC3B,MAAM;AAAA,UACN,UAAU;AAAA,UACV,eAAc;AAAA,UACd,QAAQ,EAAE,gBAAgB;AAAA,UAC1B,gBAAgB;AAAA,UAChB,WAAW,+BAAAA,QAAA,cAACE,uBAAA,IAAY;AAAA,UACxB,MAAM,MAAM;AACV,0CAA8B,IAAI;AAClC,kCACG,eAAe,EACf,KAAK,CAAC,WAAW;AA/qB9B,kBAAAxB,KAAAC;AAgrBc,oBAAM,WAASA,OAAAD,MAAA,iCAAQ,WAAR,gBAAAA,IAAgB,YAAhB,gBAAAC,IAAA,KAAAD,KAA0B,SAAS,QAAO;AACzD,kBAAI,QAAQ;AACV,uBAAO,uBAAuB,MAAM;AAAA,cACtC;AAAA,YACF,CAAC,EACA,KAAK,MAAM;AACV,4CAA8B,KAAK;AACnC,8BAAgB,KAAK;AAAA,YACvB,CAAC,EACA,MAAM,CAACyB,WAAU;AAChB,4CAA8B,KAAK;AACnC,sBAAQ,IAAI,yBAAyBA,MAAK;AAAA,YAC5C,CAAC;AAAA,UACL;AAAA,UACA,UAAU,MAAM;AACd,0CAA8B,KAAK;AACnC,4BAAgB,KAAK;AAAA,UACvB;AAAA,UACA,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA;AAAA,QAEA,+BAAAH,QAAA,cAAC,sBAAK,MAAM,uBAAuB,cAAa,SAC9C,+BAAAA,QAAA;AAAA,UAAC,mBAAK;AAAA,UAAL;AAAA,YACC,OAAM;AAAA,YACN,MAAK;AAAA,YACL,OAAO;AAAA,cACL;AAAA,gBACE,WAAW,CAAC,GAAG,UAAU;AA5sBzC,sBAAAtB,KAAAC;AA6sBkB,sBAAI,OAAO,SAAS,IAAI,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,SAAS,IAAI,QAAQ,OAAO,EAAE,CAAC,GAAG;AAC1F,2BAAO,QAAQ,OAAO,EAAE,kBAAkB,CAAC;AAAA,kBAC7C;AACA,sBAAI,CAAC,SAAU,SAAS,IAAI,4BAAU,KAAK,EAAE,IAAI,IAAI,4BAAU,CAAC,CAAC,GAAI;AACnE,2BAAO,QAAQ,OAAO,EAAE,gBAAgB,CAAC;AAAA,kBAC3C;AACA,wBAAM,WAASD,MAAA,+BAAO,YAAP,gBAAAA,IAAA,YAAiB,SAAS,QAAO;AAChD,wBAAM,KAAK,IAAI,4BAAU,MAAM;AAC/B,wBAAKC,MAAA,GAAG,cAAc,MAAjB,OAAAA,MAAsB,KAAK,eAAe;AAC7C,2BAAO,QAAQ,OAAO,EAAE,kBAAkB,CAAC;AAAA,kBAC7C;AACA,yBAAO,QAAQ,QAAQ;AAAA,gBACzB;AAAA,cACF;AAAA,YACF;AAAA;AAAA,UAEA,+BAAAqB,QAAA,cAAC,uBAAM,aAAa,EAAE,kBAAkB,GAAa;AAAA,QACvD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,KAAK,WAAW,KAAI,IAAG,CAC9B,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,YAAU,WAAY,CACvC;AAAA,MACF,CACF;AAAA,IAEJ;AAEA,IAAO,0BAAQ;AAAA;AAAA;;;ACzuBf,IAAa;AAAb;AAAA;AAAA;AAAO,IAAM,mBAAmB,MAAM;AACpC,aAAO,OAAO,WAAW,eAAe,QAAQ,OAAO,QAAQ;AAAA,IACjE;AAAA;AAAA;;;;;;;;;;;ACFA,IAAAI,eACAC,gBAcM,gBAuICC;AAtJP,IAAAC,wBAAA;AAAA;AAAA;AAAA,IAAAH,gBAAuB;AACvB,IAAAC,iBAA4D;AAC5D;AACA;AACA;AACA,IAAAG;AACA;AASA,IAAM,iBAAiB,CAAC,UAAkB;AACxC,YAAM,EAAE,OAAO,UAAU,SAAS,YAAY,KAAK,IAAI;AACvD,YAAM,CAAC,QAAQ,SAAS,QAAI,yBAAkB,SAAS,CAAC;AACxD,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,kBAAc,uBAAO;AAAA,QACzB,QAAQ;AAAA,QACR,OAAO;AAAA,MACT,CAAC;AACD,YAAM,uBAAmB,uBAAuB,IAAI;AAEpD,YAAM,gBAAY,wBAAQ,MAAM;AAC9B,cAAM,aAAa,CAAC,MAAM,WAAW,YAAY,SAAS,WAAW,eAAe,2BAA2B;AAC/G,eAAO,WAAW,KAAK,GAAG;AAAA,MAC5B,GAAG,CAAC,MAAM,WAAW,MAAM,CAAC;AAE5B,YAAM,WAAW,CAAC,WAAwB;AACxC,YAAI,gBAAoC;AACxC,YAAI,OAAO;AACX,eAAO,eAAe;AACpB,0BAAgB,cAAc;AAC9B,cAAI,+CAAe,UAAU,SAAS,oBAAoB;AACxD;AAAA,UACF;AACA,cAAI,+CAAe,WAAW;AAC5B,mBAAO;AACP;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAEA,YAAM,sBAAkB,wBAAQ,MAAM;AACpC,eAAO,MAAM,oBACT,SAAS,cAAc,MAAM,iBAAiB,IAC9C,cAAc,sBAAsB,SAAS,cAAc,MAAM;AAAA,MACvE,GAAG,CAAC,MAAM,mBAAmB,cAAc,kBAAkB,CAAC;AAE9D,oCAAU,MAAM;AApDlB;AAqDI,YAAI,CAAC,UAAU,EAAC,qDAAkB,YAAW,iBAAiB,GAAG;AAC/D;AAAA,QACF;AACA,cAAM,oBAAoB,CAAC,MAAkB;AAC3C,cAAI,EAAE,SAAS,gBAAgB,SAAS,EAAE,MAAqB,GAAG;AAChE;AAAA,UACF;AACA,gBAAM,UAAU,EAAE,QAAQ,GAAG;AAC7B,YAAE,gBAAgB;AAClB,sBAAY,QAAQ,SAAS;AAC7B,sBAAY,QAAQ,QAAQ;AAAA,QAC9B;AAEA,YAAI,SAAS;AACX,qEAAkB,YAAlB,mBAA2B,iBAAiB,cAAc;AAAA,QAC5D;AAEA,YAAI,CAAC,SAAS;AACZ,qEAAkB,YAAlB,mBAA2B,oBAAoB,cAAc;AAC7D,sBAAY,QAAQ,SAAS;AAC7B,sBAAY,QAAQ,QAAQ;AAAA,QAC9B;AAEA,eAAO,MAAM;AA5EjB,cAAAC;AA6EM,WAAAA,MAAA,qDAAkB,YAAlB,gBAAAA,IAA2B,oBAAoB,cAAc;AAC7D,sBAAY,QAAQ,SAAS;AAC7B,sBAAY,QAAQ,QAAQ;AAAA,QAC9B;AAAA,MACF,GAAG,CAAC,SAAS,QAAQ,qDAAkB,OAAO,CAAC;AAE/C,oCAAU,MAAM;AAnFlB;AAoFI,YAAI,CAAC,UAAU,EAAC,qDAAkB,YAAW,iBAAiB,GAAG;AAC/D;AAAA,QACF;AACA,cAAM,kBAAkB,CAAC,MAAkB;AACzC,cAAI,YAAY,QAAQ,QAAQ;AAC9B,cAAE,gBAAgB;AAClB,wBAAY,QAAQ,SAAS;AAAA,UAC/B;AAAA,QACF;AAEA,cAAM,mBAAmB,CAAC,MAAkB;AAC1C,YAAE,eAAe;AACjB,gBAAM,UAAU,EAAE,QAAQ,GAAG;AAC7B,cAAI,YAAY,QAAQ,UAAU,UAAU,YAAY,QAAQ,QAAQ,IAAI;AAC1E,oBAAQ;AAAA,UACV;AAAA,QACF;AAEA,mEAAkB,YAAlB,mBAA2B,iBAAiB,YAAY;AAExD,mEAAkB,YAAlB,mBAA2B,iBAAiB,aAAa,kBAAkB,EAAE,SAAS,KAAK;AAE3F,eAAO,MAAM;AA1GjB,cAAAA,KAAAC;AA2GM,WAAAD,MAAA,qDAAkB,YAAlB,gBAAAA,IAA2B,oBAAoB,YAAY;AAC3D,WAAAC,MAAA,qDAAkB,YAAlB,gBAAAA,IAA2B,oBAAoB,aAAa;AAAA,QAC9D;AAAA,MACF,GAAG,CAAC,QAAQ,qDAAkB,OAAO,CAAC;AAEtC,oCAAU,MAAM;AACd,cAAM,gBAAgB,MAAM;AAC1B,oBAAU,SAAS,CAAC;AAAA,QACtB;AACA,eAAO,iBAAiB,UAAU,aAAa;AAC/C,eAAO,MAAM;AACX,iBAAO,oBAAoB,UAAU,aAAa;AAAA,QACpD;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,aACE,+BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAM;AAAA,UACL,GAAG;AAAA,UACJ;AAAA,UACA,gBAAgB;AAAA,UAChB,cAAc,MAAM;AAjI1B;AAkIQ,qBAAO,kCAAM,iBAAN,kCAA0B;AAAA,UACnC;AAAA;AAAA,QAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BAA0B,KAAK,oBAC5C,+BAAAA,QAAA,cAAC,eAAO,uBAA4B,GACpC,+BAAAA,QAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,eAAa,UAAU,CAAC,iBAAiB;AAAA,YACzC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,sBAAQ;AAAA,YACV;AAAA;AAAA,QACF,GACA,+BAAAD,QAAA,cAAC,SAAI,WAAU,sBAAqB,eAAa,UAAU,CAAC,iBAAiB,GAAG,GAC/E,SAAS,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAkB,KAAM,GAChD,QACH;AAAA,MACF;AAAA,IAEJ;AAEA,IAAOL,2BAAQ;AAAA;AAAA;;;;;;;;;;;AC3Hf,SAAS,OAAO,OAAY;AA3B5B;AA4BE,QAAM,EAAE,eAAe,QAAQ,IAAI;AACnC,QAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,KAAK;AACpD,QAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,KAAK;AAC9C,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAiB;AACnD,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAiB;AACnD,QAAM,kBAAc,uBAAY,IAAI;AACpC,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,EAChB,IAAI,kBAAkB;AAEtB,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,UAAU;AACjD,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,oBAAoB;AACvE,QAAM,CAAC,UAAU,WAAW,QAAI,yBAAiB,kBAAkB,EAAE;AACrE,QAAM,CAAC,sBAAsB,uBAAuB,QAAI,yBAAS,mDAAiB,oBAAoB;AAEtG,QAAM,CAAC,QAAQ,SAAS,QAAI,yBAAiB,EAAE;AAE/C,QAAM,CAAC,OAAO,IAAI,mBAAK,QAAQ;AAE/B,QAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,gCAAU,MAAM;AACd,QAAI,cAAc,SAAS;AACzB,iBAAW,UAAU;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,YAAY,OAAO,CAAC;AAExB,gCAAU,MAAM;AACd,QAAI,wBAAwB,SAAS;AACnC,uBAAiB,oBAAoB;AAAA,IACvC;AAAA,EACF,GAAG,CAAC,sBAAsB,OAAO,CAAC;AAElC,gCAAU,MAAM;AACd,QAAI,SAAS;AACX,8BAAwB,mDAAiB,oBAAoB;AAAA,IAC/D;AAAA,EACF,GAAG,CAAC,mDAAiB,sBAAsB,OAAO,CAAC;AAEnD,gCAAU,MAAM;AACd,QAAI,SAAS;AACX;AAAA,QACG,cAAc,mDAAiB,IAAc,IAC1C,mDAAiB,eACjB,mDAAiB;AAAA,MACvB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,mDAAiB,MAAM,mDAAiB,cAAc,mDAAiB,UAAU,OAAO,CAAC;AAE7F,gCAAU,MAAM;AACd,SAAI,mDAAiB,aAAY,SAAS;AACxC,kBAAY,mDAAiB,QAAe;AAAA,IAC9C;AAAA,EACF,GAAG,CAAC,mDAAiB,UAAU,OAAO,CAAC;AAEvC,gCAAU,MAAM;AACd,QAAI,mBAAmB,UAAU;AAC/B,UAAI,cAAc,gBAAgB,IAAI,GAAG;AACvC;AAAA,UACEO,eAAc,OAAO;AAAA,YACnB;AAAA,YACA,SAAS,QAAQ,MAAM,6CAAc,SAAS,MAAM,CAAC;AAAA,YACrD,cAAc;AAAA,YACd;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL;AAAA,UACEA,eAAc,OAAO;AAAA,YACnB;AAAA,YACA,SAAS,QAAQ,MAAM,6CAAc,SAAS,MAAM,CAAC;AAAA,YACrD,UAAU;AAAA,UACZ,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF,WAAW,sBAAsB;AAC/B,uBAAiB,oBAAoB;AAAA,IACvC;AAAA,EACF,GAAG,CAAC,SAAS,iBAAiB,sBAAsB,QAAQ,SAAS,UAAU,cAAc,oBAAoB,CAAC;AAElH,QAAM,gBAAgB,CAAC,SAA8B;AACnD,QAAI,CAAC,cAAc,CAAC,cAAc;AAChC,aAAO;AAAA,IACT;AACA,QAAI;AACJ,QAAI,QAAQ,8BAAW,KAAK;AAC1B,aAAO,aAAa,IAAI;AAAA,IAC1B,WAAW,QAAQ,8BAAW,QAAQ;AACpC,aAAO,aAAa,OAAO;AAAA,IAC7B,WAAW,QAAQ,8BAAW,MAAM;AAClC,aAAO,aAAa,KAAK;AAAA,IAC3B,OAAO;AACL,aAAO,aAAa,IAAI;AAAA,IAC1B;AACA,QAAI;AACJ,QAAI,OAAO,OAAQ,IAAI;AACrB,oBAAc,IAAI,OAAO,MAAO;AAAA,IAClC,OAAO;AACL,oBAAc,IAAI,OAAO;AAAA,IAC3B;AAEA,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,CAAC,WAA4B;AAC9C,QAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,QAAQ;AAC9C,aAAO;AAAA,IACT;AACA,QAAI,cAAc,gBAAgB,IAAI,GAAG;AAGvC,YAAM,eAAe,GAAG,EAAE,cAAc,KAAK,OAAO,UAAU,gBAAgB,SAAS;AACvF,YAAM,QAAQ,mBAAmB,OAAO,QAAQ,UAAU;AAC1D,UAAI,UAAU,IAAI;AAChB,eAAO;AAAA,MACT;AACA,aAAO,eAAe,IAAI;AAAA,IAC5B,OAAO;AACL,aAAO,mBAAmB,OAAO,QAAQ,UAAU;AAAA,IACrD;AAAA,EACF;AAEA,QAAM,qBAAqB,CAAC,KAAa,WAAiC;AACxE,WAAO,OAAO,SAAS,KAAK,OAAO,GAAG,cAAc,OAAO,GAAG,WAAW,SAAS,IAC9E,YAAY;AAAA,MACV,QAAQ;AAAA,MACR,OAAO,OAAO,GAAG,WAAW,GAAG;AAAA,MAC/B,UAAU,aAAa,YAAY;AAAA,IACrC,CAAC,IACD;AAAA,EACN;AAEA,QAAM,gBAAgB,CAAC,SAAqB;AAC1C,gBAAY,KAAK;AACjB,iBAAa,MAAS;AACtB,iBAAa,MAAS;AACtB,QAAI,SAAS,SAAS;AACpB,iBAAW,IAAI;AACf,mBAAa,IAAI;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,eAAe,CAAC,SAAqB;AACzC,QAAI,gBAAgB,QAAQ,8BAAW,QAAQ;AAC7C,YAAM,cAAc,QAAQ,MAAM,aAAa,MAAM,cAAc,MAAM,CAAC;AAC1E,gBAAU,WAAW;AACrB,cAAQ,eAAe,EAAE,WAAW,WAAW,WAAW,EAAE,CAAC;AAC7D,YAAM,4BAA4B,QAAQ,MAAM,aAAa,MAAM,sBAAsB,MAAM,CAAC;AAChG,8BAAwB,yBAAyB;AACjD,cAAQ,eAAe,EAAE,oBAAoB,WAAW,yBAAyB,EAAE,CAAC;AACpF,UAAI,gBAAgB;AAClB,oBAAY,cAAc;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAEA,QAAM,oBAAoB,CAAC,UAAkB;AAC3C,gBAAY,KAAK;AACjB,QAAI,YAAY,8BAAW,QAAQ;AACjC,iBAAW,8BAAW,MAAM;AAAA,IAC9B;AACA,UAAM,KAAK,OAAO,KAAK;AACvB,YAAQ,MAAM,EAAE,IAAI,QAAQ,kBAAkB,EAAE;AAChD,gBAAY,KAAK;AACjB,QAAI,OAAO,KAAK,IAAI,OAAO,cAAc,GAAG;AAC1C,kBAAY,IAAI;AAAA,IAClB,OAAO;AACL,kBAAY,KAAK;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,0BAA0B,CAAC,UAAkB;AACjD,iBAAa,MAAS;AACtB,UAAM,KAAK,YAAY,KAAK;AAC5B,YAAQ,GAAG,MAAM,KAAK,UAAU,KAAK,MAAM,GAAG,SAAS;AACvD,YAAQ,QAAQ,MAAM,OAAO,MAAM,CAAC;AACpC,QAAI,YAAY,8BAAW,QAAQ;AACjC,iBAAW,8BAAW,MAAM;AAAA,IAC9B;AACA,4BAAwB,KAAK;AAC7B,2BAAuB,KAAK;AAAA,EAC9B;AAEA,QAAM,kBAAkB,CAAC,UAAkB;AACzC,YAAQ,IAAI,mBAAmB,KAAK;AACpC,iBAAa,MAAS;AACtB,UAAM,KAAK,YAAY,KAAK;AAC5B,YAAQ,GAAG,MAAM,KAAK,UAAU,KAAK,MAAM,GAAG,SAAS;AACvD,YAAQ,QAAQ,MAAM,OAAO,MAAM,CAAC;AACpC,QAAI,YAAY,8BAAW,QAAQ;AACjC,iBAAW,8BAAW,MAAM;AAAA,IAC9B;AACA,cAAU,KAAK;AACf,mBAAe,KAAK;AAAA,EACtB;AAEA,QAAM,cAAc,MAAM;AACxB,QAAI,kBAAkB,OAAO,QAAQ,IAAI,OAAO,cAAc,GAAG;AAC/D,wBAAkB,OAAO,cAAc,EAAE,SAAS,CAAC;AAAA,IACrD,OAAO;AACL,yBAAmB,OAAO,QAAQ,IAAI,GAAG,SAAS,CAAC;AAAA,IACrD;AAAA,EACF;AAEA,QAAM,gBAAgB,MAAM;AAC1B,QAAI,OAAO,QAAQ,KAAK,OAAO,cAAc,IAAI,GAAG;AAClD,yBAAmB,OAAO,QAAQ,IAAI,GAAG,SAAS,CAAC;AAAA,IACrD;AAAA,EACF;AAEA,QAAM,oBAAoB,MAAM;AAC9B,UAAM,QAAQ,IAAI,4BAAU,sDAAwB,KAAK,EAAE,KAAK,GAAU;AAC1E,UAAM,UAAM,2BAAa,MAAM,SAAS,EAAE,CAAC;AAC3C,4BAAwB,QAAQ,KAAK,MAAM,CAAC;AAC5C,YAAQ,eAAe,EAAE,oBAAoB,WAAW,GAAG,EAAE,CAAC;AAAA,EAChE;AAEA,QAAM,sBAAsB,MAAM;AAChC,QAAI,QAAQ,IAAI,4BAAU,sDAAwB,KAAK,EAAE,MAAM,GAAU;AACzE,QAAI,MAAM,WAAW,GAAG;AACtB,cAAQ,IAAI,4BAAU,CAAC;AAAA,IACzB;AACA,UAAM,UAAM,2BAAa,MAAM,SAAS,EAAE,CAAC;AAC3C,4BAAwB,QAAQ,KAAK,MAAM,CAAC;AAC5C,YAAQ,eAAe,EAAE,oBAAoB,WAAW,GAAG,EAAE,CAAC;AAAA,EAChE;AAEA,QAAM,YAAY,MAAM;AACtB,UAAM,QAAQ,IAAI,4BAAU,MAAM,EAAE,KAAK,GAAU;AACnD,UAAM,UAAM,2BAAa,MAAM,SAAS,EAAE,CAAC;AAC3C,oBAAgB,QAAQ,KAAK,MAAM,CAAC;AACpC,YAAQ,eAAe,EAAE,WAAW,WAAW,GAAG,EAAE,CAAC;AAAA,EACvD;AAEA,QAAM,cAAc,MAAM;AACxB,QAAI,QAAQ,IAAI,4BAAU,MAAM,EAAE,MAAM,GAAU;AAClD,QAAI,MAAM,WAAW,GAAG;AACtB,cAAQ,IAAI,4BAAU,CAAC;AAAA,IACzB;AACA,UAAM,UAAM,2BAAa,MAAM,SAAS,EAAE,CAAC;AAC3C,oBAAgB,QAAQ,KAAK,MAAM,CAAC;AACpC,YAAQ,eAAe,EAAE,WAAW,WAAW,GAAG,EAAE,CAAC;AAAA,EACvD;AAEA,gCAAU,MAAM;AACd,QAAI,cAAc,mDAAiB,IAAI,KAAK,sBAAsB;AAChE,6BAAuB,oBAAoB;AAAA,IAC7C;AAEA,mBAAe,MAAM;AAAA,EACvB,GAAG,CAAC,CAAC;AAEL,QAAM,yBAAyB,CAAC,UAA6B;AAC3D,QAAI,CAAC;AAAc;AAEnB,QACE,IAAI,4BAAU,KAAK,EAAE;AAAA,MACnB,eAAe,aAAa,OAAO,sBAAsB,MAAM,EAAE,aAAa,EAAE;AAAA,IAClF,GACA;AACA,mBAAa,EAAE,qBAAqB,CAAW;AAAA,IACjD,WAAW,IAAI,4BAAU,KAAK,EAAE,WAAW,eAAe,aAAa,IAAI,sBAAsB,MAAM,CAAC,GAAG;AACzG,mBAAa,EAAE,oBAAoB,CAAW;AAAA,IAChD,OAAO;AACL,mBAAa,MAAS;AAAA,IACxB;AAEA,QAAI,YAAY,KAAK,EAAE,IAAI,YAAY,MAAM,CAAC,GAAG;AAC/C,mBAAa,EAAE,uBAAuB,CAAW;AAAA,IACnD,OAAO;AACL,UAAI,YAAY,MAAM,EAAE,GAAG,eAAe,aAAa,OAAO,cAAc,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG;AACrG,qBAAa,EAAE,kBAAkB,CAAW;AAAA,MAC9C,WAAW,YAAY,MAAM,EAAE,GAAG,eAAe,aAAa,IAAI,cAAc,MAAM,CAAC,GAAG;AACxF,qBAAa,EAAE,iBAAiB,CAAW;AAAA,MAC7C,OAAO;AACL,qBAAa,MAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,iBAAiB,CAAC,UAA6B;AACnD,QAAI,CAAC;AAAc;AAEnB,QAAI,cAAc,mDAAiB,IAAI,KAAK,wBAAwB,YAAY,KAAK,EAAE,IAAI,oBAAoB,GAAG;AAChH,mBAAa,EAAE,uBAAuB,CAAW;AAAA,IACnD,WAAW,YAAY,KAAK,EAAE,GAAG,eAAe,aAAa,OAAO,cAAc,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG;AAC3G,mBAAa,EAAE,kBAAkB,CAAW;AAAA,IAC9C,WAAW,YAAY,KAAK,EAAE,GAAG,eAAe,aAAa,IAAI,cAAc,MAAM,CAAC,GAAG;AACvF,mBAAa,EAAE,iBAAiB,CAAW;AAAA,IAC7C,OAAO;AACL,mBAAa,MAAS;AAAA,IACxB;AAAA,EACF;AAEA,QAAM,oBAAoB,CACxB,gBACA,QACA,gBACAC,YACY;AACZ,QAAI,YAAY,gBAAgB;AAC9B,aAAO;AAAA,IACT,WAAW,cAAc,EAAE,oBAAoB,GAAG;AAChD,aAAO;AAAA,IACT,WAAW,cAAc,EAAE,iBAAiB,KAAK,cAAc,EAAE,uBAAuB,GAAG;AACzF,aAAO;AAAA,IACT,WAAW,cAAc,mDAAiB,IAAI,GAAG;AAC/C,aAAOA,QAAO,IAAI,MAAM,KAAK,eAAe,IAAI,cAAc,KAAKA,QAAO,GAAG,cAAc;AAAA,IAC7F,OAAO;AACL,aAAOA,QAAO,IAAI,MAAM;AAAA,IAC1B;AAAA,EACF;AAEA,QAAM,UAAU,CAAC,WAAoB;AACnC,YAAQ,IAAI,WAAW,SAAS,UAAU,sBAAsB,MAAM;AACtE,QAAI,WAAW,YAAY,YAAY;AACrC,oBAAc,OAAO;AAAA,IACvB;AACA,QAAI,YAAY,8BAAW,UAAU,iBAAiB;AACpD,UAAI,cAAc,gBAAgB,IAAI,GAAG;AACvC,0BAAkB;AAAA,UAChB;AAAA,UACA,cAAc;AAAA,UACd;AAAA,QACF,CAAC;AAAA,MACH,OAAO;AACL,0BAAkB;AAAA,UAChB,UAAU;AAAA,UACV;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAEA,kBAAc;AAAA,EAChB;AAEA,QAAM,cAAc,CAAC,OAA0B,QAAmC;AAChF,WAAO,kBAAc,2BAAa,YAAY,KAAK,EAAE,aAAa,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;AAAA,EAClG;AAEA,QAAM,aAAa,CAAC,WAAsC;AACxD,WAAO,cAAc,QAAQ,QAAQ,CAAC;AAAA,EACxC;AAEA,gCAAU,MAAM;AACd,QAAI,WAAW,YAAY,8BAAW,QAAQ;AAC5C,mBAAa,OAAO;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,cAAc,cAAc,CAAC;AAEjC,gCAAU,MAAM;AACd,QAAI,UAAU,SAAS;AACrB,cAAQ,eAAe,EAAE,WAAW,WAAW,MAAM,EAAE,CAAC;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,eAA4B,GACpC,+BAAAA,QAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO,EAAE,oBAAoB;AAAA,MAC7B,SAAS,WAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC,CAAC,cAAc,CAAC,CAAC;AAAA,MAC7E,MAAM;AAAA,MACN,aAAa;AAAA,MACb,WAAU;AAAA,MACV,SAAS;AAAA,MACT,WAAU;AAAA,MACV,qBAAqB,EAAE,QAAQ,OAAO;AAAA,MACtC,gBAAgB;AAAA,MAChB,cAAc,MAAM;AAClB,eAAO,cAAc;AAAA,MACvB;AAAA;AAAA,IAEC,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC,CAAC,cAAc,CAAC,CAAC,iBACxD,+BAAAD,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACZ,oDAAe,QAAf,YAAsB,+CAAe,QAAO,KAAE,gBAAgB,SAAS,CAC1E,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAoB,WAAW,aAAa,CAAE,GAE7D,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,cAAc,OAAO,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,UAAU,IAAI,CAAC;AAAA;AAAA,MAE3E,cAAc,OAAO;AAAA,IACxB,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,YAAY,8BAAW;AAAA,QAChC,SAAS,MAAM,cAAc,8BAAW,GAAG;AAAA;AAAA,IAC7C,GACA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,YAAY,8BAAW;AAAA,QAChC,SAAS,MAAM,cAAc,8BAAW,MAAM;AAAA;AAAA,IAChD,GACA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,YAAY,8BAAW;AAAA,QAChC,SAAS,MAAM,cAAc,8BAAW,IAAI;AAAA;AAAA,IAC9C,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAiB,GAChC,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,cAAM,EAAE,cAAc,CAAE,GACzB,+BAAAA,QAAA,cAAC,cAAM,EAAE,iBAAiB,CAAE,GAC5B,+BAAAA,QAAA,cAAC,cAAM,EAAE,eAAe,CAAE,CAC5B,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAe,SAAS,MAAM,eAAe,CAAC,WAAW,KACrE,EAAE,uBAAuB,GACzB,cACC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,cAAa,MAAK,cAAa,aAAU,QAAO,IAEnE,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,cAAa,MAAK,cAAa,aAAU,SAAQ,CAExE,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,sBAAK,WAAU,gBAAe,UAAU,SAAS,MAAM,SAAS,QAAO,YAAW,KAAK,eACrF,eACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,cACb,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBAAgB,SAAS,iBACtC,+BAAAA,QAAA,cAAC,mCAAkB,WAAU,cAAa,CAC5C,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAc,SAAS,eACpC,+BAAAA,QAAA,cAAC,kCAAiB,WAAU,YAAW,CACzC,GACC,YAAY,kBACX,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBACZ,EAAE,qBAAqB,EAAE,OAAO,YAAY,cAAc,EAAE,SAAS,CAAC,CACzE,GAEF,+BAAAA,QAAA;AAAA,MAAC,mBAAK;AAAA,MAAL;AAAA,QACC,OAAO,EAAE,gBAAgB;AAAA,QACzB,mBAAmB,CAAC,UAAU;AAC5B,iBAAO,MAAM,OAAO,MAAM,QAAQ,WAAW,EAAE,EAAE,QAAQ,mBAAmB,MAAM;AAAA,QACpF;AAAA;AAAA,MAEA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,YAAY,QAAQ,EAAE,SAAS;AAAA,UACtC,WAAW;AAAA,UACX,UAAU,CAAC,MAAM,kBAAkB,EAAE,OAAO,KAAK;AAAA;AAAA,MACnD;AAAA,IACF,CACF,GAEC,cAAc,mDAAiB,IAAI,KAClC,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACZ,EAAE,eAAe,GAClB,+BAAAA,QAAA,cAAC,UAAK,WAAU,kBACb,KACA,eAAa,kDAAc,WAAd,mBAAsB,yBAAwB,GAAG,CAAC,GAAE,OACpE,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBACZ,CAAC,CAAC,YAAY,YAAY,UAAU,oBAAqB,GAAE,KAAE,gBAAgB,SAAS,CACzF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBAAgB,SAAS,uBACtC,+BAAAA,QAAA,cAAC,mCAAkB,WAAU,cAAa,CAC5C,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAc,SAAS,qBACpC,+BAAAA,QAAA,cAAC,kCAAiB,WAAU,YAAW,CACzC,GACC,aAAa,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,SAAU,GAC1D,+BAAAA,QAAA;AAAA,MAAC,mBAAK;AAAA,MAAL;AAAA,QACC,OAAO,EAAE,uBAAuB;AAAA,QAChC,MAAK;AAAA,QACL,mBAAmB,CAAC,UAAU;AAC5B,iBAAO,MAAM,OAAO,MAAM,QAAQ,WAAW,EAAE,EAAE,QAAQ,mBAAmB,MAAM;AAAA,QACpF;AAAA;AAAA,MAEA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,UACX,WAAU;AAAA,UACV,cAAc,WAAW,oBAAqB;AAAA,UAC9C,SAAS,CAAC,MAAW;AACnB,kBAAM,QAAQ,EAAE,OAAO;AACvB,cAAE,OAAO,QAAQ,MACd,QAAQ,WAAW,EAAE,EACrB,QAAQ,6BAA6B,QAAQ;AAAA,UAClD;AAAA,UACA,UAAU,CAAC,MAAM,wBAAwB,EAAE,OAAO,KAAK;AAAA;AAAA,MACzD;AAAA,IACF,CACF,GAGF,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACZ,EAAE,eAAe,GAClB,+BAAAA,QAAA,cAAC,UAAK,WAAU,kBACb,KACA,eAAa,kDAAc,WAAd,mBAAsB,iBAAgB,GAAG,CAAC,GAAE,OAC5D,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBACZ,CAAC,CAAC,YAAY,YAAY,UAAU,MAAM,GAAE,KAAE,gBAAgB,SAAS,CAC1E,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBAAgB,SAAS,eACtC,+BAAAA,QAAA,cAAC,mCAAkB,WAAU,cAAa,CAC5C,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAc,SAAS,aACpC,+BAAAA,QAAA,cAAC,kCAAiB,WAAU,YAAW,CACzC,GACC,aAAa,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,SAAU,GAC1D,+BAAAA,QAAA;AAAA,MAAC,mBAAK;AAAA,MAAL;AAAA,QACC,OAAO,EAAE,cAAc;AAAA,QACvB,MAAK;AAAA,QACL,mBAAmB,CAAC,UAAU;AAC5B,iBAAO,MAAM,OAAO,MAAM,QAAQ,WAAW,EAAE,EAAE,QAAQ,mBAAmB,MAAM;AAAA,QACpF;AAAA;AAAA,MAEA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,UACX,WAAU;AAAA,UACV,cAAc,WAAW,MAAM;AAAA,UAC/B,SAAS,CAAC,MAAW;AACnB,kBAAM,QAAQ,EAAE,OAAO;AACvB,cAAE,OAAO,QAAQ,MACd,QAAQ,WAAW,EAAE,EACrB,QAAQ,6BAA6B,QAAQ;AAAA,UAClD;AAAA,UACA,UAAU,CAAC,MAAM,gBAAgB,EAAE,OAAO,KAAK;AAAA;AAAA,MACjD;AAAA,IACF,CACF,CACF,CAEJ,CACF,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,MAAK;AAAA,QACL,UACE,CAAC;AAAA,UACC,eAAe,6CAAc,IAAI,sBAAsB,MAAM;AAAA,UAC7D,eAAe,6CAAc,IAAI,cAAc,MAAM;AAAA,UACrD,YAAY,oBAAoB;AAAA,UAChC,YAAY,MAAM;AAAA,QACpB,KAAK,YAAY,QAAQ,EAAE,GAAG,YAAY,cAAc,CAAC;AAAA,QAE3D,SAAS,MAAM,YAAY,QAAQ,OAAO;AAAA;AAAA,MAEzC,EAAE,aAAa;AAAA,IAClB,CACF,GACA,+BAAAA,QAAA,cAACE,uBAAA,EAAY,WAAU,iBAAgB,CACzC;AAAA,EAEJ,CACF;AAEJ;AAxlBA,IAAAC,eAEAC,cACAC,oBACAC,eACAC,mBACAC,gBAolBOC;AA1lBP,IAAAC,gBAAA;AAAA;AAAA;AAAA,IAAAP,gBAAoD;AAEpD,IAAAC,eAA6B;AAC7B,IAAAC,qBAAyD;AACzD,IAAAC,gBAA2C;AAC3C,IAAAC,oBAA0B;AAC1B,IAAAC,iBAAmD;AACnD,IAAAG;AACA;AACA,IAAAC;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AAikBA,IAAOH,mBAAQ;AAAA;AAAA;;;AC1lBf,IAKAI,eACA,YACA,kBACAC,gBAIM,MAwDCC;AApEP,IAAAC,aAAA;AAAA;AAAA;AAKA,IAAAH,gBAAsB;AACtB,iBAAgB;AAChB,uBAAsB;AACtB,IAAAC,iBAAoD;AACpD;AACA;AAEA,IAAM,OAAO,CAAC,UAAe;AAZ7B;AAaE,YAAM,EAAE,SAAS,IAAI;AACrB,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,YAAM,yBAAqB,wBAAQ,MAAM;AACvC,cAAM,MAAM,GAAG,aAAa,SAAS,qCAAU;AAC/C,eAAO,wBAAoB,WAAAG,SAAI,GAAG;AAAA,MACpC,GAAG,CAAC,aAAa,OAAO,qCAAU,IAAI,CAAC;AAEvC,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAc;AAAA,QAC5C,SAAS;AAAA,UACP,MAAM;AAAA,UACN,SAAS;AAAA,UACT,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAKD,oCAAU,MAAM;AACd,aAAI,qCAAU,qBAAoB,CAAC,CAAC,sBAAsB,CAAC,aAAa,QAAQ,kBAAkB,GAAG;AAEnG,gBAAM,EAAE,yBAAyB,yBAAyB,KAAI,qCAAU,qBAAoB,CAAC;AAE7F,cAAI,CAAC,2BAA2B,CAAC,0BAA0B;AACzD,qBAAS,QAAQ,QAAQ;AAAA,UAC3B,OAAO;AACL,qBAAS,QAAQ,QAAQ;AAAA,UAC3B;AAAA,QACF,OAAO;AACL,mBAAS,QAAQ,QAAQ;AAAA,QAC3B;AACA,wBAAY,iBAAAC,SAAU,QAAQ,CAAC;AAAA,MACjC,GAAG,CAAC,qCAAU,kBAAkB,kBAAkB,CAAC;AAEnD,YAAM,gBACJ,+BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,qBAAS,QAAQ,QAAQ;AACzB,4BAAY,iBAAAD,SAAU,QAAQ,CAAC;AAC/B,qBAAS,mBAAmB;AAC5B,yBAAa,QAAQ,oBAAoB,MAAM;AAAA,UACjD;AAAA;AAAA,QAEA,+BAAAC,QAAA,cAAC,uBAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,SAC7B,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,eAAc,MAAK,iBAAgB,CACxD;AAAA,MACF;AAGF,aAAO,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBAAiB,CAAC,GAAC,0CAAU,YAAV,mBAAmB,YAAW,aAAc;AAAA,IACvF;AAEA,IAAOJ,gBAAQ;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC8Bf,SAAS,QAAQ,OAAqB;AAlGtC;AAmGE,QAAM,EAAE,QAAQ,OAAO,uBAAuB,IAAI;AAElD,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAMK,WAAU,mBAAW;AAC3B,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,KAAK;AAE5C,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAA0C;AAExF,QAAM,kBAAc,uBAAO,IAAI;AAE/B,QAAM,CAAC,aAAa,cAAc,QAAI,yBAAiB,EAAE;AACzD,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAiB,EAAE;AAErD,QAAM,CAAC,QAAQ,SAAS,QAAI,yBAAkB,KAAK;AAEnD,QAAM,WAAW,kBAAkB;AAEnC,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,yBAA8B,EAAE;AAE5E,QAAM,CAAC,qBAAqB,sBAAsB,QAAI,yBAAiB,EAAE;AAEzE,QAAM,EAAE,YAAY,IAAI,SAAS;AAEjC,QAAM,EAAE,iBAAiB,UAAU,gBAAgB,mBAAmB,cAAc,UAAU,IAAI,kBAAkB;AAEpH,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAElD,QAAM,EAAE,QAAAC,QAAO,IAAI,UAAU;AAE7B,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,yBAAiB;AAEjE,QAAM,EAAE,uBAAuB,gCAAgC,IAAI,mBAAmB;AAEtF,QAAM,EAAE,kBAAkB,oBAAAC,qBAAoB,UAAU,aAAa,IAAI,gBAAgB;AAEzF,QAAM,EAAE,QAAQ,IAAI,YAAY;AAEhC,QAAM,EAAE,aAAa,IAAI,mBAAW;AAEpC,QAAM,uBAAuB,MAAM;AACjC,yCAAa,EACV,KAAK,MAAM;AACV,kBAAY;AAAA,IACd,CAAC,EACA,MAAM,CAACC,WAAU;AAhJxB,UAAAC;AAiJQ,iBAAW,KAAK;AAChB,MAAAJ,SAAQ,OAAMI,MAAAD,OAAM,YAAN,OAAAC,MAAiB,YAAY;AAAA,IAC7C,CAAC;AAAA,EACL;AAEA,QAAM,EAAE,QAAQ,IAAI;AAEpB,QAAM,qBAAiB;AAAA,IACrB,MAAM,WAAW,gCAAa,gBAAgB,WAAW,gCAAa;AAAA,IACtE,CAAC,MAAM;AAAA,EACT;AAEA,QAAM,gBAAgB,CAAC,EAAE,OAAAD,QAAO,OAAO,MAA+C;AACpF,IAAAF,QAAO,wCAAsC;AAAA,MAC3C;AAAA,MACA,OAAAE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,gCAAU,MAAM;AACd,wBAAoB;AAAA,MAClB,SAAS,aAAa;AAAA,MACtB,SAAS,UAAU;AAAA,MACnB;AAAA,IACF,CAAC,EACE,KAAK,CAAC,SAAS;AACd,0BAAoB,IAAI;AAAA,IAC1B,CAAC,EACA,MAAM,CAACA,WAAU;AAChB,cAAQ,MAAM,4BAA4BA,MAAK;AAAA,IACjD,CAAC;AAAA,EACL,GAAG,CAAC,UAAU,IAAI,aAAa,SAAS,MAAM,CAAC;AAE/C,gCAAU,MAAM;AACd,QAAIE,kBAAsC;AAC1C,YAAQ,IAAI,oBAAoB,oBAAoB,UAAU,IAAI;AAClE,QAAI,gBAAgB;AAElB,qBAAe,EAAE,wBAAwB,CAAW;AACpD,mBAAa,EAAE,sBAAsB,CAAW;AAEhD,MAAAA,kBAAiB;AAAA,IACnB,WAAW,WAAW,gCAAa,oBAAoB;AAErD,qBAAe,EAAE,uBAAuB,CAAW;AACnD,mBAAa,EAAE,kBAAkB,EAAE,OAAO,oBAAoB,SAAS,CAAC,CAAC;AACzE,yBAAmB;AACnB,MAAAA,kBAAiB;AAAA,IACnB,WAAW,WAAW,gCAAa,sBAAsB,WAAW,gCAAa,wBAAwB;AACvG,2BAAqB,KAAK,UAAU,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ;AACxD,aAAI,2BAAK,UAAS,wCAAqB,qBAAqB;AAC1D,yBAAe,EAAE,uBAAuB,CAAW;AACnD,uBAAa,EAAE,kBAAkB,EAAE,OAAO,oBAAoB,SAAS,CAAC,CAAC;AACzE,UAAAA,kBAAiB;AAAA,QACnB,OAAO;AACL,UAAAA,kBAAiB;AACjB,yBAAe,EAAE,sBAAsB,CAAW;AAClD,uBAAa,EAAE,sBAAsB,CAAW;AAAA,QAClD;AACA,0BAAkBA,eAAc;AAAA,MAClC,CAAC;AAAA,IACH,WAAW,OAAO,SAAS,gCAAa,gBAAgB,GAAG;AAEzD,qBAAe,EAAE,sBAAsB,CAAW;AAClD,mBAAa,EAAE,sBAAsB,CAAW;AAChD,MAAAA,kBAAiB;AAAA,IACnB;AAEA,sBAAkBA,eAAc;AAAA,EAClC,GAAG,CAAC,WAAW,CAAC,CAAC;AAEjB,QAAM,qBAAqB,MAAM;AAC/B,YAAQ,IAAI,sBAAsB,KAAK;AACvC,UAAM,SAAS,iBAAiB,OAAc,SAAS;AACvD,YAAQ,IAAI,wCAAmC,MAAM;AACrD,mBAAe,MAAM;AACrB,2BAAuB,MAAM;AAAA,EAC/B;AAEA,QAAM,uBAAuB,OAAO,YAAoB;AAhO1D,QAAAD;AAiOI,UAAM,SAAS,QAAMA,MAAA,OAAO,iBAAP,gBAAAA,IAAqB,SACvC,QAAQ;AAAA,MACP,SAAS,UAAU;AAAA,MACnB,QAAQ,qCAAkB;AAAA,MAC1B,QAAQ,CAAC,OAAO;AAAA,IAClB,GACC,MAAM,CAACD,WAAU;AAvOxB,UAAAC;AAwOQ,cAAQ,IAAI,8BAA8BD,MAAK;AAC/C,MAAAH,SAAQ,OAAMI,MAAAD,OAAM,YAAN,OAAAC,MAAiB,4BAA4B;AAAA,IAC7D;AACF,uBAAmB,MAAM;AACzB,WAAO;AAAA,EACT;AAEA,QAAM,yBAAyB,OAAO,WAA2B;AA/OnE,QAAAA;AAgPI,QAAI,CAAC,YAAY,MAAM,GAAG;AACxB;AAAA,IACF;AAEA,UAAME,UAAS,MAAM,OAAO;AAC5B,UAAM,EAAE,mBAAmB,IAAIA,QAAO,WAAWA;AACjD,UAAM,KAAK,mBAAmB,WAAW,MAAM;AAC/C,KAAAF,MAAA,OAAO,iBAAP,gBAAAA,IAAqB,SAClB,QAAQ;AAAA,MACP,SAAS,UAAU;AAAA,MACnB,QAAQ,qCAAkB;AAAA,MAC1B,QAAQ,CAAC,aAAS,2BAAa,GAAG,UAAU,EAAE,SAAS,KAAK,CAAC,CAAC;AAAA,IAChE,GACC,KAAK,CAAC,WAAW;AAChB,yBAAmB,MAAM;AAAA,IAC3B,GACC,MAAM,CAACD,WAAU;AAhQxB,UAAAC;AAiQQ,cAAQ,IAAI,gCAAgCD,MAAK;AACjD,0BAAM,MAAM;AAAA,QACV,QAAOC,MAAAD,OAAM,YAAN,OAAAC,MAAiB;AAAA,QACxB,eAAe;AAAA,QACf,cAAc,MAAM;AAClB,iBAAO,cAAc;AAAA,QACvB;AAAA,QACA,UAAU;AAAA,QACV,YAAY,EAAE,eAAe;AAAA,QAC7B,QAAQ,EAAE,cAAc;AAAA,QACxB,MAAM,MAAM;AACV,iCAAuB,MAAM;AAAA,QAC/B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACJ;AAEA,QAAM,sBAAkB,wBAAQ,MAAM;AACpC,YAAO,mDAAiB,uBAAqB,mDAAiB,kBAAkB,UAAS;AAAA,EAC3F,GAAG,CAAC,mDAAiB,iBAAiB,CAAC;AAEvC,QAAM,cAAc,CAAC,WAAoC;AACvD,QAAIG,QAAO,SAAS,GAAG;AACrB,UAAI,CAAC,OAAO,QAAQ,CAAC,OAAO,MAAM,CAAC,OAAO,OAAO;AAC/C,4BAAM,MAAM;AAAA,UACV,OAAO;AAAA,UACP,eAAe;AAAA,UACf,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA,UACA,MAAM,MAAM;AACV,0BAAc;AAAA,cACZ,OAAO,UAAU,YAAY;AAAA,YAC/B,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT;AACA,QAAI,OAAO,OAAO,IAAI,MAAM,KAAK,OAAO,OAAO,IAAI,MAAM,KAAK,OAAO,OAAO,IAAI,MAAM,GAAG;AACvF,0BAAM,MAAM;AAAA,QACV,OAAO;AAAA,QACP,eAAe;AAAA,QACf,cAAc,MAAM;AAClB,iBAAO,cAAc;AAAA,QACvB;AAAA,QACA,MAAM,MAAM;AACV,wBAAc;AAAA,YACZ,OAAO,UAAU,YAAY;AAAA,UAC/B,CAAC;AAAA,QACH;AAAA,MACF,CAAC;AACD,aAAO;AAAA,IACT,WAAW,cAAc,OAAO,IAAI,KAAK,OAAO,gBAAgB,OAAO,sBAAsB;AAC3F,YAAM,iBAAiB,IAAI,WAAAC,YAAG,6BAAe,OAAO,YAAY,GAAG,EAAE;AACrE,YAAM,yBAAyB,IAAI,WAAAA,YAAG,6BAAe,OAAO,oBAAoB,GAAG,EAAE;AACrF,UAAI,eAAe,IAAI,sBAAsB,GAAG;AAE9C,4BAAM,MAAM;AAAA,UACV,OAAO;AAAA,UACP,eAAe;AAAA,UACf,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA,UACA,MAAM,MAAM;AACV,0BAAc;AAAA,cACZ,OAAO,UAAU,SAAS;AAAA,YAC5B,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,CAACR,aAA4B;AACjD,UAAM,MAAM,OAAO,SAAK,6BAAeA,QAAO,GAAG,KAAK,EAAE,SAAS,OAAO;AACxE,QAAI,gBAAgB;AAClB,UAAI,IAAI,KAAK,GAAG,GAAG;AACjB,eAAOA;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,iBAAiB,CAAC,gBAAqC;AAC3D,QAAI,YAAY,OAAO,SAAS,GAAG;AACjC,YAAM,IAAI,YAAY,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,KAAK,IAAI;AAC/D,aAAO,GAAG,YAAY,QAAQ;AAAA,IAChC;AACA,WAAO,GAAG,YAAY;AAAA,EACxB;AAEA,QAAM,cAAc,OAAO,iBAAiB,UAAU;AAjWxD,QAAAI,KAAAK,KAAA;AAkWI,QAAI,KAAC,gCAAY,GAAG;AAClB,oBAAc;AAAA,QACZ,OAAO,UAAU,SAAS;AAAA,MAC5B,CAAC;AACD;AAAA,IACF;AAEA,4CAAgB;AAAA,MAEd,aAAa,6BAAW;AAAA,IAC1B,CAAC;AAED,QAAI,WAAW,gCAAa,oBAAoB;AAC9C,UAAI,MAAM,aAAa,aAAa,cAAc,GAAG;AACnD;AAAA,MACF,YAAWL,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,0BAA0B;AAC/D,yBAAiB;AAAA,UACf,SAAS;AAAA,UACT,mBAAmB;AAAA,QACrB,CAAC;AAAA,MACH,OAAO;AACL,wCAAgC,MAAM;AAAA,MACxC;AAAA,IACF,WAAW,OAAO,SAAS,gCAAa,gBAAgB,KAAK,gBAAgB;AAC3E,WAAIK,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,0BAA0B;AACxD,yBAAiB;AAAA,UACf,SAAS;AAAA,UACT,mBAAmB;AAAA,QACrB,CAAC;AAAA,MACH,OAAO;AACL,YACE,OAAO,SAAS,gCAAa,gBAAgB,OAC7C,kBAAa,wBAAb,mBAAkC,mEAClC;AAEA,0CAAgC,QAAQ;AAAA,QAC1C,OAAO;AACL,mBAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF,OAAO;AACL,0BAAM,MAAM;AAAA,QACV,OAAO,UAAU;AAAA,QACjB,eAAe;AAAA,QACf,cAAc,MAAM;AAClB,iBAAO,cAAc;AAAA,QACvB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,SAAS,YAAY;AArZ7B,QAAAL,KAAAK,KAAA;AAsZI,QAAI,CAAC;AAAiB;AAEtB,eAAW,IAAI;AAEf,UAAM,WAAW,KAAK,UAAU,eAAe;AAC/C,YAAQ,IAAI,gBAAgB,QAAQ;AAEpC,QAAI;AACJ,QAAI;AACF,eAAS,QAAML,MAAA,OAAO,iBAAP,gBAAAA,IAAqB,SAAS,gBAAgB,EAAE,GAAG,gBAAgB;AAClF,8CAAgB;AAAA,QAEd,aAAa,6BAAW;AAAA,MAC1B,CAAC;AAAA,IACH,SAASD,QAAP;AACA,cAAQ,MAAM,QAAQA,MAAK;AAC3B,8CAAgB;AAAA,QAEd,aAAa,6BAAW;AAAA,MAC1B,CAAC;AACD,WAAIA,UAAA,gBAAAA,OAAO,gBAAe,SAAS,GAACM,MAAA,qCAAU,qBAAV,gBAAAA,IAA4B,2BAA0B;AACxF,6BAAqB;AAAA,MACvB,YAAWN,UAAA,gBAAAA,OAAO,aAAY,0BAAyBA,UAAA,gBAAAA,OAAO,aAAY,oCAAoC;AAC5G,4EAAsC;AAAA,MACxC,OAAO;AACL,4BAAM,MAAM;AAAA,UACV,QAAO,KAAAA,OAAM,YAAN,YAAiB;AAAA,UACxB,eAAe;AAAA,UACf,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA,UACA,QAAQ,EAAE,gBAAgB;AAAA,UAC1B,MAAM,MAAM;AACV,0BAAc;AAAA,cACZ,OAAOA;AAAA,YACT,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AACA,QAAI,QAAQ;AACV,oBAAc;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,WAAW,YAAY;AAvc/B,QAAAC,KAAAK,KAAA;AAwcI,eAAW,IAAI;AACf,QAAI;AACJ,QAAI;AACF,UAAI,gBAAgB;AAClB,iBAAS,QAAML,MAAA,OAAO,iBAAP,gBAAAA,IAAqB,SAAS,YAAY;AAAA,MAC3D,OAAO;AACL,iBAAS,QAAMK,MAAA,OAAO,iBAAP,gBAAAA,IAAqB,SAAS,cAAc;AAAA,UACzD,MAAM;AAAA,UACN,SAASC,eAAc,oBAAoB,MAAM;AAAA,UACjD,MAAMA,eAAc,oBAAoB,MAAM;AAAA,QAChD;AAAA,MACF;AACA,8CAAgB;AAAA,QAEd,aAAa,6BAAW;AAAA,MAC1B,CAAC;AAAA,IACH,SAASP,QAAP;AACA,cAAQ,MAAM,QAAQA,MAAK;AAC3B,8CAAgB;AAAA,QAEd,aAAa,6BAAW;AAAA,MAC1B,CAAC;AACD,WAAIA,UAAA,gBAAAA,OAAO,gBAAe,SAAS,GAAC,0CAAU,qBAAV,mBAA4B,2BAA0B;AACxF,6BAAqB;AAAA,MACvB,YAAWA,UAAA,gBAAAA,OAAO,aAAY,0BAAyBA,UAAA,gBAAAA,OAAO,aAAY,oCAAoC;AAC5G,4EAAsC;AAAA,MACxC,OAAO;AACL,QAAAH,SAAQ,OAAM,KAAAG,OAAM,YAAN,YAAkB,iBAAiB,uBAAuB,uBAAwB;AAAA,MAClG;AAAA,IACF,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AAEA,QAAI,QAAQ;AACV,UAAI,wBAAwB;AAC1B,QAAAF,QAAO,wCAAsC;AAAA,UAC3C,GAAG;AAAA,UACH,eAAe;AAAA,YACb,SAAS;AAAA,YACT,WAAW;AAAA,UACb;AAAA,QACF,CAAC;AAAA,MACH,OAAO;AACL,sBAAc;AAAA,UACZ;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,QAAM,aAAa,YAAY;AAC7B,QAAI,SAAS;AACX;AAAA,IACF;AAEA,QAAI,wBAAwB;AAC1B,MAAAA,QAAO,wCAAsC,QAAQ;AAAA,IACvD,OAAO;AAEL,oBAAc;AAAA,QACZ,OAAO,UAAU,oBAAoB;AAAA,MACvC,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,cAAc,CAAC,SAAc;AACjC,QAAI,aAAa,KAAK,KAAK,GAAG;AAC5B,aAAO,YAAY,cAAc,KAAK,OAAO,SAAS,CAAC;AAAA,IACzD;AACA,WAAO,KAAK;AAAA,EACd;AAEA,QAAM,uBAAmB,wBAAQ,MAAM;AACrC,QAAI,QAAQ;AACZ,QAAI,OAAO,SAAS,gCAAa,gBAAgB,GAAG;AAClD,UAAI;AACF,cAAM,EAAE,YAAY,IAAI;AACxB,gBAAQ;AAAA,MACV,SAASE,QAAP;AAAA,MAEF;AAAA,IACF;AACA,WAAO,SAAS;AAAA,EAClB,GAAG,CAAC,QAAQ,KAAK,CAAC;AAElB,QAAM,eAAW,wBAAQ,MAAM;AAC7B,QAAI,OAAO,SAAS,gCAAa,gBAAgB,GAAG;AAClD,UAAI;AACF,cAAM,mBAAmB;AACzB,YAAI,EAAE,SAAAH,SAAQ,IAAI;AAElB,YAAI,CAAC,iBAAiB,SAAS;AAC7B,UAAAA,WAAU;AAAA,QACZ;AAEA,eAAOA;AAAA,MACT,SAASG,QAAP;AAAA,MAEF;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV,GAAG,CAAC,QAAQ,KAAK,CAAC;AAElB,QAAM,SAAS,CAAC,KAAa,UAAkB;AAC7C,UAAM,IAAI,QAAQ,SAAS,EAAE;AAC7B,QAAI,QAAQ,gBAAAQ,QAAG,gBAAgB,UAAU,GAAG;AAC5C,QAAI,UAAU;AACd,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,UAAU;AAC1D,cAAQ;AACR,gBAAU;AAAA,IACZ;AACA,UAAM,SAAS,IAAI,MAAM,GAAG,EAAE;AAE9B,WACE,+BAAAC,QAAA,cAAC,SAAI,KAAK,OAAO,WAAU,WACzB,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL,aAAa,KAAK;AAAA,QACpB;AAAA,QACA,aAAW,UAAU,UAAU;AAAA;AAAA,MAE9B,IAAI,MAAM,GAAG,EAAE,IAAI;AAAA,MAAE;AAAA,IACxB,GAEC,aAAa,KAAK,IACjB,+BAAAA,QAAA,cAAC,+BAAAC,SAAA,EAAgB,MAAM,OAAO,QAAQ,MAAMb,SAAQ,QAAQ,EAAE,eAAe,CAAC,KAC5E,+BAAAY,QAAA,cAAC,SAAI,WAAU,qBAAmB,YAAY,EAAE,MAAM,CAAC,CAAE,CAC3D,IAEA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AAAA,QACpB;AAAA;AAAA,MAEC;AAAA,IACH,CAEJ;AAAA,EAEJ;AAEA,QAAM,cAAc,MAAM;AACxB,WACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,aAAa,wBAAwB,KAAK;AAAA,QACrD,yBAAuB,mDAAiB;AAAA;AAAA,MAEvC,CAAC,OAAO,SAAS,gCAAa,gBAAgB,KAC7C,+BAAAA,QAAA,cAAC,SAAI,WAAU,+BAA6B,cAAc,KAAe,CAAE;AAAA,MAG5E,OAAO,SAAS,gCAAa,gBAAgB,KAC5C,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,SAAQ,aAAU,WAC9B,gBACH,CACF,GACC,gBAAAD,QAAG,WAAW,QAAQ,EAAE,IAAI,CAAC,KAAa,UAAkB;AAC3D,eAAO,OAAO,KAAK,KAAK;AAAA,MAC1B,CAAC,CACH;AAAA,IAEJ,CACF;AAAA,EAEJ;AAEA,QAAM,aAAa,CAAC,SAA+B;AACjD,QAAI,KAAK,QAAQ,KAAK,KAAK,SAAS,GAAG;AACrC,aAAO,KAAK;AAAA,IACd;AAEA,WAAO,OAAO,KAAK;AAAA,EACrB;AAEA,QAAM,kBAAkB,CAAC,SAAmC;AAC1D,QAAI,WAAW,gCAAa,oBAAoB;AAC9C,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACT;AAEA,UAAIJ,QAAO,SAAS,GAAG;AACrB,eAAO;AAAA,MACT;AAEA,UAAI,cAAc,KAAK,IAAI,GAAG;AAC5B,eAAO,CAAC,KAAK,YAAY,CAAC,KAAK,wBAAwB,CAAC,KAAK;AAAA,MAC/D,OAAO;AACL,eAAO,CAAC,KAAK,YAAY,CAAC,KAAK;AAAA,MACjC;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAkB,KAAK;AAEjE,QAAM,gBAAY,wBAAQ,MAAM;AA/oBlC,QAAAH,KAAAK,KAAA;AAipBI,QAAI,SAAS;AACb,QAAI,gBAAgB;AAClB,YAAMK,eAAc,cAAc,KAAe;AACjD,YAAM,UAASV,MAAAU,aAAY,MAAM,mBAAmB,MAArC,gBAAAV,IAAyC;AACxD,YAAMW,YAAUN,MAAAK,aAAY,MAAM,wDAAwD,MAA1E,gBAAAL,IAA8E;AAC9F,YAAM,OAAM,KAAAK,aAAY,MAAM,UAAU,MAA5B,mBAAgC;AAC5C,YAAM,WAAU,KAAAA,aAAY,MAAM,cAAc,MAAhC,mBAAoC;AACpD,YAAM,WAAU,KAAAA,aAAY,MAAM,eAAe,MAAjC,mBAAqC;AACrD,YAAM,SAAQ,KAAAA,aAAY,MAAM,YAAY,MAA9B,mBAAkC;AAChD,UAAI,UAAUC,YAAW,OAAO,WAAW,WAAW,OAAO;AAC3D,iBAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,iBAAiB,cAAc,CAAC;AAEpC,gCAAU,MAAM;AACd,QAAI,WAAW;AACb,qBAAe,EAAE,qBAAqB,CAAW;AACjD,mBAAa,EAAE,0BAA0B,CAAW;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAGd,QAAM,kBAAkB,MAAM;AAzqBhC,QAAAX,KAAAK,KAAA;AA0qBI,WACE,+BAAAG,QAAA,cAAC,sBAAK,kBAAiB,OACrB,+BAAAA,QAAA,cAAC,WAAQ,KAAK,EAAE,cAAc,GAAG,KAAI,OACnC,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,EAAE,+BAA+B,CAAE,GAC3D,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACZ,MAAAH,OAAAL,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,YAAnC,gBAAAK,IACG,OAAO,CAAC,SAAS,KAAK,QAAQ,YAAY,OAAM,mCAAS,oBAD5D,mBAEG,IAAI,CAAC,MAAM,UAAU;AACrB,aACE,+BAAAG,QAAA,cAAC,SAAI,WAAU,gBAAe,KAAK,iBAAiB,WACjD,gBAAgB,SAAS,GAC1B,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,OAAO,KAAK,aAAa,SAAS,GAAG,IAAI,EAAE,OAAO,UAAU,IAAI,CAAC,KAC1F,KAAK,aAAa,SAAS,GAAG,KAAK,KAAK,iBAAiB,MAAM,KAAK,KACpEL,QAAO,SAAS,IACb,cAAc,KAAK,YAAY,IAC/B,cAAc,KAAK,cAAc,SAAS,EAAE,CAClD,CACF;AAAA,IAEJ,KAED,8DAAiB,qBAAjB,mBAAmC,SAAnC,mBAAyC,IAAI,CAAC,MAAM,UAAU;AAC7D,aACE,+BAAAK,QAAA,cAAC,SAAI,WAAU,gBAAe,KAAK,cAAc,WAC9C,WAAW,IAAI,GAChB,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,OAAO,KAAK,eAAe,IAAI,EAAE,OAAO,UAAU,IAAI,CAAC,KAChF,KAAK,eAAe,IAAI,KAAK,KAC7B,KAAK,YACR,CACF;AAAA,IAEJ,KAEC,8DAAiB,qBAAjB,mBAAmC,WAAnC,mBAA2C,IAAI,CAAC,MAAM,UAAU;AAC/D,aACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAe,KAAK,gBAAgB,WAChD,KAAK,OAAO,KAAK,OAAO,iBACzB,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,OAAO,KAAK,eAAe,IAAI,EAAE,OAAO,UAAU,IAAI,CAAC,KAChF,KAAK,eAAe,IAAI,KAAK,KAC7B,mBAAmB,KAAK,cAAc,KAAK,QAAQ,CACtD,CACF;AAAA,IAEJ,EACF,CACF,GAEC,mBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,aAAK,EAAE,WAAW,CAAE,GACrB,+BAAAA,QAAA,cAAC,aAAK,YAAY,cAAc,gBAAgB,KAAK,MAAM,SAAS,CAAC,CAAE,CACzE,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,uBACb,+BAAAA,QAAA,cAAC,aAAK,EAAE,SAAS,CAAE,GACnB,+BAAAA,QAAA,cAAC,aAAK,YAAY,cAAc,gBAAgB,KAAK,IAAI,SAAS,CAAC,CAAE,CACvE,GACC,CAACL,QAAO,SAAS,KAChB,+BAAAK,QAAA,cAAC,SAAI,WAAU,uBACb,+BAAAA,QAAA,cAAC,aAAK,EAAE,YAAY,CAAE,GACtB,+BAAAA,QAAA,cAAC,aAAI,KAAE,SAAS,gBAAgB,KAAK,KAAK,CAAE,CAC9C,CAEJ,GAGD,CAAC,YAAY,mBAAmB,CAACL,QAAO,SAAS,KAChD,+BAAAK,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAe,MAAM,UAAU,IAAI;AAAA,QACnC,aAAa;AAAA,QACb;AAAA,QACA,YAAY;AAAA;AAAA,IACd,GAGD,YAAY,CAACL,QAAO,SAAS,KAAK,+BAAAK,QAAA,cAAC,oBAAM,CAC5C,GACA,+BAAAA,QAAA,cAAC,WAAQ,KAAK,EAAE,WAAW,GAAG,KAAI,OAChC,+BAAAA,QAAA,cAAC,aACE,mBAAmB,gBAAgB,KAAK,YACvC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAoB,KAAK,0BACtC,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,YACZ,EAAE,oBAAoB,GAAE,KAAE,eAAe,gBAAgB,KAAK,QAAQ,CACzE,GAEC,gBAAgB,KAAK,SAAS,OAAO,IAAI,CAAC,SACzC,+BAAAA,QAAA,cAAC,SAAI,WAAU,eAAc,KAAK,uBAAuB,KAAK,UAC3D,YAAY,KAAK,IAAI,GACtB,+BAAAA,QAAA,cAAC,cAAM,YAAY,KAAK,KAAK,CAAE,CACjC,CACD,CACH,CACF,CACF,CACF,GAKD,mBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAoB,KAAK,0BACtC,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,YAAU,EAAE,eAAe,CAAE,GAC5C,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAQ,gBAAgB,KAAK,IAAK,CACnD,CACF,CACF,CACF,CACF,CAEJ,CACF,CACF;AAAA,EAEJ;AAEA,QAAM,oBAAoB,OAAO,WAAmB;AAryBtD,QAAAR,KAAAK,KAAA;AAsyBI,2BAAuB,MAAM;AAE7B,QAAI,UAAU,WAAW,MAAM,iBAAiB;AAC9C,YAAM,EAAE,WAAW,GAAG,MAAIA,OAAAL,MAAA,mDAAiB,qBAAjB,gBAAAA,IAAmC,WAAnC,gBAAAK,IAA4C,OAAM,CAAC;AAE7E,kCAAU,OAAO,EAAE,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC;AAChD,YAAM,KAAK,IAAI,4BAAU,MAAM,EAAE,aAAa,IAAI,4BAAU,EAAE,EAAE,IAAI,QAAQ,CAAC;AAC7E,YAAM,gBAAgB,GAAG,SAAS;AAClC,kCAAU,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;AAE7C,YAAM,YAAU,uCAAgB,SAAhB,mBAAsB,aAAtB,mBAAgC,WAAhC,mBAAyC,OAAzC,mBAA6C,UAAS;AAEtE,YAAM,aAAa,QAAM,YAAO,iBAAP,mBAAqB,SAAS,QAAQ;AAAA,QAC7D,SAAS,UAAU;AAAA,QACnB,QAAQ;AAAA,QACR,QAAQ,CAAC,gBAAgB,KAAK,IAAI,iBAAiB,CAAC,SAAS,aAAa,CAAC;AAAA,MAC7E;AAEA,wBAAkB;AAAA,QAChB,MAAM;AAAA,MACR,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SACE,+BAAAG,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,iBAA4B,IACnC,mDAAiB,SAClB,mBAAmB,0BACnB,mBAAmB,uBACjB,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,uBAAuB,mDAAiB;AAAA,MACnD,aAAW,mDAAiB;AAAA,MAC5B,KAAK;AAAA;AAAA,IAEJ,CAAC,yBACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBAAuB,iBAAe,iBAAiB,KACpE,+BAAAA,QAAA,cAAC,SAAI,WAAU,6BAA4B,GAC3C,+BAAAA,QAAA,cAAC,SAAI,WAAU,8BAA4B,EAAE,qBAAqB,CAAE,GACpE,+BAAAA,QAAA,cAAC,SAAI,WAAU,4BAA2B,SAASV,uBAChD,EAAE,aAAa,CAClB,CACF;AAAA,IAEF,+BAAAU,QAAA,cAAC,SAAI,WAAW,iBAAiB,wBAAwB,KAAK,uBAC5D,+BAAAA,QAAA,cAACI,eAAA,EAAK,UAAoB,iBAAkC,GAC5D,+BAAAJ,QAAA,cAAC,SAAI,WAAU,kBACZ,aAAa,WAAW,WAAW,gCAAa,sBAE/C,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,YACD,wBAAa,YAAb,mBAA8B,SAA9B,YAAsC,YAAY,YAAY;AAAA,UAChE,aAAa,aAAa;AAAA,QAC5B;AAAA,QACA,UAAU;AAAA,QACV,SAAS;AAAA;AAAA,IACX,CACF,GAED,WACH,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,uBAAM,SAAK,iCAAa,SAAS,GAAG,UAAU,qCAAkB,SAAS,OAAO,GAChF,oBAAoB,SAAS,CAChC,GACA,+BAAAA,QAAA,cAAC,+BAAAC,SAAA,EAAgB,MAAM,oBAAoB,IAAI,QAAQ,MAAMb,SAAQ,QAAQ,EAAE,eAAe,CAAC,KAC7F,+BAAAY,QAAA,cAAC,SAAI,WAAU,kBACZ,YAAY,gBAAgB,GAC7B,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA,cAAC,uBAAS,CACZ,CACF,CACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAY,SAAU,GACrC,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,IAC3B,mDAAiB,UAAS,wCAAqB,mBAChD,mDAAiB,UAAS,wCAAqB,mBAC/C,mDAAiB,UAAS,wCAAqB,kBAC/C,mDAAiB,UAAS,wCAAqB,mBAC/C,mDAAiB,UAAS,wCAAqB,oBAC/C,mDAAiB,UAAS,wCAAqB,yBAC/C,mDAAiB,UAAS,wCAAqB,0BAC/C,mDAAiB,UAAS,wCAAqB,sBAC7C,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,wBAAwB;AAAA,QACxB,aAAa;AAAA,QACb;AAAA,QACA;AAAA,QACA,YAAY;AAAA;AAAA,IACd,IACE,WAAW,gCAAa,qBAC1B,gBAAgB,IACd,WAAW,gCAAa,qBAC1B,YAAY,IAEZ,EAEJ;AAAA,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,wBAAO,WAAU,cAAa,SAAS,cACrC,EAAE,eAAe,CACpB,GACA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,eAAe,YAAY,kBAAkB,kBAAkB;AAAA,QAC1E,SAAS,MAAM;AACb,cAAI,iBAAiB;AACnB,0BAAc,IAAI;AAAA,UACpB,OAAO;AACL,wBAAY;AAAA,UACd;AAAA,QACF;AAAA,QACA;AAAA,QACA,UAAU,gBAAgB,eAAe;AAAA;AAAA,MAExC,YACG,EAAE,aAAa,IACf,YAAY,kBACZ,EAAE,sBAAsB,IACxB,EAAE,gBAAgB;AAAA,IACxB,CACF,GAEA,+BAAAA,QAAA,cAACK,uBAAA,IAAY,CACf;AAAA,IAEC,oBAAmB,mDAAiB,sBACnC,+BAAAL,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAACM,uBAAA,EAAa,mBAAmB,mDAAiB,mBAAmB,GACrE,+BAAAN,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,MAAM;AAAA,QACN,WAAW,+BAAAA,QAAA,cAACO,uBAAA,IAAY;AAAA,QACxB,UAAQ;AAAA,QACR,cAAc;AAAA,QACd,UAAU,MAAM;AACd,wBAAc,KAAK;AAAA,QACrB;AAAA,QACA,cAAc,MAAM;AAClB,iBAAO,cAAc;AAAA,QACvB;AAAA;AAAA,MAEA,+BAAAP,QAAA,cAAC,eAAO,iBAAoC;AAAA,MAC5C,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAoB,EAAE,sBAAsB,CAAE;AAAA,MAC7D,+BAAAA,QAAA;AAAA,QAACQ;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,mBAAmB,mDAAiB;AAAA,UACpC,OAAO,EAAE,sBAAsB;AAAA;AAAA,MACjC;AAAA,MACA,+BAAAR,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,0BAAc,KAAK;AAAA,UACrB;AAAA;AAAA,QAEC,EAAE,eAAe;AAAA,MACpB,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,wBAAY;AACZ,0BAAc,KAAK;AAAA,UACrB;AAAA;AAAA,QAEC,EAAE,gBAAgB;AAAA,MACrB,CACF;AAAA,IACF,CACF;AAAA,IAGF,+BAAAA,QAAA,cAACS,kBAAA,EAAO,eAAe,MAAM,UAAU,KAAK,GAAG,SAAS,QAAQ;AAAA,EAClE,IAEA,+BAAAT,QAAA,cAACU,kBAAA,IAAgB,CAErB;AAEJ;AAl+BA,IAAAC,cACAC,mBACAC,oBAcAC,eACAC,mBACAC,YAEA,iBACAC,gBACA,gCAsDa,WAw5BN;AAp+BP;AAAA;AAAA;AAAA,IAAAN,eAA6C;AAC7C,IAAAC,oBAA2B;AAC3B,IAAAC,qBAaO;AACP,IAAAC,gBAA2C;AAC3C,IAAAC,oBAA0B;AAC1B,IAAAC,aAAe;AAEf,sBAAe;AACf,IAAAC,iBAA4D;AAC5D,qCAA4B;AAE5B;AACA;AAGA,IAAAC;AACA;AACA,IAAAC;AACA,IAAAC;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAAC;AACA,IAAAC;AACA;AACA,IAAAC;AACA;AACA;AACA,IAAAC;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,IAAM,YAAY,CAAC,QAAgB,UAAkB;AA5E5D;AA6EE,gBAAU,+BAAU,eAAV,mBAAuB;AACjC,YAAM,UAA+B;AAAA,QACnC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AACA,YAAM,MAAM,GAAG,SAAS,UAAU,UAAU,QAAQ;AACpD,cAAO,aAAQ,SAAR,YAAgB,QAAQ;AAAA,IACjC;AAo4BA,IAAO,mBAAQ;AAAA;AAAA;;;ACp+Bf;AAAA;AAAA;AAAA;AAaA,SAAS,KAAK,OAAqB;AACjC,QAAM,WAAW,kBAAkB;AAEnC,gCAAU,MAAM;AACd,yCAAa,EAAE,MAAM,CAAC,MAAM,QAAQ,IAAI,gBAAgB,CAAC,CAAC;AAC1D,YAAI,wCAAoB,GAAG;AACzB,0EAAsC;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SACE,+BAAAC,QAAA,cAAC,sBAAoB,GAAG,SACtB,+BAAAA,QAAA,cAAC,oBAAS,GAAG,OAAO,CACtB;AAEJ;AA5BA,IAAAC,oBACAC,gBA6BO;AA9BP;AAAA;AAAA;AAAA,IAAAD,qBAAkD;AAClD,IAAAC,iBAAiC;AAEjC;AACA;AACA;AAyBA,IAAO,eAAQ;AAAA;AAAA;;;AC9Bf,IAEM,yCAEAC,SAeC;AAnBP;AAAA;AAAA;AAEA,IAAM,0CAA0C;AAEhD,IAAMA,UAAS;AAAA,MACb,MAAM,2BAA2B,eAAuB,kBAA8C;AACpG,cAAM,EAAE,UAAU,IAAI,MAAM,OAAO;AACnC,cAAM,mBAAmB,IAAI,UAAU,6CAA6C;AACpF,eAAO,UAAU;AAAA,UACf;AAAA,YACE,IAAI,UAAU,aAAa,EAAE,SAAS;AAAA,YACtC,iBAAiB,SAAS;AAAA,YAC1B,IAAI,UAAU,gBAAgB,EAAE,SAAS;AAAA,UAC3C;AAAA,UACA,IAAI,UAAU,uCAAuC;AAAA,QACvD,EAAE;AAAA,MACJ;AAAA,IACF;AAEA,IAAO,uBAAQA;AAAA;AAAA;;;ACnBf;AAAA;AAAA,iBAAAC;AAAA;AAiDA,SAAS,SAAS,OAAe;AAC/B,QAAM,EAAE,QAAQ,OAAO,SAAS,uBAAuB,IAAI;AAC3D,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,WAAW,kBAAkB;AACnC,QAAM,EAAE,kBAAkB,UAAU,oBAAAC,oBAAmB,IAAI,gBAAgB;AAC3E,QAAM,EAAE,QAAAC,QAAO,IAAI,UAAU;AAC7B,QAAM,EAAE,aAAa,IAAI,gBAAgB;AACzC,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,EAAE,YAAY,IAAI,SAAS;AAEjC,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,KAAK;AAC5C,QAAMC,WAAU,mBAAW;AAC3B,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAA6C;AAE3F,QAAM,CAAC,YAAY,aAAa,QAAI,yBAA4B;AAEhE,QAAM,CAAC,cAAc,eAAe,QAAI,yBAA+B;AAEvE,QAAM,CAAC,aAAa,cAAc,QAAI,yBAAiB,EAAE;AACzD,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAiB,EAAE;AAErD,QAAM,EAAE,uBAAuB,gCAAgC,IAAI,mBAAmB;AAEtF,QAAM,YAAQ,wBAAQ,MAAM;AAC1B,WAAO;AAAA,MACL,IAAI,WAAW,gCAAa,OAAO;AAAA,MACnC,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAe,wBAAQ,MAAM;AACjC,UAAM,UAAU,gCAAa,OAAO;AACpC,WAAO,YAAY,OAAO;AAAA,EAC5B,GAAG,CAAC,CAAC;AAEL,gCAAU,MAAM;AACd,yCAAa,EAAE,MAAM,CAAC,MAAM,QAAQ,IAAI,gBAAgB,CAAC,CAAC;AAC1D,YAAI,wCAAoB,GAAG;AACzB,0EAAsC;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,uBAAuB,MAAM;AACjC,yCAAa,EACV,KAAK,MAAM;AACV,kBAAY;AAAA,IACd,CAAC,EACA,MAAM,CAACC,WAAU;AAhGxB;AAiGQ,iBAAW,KAAK;AAChB,MAAAD,SAAQ,OAAM,KAAAC,OAAM,YAAN,YAAiB,YAAY;AAAA,IAC7C,CAAC;AAAA,EACL;AAEA,QAAM,gBAAgB,CAAC,QAAaA,WAAgB;AAClD,IAAAF,QAAO,wCAAsC;AAAA,MAC3C;AAAA,MACA,OAAAE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,iBAAe,YAAe,WAA0C,KAAyB;AAC/F,QAAI,CAAC,KAAK;AACR,aAAO,CAAC;AAAA,IACV;AACA,UAAM,UAAU,MAAM,QAAQ,IAAI,IAAI,IAAI,SAAS,CAAC;AACpD,WAAO,IAAI,OAAO,CAAC,IAAI,UAAU,QAAQ,MAAM;AAAA,EACjD;AAEA,QAAM,cAAc,YAAY;AArHlC;AAsHI,QAAI,CAAC;AAAQ;AAEb,4CAAgB;AAAA,MAEd,aAAa,6BAAW;AAAA,IAC1B,CAAC;AAED,SAAI,0CAAU,qBAAV,mBAA4B,0BAA0B;AACxD,uBAAiB;AAAA,QACf,SAAS;AAAA,QACT,mBAAmB;AAAA,MACrB,CAAC;AAAA,IACH,WACE,WAAW,mCAAgB,0BAC3B,WAAW,mCAAgB,mBAC3B,WAAW,mCAAgB,yBAC3B,kDAAc,wBAAd,mBAAmC,mEACnC;AAEA,sCAAgC,eAAe;AAAA,IACjD,OAAO;AACL,sBAAgB;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,kBAAkB,YAAY;AA/ItC;AAgJI,QAAI,CAAC;AAAQ;AACb,eAAW,IAAI;AACf,QAAI;AACJ,QAAI;AACF,UAAI,WAAW,mCAAgB,aAAa;AAC1C,cAAM,EAAE,UAAU,IAAI,MAAM,gCAAa,OAAO,YAAY,KAAmB;AAC/E,iBAAS;AAAA,MACX,WAAW,WAAW,mCAAgB,wBAAwB;AAC5D,cAAM,EAAE,UAAU,IAAI,MAAM,gCAAa,OAAO;AAAA,UAC9C;AAAA,UACA,MAAM;AAAA,QACR;AACA,iBAAS;AAAA,MACX,WAAW,WAAW,mCAAgB,iBAAiB;AACrD,iBAAS,MAAM,gCAAa,OAAO,gBAAgB,OAA6C,MAAM,EAAE;AAAA,MAC1G,WAAW,WAAW,mCAAgB,qBAAqB;AACzD,iBAAS,MAAM,gCAAa,OAAO;AAAA,UACjC;AAAA,UACA,MAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,IAAI,MAAM,gBAAgB;AAAA,MAClC;AAEA,8CAAgB;AAAA,QAEd,aAAa,6BAAW;AAAA,MAC1B,CAAC;AAAA,IACH,SAAS,GAAP;AACA,cAAQ,MAAM,yBAAyB,QAAQ,CAAC;AAChD,8CAAgB;AAAA,QAEd,aAAa,6BAAW;AAAA,MAC1B,CAAC;AAED,WAAI,uBAAG,gBAAe,SAAS,GAAC,0CAAU,qBAAV,mBAA4B,2BAA0B;AACpF,6BAAqB;AAAA,MACvB,YAAW,uBAAG,aAAY,0BAAyB,uBAAG,aAAY,oCAAoC;AACpG,4EAAsC;AAAA,MACxC,OAAO;AACL,oBAAY,CAAC;AAAA,MACf;AAAA,IACF,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AAEA,QAAI,QAAQ;AACV,UAAI,WAAW,mCAAgB,eAAe,wBAAwB;AACpE,QAAAF,QAAO,wCAAsC;AAAA,UAC3C,GAAG;AAAA,UACH,eAAe;AAAA,YACb,SAAS,YAAAG,QAAO,OAAO,KAAmB;AAAA,YAC1C,WAAW;AAAA,UACb;AAAA,QACF,CAAC;AAAA,MACH,OAAO;AACL,sBAAc,MAAM;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,aAAa,MAAM;AACvB,QAAI,SAAS;AACX;AAAA,IACF;AAEA,QAAI,wBAAwB;AAC1B,MAAAH,QAAO,wCAAsC,QAAQ;AAAA,IACvD,OAAO;AACL,oBAAc,QAAW,UAAU,oBAAoB,CAAC;AAAA,IAC1D;AAAA,EACF;AAEA,gCAAU,MAAM;AACd,QAAI,WAAW,mCAAgB,aAAa;AAC1C,qBAAe,EAAE,wBAAwB,CAAW;AACpD,mBAAa,EAAE,sBAAsB,CAAW;AAAA,IAClD,WAAW,WAAW,mCAAgB,wBAAwB;AAC5D,qBAAe,EAAE,uBAAuB,CAAW;AACnD,mBAAa,EAAE,kBAAkB,EAAE,OAAO,oBAAoB,KAAK,CAAC,CAAC;AACrE,YAAM,cAAe,MAA6C,UAAU;AAAA,QAC1E,sBAAsB;AAAA,QACtB,kBAAkB;AAAA,MACpB,CAAC;AACD,6BAAuB,CAAC,YAAAG,QAAO,OAAO,WAAW,CAAC,CAAC;AAAA,IACrD,WAAW,WAAW,mCAAgB,iBAAiB;AACrD,qBAAe,EAAE,uBAAuB,CAAW;AACnD,mBAAa,EAAE,eAAe,CAAW;AACzC,YAAM,cAAe,MAA6C,UAAU;AAAA,QAC1E,sBAAsB;AAAA,QACtB,kBAAkB;AAAA,MACpB,CAAC;AACD,6BAAuB,CAAC,YAAAA,QAAO,OAAO,WAAW,CAAC,CAAC;AAAA,IACrD,WAAW,WAAW,mCAAgB,qBAAqB;AACzD,qBAAe,EAAE,uBAAuB,CAAW;AACnD,mBAAa,EAAE,eAAe,CAAW;AACzC,YAAM,eAAgB,MAAiD;AAAA,QAAI,CAAC,OAC1E,YAAAA,QAAO;AAAA,UACL,GAAG,UAAU;AAAA,YACX,sBAAsB;AAAA,YACtB,kBAAkB;AAAA,UACpB,CAAC;AAAA,QACH;AAAA,MACF;AACA,6BAAuB,YAAY;AAAA,IACrC,OAAO;AACL,YAAM,IAAI,MAAM,gBAAgB;AAAA,IAClC;AAAA,EACF,GAAG,CAAC,OAAO,CAAC,CAAC;AAEb,gCAAU,MAAM;AAEd,oCAAa,OAAO,QAAQ;AAAA,EAC9B,GAAG,CAAC,CAAC;AAEL,QAAM,yBAAyB,CAAC,aAAuB;AACrD,oCAAa,OACV,QAAQ;AAAA,MACP,SAAS,MAAM;AAAA,MACf,QAAQ,wCAAqB;AAAA,MAC7B,QAAQ;AAAA,IACV,CAAC,EACA,KAAK,CAAC,WAAW;AA1QxB;AA2QQ,yBAAmB,MAAM;AACzB,kBAAY,OAAO,SAAc;AAC/B,cAAM,yBAAyB,MAAM,qBAAO;AAAA,UAC1C,gCAAa,OAAO;AAAA,UACpB,KAAK;AAAA,QACP;AACA,eAAO,KAAK,2BAA2B,uBAAuB,SAAS;AAAA,MACzE,IAAG,sCAAQ,qBAAR,mBAA0B,IAAI,EAAE,KAAK,CAAC,YAAY;AACnD,gBAAQ,IAAI,cAAc,QAAQ,MAAM;AACxC,sBAAc,OAAO;AAAA,MACvB,CAAC;AAED,kBAAY,OAAO,SAAc;AAC/B,cAAM,yBAAyB,MAAM,qBAAO;AAAA,UAC1C,gCAAa,OAAO;AAAA,UACpB,KAAK;AAAA,QACP;AACA,eAAO,KAAK,2BAA2B,uBAAuB,SAAS;AAAA,MACzE,IAAG,sCAAQ,qBAAR,mBAA0B,MAAM,EAAE,KAAK,CAAC,YAAY;AACrD,gBAAQ,IAAI,gBAAgB,QAAQ,MAAM;AAC1C,wBAAgB,OAAO;AAAA,MACzB,CAAC;AAAA,IACH,CAAC,EACA,MAAM,CAACD,WAAU;AAlSxB;AAmSQ,cAAQ,IAAI,gCAAgCA,MAAK;AACjD,0BAAM,MAAM;AAAA,QACV,QAAO,KAAAA,OAAM,YAAN,YAAiB;AAAA,QACxB,UAAU;AAAA,QACV,YAAY,EAAE,eAAe;AAAA,QAC7B,QAAQ,EAAE,cAAc;AAAA,QACxB,eAAe;AAAA,QACf,cAAc,MAAM;AAClB,iBAAO,cAAc;AAAA,QACvB;AAAA,QACA,MAAM,MAAM;AACV,iCAAuB,QAAQ;AAAA,QACjC;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACL;AAEA,QAAM,cAAc,MAAM;AACxB,UAAM,cAAc,IAAI,YAAY;AACpC,UAAM,gBAAgB,YAAY,OAAO,KAAY;AACrD,WACE,+BAAAE,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAW,aAAa,wBAAwB,KAAK,uBACxD,+BAAAA,QAAA,cAAC,SAAI,WAAU,+BAA6B,aAAc,CAC5D,CACF;AAAA,EAEJ;AAEA,QAAM,kBAAkB,MAAM;AAhUhC;AAiUI,WACE,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,kBAAiB;AAAA,QACjB,OAAO;AAAA,UACL;AAAA,YACE,OAAO,EAAE,cAAc;AAAA,YACvB,KAAK;AAAA,YACL,UACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,WAAS,EAAE,+BAA+B,CAAE,GAC3D,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACZ,wDAAiB,qBAAjB,mBAAmC,KACjC,OAAO,CAAC,SAAM;AA9UrC,kBAAAC,KAAA;AA8UwC,0BAAK,cAAa,MAAAA,MAAA,oDAAAA,IAAc,WAAd,mBAAsB;AAAA,eACzD,IAAI,CAAC,MAAM,UAAU;AACpB,qBACE,+BAAAD,QAAA,cAAC,SAAI,WAAU,gBAAe,KAAK,cAAc,WAAS,OAExD,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,OAAO,KAAK,iBAAiB,IAAI,EAAE,OAAO,UAAU,IAAI,CAAC,KAClF,KAAK,iBAAiB,IAAI,KAAK,KAC/B,kBAAkB,KAAK,gBAAgB,CAAC,CAC3C,CACF;AAAA,YAEJ,IAED,yCAAY,IAAI,CAAC,MAAM,UAAU;AAChC,qBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAe,KAAK,cAAc,WAC9C,KAAK,OAAO,KAAK,OAAO,eACzB,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,OAAO,KAAK,eAAe,IAAI,EAAE,OAAO,UAAU,IAAI,CAAC,KAChF,KAAK,eAAe,IAAI,KAAK,KAC7B,KAAK,YACR,CACF;AAAA,YAEJ,IAEC,6CAAc,IAAI,CAAC,MAAM,UAAU;AAClC,qBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAe,KAAK,gBAAgB,WAChD,KAAK,OAAO,KAAK,OAAO,iBACzB,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,OAAO,KAAK,eAAe,IAAI,EAAE,OAAO,UAAU,IAAI,CAAC,KAChF,KAAK,eAAe,IAAI,KAAK,KAC7B,kBAAkB,KAAK,cAAc,KAAK,QAAQ,CACrD,CACF;AAAA,YAEJ,EACF,CACF,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,WACZ,EAAE,kBAAkB,GACpB,mBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAW,kBAAkB,gBAAgB,sBAAsB,CAAC,GAAE,MAAI,CAE7F,CACF,CACF;AAAA,UAEJ;AAAA,UACA;AAAA,YACE,OAAO,EAAE,WAAW;AAAA,YACpB,KAAK;AAAA,YACL,UACE,+BAAAA,QAAA,cAAC,aACE,mDAAiB,aAAa,IAAI,CAAC,aAAa,UAAU;AACzD,qBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAoB,KAAK,eAAe,WACrD,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,YAAS,KACpB,QAAQ,GAAE,OAAI,EAAE,WAAW,YAAY,MAAM,CACjD,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACZ,EAAE,iBAAiB,GACpB,+BAAAA,QAAA,cAAC,cAAM,YAAY,YAAY,SAAS,CAAE,CAC5C,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACZ,EAAE,WAAW,GACd,+BAAAA,QAAA,cAAC,cAAM,YAAY,YAAY,IAAI,CAAE,CACvC,CACF,CACF,CACF,CACF;AAAA,YAEJ,EACF;AAAA,UAEJ;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA,cAAC,eAAO,iBAA4B,GACnC,CAAC,yBACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBAAuB,iBAAe,iBAAiB,KACpE,+BAAAA,QAAA,cAAC,SAAI,WAAU,6BAA4B,GAC3C,+BAAAA,QAAA,cAAC,SAAI,WAAU,8BAA4B,EAAE,qBAAqB,CAAE,GACpE,+BAAAA,QAAA,cAAC,SAAI,WAAU,4BAA2B,SAASL,uBAChD,EAAE,aAAa,CAClB,CACF,GAEF,+BAAAK,QAAA,cAAC,SAAI,WAAW,iBAAiB,wBAAwB,KAAK,uBAC5D,+BAAAA,QAAA,cAACE,eAAA,EAAK,UAAoB,iBAAkC,GAC5D,+BAAAF,QAAA,cAAC,SAAI,WAAU,kBAAgB,WAAY,GAC3C,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBACb,+BAAAA,QAAA,cAAC,SAAI,SAAK,iCAAa,KAAK,GAAG,KAAI,IAAG,GACrC,oBAAoB,KAAK,CAC5B,GACA,+BAAAA,QAAA;AAAA,IAAC,gCAAAG;AAAA,IAAA;AAAA,MACC,MAAM,gCAAa,OAAO;AAAA,MAC1B,QAAQ,MAAMN,SAAQ,QAAQ,EAAE,eAAe,CAAC;AAAA;AAAA,IAEhD,+BAAAG,QAAA,cAAC,SAAI,WAAU,kBACZ,cACD,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA,cAAC,uBAAS,CACZ,CACF;AAAA,EACF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAY,SAAU,GACrC,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,GAC3B,WAAW,mCAAgB,eAAe,YAAY,GACtD,WAAW,mCAAgB,eAAe,gBAAgB,CAC7D,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,wBAAO,WAAU,cAAa,SAAS,cACrC,EAAE,eAAe,CACpB,GACA,+BAAAA,QAAA,cAAC,wBAAO,WAAU,eAAc,SAAS,aAAa,WACnD,EAAE,gBAAgB,CACrB,CACF,GACA,+BAAAA,QAAA,cAACI,uBAAA,IAAY,CACf,CACF;AAEJ;AArdA,IAAAC,mBACAC,oBAaAC,eACA,aACAC,gBACAC,iCAscOf;AAvdP,IAAAgB,kBAAA;AAAA;AAAA;AAAA,IAAAL,oBAA2B;AAC3B,IAAAC,qBAWO;AAEP,IAAAC,gBAAoC;AACpC,kBAAmB;AACnB,IAAAC,iBAAoD;AACpD,IAAAC,kCAA4B;AAC5B;AAGA;AACA,IAAAE;AACA;AAQA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAAC;AA8aA,IAAOlB,qBAAQ;AAAA;AAAA;;;;;;;;;;;ACvdf,IAAAmB,oBAOAC,gBACAC,eACAC,kBACAC,YACAC,gBASMC,eAgNCC;AApOP,IAAAC,sBAAA;AAAA;AAAA;AAAA,IAAAR,qBAMO;AACP,IAAAC,iBAAwC;AACxC,IAAAC,gBAAuB;AACvB,IAAAC,mBAAqB;AACrB,IAAAC,aAAe;AACf,IAAAC,iBAAgE;AAChE;AACA,IAAAI;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMH,gBAAe,CAAC,UAAe;AACnC,YAAM,EAAE,aAAa,oBAAoB,cAAc,IAAI,cAAc,GAAG,IAAI;AAChF,YAAMI,WAAU,mBAAW;AAC3B,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAM,EAAE,WAAW,SAAS,IAAI,aAAa;AAE7C,YAAM,WAAW,kBAAkB;AAEnC,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAiB,EAAE;AAEzD,YAAM,CAAC,UAAU,WAAW,QAAI,yBAA6B,GAAI;AAEjE,YAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,EAAE;AAE7C,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAiB;AAEjD,YAAM,eAAW,uBAAO,IAAI;AAE5B,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAE3C,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,KAAK;AAEpD,sCAAY,MAAM;AAChB,YAAI,YAAY,GAAG;AACjB,gBAAM,SAAS,YAAY;AAC3B,uBAAa,MAAM;AACnB,cAAI,WAAW,GAAG;AAChB,wBAAY,MAAS;AAAA,UACvB;AAAA,QACF;AAAA,MACF,GAAG,QAAQ;AAEX,YAAM,EAAE,KAAK,WAAW,QAAI,2BAAW,wCAAqB;AAAA,QAC1D,QAAQ;AAAA,QACR,UAAU,MAAM;AACd,yBAAe,IAAI;AAAA,QACrB;AAAA,QACA,WAAW,CAAC,WAAgB;AAC1B,+CAAa;AAEb,cAAI,aAAa;AACf,qBAAS,YAAY,MAAM,GAAG,EAAE,IAAI;AAAA,cAClC,SAAS;AAAA,cACT,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,GAAG,WAAAC,QAAG,MAAM,YAAY,MAAM,GAAG,EAAE,EAAE;AAAA,gBACrC,aAAa,iCAAQ;AAAA,gBACrB,SAAS;AAAA,cACX;AAAA,YACF,CAAC;AAAA,UACH,WAAW,CAAC,OAAO,0BAA0B;AAE3C,qBAAS,uBAAuB;AAAA,UAClC,OAAO;AACL,qBAAS,qBAAqB,EAAE,SAAS,KAAK,CAAC;AAAA,UACjD;AAAA,QACF;AAAA,QACA,SAAS,CAACC,WAAe;AACvB,kBAAQ,IAAI,uBAAuBA,MAAK;AACxC,eAAIA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,aAAa;AAC9C,wBAAY,EAAE,oBAAoB,CAAW;AAAA,UAC/C,YAAWA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,YAAY;AACpD,wBAAY,EAAE,yBAAyB,CAAW;AAAA,UACpD;AAAA,QACF;AAAA,QACA,WAAW,MAAM;AACf,qBAAW,MAAM;AACf,2BAAe,KAAK;AAAA,UACtB,GAAG,GAAI;AAAA,QACT;AAAA,MACF,CAAC;AAED,YAAM,EAAE,SAAS,aAAa,KAAK,WAAW,QAAI,2BAAW,iDAA8B;AAAA,QACzF,QAAQ;AAAA,QACR,WAAW,CAAC,QAAQ,WAAW;AAC7B,cAAI,CAAC,UAAU;AACb,yBAAa,EAAE;AACf,wBAAY,GAAI;AAAA,UAClB;AAAA,QACF;AAAA,QACA,SAAS,CAACA,WAAe;AACvB,uBAAa,CAAC;AACd,sBAAY,MAAS;AAAA,QACvB;AAAA,MACF,CAAC;AAED,YAAM,aAAa,CAAC,SAAkB;AACpC,YAAI;AACJ,YAAI,YAAY,SAAS,GAAG,GAAG;AAC7B,kBAAQ,EAAE,OAAO,aAAa,MAAM,QAAQ,YAAY;AAAA,QAC1D,OAAO;AACL,kBAAQ,EAAE,OAAO,aAAa,MAAM,QAAQ,YAAY;AAAA,QAC1D;AAEA,YAAI,aAAa;AACf,gBAAM,QAAQ;AAAA,QAChB;AACA,mBAAW,KAAY;AAAA,MACzB;AAEA,YAAM,qBAAqB,MAAM;AAC/B,oBAAY,EAAE;AACd,YAAI,YAAY,SAAS,GAAG,GAAG;AAC7B,qBAAW;AAAA,YACT,OAAO;AAAA,UACT,CAAC;AAAA,QACH,OAAO;AACL,iEAA+B;AAAA,YAC7B,OAAO;AAAA,YACP;AAAA,YACA,cAAc,MAAM;AAClB,qBAAO,cAAc;AAAA,YACvB;AAAA,UACF,CAAC,EACE,KAAK,CAAC,UAAU;AACf,uBAAW;AAAA,cACT,OAAO;AAAA,cAEP,uBAAuB;AAAA,YACzB,CAAC;AAAA,UACH,CAAC,EACA,MAAM,CAACA,WAAU;AAChB,YAAAF,SAAQ,MAAM,EAAE,oBAAoB,CAAC;AAAA,UACvC,CAAC;AAAA,QACL;AAAA,MACF;AAEA,YAAM,oBAAoB,CAAC,SAAiB;AAC1C,uBAAe,IAAI;AACnB,oBAAY,EAAE;AACd,YAAI,KAAK,WAAW,GAAG;AACrB,6BAAmB,IAAI;AAAA,QACzB;AAAA,MACF;AAEA,YAAM,yBAAqB;AAAA,YACzB,iBAAAG;AAAA,UACE,CAAC,SAAS;AACR,uBAAW,IAAI;AAAA,UACjB;AAAA,UACA;AAAA,UACA;AAAA,YACE,SAAS;AAAA,YACT,UAAU;AAAA,UACZ;AAAA,QACF;AAAA,QACA,CAAC;AAAA,MACH;AAEA,oCAAU,MAAM;AA1KlB;AA2KI,cAAM,WAAW,SAAS,uBAAuB,kBAAkB;AACnE,cAAM,mBAAmB,CAAC,MAAW,EAAE,eAAe;AACtD,uBAAS,OAAT,mBAAa,iBAAiB,eAAe;AAC7C,eAAO,MAAM;AA9KjB,cAAAC;AA+KM,WAAAA,MAAA,SAAS,OAAT,gBAAAA,IAAa,oBAAoB,eAAe;AAAA,QAClD;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,YAAM,uBAAuB,MAAM;AAnLrC;AAoLI,cAAM,WAAW,SAAS,uBAAuB,iBAAiB;AAElE,uBAAS,KAAK,IAAI,YAAY,QAAQ,CAAC,OAAvC,mBAA2C;AAAA,MAC7C;AAEA,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA,cAAC,eAAO,mBAA4B,GACpC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,wBAAuB,MAAK,eAAc,SAAS,oBAAoB,GAC1F,+BAAAA,QAAA,cAAC,QAAG,WAAU,qBAAmB,EAAE,oBAAoB,CAAE,GACzD,+BAAAA,QAAA,cAAC,OAAE,WAAU,oBAAmB,OAAO,EAAE,QAAQ,GAAG,KACjD,WACH,GACA,+BAAAA,QAAA,cAAC,SAAI,SAAS,wBACZ,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,oBAAmB;AAAA,UACnB,gBAAe;AAAA,UACf,mBAAkB;AAAA,UAClB,QAAQ;AAAA,UACR,KAAK;AAAA,UACL,aAAa;AAAA,UACb,UAAU;AAAA;AAAA,MACZ,CACF,GAEC,YAAY,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAc,QAAS,GAEnD,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAU,YAAY,WAAW;AAAA,UACjC,WAAU;AAAA,UACV,SAAS;AAAA,UACT,SAAS,MAAM,WAAW;AAAA;AAAA,QAEzB,EAAE,gBAAgB;AAAA,MACrB,GAEA,+BAAAA,QAAA,cAAC,wBAAO,WAAU,cAAa,SAAS,oBAAoB,UAAU,YAAY,KAAK,eACpF,YAAY,IAAI,GAAG,EAAE,kBAAkB,MAAM,gBAAgB,EAAE,kBAAkB,CACpF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,QAAO,SAAS,sBAC7B,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,eAAc,MAAK,eAAc,GACpD,+BAAAA,QAAA,cAAC,cAAM,EAAE,YAAY,CAAE,CACzB,GACA,+BAAAA,QAAA,cAACC,uBAAA,IAAY,CACf;AAAA,IAEJ;AAEA,IAAOT,yBAAQD;AAAA;AAAA;;;ACpOf;AAAA;AAAA,iBAAAW;AAAA;AAAA,IAAAC,eACAC,oBACAC,gBACAC,eACAC,iBACAC,gBAWM,aAqPCN;AArQP,IAAAO,oBAAA;AAAA;AAAA;AAAA,IAAAN,gBAA6B;AAC7B,IAAAC,qBAA6E;AAC7E,IAAAC,iBAA2B;AAC3B,IAAAC,gBAAuB;AACvB,IAAAC,kBAA+B;AAC/B,IAAAC,iBAAmD;AACnD;AACA;AACA,IAAAE;AACA;AACA;AACA;AACA;AACA,IAAAC;AACA;AAEA,IAAM,cAAc,CAAC,UAAe;AAClC,YAAM,WAAW,kBAAkB;AAEnC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,QAAQ;AACd,YAAM,cAAe,+BAAe;AACpC,YAAM,cAAe,+BAAe;AACpC,YAAMC,WAAU,mBAAW;AAC3B,YAAM,eAAW,uBAAY;AAC7B,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAiB,EAAE;AACzD,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,CAAC,iBAAiB,MAAM,GAAG,CAAC;AAC3E,YAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAClD,YAAM,sBAAkB,uBAAO,IAAI;AACnC,YAAM,CAAC,UAAU,QAAQ,QAAI,yBAAS,EAAE;AAExC,YAAM,EAAE,WAAW,SAAS,IAAI,aAAa;AAE7C,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAE3C,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAiB,OAAO;AAE9D,oCAAU,MAAM;AACd,YAAI,gBAAgB,YAAY,+BAAe,aAAY;AACzD,gBAAM,iBAAiB,kBAAkB;AACzC,cAAI,gBAAgB;AAClB,2BAAe,cAAc;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,GAAG,CAAC,aAAc,+BAAe,UAAU,CAAC;AAE5C,YAAM,CAAC,mBAAmB,oBAAoB,QAAI,yBAAS,KAAK;AAChE,oCAAU,MAAM;AACd,YAAI,mBAAmB;AACrB,mBAAS,iBAAiB,SAAS,eAAe,IAAI;AACtD,iBAAO,MAAM;AACX,qBAAS,oBAAoB,SAAS,eAAe,IAAI;AAAA,UAC3D;AAAA,QACF;AAAA,MACF,GAAG,CAAC,iBAAiB,CAAC;AAEtB,YAAM,gBAAgB,CAAC,UAAe;AACpC,mBAAW,MAAM;AAzDrB;AA0DM,eAAI,cAAS,YAAT,mBAAkB,SAAS,MAAM,SAAS;AAC5C;AAAA,UACF;AACA,+BAAqB,KAAK;AAAA,QAC5B,CAAC;AAAA,MACH;AACA,oCAAU,MAAM;AACd,cAAM,OAAQ,+BAAe;AAC7B,YAAI,MAAM;AACR,yBAAe,IAAI;AAAA,QACrB;AAAA,MACF,GAAG,CAAC,KAAK,CAAC;AAEV,YAAM,EAAE,SAAS,aAAa,KAAK,WAAW,QAAI,2BAAW,iDAA8B;AAAA,QACzF,QAAQ;AAAA,QACR,WAAW,CAAC,QAAQ,WAAW;AAC7B,wBAAc,MAAM;AAAA,QACtB;AAAA,QACA,SAAS,CAACC,WAAe;AACvB,gBAAM,QAAOA,UAAA,gBAAAA,OAAO,eAAc;AAClC,cAAI,SAAS,SAAS,SAAS,OAAO;AACpC,2BAAe,EAAE;AACjB,YAAC,gBAAgB,QAAgB,QAAQ;AAAA,UAC3C;AAAA,QACF;AAAA,MACF,CAAC;AAED,YAAM,sBAAsB,MAAM;AAChC,YAAIC,WAAW,gBAAgB,QAAgB;AAE/C,YAAI,gBAAgB,SAAS;AAC3B,cAAI,CAACA,UAAS;AACZ,mBAAO,SAAS,EAAE,2BAA2B,CAAW;AAAA,UAC1D,WAAW,CAAC,YAAY,KAAKA,QAAO,GAAG;AACrC,mBAAO,SAAS,EAAE,0BAA0B,CAAW;AAAA,UACzD;AAAA,QACF,OAAO;AACL,gBAAM,aAAa,YAAY,GAAG,YAAY;AAC9C,cAAI,CAACA,YAAWA,aAAY,KAAK;AAC/B,mBAAO,SAAS,EAAE,4BAA4B,CAAW;AAAA,UAC3D,WAAW,CAAC,aAAaA,UAAS,UAAU,GAAG;AAC7C,mBAAO,SAAS,EAAE,0BAA0B,CAAW;AAAA,UACzD,OAAO;AACL,YAAAA,WAAU,IAAI,YAAY,KAAKA;AAAA,UACjC;AAAA,QACF;AACA,uBAAeA,QAAO;AACtB,YAAI,CAACA,SAAQ,SAAS,GAAG,GAAG;AAC1B,iEAA+B;AAAA,YAC7B,OAAO;AAAA,YACP;AAAA,YACA,cAAc,MAAM;AAClB,qBAAO,cAAc;AAAA,YACvB;AAAA,UACF,CAAC,EACE,KAAK,CAAC,UAAU;AACf,uBAAW;AAAA,cACT,OAAOA;AAAA,cAEP,uBAAuB;AAAA,YACzB,CAAC;AAAA,UACH,CAAC,EACA,MAAM,CAACD,WAAU;AAChB,YAAAD,SAAQ,MAAM,EAAE,oBAAoB,CAAC;AAAA,UACvC,CAAC;AAAA,QACL,OAAO;AACL,qBAAW;AAAA,YACT,OAAOE;AAAA,UACT,CAAC;AAAA,QACH;AAAA,MACF;AAEA,YAAM,oBAAoB,MAAM;AAC9B,iBAAS,EAAE;AACX,uBAAe,gBAAgB,UAAU,UAAU,OAAO;AAC1D,uBAAe,EAAE;AAAA,MACnB;AAEA,oCAAU,MAAM;AACd,mBAAW,MAAM;AAzIrB;AA0IM,WAAC,qBAAgB,YAAhB,mBAAiC;AAAA,QACpC,CAAC;AAAA,MACH,GAAG,CAAC,CAAC;AAGL,UAAI,YAAY;AACd,eACE,+BAAAC,QAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC;AAAA,YACA,aAAa,eAAe;AAAA,YAC5B;AAAA,YACA,oBAAoB,MAAM;AACxB,4BAAc,KAAK;AAAA,YACrB;AAAA;AAAA,QACF;AAAA,MAEJ;AACA,aACE,+BAAAD,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA,cAAC,eAAO,mBAA4B,GACpC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,wBAAuB,MAAK,eAAc,SAAS,MAAM,SAAS,EAAE,GAAG,GAC1F,+BAAAA,QAAA,cAAC,QAAG,WAAU,qBACX,gBAAgB,UAAU,EAAE,wBAAwB,IAAI,EAAE,yBAAyB,CACtF,GACA,+BAAAA,QAAA,cAAC,OAAE,WAAU,sBACV,gBAAgB,UAAU,EAAE,4BAA4B,IAAI,EAAE,6BAA6B,CAC9F,GAEC,gBAAgB,UACf,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,uBACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM,SAAS,EAAE;AAAA,UAC1B,WAAU;AAAA,UACV,MAAK;AAAA,UACL,aAAa,EAAE,6BAA6B;AAAA,UAC5C,KAAK;AAAA,UACL,cAAc;AAAA,UAEd,WAAW,CAAC,MAAM;AAChB,gBAAI,EAAE,QAAQ,SAAS;AACrB,kCAAoB;AAAA,YACtB;AAAA,UACF;AAAA;AAAA,MACF,CACF,CACF,IAEA,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BAA0B,KAAK,YAC3C,qBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,4BACZ,qBAAqB,IAAI,CAAC,MAAM,UAC/B,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,WAAU;AAAA,UACV,SAAS,MAAM;AACb,2BAAe,IAAI;AACnB,iCAAqB,KAAK;AAAA,UAC5B;AAAA;AAAA,QAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAgB,gBAAAE,SAAmB,GAAG,KAAK,IAAI,CAAE,GAChE,+BAAAF,QAAA,cAAC,UAAK,WAAU,kBAAgB,KAAK,EAAG,CAC1C;AAAA,QACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAgB,MAAM,KAAK,EAAG;AAAA,MAC/C,CACD,CACH,GAEF,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAqB,SAAS,MAAM,qBAAqB,CAAC,iBAAiB,KACxF,+BAAAA,QAAA,cAAC,SAAI,WAAU,6BAAuB,gBAAAE,SAAmB,GAAG,YAAY,IAAI,CAAE,GAC9E,+BAAAF,QAAA,cAAC,8BAAa,WAAU,aAAY,CACtC,GACA,+BAAAA,QAAA,cAAC,cAAK,KAAE,YAAY,EAAG,GACvB,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM;AAtN7B;AAuNgB,qBAAS,EAAE;AAEX,YAAC,gBAAgB,QAAgB,UAC9B,qBAAgB,QAAgB,MAAM,MAAM,MAAM,MAAlD,mBAAsD,OAAM;AAAA,UACjE;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,aAAa,EAAE,gBAAgB;AAAA,UAC/B,KAAK;AAAA,UACL,SAAS,CAAC,MAAW,EAAE,OAAO,KAAK;AAAA,UACnC,cAAc,YAAY,QAAQ,IAAI,YAAY,MAAM,EAAE;AAAA,UAC1D,WAAW,CAAC,MAAM;AAChB,gBAAI,EAAE,QAAQ,SAAS;AACrB,kCAAoB;AAAA,YACtB;AAAA,UACF;AAAA,UACA,SAAS,MAAM;AAvO7B;AAwOgB,2BAAS,cAAc,0BAA0B,MAAjD,mBAAoD,aAAa,cAAc;AAAA,UACjF;AAAA,UACA,QAAQ,MAAM;AA1O5B;AA2OgB,2BAAS,cAAc,0BAA0B,MAAjD,mBAAoD,aAAa,cAAc;AAAA,UACjF;AAAA;AAAA,MACF,CACF,CACF,GAEF,+BAAAA,QAAA,cAAC,OAAE,WAAW,aAAa,WAAW,SAAS,QAAO,QAAS,GAE/D,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS;AAAA,UACT,SAAS;AAAA;AAAA,QAER,EAAE,mBAAmB;AAAA,MACxB,IAEE,+BAAe,eACf,+BAAAA,QAAA,cAAC,SAAI,WAAU,uBAAsB,SAAS,qBAC3C,gBAAgB,UAAU,EAAE,4BAA4B,IAAI,EAAE,2BAA2B,CAC5F,GAEF,+BAAAA,QAAA,cAACG,uBAAA,IAAY,CACf;AAAA,IAEJ;AAEA,IAAOhB,uBAAQ;AAAA;AAAA;;;;;;;;;;;ACrQf;AAAA;AAAA,iBAAAiB;AAAA;AAAA,IAAAC,oBAaAC,gBACAC,eACAC,mBACAC,kBACAC,gBA4BM,eA+YCN;AA5bP,IAAAO,sBAAA;AAAA;AAAA;AAAA,IAAAN,qBAYO;AACP,IAAAC,iBAAwC;AACxC,IAAAC,gBAA8B;AAC9B,IAAAC,oBAAsB;AACtB,IAAAC,mBAAqB;AACrB,IAAAC,iBAAyE;AACzE;AACA,IAAAE;AACA;AACA;AAOA;AACA;AACA;AACA,IAAAC;AAEA;AAYA,IAAM,gBAAgB,CAAC,UAAe;AACpC,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAM,QAAQ;AAEd,YAAMC,WAAU,mBAAW;AAE3B,YAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,YAAM,EAAE,WAAW,SAAS,IAAI,aAAa;AAE7C,YAAM,EAAE,SAAAC,UAAS,UAAU,UAAU,aAAa,aAAa,SAAS,IAAI;AAE5E,YAAM,CAAC,MAAM,OAAO,QAAI,yBAAiB,EAAE;AAE3C,YAAM,CAAC,UAAU,WAAW,QAAI,yBAA6B,GAAI;AAEjE,YAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,EAAE;AAE7C,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAiB;AACjD,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,EAAE,SAAS,IAAI,gBAAgB;AACrC,YAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,KAAK;AAExD,YAAM,eAAW,uBAAO,IAAI;AAE5B,sCAAY,MAAM;AAChB,YAAI,YAAY,GAAG;AACjB,gBAAM,SAAS,YAAY;AAC3B,uBAAa,MAAM;AACnB,cAAI,WAAW,GAAG;AAChB,wBAAY,MAAS;AAAA,UACvB;AAAA,QACF;AAAA,MACF,GAAG,QAAQ;AAGX,YAAM,EAAE,KAAK,WAAW,QAAI;AAAA,QAC1B,OAAO,WAAW;AAChB,kBAAQ,IAAI,YAAY,MAAM;AAC9B,cAAI,0DAAwC;AAC1C,qBAAS;AAAA,cACP,CAAC,WAAqBA;AAAA,cAEtB,uBAAuB,OAAO;AAAA,YAChC;AACA,uBAAO,iDAA6B,MAAM,EAAE,KAAK,CAAC,QAAQ;AACxD,qBAAO;AAAA,YACT,CAAC;AAAA,UACH,OAAO;AACL,uBAAO,8CAA0B,OAAO,gBAAgB;AAAA,UAC1D;AAAA,QACF;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,UACR,WAAW,CAAC,QAAQ,WAAW;AAC7B,gBAAI,CAAC,UAAU;AACb,2BAAa,EAAE;AACf,0BAAY,GAAI;AAAA,YAClB;AAAA,UACF;AAAA,UACA,SAAS,CAACC,WAAU;AAClB,yBAAa,CAAC;AACd,wBAAY,MAAS;AAAA,UACvB;AAAA,QACF;AAAA,MACF;AAGA,YAAM,EAAE,UAAU,8BAA8B,QAAI,2BAAW,4CAAyB;AAAA,QACtF,QAAQ;AAAA,QACR,UAAU,MAAM;AACd,2BAAiB,IAAI;AAAA,QACvB;AAAA,QACA,SAAS,CAACA,WAAe;AACvB,eAAIA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,aAAa;AAC9C,wBAAY,EAAE,oBAAoB,CAAW;AAAA,UAC/C,YAAWA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,YAAY;AACpD,wBAAY,EAAE,yBAAyB,CAAW;AAAA,UACpD,OAAO;AACL,YAAAA,OAAM,WAAWF,SAAQ,MAAME,OAAM,OAAO;AAAA,UAC9C;AAAA,QACF;AAAA,QACA,WAAW,MAAM;AACf,qBAAW,MAAM;AACf,6BAAiB,KAAK;AAAA,UACxB,GAAG,GAAI;AAAA,QACT;AAAA,MACF,CAAC;AAGD,YAAM,EAAE,SAAS,oBAAoB,UAAU,0BAA0B,QAAI;AAAA,QAC3E,OAAO,WAAW;AAChB,kBAAQ,IAAI,6BAA6B,MAAM;AAC/C,qBAAO,qCAAiB,MAAM,EAAE,KAAK,YAAY;AAC/C,sBAAM,iCAAa;AAAA,UACrB,CAAC;AAAA,QACH;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,UACR,WAAW,CAAC,SAAS;AACnB,YAAAF,SAAQ,QAAQ,EAAE,gCAAgC,CAAC;AAAA,UACrD;AAAA,UACA,SAAS,CAACE,WAAe;AArJ/B;AAsJQ,oBAAQ,IAAI,iBAAiBA,MAAK;AAClC,gBAAI,eAAeA,OAAM;AACzB,iBAAIA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,aAAa;AAC9C,0BAAY,EAAE,oBAAoB,CAAW;AAC7C;AAAA,YACF,YAAWA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,YAAY;AACpD,0BAAY,EAAE,yBAAyB,CAAW;AAClD;AAAA,YACF,WAAWA,OAAM,eAAe,OAAO;AACrC,6BAAe,YAAY,4BAAS,QAAQ,EAAE,0BAA0B,IAAI,EAAE,0BAA0B;AAAA,YAC1G,OAAO;AACL,+BAAe,KAAAA,UAAA,gBAAAA,OAAO,UAAP,mBAAe,OAAMA,OAAM;AAAA,YAC5C;AAEA,gCAAM,MAAM;AAAA,cACV,OAAO;AAAA,cACP,eAAe;AAAA,cACf,cAAc,MAAM;AAClB,uBAAO,cAAc;AAAA,cACvB;AAAA,cACA,MAAM,MAAM;AA1KtB,oBAAAC;AA2KY,iBAACA,MAAA,SAAS,YAAT,gBAAAA,IAA0B;AAC3B,oBAAID,OAAM,eAAe,OAAO;AAE9B,2BAAS,EAAE;AAAA,gBACb;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAGA,YAAM,EAAE,SAAS,cAAc,KAAK,wBAAwB,QAAI,2BAAW,uCAAoB;AAAA,QAC7F,QAAQ;AAAA,QACR,SAAS,CAACA,WAAe;AACvB,eAAIA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,aAAa;AAC9C,wBAAY,EAAE,oBAAoB,CAAW;AAAA,UAC/C,YAAWA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,YAAY;AACpD,wBAAY,EAAE,yBAAyB,CAAW;AAAA,UACpD;AAAA,QACF;AAAA,QACA,WAAW,CAAC,QAAQ,WAAW;AAC7B,+CAAa;AAEb,gBAAM,QAAQ,CAAC,oBAAoB,eAAe,gBAAgB;AAClE,gBAAM,SAAS,MAAM,IAAI,CAAC,SAAS;AApMzC;AAqMQ,oBAAO,kBAAa,YAAb,mBAAsB,UAAU,CAAC,SAAS,KAAK,SAAS;AAAA,UACjE,CAAC;AAED,gBAAM,QAAQ,OAAO,QAAQ,KAAK,IAAI,GAAG,MAAM,CAAC;AAEhD,mBAAS,MAAM,QAAQ,EAAE,SAAS,MAAM,MAAM,KAAK,CAAC;AAAA,QACtD;AAAA,MACF,CAAC;AAGD,YAAM,EAAE,SAAS,2BAA2B,KAAK,mBAAmB,QAAI;AAAA,QAEtE,MAAM,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,QAAC,CAAC;AAAA,QACzC;AAAA,UACE,QAAQ;AAAA,UACR,WAAW,CAAC,WAAW;AAAA,UAQvB;AAAA,QACF;AAAA,MACF;AAEA,YAAM,uBAAmB,wBAAQ,MAAM;AACrC,gBAAOD,YAAA,gBAAAA,SAAS,SAAS,QAAO,4BAAS,QAAQ,4BAAS;AAAA,MAC5D,GAAG,CAACA,QAAO,CAAC;AAEZ,oCAAU,MAAM;AACd,0BAAkB;AAAA,MACpB,GAAG,CAACA,QAAO,CAAC;AAEZ,YAAM,oBAAoB,MAAM;AAC9B,oBAAY,EAAE;AACd,YAAI,4DAA0C,aAAa,4BAAS,OAAO;AACzE,iEAA+B;AAAA,YAC7B,OAAO;AAAA,YACP;AAAA,YACA,cAAc,MAAM;AAClB,qBAAO,cAAc;AAAA,YACvB;AAAA,UACF,CAAC,EACE,KAAK,CAAC,UAAU;AACf,uBAAW;AAAA,cAET,oBAAoB;AAAA,cAEpB,uBAAuB;AAAA,YACzB,CAAC;AAAA,UACH,CAAC,EACA,MAAM,MAAM;AACX,YAAAD,SAAQ,MAAM,EAAE,oBAAoB,CAAC;AACrC,qBAAS,EAAE;AAAA,UACb,CAAC;AAAA,QACL,OAAO;AACL,qBAAW;AAAA,YAET;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAEA,YAAM,oBAAoB,CAACI,UAAiB;AAC1C,oBAAY,EAAE;AACd,gBAAQA,KAAI;AAEZ,YAAIA,MAAK,WAAW,GAAG;AACrB,8BAAoBA,KAAI;AAAA,QAC1B;AAAA,MACF;AAEA,YAAM,0BAAsB;AAAA,YAC1B,iBAAAC;AAAA,UACE,CAACD,UAAS;AACR,wBAAYA,KAAI;AAAA,UAClB;AAAA,UACA;AAAA,UACA;AAAA,YACE,SAAS;AAAA,YACT,UAAU;AAAA,UACZ;AAAA,QACF;AAAA,QACA,CAAC;AAAA,MACH;AAEA,YAAM,gBAAgB,CAAC,cAAuB;AAC5C,gCAAwB;AAAA,UACtB;AAAA,UACA;AAAA,UACA,MAAM,aAAa;AAAA,QACrB,CAAC;AAAA,MACH;AAEA,YAAM,cAAc,CAACA,QAAO,OAAO;AACjC,gBAAQ,IAAI,YAAY,QAAQ;AAChC,YAAI,UAAU;AACZ,kBAAQ,IAAI,YAAY,QAAQ;AAChC;AAAA,QACF;AACA,YAAI,OAAY,EAAE,MAAAA,MAAK;AACvB,YAAI,kEAA4C;AAC9C,wBAAcA,KAAI;AAAA,QACpB,WAAW,2GAA+D;AAExE,wCAA8B;AAAA,YAC5B;AAAA,YACA,MAAAA;AAAA,UACF,CAAC,EAAE,KAAK,CAACE,iBAAgB;AACvB,qBAAS,iBAAiB;AAAA,cACxB,SAAS;AAAA,cACT,OAAO;AAAA,gBACL,aAAa;AAAA,gBACb,aAAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH,CAAC;AAAA,QACH,WAAW,wGAA8D;AAEvE,wCAA8B;AAAA,YAC5B;AAAA,YACA,MAAAF;AAAA,UACF,CAAC,EAAE,KAAK,CAACE,iBAAgB;AACvB,kBAAM,cAAc,eAAe;AAAA,cACjC;AAAA,cACA;AAAA,YACF,CAAC;AACD,kBAAM,EAAE,IAAI,MAAM,IAAI,YAAY,KAAK,CAAC,SAAS,KAAK,SAAS,QAAQ,KAAK,CAAC;AAG7E,gBAAI,aAAa,4BAAS,SAAS,aAAa,4BAAS,SAAS,SAAS,IAAI;AAC7E,uBAAS,uBAAuB;AAAA,gBAC9B,OAAO;AAAA,kBACL;AAAA,kBACA,aAAAA;AAAA,gBACF;AAAA,gBACA,SAAS;AAAA,cACX,CAAC;AAAA,YACH,OAAO;AACL,sBAAQ,IAAI,yDAAY;AACxB,oBAAM,WAAW,kBAAAC,QAAU,OAAO,KAAK,UAAU,EAAE,aAAAD,cAAa,SAAS,mBAAmB,CAAC,CAAC;AAC9F,qDAAe;AAAA,gBACb;AAAA,gBACA;AAAA,gBACA,QAAQ;AAAA,cACV,CAAC,EAAE,MAAM,CAACJ,WAAU;AAClB,gBAAAF,SAAQ,OAAME,UAAA,gBAAAA,OAAO,YAAWA,MAAK;AAAA,cACvC,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AAAA,QACH,WAAW,0DAAwC;AAEjD,iBAAO,EAAE,GAAG,MAAM,+BAA+B,aAAa,CAAC,WAAqBD,SAAQ;AAC5F,oCAA0B,IAAI,EAAE,KAAK,CAAC,QAAQ;AAC5C,qBAAS,EAAE;AAAA,UACb,CAAC;AAAA,QACH,WAAW,8DAA0C;AAAA,QAErD;AAAA,MACF;AAEA,YAAM,uBAAuB,MAAc;AACzC,YAAIA,SAAQ,SAAS,GAAG,GAAG;AACzB,iBAAO,aAAaA,QAAO;AAAA,QAC7B,OAAO;AACL,iBAAO,aAAaA,QAAO;AAAA,QAC7B;AAAA,MACF;AAEA,oCAAU,MAAM;AAjXlB;AAkXI,cAAM,WAAW,SAAS,uBAAuB,kBAAkB;AACnE,cAAM,mBAAmB,CAAC,MAAW,EAAE,eAAe;AACtD,uBAAS,OAAT,mBAAa,iBAAiB,eAAe;AAC7C,eAAO,MAAM;AArXjB,cAAAE;AAsXM,WAAAA,MAAA,SAAS,OAAT,gBAAAA,IAAa,oBAAoB,eAAe;AAAA,QAClD;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,YAAM,uBAAuB,MAAM;AA1XrC;AA2XI,cAAM,WAAW,SAAS,uBAAuB,iBAAiB;AAElE,uBAAS,KAAK,IAAI,KAAK,QAAQ,CAAC,OAAhC,mBAAoC;AAAA,MACtC;AAEA,aACE,+BAAAK,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA,cAAC,eAAO,qBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,SAAS,MAAM;AACb,qBAAS,EAAE;AAAA,UACb;AAAA;AAAA,MACF,CACF,GACA,+BAAAA,QAAA,cAAC,QAAG,WAAU,qBAAmB,EAAE,oBAAoB,CAAE,GACzD,+BAAAA,QAAA,cAAC,OAAE,WAAU,sBAAoB,qBAAqB,CAAE,GAExD,+BAAAA,QAAA,cAAC,SAAI,SAAS,wBACZ,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,oBAAmB;AAAA,UACnB,gBAAe;AAAA,UACf,mBAAkB;AAAA,UAClB,QAAQ;AAAA,UACR,KAAK;AAAA,UACL,aAAa;AAAA,UACb,UAAU;AAAA;AAAA,MACZ,CACF,GAEC,YAAY,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAc,QAAS,GAEnD,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,gBAAgB,iBAAiB,sBAAsB;AAAA,UAChE,SAAS,MAAM;AACb,uBAAW,MAAM;AACf,0BAAY,IAAI;AAAA,YAClB,CAAC;AAAA,UACH;AAAA,UACA,UAAU,KAAK,WAAW;AAAA;AAAA,QAEzB,EAAE,gBAAgB;AAAA,MACrB,GAEA,+BAAAA,QAAA,cAAC,wBAAO,WAAU,cAAa,SAAS,mBAAmB,UAAU,YAAY,KAC9E,YAAY,IAAI,GAAG,EAAE,kBAAkB,MAAM,gBAAgB,EAAE,kBAAkB,CACpF,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM;AACb,qBAAS,EAAE;AAAA,UACb;AAAA;AAAA,QAEA,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,eAAc,MAAK,eAAc;AAAA,QACpD,+BAAAA,QAAA,cAAC,cAAM,EAAE,YAAY,CAAE;AAAA,MACzB,GAEA,+BAAAA,QAAA,cAACC,uBAAA,IAAY,CACf;AAAA,IAEJ;AAEA,IAAOnB,yBAAQ;AAAA;AAAA;;;;;;;;;;;AC5bf,IAAAoB,gBAIM,SAQA;AAZN,IAAAC,gBAAA;AAAA;AAAA;AAAA,IAAAD,iBAAkB;AAClB;AACA;AAEA,IAAM,UAAU,MAAM;AACpB,aACE,+BAAAE,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,eAA4B,GACpC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,YAAW,MAAK,YAAW,CAChD;AAAA,IAEJ;AACA,IAAM,WAAW,MAAM;AACrB,aACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,eAA4B,GACpC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,YAAW,MAAK,aAAY,CACjD;AAAA,IAEJ;AAAA;AAAA;;;;;;;;;;;ACnBA,IAAAC,eACAC,gBAgBM,eAgDCC;AAjEP,IAAAC,uBAAA;AAAA;AAAA;AAAA,IAAAH,gBAAsB;AACtB,IAAAC,iBAAkB;AAClB;AACA;AACA,IAAAG;AACA;AAYA,IAAM,gBAAgB,CAAC,SAAe;AACpC,YAAM,WAAW,eAAAC,QAAM,OAAY,IAAI;AAEvC,aACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,oBAAM,UAAN,IAAe,CAClB,GAEA,+BAAAA,QAAA,cAAC,eAAO;AAAA,UACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQF,GACF,+BAAAA,QAAA;AAAA,QAAC,oBAAM;AAAA,QAAN;AAAA,UACC,KAAK;AAAA,UACL,WAAW,qBAAoB,6BAAM,aAAY,IAAI,6BAAM,cAAc;AAAA,UACzE,YAAY,CAAC,YACX,UACE,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,aAAQ,CACX,IAEA,+BAAAA,QAAA,cAAC,aACC,+BAAAA,QAAA,cAAC,cAAS,CACZ;AAAA,UAGJ,UAAU,CAAC,MAAM;AAlDzB;AAmDU,gBAAI,6BAAM,UAAU;AAClB,iDAAM,aAAN,8BAAiB,EAAE,OAAO;AAAA,YAC5B;AAAA,UACF;AAAA,UACA,cAAc,6BAAM;AAAA,UACpB,YAAW,6BAAM,cAAa;AAAA,UAC9B,cAAc,CAAC,MAAG;AAzD1B;AAyD6B,sDAAM,iBAAN,8BAAqB;AAAA;AAAA,UAC1C,QAAQ,CAAC,MAAG;AA1DpB;AA0DuB,sDAAM,WAAN,8BAAe;AAAA;AAAA,UAC9B,WAAWC,WAAU,6BAAM,SAAS,KAAK,qBAAqB,IAAI,OAAO,6BAAM;AAAA;AAAA,MACjF,CACF;AAAA,IAEJ;AAEA,IAAOJ,0BAAQ;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEf,IAAAK,gBACAC,eACA,qBACAC,gBAIM,WAEA,0BAyDCC;AAlEP,IAAAC,iCAAA;AAAA;AAAA;AAAA,IAAAJ,iBAA4B;AAC5B,IAAAC,gBAA0C;AAC1C,0BAA0B;AAC1B,IAAAC,iBAA0C;AAC1C,IAAAG;AACA;AACA;AACA,IAAM,YAAY;AAElB,IAAM,2BAA2B,CAAC,UAAe;AAC/C,YAAM,EAAE,uBAAuB,IAAI;AACnC,YAAM,EAAE,0BAA0B,IAAI,gBAAgB;AACtD,YAAM,EAAE,KAAK,IAAI;AACjB,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,WAAW,kBAAkB;AAEnC,YAAM,CAAC,UAAU,WAAW,QAAI,yBAA6B,GAAI;AAEjE,YAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,CAAC;AAE5C,YAAM,EAAE,KAAK,QAAI,+BAAU;AAAA,QACzB,eAAe;AAAA,QACf,MAAM;AAAA,MACR,CAAC;AAED,sCAAY,MAAM;AAChB,YAAI,YAAY,GAAG;AACjB,gBAAM,SAAS,YAAY;AAC3B,uBAAa,MAAM;AACnB,cAAI,WAAW,GAAG;AAChB,wBAAY,MAAS;AACrB,wBAAY;AAAA,UACd;AAAA,QACF;AAAA,MACF,GAAG,QAAQ;AAEX,YAAM,cAAc,MAAM;AACxB,YAAI,wBAAwB;AAC1B,oCAA0B;AAAA,QAC5B,OAAO;AACL,mBAAS,qBAAqB,EAAE,SAAS,MAAM,MAAM,KAAK,CAAC;AAAA,QAC7D;AAAA,MACF;AAEA,aACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,gCAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,8BACb,+BAAAA,QAAA,cAAC,2BAAS,UAAU,+BAAAA,QAAA,6BAAAA,QAAA,cAAE,KACpB,+BAAAA,QAAA,cAAC,SAAI,WAAU,yBAAuB,IAAK,CAC7C,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,2BAA2B,CAAE,GAChE,+BAAAA,QAAA,cAAC,uBAAM,WAAU,sBAAqB,WAAU,cAC9C,+BAAAA,QAAA,cAAC,YAAM,EAAE,mCAAmC,CAAE,GAC9C,+BAAAA,QAAA,cAAC,QAAK,QAAM,QAAE,EAAE,oCAAoC,CAAE,CACxD,GAEA,+BAAAA,QAAA,cAAC,wBAAO,WAAU,6BAA4B,SAAS,eACpD,EAAE,YAAY,IAAI,KAAK,YAC1B,GACA,+BAAAA,QAAA,cAACC,uBAAA,IAAY,CACf,CACF;AAAA,IAEJ;AAEA,IAAOJ,oCAAQ;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEf,IAAAK,eACAC,sBACAC,gBAKM,oBACA,mBAEA,uBA0BC;AApCP;AAAA;AAAA;AAAA,IAAAF,gBAAkC;AAClC,IAAAC,uBAA0B;AAC1B,IAAAC,iBAAgC;AAChC;AACA,IAAAC;AACA;AAEA,IAAM,qBAAqB;AAC3B,IAAM,oBAAoB;AAE1B,IAAM,wBAAwB,MAAM;AAClC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,EAAE,UAAU,IAAI,aAAa;AAEnC,YAAM,EAAE,KAAK,QAAI,gCAAU;AAAA,QACzB,eAAe,cAAc,SAAS,oBAAoB;AAAA,QAC1D,MAAM;AAAA,MACR,CAAC;AAED,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,wBAAuB,cAAY,aAChD,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,2BAAS,UAAU,+BAAAA,QAAA,6BAAAA,QAAA,cAAE,KACpB,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,IAAK,CACzC,GACA,+BAAAA,QAAA,cAAC,uBAAM,WAAU,eAAc,WAAU,cACvC,+BAAAA,QAAA,cAAC,yBAAW,MAAX,MAAiB,EAAE,sCAAsC,CAAE,GAC5D,+BAAAA,QAAA,cAAC,yBAAW,MAAX,MAAiB,EAAE,sCAAsC,CAAE,GAC5D,+BAAAA,QAAA,cAAC,yBAAW,MAAX,MAAiB,EAAE,sCAAsC,CAAE,CAC9D,CACF,GACA,+BAAAA,QAAA,cAACC,uBAAA,IAAY,CACf;AAAA,IAEJ;AAEA,IAAO,gCAAQ;AAAA;AAAA;;;ACpCf;AAAA;AAAA,iBAAAC;AAAA;AAAA,IAAAC,mBACAC,oBACAC,iBACAC,eACAC,gBAqBM,mBAmQCL;AA5RP,IAAAM,0BAAA;AAAA;AAAA;AAAA,IAAAL,oBAA2B;AAC3B,IAAAC,qBAAoD;AACpD,IAAAC,kBAA2B;AAC3B,IAAAC,gBAAuD;AACvD,IAAAC,iBAAoD;AACpD;AAEA;AACA,IAAAE;AACA,IAAAC;AACA;AAOA;AACA;AAEA;AACA,IAAAC;AACA;AACA;AAEA,IAAM,oBAAoB,CAAC,UAAe;AAzB1C;AA0BE,YAAM,WAAW,kBAAkB;AAEnC,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAM,EAAE,MAAM,KAAK,IAAI;AACvB,YAAMC,WAAU,mBAAW;AAC3B,YAAM,QAAQ;AAEd,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,KAAK;AAEpD,YAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAElD,YAAM,CAAC,cAAc,eAAe,QAAI,yBAAsD,OAAO;AAErG,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAE3C,YAAM,CAAC,YAAY,IAAI,mBAAK,QAAQ;AAEpC,YAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,EAAE;AAErD,YAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,IAAI;AAEvD,YAAM,EAAE,2BAA2B,QAAAC,QAAO,IAAI,gBAAgB;AAE9D,YAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,YAAM,EAAE,YAAAC,YAAW,IAAI,WAAW;AAElC,YAAM,EAAE,iBAAiB,IAAI,iBAAiB;AAE9C,YAAM,qBAAiB,wBAAQ,MAAO,+BAAe,sBAAsB,CAAC,KAAK,CAAC;AAElF,YAAM,6BAAyB,wBAAQ,MAAO,+BAAe,wBAAwB,CAAC,KAAK,CAAC;AAE5F,oCAAU,MAAM;AA5DlB,YAAAC;AA6DI,cACEA,MAAA,6CAAc,wBAAd,gBAAAA,IAAmC,qEACnC,wBACA;AACA,2BAAiB;AAAA,YACf,UAAU;AAAA,UACZ,CAAC;AACD,iBAAO,MAAM;AACX,6BAAiB;AAAA,cACf,UAAU;AAAA,YACZ,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF,GAAG,CAAC,yBAAwB,kDAAc,wBAAd,mBAAmC,oCAAoC,CAAC;AAEpG,YAAM,EAAE,KAAK,qBAAqB,QAAI,4BAAW,uCAAoB;AAAA,QACnE,QAAQ;AAAA,QACR,UAAU,MAAM;AACd,0BAAgB,SAAS;AAAA,QAC3B;AAAA,QACA,WAAW,OAAO,WAAW;AAC3B,kBAAQ,IAAI,+BAA+B,MAAM;AACjD,cAAI,CAAC,gBAAgB;AACnB,oDAAgB;AAAA,cAEd,aAAa,6BAAW;AAAA,YAC1B,CAAC;AAAA,UACH,OAAO;AACL,oDAAgB;AAAA,cAEd,aAAa,6BAAW;AAAA,YAC1B,CAAC;AAAA,UACH;AAEA,0BAAgB,SAAS;AAAA,QAC3B;AAAA,QACA,SAAS,CAACC,WAAU;AAClB,kBAAQ,IAAI,6BAA6BA,MAAK;AAC9C,0BAAgB,SAAS;AACzB,UAAAJ,SAAQ,MAAM,EAAE,oCAAoC,CAAC;AAAA,QACvD;AAAA,MACF,CAAC;AAED,YAAM,gBAAgB,MAAM;AAC1B,iBAAS,sCAAsC;AAAA,MACjD;AAEA,YAAM,gBAAgB,CAAC;AAAA,QACrB;AAAA,QACA;AAAA,MACF,MAGM;AACJ,YAAI,YAAY,SAAS,UAAU,KAAK,SAAS,UAAU,MAAM,aAAa,iBAAiB;AAC7F,2BAAiB,QAAQ;AACzB,+BAAqB,QAAQ;AAAA,QAC/B,OAAO;AACL,yBAAe,CAAC,YAAY,SAAS,SAAS,KAAK,SAAS,SAAS,EAAE;AACvE,wBAAc,QAAQ,YAAY,mBAAmB,aAAa,eAAe,CAAC;AAAA,QACpF;AAAA,MACF;AAEA,YAAM,sBAAsB,CAAC,UAAe;AAC1C,cAAM,WAA+B,aAAa,cAAc,UAAU;AAC1E,cAAM,kBAAsC,aAAa,cAAc,iBAAiB;AACxF,uBAAe,CAAC,YAAY,SAAS,SAAS,KAAK,SAAS,SAAS,EAAE;AACvE,YAAI,YAAY,iBAAiB;AAC/B,wBAAc,aAAa,eAAe;AAAA,QAC5C;AAAA,MACF;AACA,YAAM,6BAA6B,CAAC,UAAe;AACjD,cAAM,WAA+B,aAAa,cAAc,UAAU;AAC1E,cAAM,kBAAsC,aAAa,cAAc,iBAAiB;AACxF,sBAAc,QAAQ,YAAY,mBAAmB,aAAa,eAAe,CAAC;AAAA,MACpF;AAEA,YAAM,wBAAwB,MAAM;AAClC,uBAAe,KAAK;AAAA,MACtB;AAEA,YAAM,+BAA+B,MAAM;AACzC,sBAAc,KAAK;AAAA,MACrB;AAEA,YAAM,kBAAkB,eAAAK,QAAM,OAAY;AAE1C,YAAM,SAAS,MAAM;AApJvB,YAAAF;AAqJI,cAAIA,MAAA,6CAAc,wBAAd,gBAAAA,IAAmC,mEAA4E;AACjH,0BAAgB,UAAU,oBAAM,QAAQ;AAAA,YACtC,WAAW;AAAA,YACX,eAAe;AAAA,YACf,cAAc,MAAM;AAClB,qBAAO,cAAc;AAAA,YACvB;AAAA,YACA,SACE,+BAAAE,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAW,EAAE,mCAAmC,CAAE,GACjE,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,kBAAAH,YAAW,EAAE,QAAQ,MAAM;AACzB,oCAAgB,QAAQ,QAAQ;AAChC,qCAAiB;AAAA,sBACf,sBAAsB;AAAA,oBACxB,CAAC;AAED,oBAAAD,QAAO,kCAAmC,UAAU,oBAAoB,CAAC;AAAA,kBAC3E,CAAC;AAAA,gBACH;AAAA;AAAA,cAEC,EAAE,cAAc;AAAA,YACnB,GACA,+BAAAI,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,kCAAgB,QAAQ,QAAQ;AAAA,gBAClC;AAAA;AAAA,cAEC,EAAE,cAAc;AAAA,YACnB,CACF,CACF;AAAA,YAEF,UAAU;AAAA,YACV,cAAc;AAAA,UAChB,CAAC;AAAA,QACH,WAAW,wBAAwB;AACjC,oCAA0B;AAAA,QAC5B,OAAO;AACL,mBAAS,EAAE;AAAA,QACb;AAAA,MACF;AAEA,YAAM,iBAAiB,MAAM;AAC3B,cAAM,WAAW,aAAa,cAAc,UAAU;AACtD,cAAM,kBAAkB,aAAa,cAAc,iBAAiB;AACpE,yBAAiB,CAAC,YAAY,CAAC,eAAe;AAAA,MAChD;AAEA,oCAAU,MAAM;AAAA,MAIhB,GAAG,CAAC,CAAC;AAEL,aACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,eAAO,yBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACZ,iBAAiB,EAAE,6BAA6B,IAAI,EAAE,yBAAyB,CAClF,IAGE,iBAAiB,WAAW,iBAAiB,cAC7C,+BAAAA,QAAA,cAAC,SAAI,WAAU,eACb,+BAAAA,QAAA,cAAC,sBAAK,UAAU,eAAe,MAAM,cAAc,QAAO,YAAW,kBACnE,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,wBAAuB,MAAK,eAAc,SAAS,QAAQ,CAChF,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kCACZ,iBAAiB,EAAE,6BAA6B,IAAI,EAAE,yBAAyB,CAClF,GACA,+BAAAA,QAAA,cAAC,mBAAK,MAAL,EAAU,MAAK,YAAW,cAAc,iBACvC,+BAAAA,QAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,WAAW,qBAAqB;AAAA;AAAA,MAClC,CACF,GAEC,eAAe,+BAAAD,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,8BAA8B,CAAE,GAEnF,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACZ,iBAAiB,EAAE,qCAAqC,IAAI,EAAE,iCAAiC,CAClG,GAEA,+BAAAA,QAAA,cAAC,mBAAK,MAAL,EAAU,MAAK,mBAAkB,cAAc,iBAC9C,+BAAAA,QAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,WAAW;AAAA;AAAA,MACb,CACF,GAEC,cAAc,+BAAAD,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,mCAAmC,CAAE,GAEvF,+BAAAA,QAAA,cAAC,uBAAM,WAAU,qBAAoB,WAAU,cAC7C,+BAAAA,QAAA,cAAC,YAAK,MACD,EAAE,8BAA8B,GAAG,KACtC,+BAAAA,QAAA,cAAC,QAAK,SAAS,eAAe,WAAU,mBACrC,EAAE,2BAA2B,CAChC,CACF,GACA,+BAAAA,QAAA,cAAC,QAAK,QAAM,QAAC,MAAG,EAAE,oCAAoC,CAAE,GACxD,+BAAAA,QAAA,cAAC,YAAM,EAAE,8BAA8B,CAAE,CAC3C,CACF,GACA,+BAAAA,QAAA,cAAC,mBAAK,MAAL,MACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,mBACb,+BAAAA,QAAA,cAAC,wBAAO,WAAU,+BAA8B,UAAS,UAAS,UAAU,iBACzE,iBAAiB,EAAE,iCAAiC,IAAI,EAAE,6BAA6B,CAC1F,GACA,+BAAAA,QAAA,cAACE,uBAAA,IAAY,CACf,CACF,CACF,CACF,GAID,iBAAiB,aAAa,+BAAAF,QAAA,cAAC,mCAAsB,GAGrD,iBAAiB,aAAa,+BAAAA,QAAA,cAACG,mCAAA,EAAyB,wBAAgD,CAC3G;AAAA,IAEJ;AAEA,IAAOlB,6BAAQ;AAAA;AAAA;;;;;;;;;;;AC5Rf;AAAA;AAAA,iBAAAmB;AAAA;AAAA,IAAAC,eACAC,gBAOM,2BAiCCF;AAzCP,IAAAG,kCAAA;AAAA;AAAA;AAAA,IAAAF,gBAAkC;AAClC,IAAAC,iBAAkB;AAClB,IAAAE;AACA;AACA,IAAAC;AACA;AACA;AAEA,IAAM,4BAA4B,MAAM;AACtC,YAAM,EAAE,OAAO,UAAU,IAAI;AAC7B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,sDACb,+BAAAA,QAAA,cAACC,iBAAA,MAAQ,EAAE,+BAA+B,CAAE,GAC5C,+BAAAD,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,eAAO,iCAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBACb,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,wBAAuB,MAAK,eAAc,SAAS,MAAM,SAAS,EAAE,GAAG,GAC1F,+BAAAA,QAAA,cAAC,uBAAM,WAAU,YAAW,WAAU,qBACpC,+BAAAA,QAAA,cAAC,SAAM,OAAO,GAAG,WAAU,WACxB,EAAE,kCAAkC,CACvC,GACA,+BAAAA,QAAA,cAAC,aAAU,WAAU,aAAW,EAAE,kCAAkC,CAAE,GACtE,+BAAAA,QAAA,cAAC,SAAM,OAAO,GAAG,WAAU,WACxB,EAAE,kCAAkC,CACvC,GACA,+BAAAA,QAAA,cAAC,aAAU,WAAU,aAAW,EAAE,kCAAkC,CAAE,GACtE,+BAAAA,QAAA,cAAC,SAAM,OAAO,GAAG,WAAU,WACxB,EAAE,kCAAkC,CACvC,GACA,+BAAAA,QAAA,cAAC,aAAU,WAAU,aAAW,EAAE,kCAAkC,CAAE,CACxE,CACF,CACF,GACA,+BAAAA,QAAA,cAACE,uBAAA,EAAY,WAAU,iBAAgB,CACzC;AAAA,IAEJ;AAEA,IAAOR,qCAAQ;AAAA;AAAA;;;;;;;;;;;ACzCf;AAAA;AAAA,iBAAAS;AAAA;AAAA,IAAAC,mBACAC,oBACAC,iBACAC,eACAC,gBAWM,sBAoGCL;AAnHP,IAAAM,6BAAA;AAAA;AAAA;AAAA,IAAAL,oBAA2B;AAC3B,IAAAC,qBAA+C;AAC/C,IAAAC,kBAA2B;AAC3B,IAAAC,gBAAgD;AAChD,IAAAC,iBAA2C;AAC3C,IAAAE;AACA,IAAAC;AACA;AACA;AACA;AAMA,IAAM,uBAAuB,CAAC,UAAsC;AAClE,YAAM,EAAE,MAAM,KAAK,IAAI;AACvB,YAAM,WAAW,kBAAkB;AACnC,YAAM,CAAC,mBAAmB,oBAAoB,QAAI,yBAAS,KAAK;AAChE,YAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,YAAM,EAAE,0BAA0B,IAAI,SAAS,CAAC;AAChD,YAAM,eAAe,eAAAC,QAAM,OAAY,IAAI;AAC3C,YAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,IAAI;AACrD,YAAM,EAAE,0BAA0B,IAAI,gBAAgB;AACtD,YAAMC,WAAU,mBAAW;AAC3B,YAAM,EAAE,KAAK,wBAAwB,QAAQ,QAAI,4BAAW,kCAAe;AAAA,QACzE,QAAQ;AAAA,QACR,UAAU,MAAM;AACd,kDAAgB;AAAA,YAEd,aAAa,6BAAW;AAAA,UAC1B,CAAC;AAAA,QACH;AAAA,QACA,WAAW,CAAC,WAAoB;AAC9B,cAAI,QAAQ;AACV,oDAAgB;AAAA,cAEd,aAAa,6BAAW;AAAA,YAC1B,CAAC;AACD,gBAAI,2BAA2B;AAC7B,wCAA0B;AAAA,YAC5B,OAAO;AACL,uBAAS,EAAE;AAAA,YACb;AAAA,UACF,OAAO;AACL,iCAAqB,IAAI;AAAA,UAC3B;AAAA,QACF;AAAA,QACA,SAAS,CAACC,WAAU;AAClB,kBAAQ,IAAI,6BAA6BA,MAAK;AAC9C,UAAAD,SAAQ,OAAMC,UAAA,gBAAAA,OAAO,YAAW,6BAA6B;AAAA,QAC/D;AAAA,MACF,CAAC;AAED,YAAM,eAAe,MAAM;AACzB,iBAAS,sCAAsC;AAAA,MACjD;AAEA,YAAMC,wBAAuB,CAAC,WAAgB;AAC5C,cAAM,EAAE,SAAS,IAAI;AACrB,aAAI,qCAAU,WAAU,MAAK,qCAAU,WAAU,IAAI;AACnD,+BAAqB,KAAK;AAC1B,iCAAuB,QAAQ;AAAA,QACjC,OAAO;AACL,+BAAqB,IAAI;AAAA,QAC3B;AAAA,MACF;AAEA,YAAM,iBAAiB,CAAC,WAAgB;AACtC,cAAM,EAAE,SAAS,IAAI;AACrB,6BAAqB,KAAK;AAC1B,wBAAgB,CAAC,QAAQ;AAAA,MAC3B;AAEA,oCAAU,MAAM;AACd,mBAAW,MAAM;AA5ErB;AA6EM,mCAAa,YAAb,mBAAsB,cAAc,6BAApC,mBAA8D;AAAA,QAChE,GAAG,GAAG;AAAA,MACR,GAAG,CAAC,CAAC;AAEL,aACE,+BAAAH,QAAA,cAAC,SAAI,WAAU,uBAAsB,KAAK,gBACxC,+BAAAA,QAAA,cAAC,eAAO,4BAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAmB,EAAE,wBAAwB,CAAE,GAC9D,+BAAAA,QAAA,cAAC,sBAAK,QAAO,YAAW,UAAUG,uBAAsB,kBACtD,+BAAAH,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kCAAgC,EAAE,yBAAyB,CAAE,GAC5E,+BAAAA,QAAA,cAAC,mBAAK,MAAL,EAAU,MAAK,cACd,+BAAAA,QAAA,cAACI,yBAAA,EAAc,WAAU,YAAW,CACtC,GACC,qBAAqB,+BAAAJ,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,wBAAwB,CAAE,GACnF,+BAAAA,QAAA,cAAC,uBAAM,WAAU,YAAW,WAAU,kBACpC,+BAAAA,QAAA,cAAC,YAAM,EAAE,uBAAuB,CAAE,GAClC,+BAAAA,QAAA,cAAC,YACE,EAAE,4BAA4B,GAAG,KAClC,+BAAAA,QAAA,cAAC,QAAK,SAAS,cAAc,WAAU,mBACpC,EAAE,2BAA2B,CAChC,CACF,CACF,CACF,GACA,+BAAAA,QAAA,cAAC,mBAAK,MAAL,MACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,6BACb,+BAAAA,QAAA,cAAC,wBAAO,WAAU,4BAA2B,UAAS,UAAS,SAAkB,UAAU,gBACxF,EAAE,gBAAgB,CACrB,GACA,+BAAAA,QAAA,cAACK,uBAAA,EAAY,WAAU,iBAAgB,CACzC,CACF,CACF,CACF;AAAA,IAEJ;AAEA,IAAOd,gCAAQ;AAAA;AAAA;;;;;;;;;;;ACnHf;AAAA;AAAA,iBAAAe;AAAA;AAAA,IAAAC,eACAC,gBAMM,qBA4DCF;AAnEP,IAAAG,4BAAA;AAAA;AAAA;AAAA,IAAAF,gBAAuB;AACvB,IAAAC,iBAAiC;AAEjC,IAAAE;AACA;AACA;AAEA,IAAM,sBAAsB,MAAM;AAChC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,2BAA2B,cAAc,iBAAiB,IAAI,gBAAgB;AACtF,YAAM,EAAE,oBAAoB,IAAI;AAEhC,oCAAU,MAAM;AACd,yBAAiB;AAAA,UACf,UAAU;AAAA,QACZ,CAAC;AACD,eAAO,MAAM;AACX,2BAAiB;AAAA,YACf,UAAU;AAAA,UACZ,CAAC;AAAA,QACH;AAAA,MACF,GAAG,CAAC,CAAC;AAEL,YAAM,8BAA8B,MAAM;AACxC,iBAAS,4BAA4B;AAAA,UACnC,SAAS;AAAA,UACT,OAAO;AAAA,YACL,wBAAwB;AAAA,UAC1B;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,aAAa,MAAM;AACvB,kCAA0B;AAAA,MAC5B;AAEA,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,wBACb,+BAAAA,QAAA,cAAC,eAAO,2BAA4B,GAEpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,6BAA6B,CAAE,GAElE,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBAAe,EAAE,iCAAiC,CAAE,GACnE,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAa,CAC9B,GAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA,cAAC,wBAAO,WAAU,yBAAwB,SAAS,+BAChD,EAAE,iCAAiC,CACtC,IAIE,2DAAqB,qEACnB,+BAAAA,QAAA,cAAC,wBAAO,WAAU,2BAA0B,SAAS,cAClD,EAAE,eAAe,CACpB,CAGN,GACA,+BAAAA,QAAA,cAACC,uBAAA,EAAY,WAAU,iBAAgB,CACzC;AAAA,IAEJ;AAEA,IAAON,+BAAQ;AAAA;AAAA;;;;;;;;;;;ACnEf;AAAA;AAAA,iBAAAO;AAAA;AAAA,IAAAC,oBACAC,iBACAC,eACAC,gBAQM,sBAiGCJ;AA5GP,IAAAK,6BAAA;AAAA;AAAA;AAAA,IAAAJ,qBAAqC;AACrC,IAAAC,kBAA2B;AAC3B,IAAAC,gBAAgD;AAChD,IAAAC,iBAAgC;AAChC,IAAAE;AACA,IAAAC;AACA,IAAAC;AACA;AACA;AACA;AAEA,IAAM,uBAAuB,MAAM;AACjC,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,EAAE,MAAM,KAAK,IAAI;AAEvB,YAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,KAAK;AAChD,YAAMC,WAAU,mBAAW;AAC3B,YAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,IAAI;AAErD,YAAM,EAAE,KAAK,wBAAwB,QAAQ,QAAI;AAAA,QAC/C,CAAC,aAAqB;AACpB,qBAAO,yCAAqB,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAClD,gBAAI,CAAC,KAAK;AACR,oBAAM,IAAI,MAAM,kCAAkC;AAAA,YACpD;AACA,mBAAO;AAAA,UACT,CAAC;AAAA,QACH;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,UACR,WAAW,CAAC,WAAW;AACrB,iCAAqB;AAAA,UACvB;AAAA,UACA,SAAS,CAACC,WAAU;AAClB,oBAAQ,IAAI,6BAA6BA,MAAK;AAC9C,iBAAIA,UAAA,gBAAAA,OAAO,aAAY,oCAAoC;AACzD,2BAAa,IAAI;AAAA,YACnB,OAAO;AACL,cAAAD,SAAQ,OAAMC,UAAA,gBAAAA,OAAO,YAAW,6BAA6B;AAAA,YAC/D;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,YAAM,uBAAuB,MAAM;AACjC,iBAAS,4BAA4B;AAAA,UACnC,OAAO;AAAA,YACL,sBAAsB;AAAA,UACxB;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,gBAAgB,CAAC,WAAgB;AACrC,cAAM,EAAE,SAAS,IAAI;AACrB,YAAI,YAAY,SAAS,UAAU,KAAK,SAAS,UAAU,IAAI;AAC7D,iCAAuB,QAAQ;AAAA,QACjC,OAAO;AACL,uBAAa,IAAI;AAAA,QACnB;AAAA,MACF;AAEA,YAAM,iBAAiB,CAAC,WAAgB;AACtC,qBAAa,KAAK;AAClB,cAAM,EAAE,SAAS,IAAI;AACrB,wBAAgB,CAAC,QAAQ;AAAA,MAC3B;AAEA,YAAM,eAAe,MAAM;AACzB,iBAAS,sCAAsC;AAAA,MACjD;AAEA,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA,cAAC,eAAO,4BAA4B,GACpC,+BAAAA,QAAA,cAACC,iBAAA,EAAO,gBAAgB,QAAO,EAAE,iCAAiC,CAAE,GACpE,+BAAAD,QAAA,cAAC,SAAI,WAAU,YACb,+BAAAA,QAAA,cAAC,sBAAK,UAAU,eAAe,QAAO,YAAW,kBAC/C,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kCAAgC,EAAE,+BAA+B,CAAE,GAClF,+BAAAA,QAAA,cAAC,mBAAK,MAAL,EAAU,MAAK,cACd,+BAAAA,QAAA,cAACE,yBAAA,EAAc,WAAU,YAAW,CACtC,GACC,aAAa,+BAAAF,QAAA,cAAC,SAAI,WAAU,oBAAkB,EAAE,wBAAwB,CAAE,GAC3E,+BAAAA,QAAA,cAAC,uBAAM,WAAU,YAAW,WAAU,kBACpC,+BAAAA,QAAA,cAAC,YAAM,EAAE,uBAAuB,CAAE,GAClC,+BAAAA,QAAA,cAAC,YACE,EAAE,4BAA4B,GAAG,KAClC,+BAAAA,QAAA,cAAC,QAAK,SAAS,cAAc,WAAU,mBACpC,EAAE,2BAA2B,CAChC,CACF,CACF,CACF,GACA,+BAAAA,QAAA,cAAC,mBAAK,MAAL,MACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,wBAAO,WAAU,4BAA2B,UAAS,UAAS,SAAkB,UAAU,gBACxF,EAAE,aAAa,CAClB,GACA,+BAAAA,QAAA,cAACG,uBAAA,IAAY,CACf,CACF,CACF,CACF,CACF;AAAA,IAEJ;AAEA,IAAOd,gCAAQ;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;AC5Gf,IAAAe,gBACAC,gBAMM,kBAiFCC;AAxFP,IAAAC,yBAAA;AAAA;AAAA;AAAA,IAAAH,iBAAgC;AAChC,IAAAC,iBAA2C;AAC3C;AACA;AACA,IAAAG;AACA;AAEA,IAAM,mBAAmB,CAAC;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,IACF,MAIM;AACJ,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,CAAC,OAAO,QAAQ,QAAI,yBAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3D,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,wBAAS,EAAE;AACpD,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;AAE3E,YAAM,cAAc,CAAC,QAAgB;AACnC,YAAI,SAAS,SAAS,GAAG;AACvB,sBAAY,WAAW,KAAK,GAAG;AAAA,QACjC;AAAA,MACF;AAEA,YAAM,SAAS,MAAM;AACnB,YAAI,SAAS,SAAS,GAAG;AACvB,gBAAM,SAAS,SAAS,MAAM,GAAG,SAAS,SAAS,CAAC;AACpD,sBAAY,MAAM;AAAA,QACpB;AAAA,MACF;AACA,oCAAU,MAAM;AACd,6CAAW;AAAA,MACb,GAAG,CAAC,QAAQ,CAAC;AAEb,oCAAU,MAAM;AACd,oBAAY,wBAAS,EAAE;AAAA,MACzB,GAAG,CAAC,KAAK,CAAC;AAEV,UAAI,CAAC,mBAAmB;AACtB,eACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,wBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACZ,MAAM,IAAI,CAAC,MAAM,QAChB,+BAAAA,QAAA,cAAC,UAAK,KAAK,OAAO,KAAK,WAAW,cAAc,CAAC,QAAQ,cACtD,SAAS,OAAO,WAAM,EACzB,CACD,CACH,GACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACZ,SAAS,IAAI,CAAC,SACb,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,KAAK;AAAA,YACL,cAAY;AAAA,YACZ,SAAS,MAAM;AACb,kBAAI,SAAS,IAAI;AACf;AAAA,cACF;AACA,0BAAY,OAAO,EAAE;AAAA,YACvB;AAAA;AAAA,UAEC;AAAA,QACH,CACD,GACD,+BAAAA,QAAA,cAAC,UAAK,WAAU,YAAW,SAAS,UAClC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,OAAM,MAAK,aAAY,CAC5C,GACA,+BAAAA,QAAA,cAACC,uBAAA,IAAY,CACf,CACF;AAAA,MAEJ;AACA,aACE,+BAAAD,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,wBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,mCACb,+BAAAA,QAAA,cAAC,SAAI,KAAK,8DAA6D,SAAS,KAAI,IAAG,GACvF,+BAAAA,QAAA,cAAC,WAAG,EAAE,0BAA0B,CAAE,GAClC,+BAAAA,QAAA,cAAC,kCAAgB,WAAU,gBAAe,CAC5C,CACF;AAAA,IAEJ;AAEA,IAAOH,4BAAQ;AAAA;AAAA;;;;;;;;;;;ACxFf;AAAA;AAAA,iBAAAK;AAAA;AAAA,IAAAC,iBACAC,eACAC,gBAIAC,oBACAD,gBAMM,oBA4HCH;AAzIP,IAAAK,2BAAA;AAAA;AAAA;AAAA,IAAAJ,kBAA2B;AAC3B,IAAAC,gBAAuB;AACvB,IAAAC,iBAAoC;AACpC;AACA,IAAAG;AAEA,IAAAF,qBAAsC;AACtC,IAAAD,iBAAkB;AAClB;AACA;AAEA;AAEA,IAAM,qBAAqB,CAAC,UAAe;AACzC,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,QAAQ;AAGd,YAAM,CAAC,MAAM,OAAO,QAAI,yBAAmB,SAAS;AACpD,YAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,EAAE;AACzC,YAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,EAAE;AAC3C,YAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAkB;AAChE,YAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAkB,KAAK;AACrE,YAAM,EAAE,YAAY,IAAI,SAAS;AAEjC,YAAM,EAAE,SAAS,eAAe,KAAK,UAAU,QAAI,4BAAW,0CAAuB;AAAA,QACnF,QAAQ;AAAA,QACR,WAAW,MAAM;AACf,mBAAS,EAAE;AAAA,QACb;AAAA,QACA,SAAS,CAACI,WAAe;AACvB,kBAAQ,IAAI,yBAAyBA,MAAK;AAC1C,sBAAYA,MAAK;AACjB,eAAIA,UAAA,gBAAAA,OAAO,gBAAe,OAAO;AAC/B,uBAAW,EAAE;AACb,wBAAY,EAAE;AACd,+BAAmB,KAAK;AACxB,oBAAQ,UAAU;AAAA,UACpB;AAAA,QACF;AAAA,MACF,CAAC;AAED,oCAAU,MAAM;AACd,gBAAQ,UAAU;AAAA,MACpB,GAAG,CAAC,CAAC;AAEL,YAAM,gBAAgB,CAAC,UAAkB;AACvC,YAAI,MAAM,WAAW,GAAG;AACtB,cAAI,UAAU,UAAU;AACtB,uBAAW,KAAK;AAChB,+BAAmB,IAAI;AAAA,UACzB,OAAO;AACL,uBAAW,EAAE;AACb,wBAAY,EAAE;AACd,+BAAmB,IAAI;AACvB,oBAAQ,UAAU;AAClB,+BAAmB,KAAK;AAAA,UAC1B;AAAA,QACF,OAAO;AACL,qBAAW,KAAK;AAChB,6BAAmB,KAAK;AAAA,QAC1B;AAAA,MACF;AAEA,YAAM,iBAAiB,MAAM;AAC3B,YAAK,+BAAe,SAAS;AAE3B,mBAAS,mBAAmB;AAAA,YAC1B,OAAO;AAAA,cACL,SAAU,+BAAe;AAAA,cACzB,UAAU;AAAA,cACV;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,WAAY,+BAAe,aAAa;AAEtC,gBAAM,cAAe,+BAAe;AACpC,gBAAMC,YAAW;AACjB,oBAAU;AAAA,YACR,UAAUA;AAAA,YACV;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAEA,UAAI,SAAS,WAAW;AACtB,eACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,4BACb,+BAAAA,QAAA,cAAC,eAAO,0BAA4B,GACpC,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,wBAAuB,MAAK,eAAc,SAAS,MAAM,SAAS,EAAE,GAAG,GAC1F,+BAAAA,QAAA,cAAC,QAAG,WAAU,mBAAiB,EAAE,8BAA8B,CAAE,GACjE,+BAAAA,QAAA,cAAC,OAAE,WAAU,oBAAkB,EAAE,0BAA0B,CAAE,GAC7D,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBACb,+BAAAA,QAAA,cAACC,2BAAA,EAAiB,UAAU,eAAe,OAAO,SAAS,CAC7D,GACA,+BAAAD,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,UAAU,CAAC;AAAA,YACX,UAAU,+BAAe,eAAc,gBAAgB;AAAA,YACvD,SAAS;AAAA;AAAA,UAER,EAAE,cAAc;AAAA,QACnB,CACF,CACF;AAAA,MAEJ;AAEA,aACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,0BAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,4BACb,+BAAAA,QAAA,cAAC,oBAAQ,WAAU,wBAAuB,MAAK,eAAc,SAAS,MAAM,SAAS,EAAE,GAAG,GAC1F,+BAAAA,QAAA,cAAC,QAAG,WAAU,mBAAiB,EAAE,8BAA8B,CAAE,GACjE,+BAAAA,QAAA,cAAC,OAAE,WAAU,oBAAkB,EAAE,kCAAkC,CAAE,GACrE,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBACb,+BAAAA,QAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,UAAU,CAAC,MAAM;AACf,wBAAY,CAAC;AACb,gBAAI,EAAE,SAAS,GAAG;AAChB,iCAAmB,KAAK;AACxB,iCAAmB,KAAK;AACxB,sBAAQ,SAAS;AAAA,YACnB;AAAA,UACF;AAAA,UACA,OAAO;AAAA;AAAA,MACR,CACH,GAEC,mBAAmB,+BAAAD,QAAA,cAAC,SAAI,WAAU,sBAAoB,EAAE,+BAA+B,CAAE,CAC5F,CACF;AAAA,IAEJ;AAEA,IAAOT,8BAAQ;AAAA;AAAA;;;;;;;;;;;ACzIf;AAAA;AAAA,iBAAAW;AAAA;AAAA,IAAAC,iBACAC,gBAIAC,oBAGM,uBAwDCH;AAhEP,IAAAI,8BAAA;AAAA;AAAA;AAAA,IAAAH,kBAA2B;AAC3B,IAAAC,iBAAgC;AAChC;AACA,IAAAG;AAEA,IAAAF,qBAAgD;AAChD,IAAAG;AACA;AACA,IAAM,wBAAwB,CAAC,SAAc;AAC3C,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,CAAC,KAAK,MAAM,QAAI,yBAAS,EAAE;AAEjC,YAAM,EAAE,iBAAiB,IAAI,gBAAgB;AAE7C,YAAM,EAAE,SAAS,eAAe,KAAK,UAAU,QAAI,4BAAW,0CAAuB;AAAA,QACnF,QAAQ;AAAA,QACR,WAAW,CAAC,QAAQ,WAAW;AAC7B,mBAAS,yBAAyB;AAAA,YAChC,OAAO;AAAA,cACL,aAAa;AAAA,YACf;AAAA,YACA,SAAS;AAAA,UACX,CAAC;AAAA,QACH;AAAA,QACA,SAAS,CAACC,WAAe;AACvB,kBAAQ,IAAI,yBAAyBA,MAAK;AAC1C,iBAAO,EAAE;AACT,eAAIA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,sBAAsB;AACvD,6BAAiB,EAAE,SAAS,KAAK,CAAC;AAAA,UACpC,YAAWA,UAAA,gBAAAA,OAAO,gBAAe,4BAAS,uBAAuB;AAC/D,kBAAM,UAAUA,OAAM,MAAM,WAAW;AACvC,6BAAiB;AAAA,cACf,SAAS;AAAA,cACT,eAAe;AAAA,gBACb;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF,CAAC;AAED,YAAM,gBAAgB,CAAC,UAAkB;AACvC,eAAO,KAAK;AACZ,YAAI,MAAM,WAAW,GAAG;AACtB,oBAAU,KAAK;AAAA,QACjB;AAAA,MACF;AAEA,aACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,6BAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,gCACb,+BAAAA,QAAA,cAACC,iBAAA,EAAO,gBAAgB,MAAM,GAC9B,+BAAAD,QAAA,cAAC,SAAI,WAAU,aACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,gBAAc,EAAE,iCAAiC,CAAE,GAClE,+BAAAA,QAAA,cAAC,OAAE,WAAU,oBAAkB,EAAE,8BAA8B,CAAE,GACjE,+BAAAA,QAAA,cAACE,2BAAA,EAAiB,UAAU,eAAe,OAAO,KAAK,mBAAmB,eAAe,CAC3F,CACF,CACF;AAAA,IAEJ;AAEA,IAAOV,iCAAQ;AAAA;AAAA;;;;;;;;;;;AChEf,IAAAW,gBACAC,iBAEAC,eACAC,iBACAC,aACAC,gBAYM,gBAkNCC;AApOP,IAAAC,uBAAA;AAAA;AAAA;AAAA,IAAAP,iBAA6B;AAC7B,IAAAC,kBAA6B;AAE7B,IAAAC,gBAAyC;AACzC,IAAAC,kBAA+B;AAC/B,IAAAC,cAAqD;AACrD,IAAAC,iBAA4D;AAC5D;AACA;AACA;AASA,IAAM,iBAAiB,CAAC,UAAkB;AACxC,YAAM,OAAO,MAAM;AACnB,YAAM,aAAa,mBAAK,SAAS,MAAM,MAAM,IAAI;AACjD,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,CAAC,iBAAiB,MAAM,GAAG,CAAC;AAC3E,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,CAAC,mBAAmB,oBAAoB,QAAI,yBAAS,KAAK;AAChE,YAAM,eAAW,uBAAY;AAC7B,YAAM,iBAAa,uBAAY;AAC/B,YAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,EAAE;AACjD,YAAM,qBAAiB,uBAAY;AACnC,YAAM,oBAAgB,wBAAQ,MAAM;AAClC,eAAO,qBAAqB,OAAO,CAAC,SAAS;AAC3C,iBAAO,KAAK,KAAK,GAAG,EAAE,YAAY,EAAE,SAAS,YAAY,YAAY,CAAC;AAAA,QACxE,CAAC;AAAA,MACH,GAAG,CAAC,WAAW,CAAC;AAEhB,wCAAa,MAAM;AACjB,6BAAqB,KAAK;AAAA,MAC5B,GAAG,QAAQ;AAEX,oCAAU,MAAM;AACd,YAAI,mBAAmB;AACrB,yBAAe,EAAE;AAAA,QACnB;AAAA,MACF,GAAG,CAAC,iBAAiB,CAAC;AAEtB,oCAAU,MAAM;AACd,YAAI,yCAAY,SAAS,MAAM;AAC7B;AAAA,QACF;AACA,cAAM,cAAc,IAAI,YAAY;AACpC,cAAM,SAAS,cAAc,IAAI,QAAQ,UAAU,EAAE,EAAE,KAAK;AAC5D,aAAK,eAAe;AAAA,UAClB,CAAC,MAAM,OAAO,GAAG,eAAe;AAAA,QAClC,CAAC;AACD,YAAI,OAAO;AACT,eAAK,eAAe,CAAC,QAAQ,CAAC;AAAA,QAChC;AAAA,MACF,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,oCAAU,MAAM;AA1DlB;AA2DI,YAAI;AACF,eAAI,8CAAY,aAAZ,oCAAuB,MAAM;AAC/B,iBAAK,eAAe;AAAA,cAClB,QAAQ;AAAA,YACV,CAAC;AAAA,UACH,WAAW,YAAY;AACrB,oBAAI,gCAAmB,UAAU,GAAG;AAClC,oBAAM,kBAAc,8BAAiB,UAAU;AAC/C,oBAAM,QAAQ,YAAY;AAE1B,mBAAK,eAAe;AAAA,gBAClB,QAAQ;AAAA,cACV,CAAC;AAED,oBAAM,cAAc,YAAY,mBAAmB,SAAS;AAC5D,oBAAM,aAAa,YAAY;AAE/B,kBAAI,eAAe,YAAY;AAC7B,sBAAM,QAAQ,qBAAqB;AAAA,kBACjC,CAAC,SAAS,KAAK,GAAG,SAAS,MAAM,eAAe,KAAK,GAAG,YAAY,MAAM,WAAW,YAAY;AAAA,gBACnG;AACA,oBAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,iCAAe,MAAM,MAAM,SAAS,EAAE;AAAA,gBACxC;AAAA,cACF;AAAA,YACF;AAAA,UACF,OAAO;AACL,kBAAM,iBAAiB,kBAAkB;AACzC,gBAAI,gBAAgB;AAClB,6BAAe,cAAc;AAAA,YAC/B;AAAA,UACF;AAAA,QACF,SAASG,QAAP;AAAA,QAEF;AAAA,MACF,GAAG,CAAC,UAAU,CAAC;AAEf,aACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,sBAA4B,GACpC,+BAAAA,QAAA,cAAC,SAAI,WAAU,gCACb,+BAAAA,QAAA;AAAA,QAAC,mBAAK;AAAA,QAAL;AAAA,UACC,WAAW,CAAC,MAAM,YAAa,MAAM,YAAY,MAAM,gBAAgB,UAAW,WAAW;AAAA,UAC7F,OAAO,MAAM;AAAA,UACb,MAAM,MAAM;AAAA;AAAA,QAEZ,+BAAAA,QAAA,cAAC,uBAAM,UAAU,MAAM,UAAU;AAAA,MACnC,GACA,+BAAAA,QAAA;AAAA,QAAC,mBAAK;AAAA,QAAL;AAAA,UACC,MAAK;AAAA,UACL,WAAW,MAAM,YAAY,MAAM,eAAe,UAAU,WAAW;AAAA,UACvE,OAAO,MAAM;AAAA,UAIb,OAAO;AAAA,YACL;AAAA,cACE,UAAU;AAAA,cACV,WAAW,CAAC,MAAM,UAAU;AAC1B,oBAAI;AACF,sBAAI,CAAC,OAAO;AACV,2BAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,kBACrD,OAAO;AACL,wBAAI;AACF,8BAAQ,IAAI,YAAY,MAAM;AAC9B,0BAAI,KAAC,gCAAmB,KAAK,GAAG;AAC9B,+BAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,sBACrD;AAAA,oBACF,SAASD,QAAP;AACA,6BAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,oBACrD;AAAA,kBACF;AAAA,gBACF,SAASA,QAAP;AACA,yBAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,gBACrD;AACA,uBAAO,QAAQ,QAAQ;AAAA,cACzB;AAAA,YACF;AAAA,UACF;AAAA;AAAA,QAEA,+BAAAC,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,aAAa,EAAE,gBAAgB;AAAA,YAC/B,UAAU,MAAM;AAAA,YAChB,UAAU;AAAA,YACV,UAAU,CAAC,UAAU;AACnB,mBAAK,eAAe;AAAA,gBAClB,CAAC,MAAM,OAAO,IAAI,YAAY,MAAM;AAAA,cACtC,CAAC;AAAA,YACH;AAAA,YACA,SAAS,MAAM;AApJ3B;AAqJc,6BAAS,cAAc,iCAAiC,MAAxD,mBAA2D,aAAa,cAAc;AAAA,YACxF;AAAA,YACA,QAAQ,MAAM;AAvJ1B;AAwJc,6BAAS,cAAc,iCAAiC,MAAxD,mBAA2D,aAAa,cAAc;AAAA,YACxF;AAAA,YACA,aACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,qBAAoB,KAAK,cACtC,+BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,sBAAI,CAAC,MAAM,UAAU;AACnB,yCAAqB,CAAC,iBAAiB;AACvC,+BAAW,MAAM;AAjKvC;AAkKwB,2CAAe,YAAf,mBAAwB;AAAA,oBAC1B,CAAC;AAAA,kBACH;AAAA,gBACF;AAAA,gBACA,KAAK;AAAA;AAAA,cAEL,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,6BAAuB,gBAAAC,SAAmB,GAAG,YAAY,IAAI,CAAE,GAC9E,+BAAAD,QAAA,cAAC,+BAAa,WAAU,aAAY,CACtC;AAAA,cACA,+BAAAA,QAAA,cAAC,cAAK,KAAE,YAAY,EAAG;AAAA,YACzB,GAEC,qBACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,kCACb,+BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,CAAC,MAAM;AACd,oBAAE,gBAAgB;AAAA,gBACpB;AAAA;AAAA,cAEA,+BAAAA,QAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK;AAAA,kBACL,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,aAAa,EAAE,6BAA6B;AAAA,kBAC5C,YAAU;AAAA,kBACV,UAAU,CAAC,MAAM;AA7LzC;AA8L0B,0BAAM,UAAQ,4BAAG,WAAH,mBAAW,UAAS;AAClC,mCAAe,KAAK;AAAA,kBACtB;AAAA;AAAA,cACF;AAAA,YACF,GACC,iBAAiB,CAAC,CAAC,cAAc,SAChC,+BAAAA,QAAA,cAAC,SAAI,WAAU,oBACZ,cAAc,IAAI,CAAC,MAAM,UACxB,+BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,KAAK,GAAG,KAAK,MAAM,KAAK,MAAM,KAAK;AAAA,gBACnC,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,iCAAe,IAAI;AACnB,uCAAqB,KAAK;AAAA,gBAC5B;AAAA;AAAA,cAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,iBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBAAgB,gBAAAC,SAAmB,GAAG,KAAK,IAAI,CAAE,GAChE,+BAAAD,QAAA,cAAC,UAAK,WAAU,kBAAgB,KAAK,EAAG,CAC1C;AAAA,cACA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBAAgB,MAAM,KAAK,EAAG;AAAA,YAC/C,CACD,CACH,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,aAAU,SAAO,CAEpC,CAEJ;AAAA;AAAA,QAEJ;AAAA,MACF,CACF,CACF;AAAA,IAEJ;AAEA,IAAOH,0BAAQ;AAAA;AAAA;;;;;;;;;;;ACpOf;AAAA;AAAA,iBAAAK;AAAA;AAAA,IAAAC,oBACAC,iBACAC,eACAC,aACAC,gBA0BM,kBAoOCL;AAlQP,IAAAM,yBAAA;AAAA;AAAA;AAAA,IAAAL,qBAAyD;AACzD,IAAAC,kBAA0C;AAC1C,IAAAC,gBAA2C;AAC3C,IAAAC,cAAiC;AACjC,IAAAC,iBAAoD;AACpD,IAAAE;AACA,IAAAC;AACA,IAAAC;AACA;AACA;AACA;AACA;AAEA,IAAAC;AACA;AAgBA,IAAM,mBAAmB,CAAC,UAAe;AACvC,YAAM,QAAQ;AACd,YAAM,YAAY,+BAAkB,aAAY;AAChD,YAAM,eAAe,+BAAkB,gBAAe;AACtD,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,CAAC,IAAI,IAAI,mBAAK,QAAQ;AAC5B,YAAM,WAAW,kBAAkB;AACnC,YAAMC,WAAU,mBAAW;AAC3B,YAAM,EAAE,SAAS,IAAI,YAAY;AACjC,YAAM,EAAE,0BAA0B,IAAI,gBAAgB;AACtD,YAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,KAAK;AACxD,YAAM,EAAE,UAAU,0BAA0B,QAAI,4BAAW,mDAAgC;AAAA,QACzF,QAAQ;AAAA,MACV,CAAC;AACD,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,kBAAc,wBAAQ,MAAM;AAChC,eAAO,eAAe,EAAE,UAAU,EAAE,CAAC;AAAA,MACvC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEhB,YAAM,kBAA4B,wBAAQ,MAAM;AAjDlD;AAkDI,cAAM,SAAQ,gDAAa,SAAb,qCAAoB,CAAC,SAAS,KAAK,SAAS,cAAa,CAAC;AACxE,eAAO;AAAA,MACT,GAAG,CAAC,aAAa,QAAQ,CAAC;AAK1B,YAAM,cAAU,wBAAQ,MAAM;AAC5B,eAAO,CAAC,YAAY,SAAS,CAAC,YAAY;AAAA,MAC5C,GAAG,CAAC,WAAW,CAAC;AAMhB,YAAM,gBAAY,wBAAQ,MAAM;AAC9B,eAAO,CAAC,YAAY,cAAc,CAAC;AAAA,MACrC,GAAG,CAAC,WAAW,CAAC;AAEhB,YAAMC,oBAAmB,MAAM;AAC7B,aAAK,eAAe,EAAE,KAAK,CAAC,WAAW;AAtE3C;AAuEM,gBAAM,qBAA2B,4BAAK,eAAe,MAApB,mBAAuB,eAAvB,mBAAmC,QAAQ,OAAO,QAAlD,mBAAuD,SAAvD,gCAAmE;AACpG,2BAAiB,IAAI;AAErB,cAAI,aAAa,aAAW,0CAAU,qBAAV,mBAA4B,WAAU,kBAAkB;AAClF,gCAAM,MAAM;AAAA,cACV,OAAO,EAAE,+BAA+B;AAAA,cACxC,eAAe;AAAA,cACf,cAAc,MAAM;AAClB,uBAAO,cAAc;AAAA,cACvB;AAAA,YACF,CAAC;AACD,6BAAiB,KAAK;AACtB;AAAA,UACF,WACE,aAAa,aACb,gDAAU,qBAAV,mBAA4B,UAA5B,mBAAmC,oBAAkB,qDAAkB,gBACvE;AACA,gCAAM,MAAM;AAAA,cACV,OAAO,EAAE,8BAA8B;AAAA,cACvC,eAAe;AAAA,cACf,cAAc,MAAM;AAClB,uBAAO,cAAc;AAAA,cACvB;AAAA,YACF,CAAC;AACD,6BAAiB,KAAK;AACtB;AAAA,UACF;AAEA,gBAAM,SAAc,CAAC;AACrB,cAAI,aAAa,4BAAS,OAAO;AAC/B,mBAAO,QAAQ;AAAA,UACjB,OAAO;AACL,mBAAO,QAAQ;AAAA,UACjB;AACA,oCAA0B,MAAM,EAC7B,KAAK,CAAC,QAAQ;AACb,qBAAS,mBAAmB;AAAA,cAC1B,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAC;AACD,6BAAiB,KAAK;AAAA,UACxB,CAAC,EACA,MAAM,CAACC,WAAU;AAChB,6BAAiB,KAAK;AACtB,gBAAIA,OAAM,eAAe,OAAO;AAC9B,kCAAM,MAAM;AAAA,gBACV,OAAO,aAAa,4BAAS,QAAQ,EAAE,0BAA0B,IAAI,EAAE,0BAA0B;AAAA,gBACjG,eAAe;AAAA,gBACf,cAAc,MAAM;AAClB,yBAAO,cAAc;AAAA,gBACvB;AAAA,cACF,CAAC;AAAA,YACH,OAAO;AACL,cAAAF,SAAQ,MAAME,OAAM,OAAO;AAAA,YAC7B;AAAA,UACF,CAAC;AAAA,QACL,CAAC;AAAA,MACH;AAEA,YAAM,EAAE,KAAK,gBAAgB,QAAI;AAAA,QAC/B,CAAC,WAAW;AACV,mBAAS,mBAAmB;AAAA,YAC1B,OAAO;AAAA,cACL,SAAS,OAAO;AAAA,cAChB;AAAA,cACA,eAAe,KAAK,cAAc,YAAY;AAAA,cAC9C;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,EAAE,MAAM,IAAK;AAAA,MACf;AAEA,YAAM,qBAAqB,MAAM;AApJnC;AAsJI,cAAI,0CAAU,qBAAV,mBAA4B,YAAS,0CAAU,qBAAV,mBAA4B,QAAO;AAC1E,oCAA0B,MAAM;AAAA,YAC9B;AAAA,YACA,eAAe,KAAK,cAAc,YAAY;AAAA,YAC9C;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,0BAAgB;AAAA,YACd,WAAS,0CAAU,qBAAV,mBAA4B,YAAS,0CAAU,qBAAV,mBAA4B;AAAA,UAC5E,CAAC;AAAA,QACH;AAAA,MACF;AAEA,oCAAU,MAAM;AACd,aAAI,2CAAa,WAAS,2CAAa,KAAI;AACzC,cAAI,aAAa,4BAAS,OAAO;AAC/B,kBAAM,kBAAc,8BAAiB,2CAAa,MAAM,QAAQ,OAAO,GAAG;AAC1E,kBAAM,cAAc,YAAY;AAChC,kBAAM,iBAAiB,YAAY;AACnC,iBAAK,eAAe;AAAA,cAClB,YAAY,aAAa,IAAI,eAAe,gBAAgB;AAAA,YAC9D,CAAC;AAAA,UACH,OAAO;AACL,iBAAK,eAAe;AAAA,cAClB,YAAY,cAAa,2CAAa,WAAS,2CAAa,OAAM,EAAE;AAAA,YACtE,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF,GAAG,CAAC,2CAAa,OAAO,2CAAa,IAAI,QAAQ,CAAC;AAElD,aACE,+BAAAC,QAAA,cAAC,SAAI,WAAU,yBACb,+BAAAA,QAAA,cAAC,eAAO,wBAA4B,GACpC,+BAAAA,QAAA,cAACC,iBAAA,EAAO,gBAAgB,QAAO,YAAY,IAAK,GAChD,+BAAAD,QAAA,cAAC,sBAAK,WAAU,qBAAoB,QAAO,YAAW,MAAY,UAAUF,qBACzE,aAAa,4BAAS,QACrB,+BAAAE,QAAA;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL;AAAA,UACA,UAAU,CAAC;AAAA,UACX,aAAY;AAAA,UACZ,OAAO,+BAAAF,QAAA,cAAC,SAAI,WAAU,uBAAqB,EAAE,uBAAuB,EAAE,OAAO,YAAY,IAAI,CAAE;AAAA;AAAA,MACjG,IAEA,+BAAAA,QAAA;AAAA,QAAC,mBAAK;AAAA,QAAL;AAAA,UACC,MAAK;AAAA,UACL,iBAAgB;AAAA,UAChB,OAAO,+BAAAA,QAAA,cAAC,SAAI,WAAU,uBAAqB,EAAE,uBAAuB,EAAE,OAAO,YAAY,IAAI,CAAE;AAAA,UAC/F,OAAO;AAAA,YACL;AAAA,cACE,UAAU;AAAA,cACV,WAAW,OAAO,MAAM,UAAU;AAChC,oBAAI,CAAC,OAAO;AACV,yBAAO,QAAQ,OAAO,EAAE,2BAA2B,CAAC;AAAA,gBACtD,WAAW,CAAC,YAAY,KAAK,KAAK,GAAG;AACnC,yBAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,gBACrD;AACA,uBAAO,QAAQ,QAAQ;AAAA,cACzB;AAAA,YACF;AAAA,UACF;AAAA;AAAA,QAEA,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,aAAa,YAAY;AAAA,YACzB,UAAU,CAAC;AAAA,YACX,UAAU,CAAC,MACT,KAAK,UAAU;AAAA,cACb;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO,EAAE,OAAO;AAAA,gBAChB,QAAQ,CAAC;AAAA,cACX;AAAA,YACF,CAAC;AAAA;AAAA,QAEL;AAAA,MACF,GAGF,+BAAAA,QAAA,cAAC,mBAAK,MAAL,MACE,UACC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UAEV,SAAS;AAAA,UACT,UAAS;AAAA;AAAA,QAER,EAAE,cAAc;AAAA,MACnB,IAEA,+BAAAA,QAAA,6BAAAA,QAAA,cAAE,CAWN,CACF,GACA,+BAAAA,QAAA,cAACG,uBAAA,IAAY,CACf;AAAA,IAEJ;AAEA,IAAOjB,4BAAQ;AAAA;AAAA;;;;;;;;;;;AClQf;AAAA;AAAA,iBAAAkB;AAAA;AAAA,IAAAC,oBACAC,iBACAC,eACAC,gBAUM,yBA+FCJ;AA5GP,IAAAK,gCAAA;AAAA;AAAA;AAAA,IAAAJ,qBAAiC;AACjC,IAAAC,kBAAkC;AAClC,IAAAC,gBAAuB;AACvB,IAAAC,iBAAyC;AACzC,IAAAE;AACA,IAAAC;AACA;AACA;AACA;AACA;AACA,IAAAC;AACA;AAEA,IAAM,0BAA0B,CAAC,UAAe;AAC9C,YAAM,QAAQ;AACd,YAAM,EAAE,WAAW,UAAU,aAAa,KAAK,IAAI;AACnD,YAAM,WAAW,kBAAkB;AACnC,YAAM,EAAE,aAAa,IAAI,gBAAgB;AACzC,YAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,YAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,IAAI;AAC3C,YAAM,EAAE,SAAS,IAAI,YAAY;AACjC,YAAMC,WAAU,mBAAW;AAC3B,YAAM,kBAAc,wBAAQ,MAAM;AAChC,eAAO,eAAe,EAAE,UAAU,EAAE,CAAC;AAAA,MACvC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEhB,YAAM,eAAW,wBAAQ,MAAM;AAC7B,cAAM,OAAQ,YAAY,KAAK,CAACC,UAASA,MAAK,KAAK,QAAQ,OAAO,EAAE,KAAK,QAAQ,KAAK,CAAC;AACvF,eAAO;AAAA,UACL,GAAG;AAAA,QACL;AAAA,MACF,GAAG,CAAC,aAAa,KAAK,CAAC;AAEvB;AAAA,QACE,MAAM;AACJ,cAAI,YAAY,aAAa;AAC3B,qDAAiB;AAAA,cACf,UAAU;AAAA,cAEV,iBAAiB;AAAA,cAEjB,+BAA+B;AAAA,cAC/B,SAAS;AAAA,YACX,CAAC,EACE,KAAK,CAAC,QAAQ;AACb,yBAAW,KAAK;AAAA,YAClB,CAAC,EACA,MAAM,CAACC,WAAU;AAChB,kBAAI,MAAMA,OAAM;AAChB,mBAAIA,UAAA,gBAAAA,OAAO,gBAAe,OAAO;AAC/B,sBAAM,OAAO,gBAAgB;AAC7B,sBAAM,UAAU,EAAE,IAAI;AACtB,oBAAI,WAAW,WAAW,MAAM;AAC9B,wBAAM;AAAA,gBACR;AAAA,cACF;AACA,cAAAF,SAAQ,MAAM,GAAG;AACjB,yBAAW,MAAM;AACf,yBAAS,qBAAqB,EAAE,SAAS,KAAK,CAAC;AAAA,cACjD,CAAC;AAAA,YACH,CAAC;AAAA,UACL;AAAA,QACF;AAAA,QACA,CAAC,UAAU,WAAW;AAAA,QACtB;AAAA,UACE,MAAM;AAAA,QACR;AAAA,MACF;AAEA,aACE,+BAAAG,QAAA,cAAC,SAAI,WAAU,4BACb,+BAAAA,QAAA,cAAC,eAAO,+BAA4B,GACpC,+BAAAA,QAAA,cAACC,iBAAA,EAAO,gBAAgB,MAAM,GAC9B,+BAAAD,QAAA,cAAC,SAAI,WAAU,8DACZ,UACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,sBACb,+BAAAA,QAAA,cAAC,SAAI,WAAU,kBACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,cAAc,aAAa,SAAS,EAAE,aAAa;AAAA,UACxD,WAAU;AAAA,UACV,KAAI;AAAA;AAAA,MACN,GACA,+BAAAA,QAAA,cAAC,WACC,+BAAAA,QAAA,cAAC,SAAI,WAAU,wBAAuB,KAAK,kBAAY,KAAI,IAAG,CAChE,CACF,CACF,IAEA,+BAAAA,QAAA,cAAC,SAAI,WAAU,kCACb,+BAAAA,QAAA,cAAC,SAAI,KAAK,qCAAU,MAAM,KAAI,IAAG,GACjC,+BAAAA,QAAA,cAAC,SAAI,WAAU,UAAO,yBAAkB,GACxC,+BAAAA,QAAA,cAAC,SAAI,WAAU,UACb,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS,MAAM;AACb,qBAAS,qBAAqB,EAAE,SAAS,KAAK,CAAC;AAAA,UACjD;AAAA;AAAA,QACD;AAAA,MAED,CACF,CACF,CAEJ,CACF;AAAA,IAEJ;AAEA,IAAOZ,mCAAQ;AAAA;AAAA;;;AC5Gf,IAAAc,oBACAC,YACAC,gBAqBM,OAwFA,cAqDC;AApKP;AAAA;AAAA;AAAA,IAAAF,qBAA4B;AAC5B,IAAAC,aAAe;AACf,IAAAC,iBAA+B;AAE/B,IAAAC;AAmBA,IAAM,QAAiB;AAAA,MACrB;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAC,QAAM,KAAK,MAAM,4DAAiC;AAAA,MAC/D;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,4DAA2B;AAAA,MACzD;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,kEAAsC;AAAA,MACpE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,0EAAwC;AAAA,MACtE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,sEAAoD;AAAA,MAClF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,4EAAuD;AAAA,MACrF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,yDAAgC;AAAA,MAC9D;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,oEAA+C;AAAA,MAC7E;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,wEAA+C;AAAA,MAC7E;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,4EAAiD;AAAA,MAC/E;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,0EAAwC;AAAA,MACtE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,4EAAuD;AAAA,MACrF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,oFAAqD;AAAA,MACnF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,oGAA6D;AAAA,MAC3F;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,0FAAwD;AAAA,MACtF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,wFAAuD;AAAA,MACrF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,0FAAwD;AAAA,MACtF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,sFAAsD;AAAA,MACpF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,4FAAyD;AAAA,MACvF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,kFAA4C;AAAA,MAC1E;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,WAAW,eAAAA,QAAM,KAAK,MAAM,gGAA2D;AAAA,MACzF;AAAA,IACF;AAEA,IAAM,eAAe,CAAC,UAAyB;AAC7C,YAAM,WAAO,wBAAQ,MAAM;AAhH7B;AAiHI,YAAIC,SAAO,iBAAM,SAAN,mBAAY,MAAM,SAAlB,mBAAyB,GAAG,QAAQ,OAAO;AACtD,YAAIA,SAAQ,MAAMA,SAAQ,KAAK;AAC7B,UAAAA,QAAO;AAAA,QACT;AACA,YAAIA,UAAS,uBAAkB,KAAC,gCAAY,KAAKA,UAAS,qBAAgB;AACxE,UAAAA,QAAO;AAAA,QACT;AACA,eAAOA;AAAA,MACT,GAAG,CAAC,MAAM,IAAI,CAAC;AAEf,YAAM,kBAAc,wBAAQ,MAAM;AA3HpC;AA4HI,YAAIC,gBAAc,iBAAM,SAAN,mBAAY,MAAM,SAAlB,mBAAyB;AAC3C,YAAI,SAAS,uBAAkB,KAAC,gCAAY,KAAK,SAAS,qBAAgB;AACxE,UAAAA,eAAc;AAAA,QAChB;AACA,eAAOA;AAAA,MACT,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC;AAErB,YAAM,YAAQ,wBAAQ,MAAM;AAC1B,eAAO;AAAA,UACL,GAAI,MAAM,SAAS,CAAC;AAAA,UACpB,GAAG,WAAAC,QAAG,MAAM,WAAW;AAAA,QACzB;AAAA,MACF,GAAG,CAAC,MAAM,OAAO,WAAW,CAAC;AAE7B,YAAM,WAAO,wBAAQ,MAAM;AACzB,YAAIC,QAAO,MAAM,KAAK,CAAC,SAAgB,KAAK,SAAS,QAAQ,KAAK,SAAS,IAAI;AAC/E,YAAI,CAACA,OAAM;AACT,cAAI,MAAM;AACR,oBAAQ,IAAI,aAAa,IAAI;AAAA,UAC/B;AACA,UAAAA,QAAO,MAAM;AAAA,QACf;AACA,eAAOA;AAAA,MACT,GAAG,CAAC,IAAI,CAAC;AAET,aACE,+BAAAJ,QAAA,cAAC,SAAI,aAAW,MAAM,cAAY,WAAAG,QAAG,UAAU,KAAK,GAAG,KAAK,QAC1D,+BAAAH,QAAA;AAAA,QAAC,eAAAA,QAAM;AAAA,QAAN;AAAA,UACC,UACE,+BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,+BAAAA,QAAA,cAACK,kBAAA,IAAgB,CACnB;AAAA;AAAA,QAGF,+BAAAL,QAAA,cAAC,KAAK,WAAL,EAAgB,GAAG,OAAO,UAAU,MAAM,UAAU;AAAA,MACvD,CACF;AAAA,IAEJ;AAEA,IAAO,uBAAQ;AAAA;AAAA;;;AChKA,SAAR,eAAgC;AACrC,QAAM,YAAQ,uBAAY,IAAI;AAE9B,WAAS,YAAY,GAAQ;AAC3B,QAAI,CAAC,MAAM;AAAS;AACpB,UAAM,eAAe,MAAM,QAAQ,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQjD,GACD,mBAAmB,aAAa,IAChC,kBAAkB,aAAa,aAAa,SAAS;AAEvD,UAAM,eAAe,EAAE,QAAQ,SAAS,EAAE,YAAY;AAEtD,QAAI,CAAC,cAAc;AACjB;AAAA,IACF;AAEA,QAAI,EAAE,UAAU;AACI,UAAI,SAAS,kBAAkB,kBAAkB;AACjE,wBAAgB,MAAM;AACtB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF,OAAiB;AACf,UAAI,SAAS,kBAAkB,iBAAiB;AAC9C,yBAAiB,MAAM;AACvB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAEA,gCAAU,MAAM;AACd,QAAI,MAAM,SAAS;AACjB,YAAM,QAAQ,iBAAiB,WAAW,WAAW;AACrD,YAAM,QAAQ,MAAM,EAAE,eAAe,KAAK,CAAC;AAAA,IAC7C;AACA,WAAO,MAAM;AACX,UAAI,MAAM,SAAS;AACjB,cAAM,QAAQ,oBAAoB,WAAW,WAAW;AAAA,MAC1D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AArDA,IAAAM,gBAEM;AAFN;AAAA;AAAA;AAAA,IAAAA,iBAAkC;AAElC,IAAM,cAAc;AAAA;AAAA;;;ACCL,SAAR,UAA2B,OAAY;AAC5C,QAAM,QAAQ,aAAa;AAE3B,gCAAU,MAAM;AACd,QAAI,CAAC,MAAM;AAAS;AACpB,UAAM,QAAQ,MAAM,EAAE,eAAe,KAAK,CAAC;AAAA,EAC7C,GAAG,CAAC,CAAC;AAEL,SACE,+BAAAC,QAAA,cAAC,SAAI,KAAK,OAAO,UAAU,KACxB,MAAM,QACT;AAEJ;AAhBA,IAAAC;AAAA;AAAA;AAAA;AAAA,IAAAA,iBAAiC;AACjC;AAAA;AAAA;;;;;;;;;;;ACDA,IAAAC,eACAC,gBAmBM,eAgFCC;AApGP,IAAAC,uBAAA;AAAA;AAAA;AAAA,IAAAH,gBAAsB;AACtB,IAAAC,iBAA4E;AAE5E;AACA,IAAAG;AACA;AAeA,IAAM,oBAAgB,2BAAW,CAAC,OAAe,QAAQ;AApBzD;AAqBE,YAAM,EAAE,UAAU,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,EAAE,IAAI;AAC/D,YAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,YAAM,CAAC,SAAS,UAAU,QAAI,yBAAS,MAAM,WAAW,KAAK;AAE7D,YAAM,UAAU,MAAM;AACpB,mBAAW,KAAK;AAChB,cAAM,WAAW,MAAM,QAAQ;AAAA,MACjC;AAEA,YAAM,SAAS,MAAM;AACnB,mBAAW,IAAI;AACf,cAAM,UAAU,MAAM,OAAO;AAAA,MAC/B;AAEA,8CAAoB,KAAK,OAAO;AAAA,QAC9B;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE;AAEF,oCAAU,MAAM;AAzClB,YAAAC;AA0CI,oBAAWA,MAAA,MAAM,YAAN,OAAAA,MAAiB,KAAK;AAAA,MACnC,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,WAAI,8CAAY,UAAZ,mBAAmB,KAAK;AAC1B,mBAAW,MAAM,MAAM;AAAA,MACzB;AAEA,aACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,eAAO,sBAA4B,GACnC,cAAc,YAAY,aAAa,MAAM,WAAW,UACvD,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAM;AAAA,UACN,QAAO;AAAA,UACP,eAAe,qBAAqB,MAAM,aAAa;AAAA,UACvD,UAAU;AAAA,UACV,cAAc;AAAA,UACd,cAAc,MAAM;AAClB,mBAAO,MAAM,oBACT,SAAS,cAAc,MAAM,iBAAiB,IAC9C,cAAc,sBAAsB,SAAS,cAAc,MAAM;AAAA,UACvE;AAAA,UACA,UAAU,MAAM;AACd,oBAAQ;AAAA,UACV;AAAA,UACA,WAAU,WAAM,aAAN,YAAkB;AAAA,UAE3B,GAAG;AAAA,UACJ,QAAQ;AAAA,YACN,GAAG,WAAW;AAAA,UAChB;AAAA;AAAA,QAEC;AAAA,MACH,IAEA,+BAAAA,QAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAW,sBAAsB,MAAM,aAAa;AAAA,UACpD,WAAU,WAAM,aAAN,YAAkB;AAAA,UAC5B;AAAA,UACA;AAAA,UACA,WAAU;AAAA,UACV,cAAc,MAAM;AAClB,mBAAO,MAAM,oBACT,SAAS,cAAc,MAAM,iBAAiB,IAC9C,cAAc,sBAAsB,SAAS,cAAc,MAAM;AAAA,UACvE;AAAA,UACA,OAAO,+BAAAD,QAAA,6BAAAA,QAAA,cAAsE;AAAA,UAC7E;AAAA,UACC,GAAG;AAAA;AAAA,QAEH;AAAA,MACH,CAEJ;AAAA,IAEJ,CAAC;AAED,IAAOJ,0BAAQ;AAAA;AAAA;;;ACpGf,IAAAM,gBAEM,wBAYC;AAdP;AAAA;AAAA;AAAA,IAAAA,iBAAyC;AAEzC,IAAM,yBAAyB,CAAC,EAAE,iBAAiB,MAAW;AAC5D,YAAM,4BAAwB,uBAAuB,IAAI;AAEzD,oCAAU,MAAM;AACd,yBAAiB;AAAA,UACf,oBAAoB,sBAAsB;AAAA,QAC5C,CAAC;AAAA,MACH,GAAG,CAAC,gBAAgB,CAAC;AAErB,aAAO,+BAAAC,QAAA,cAAC,SAAI,KAAK,uBAAuB;AAAA,IAC1C;AAEA,IAAO,iCAAQ;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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",
  "names": ["message", "loading_default", "init_loading", "React", "PromptSettingType", "AuthCoreModalEvent", "import_auth_core", "import_react", "events", "error", "base64url", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "facebook_icon_default", "init_facebook_icon", "MyComponent", "React", "google_icon_default", "init_google_icon", "MyComponent", "React", "init_master_password", "MyComponent", "React", "MyComponent", "React", "passkeys_icon_default", "init_passkeys_icon", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "MyComponent", "React", "twitter_icon_default", "init_twitter_icon", "MyComponent", "React", "MyComponent", "React", "init_facebook_icon", "init_google_icon", "init_master_password", "init_passkeys_icon", "init_twitter_icon", "facebook_icon_default", "google_icon_default", "passkeys_icon_default", "twitter_icon_default", "import_react", "React", "Icon", "import_react", "error", "import_auth_core", "import_react", "message", "import_auth_core", "import_react", "events", "connect", "error", "import_auth_core", "isNullish", "import_util", "import_auth_core", "import_max", "numbro", "BN", "ethjs", "isNullish", "import_util", "isTron", "import_util", "import_auth_core", "import_bignumber", "import_auth_core", "import_util", "import_auth_core", "message", "import_auth_core", "import_react", "events", "connect", "_a", "chainId", "message", "import_react", "message", "import_auth_core", "import_react", "events", "connect", "_a", "chainId", "message", "React", "import_react", "power_footer_default", "init_power_footer", "import_react", "socialLoading_default", "init_socialLoading", "init_loading2", "init_power_footer", "React", "power_footer_default", "index_default", "import_auth_core", "import_base64url", "import_react", "init_index", "init_socialLoading", "connect", "React", "qs", "base64url", "error", "authType", "socialLoading_default", "import_react", "React", "account", "message", "login", "error", "throttle", "_a", "React", "import_auth_core", "import_antd", "import_react", "captcha_input_default", "init_captcha_input", "account", "React", "import_antd", "import_react", "account", "message", "language", "phoneValue", "error", "React", "getUnicodeFlagIcon", "import_icons", "import_auth_core", "import_antd", "import_max", "import_react", "import_auth_core", "import_react", "items", "React", "login_default", "_a", "_b", "_c", "_d", "_e", "account", "result", "React", "captcha_input_default", "loginType", "power_footer_default", "import_icons", "import_auth_core", "import_antd", "import_react", "init_login", "init_power_footer", "init_captcha_input", "import_react", "header_default", "init_header", "React", "import_icons", "import_react", "circle_close_default", "init_circle_close", "React", "Icon", "import_antd", "import_react", "bindSecurityAccountPrompt_default", "init_bindSecurityAccountPrompt", "init_circle_close", "React", "circle_close_default", "security_default", "import_auth_core", "import_react", "init_security", "init_header", "init_power_footer", "init_bindSecurityAccountPrompt", "setPaymentPassword", "message", "hasMasterPassword", "checkHasMasterPassword", "_a", "_b", "_c", "_d", "_e", "error", "React", "header_default", "power_footer_default", "bindSecurityAccountPrompt_default", "loginAccount_default", "import_auth_core", "import_ahooks", "import_max", "import_react", "init_loginAccount", "init_header", "init_power_footer", "message", "React", "header_default", "power_footer_default", "deviceList_default", "import_auth_core", "import_ahooks", "import_antd", "import_react", "init_deviceList", "init_header", "init_power_footer", "dayjs", "error", "React", "header_default", "power_footer_default", "deviceDetails_default", "import_auth_core", "import_antd", "import_react", "DeviceList", "init_deviceDetails", "init_header", "init_power_footer", "message", "React", "header_default", "error", "power_footer_default", "import_auth_core", "import_icons", "import_react", "React", "Icon", "error", "message", "import_auth_core", "import_antd", "import_auth_core", "import_react", "setPaymentPassword", "import_auth_core", "import_bignumber", "ethereumUtils", "import_util", "import_auth_core", "import_ahooks", "import_react", "import_chains", "message", "gasFeeDisplay", "ethereumUtils", "totalAmountDisplay", "error", "fetchSuggestedGasFee", "account", "fetchEstimateGas", "React", "import_antd", "import_react", "React", "import_antd", "import_react", "riskTypography_default", "init_riskTypography", "React", "risk", "import_icons", "import_react", "riskReminder_default", "init_riskReminder", "init_riskTypography", "React", "riskTypography_default", "import_react", "React", "import_react", "React", "React", "import_auth_core", "import_ahooks", "import_react", "React", "import_react", "import_auth_core", "import_antd", "import_bignumber", "import_dayjs", "import_numbro", "import_react", "trimDecimals", "init_circle_close", "_a", "_b", "_c", "_d", "tokenIcon", "tokenSymbol", "tokenDecimals", "tokenPrice", "_e", "_f", "_g", "_h", "_i", "_j", "amountChange", "numbro", "isTron", "_k", "_l", "_m", "_n", "dayjs", "React", "isNullish", "circle_close_default", "error", "import_antd", "import_react", "particle_drawer_default", "init_particle_drawer", "init_circle_close", "_a", "_b", "React", "circle_close_default", "ethereumUtils", "maxFee", "React", "particle_drawer_default", "power_footer_default", "import_icons", "import_util", "import_auth_core", "import_antd", "import_bignumber", "import_react", "evm_gas_default", "init_evm_gas", "init_particle_drawer", "init_power_footer", "import_antd", "import_react", "menu_default", "init_menu", "md5", "cloneDeep", "React", "message", "events", "setPaymentPassword", "error", "_a", "renderPageType", "module", "isTron", "BN", "_b", "ethereumUtils", "jt", "React", "CopyToClipboard", "signMessage", "address", "menu_default", "power_footer_default", "riskReminder_default", "circle_close_default", "riskTypography_default", "evm_gas_default", "loading_default", "import_util", "import_analytics", "import_auth_core", "import_antd", "import_bignumber", "import_bn", "import_react", "init_circle_close", "init_loading", "init_power_footer", "init_riskReminder", "init_riskTypography", "init_evm_gas", "init_menu", "React", "import_auth_core", "import_react", "solana", "info_sign_default", "setPaymentPassword", "events", "message", "error", "base58", "React", "_a", "menu_default", "CopyToClipboard", "power_footer_default", "import_analytics", "import_auth_core", "import_antd", "import_react", "import_react_copy_to_clipboard", "init_info_sign", "init_power_footer", "init_menu", "import_auth_core", "import_ahooks", "import_antd", "import_throttle", "import_qs", "import_react", "CaptchaInput", "captcha_input_default", "init_captcha_input", "init_power_footer", "message", "qs", "error", "throttle", "_a", "React", "power_footer_default", "accountBind_default", "import_icons", "import_auth_core", "import_ahooks", "import_antd", "import_unicode", "import_react", "init_accountBind", "init_power_footer", "init_captcha_input", "message", "error", "account", "React", "captcha_input_default", "getUnicodeFlagIcon", "power_footer_default", "accountVerify_default", "import_auth_core", "import_ahooks", "import_antd", "import_base64url", "import_throttle", "import_react", "init_accountVerify", "init_power_footer", "init_loginAccount", "message", "account", "error", "_a", "code", "throttle", "verifyToken", "base64url", "React", "power_footer_default", "import_react", "init_eyeIcon", "React", "import_antd", "import_react", "input_password_default", "init_input_password", "init_eyeIcon", "React", "isNullish", "import_ahooks", "import_antd", "import_react", "setMasterPasswordSuccess_default", "init_setMasterPasswordSuccess", "init_power_footer", "React", "power_footer_default", "import_antd", "import_lottie_react", "import_react", "init_power_footer", "React", "power_footer_default", "setMasterPassword_default", "import_analytics", "import_auth_core", "import_ahooks", "import_antd", "import_react", "init_setMasterPassword", "init_input_password", "init_power_footer", "init_setMasterPasswordSuccess", "message", "events", "disconnect", "_a", "error", "React", "input_password_default", "power_footer_default", "setMasterPasswordSuccess_default", "masterPasswordDescription_default", "import_antd", "import_react", "init_masterPasswordDescription", "init_header", "init_power_footer", "React", "header_default", "power_footer_default", "masterPasswordVerify_default", "import_analytics", "import_auth_core", "import_ahooks", "import_antd", "import_react", "init_masterPasswordVerify", "init_input_password", "init_power_footer", "React", "message", "error", "verifyMasterPassword", "input_password_default", "power_footer_default", "masterPasswordModal_default", "import_antd", "import_react", "init_masterPasswordModal", "init_power_footer", "React", "power_footer_default", "masterPasswordChange_default", "import_auth_core", "import_ahooks", "import_antd", "import_react", "init_masterPasswordChange", "init_header", "init_input_password", "init_power_footer", "message", "error", "React", "header_default", "input_password_default", "power_footer_default", "import_icons", "import_react", "ParticleKeywords_default", "init_ParticleKeywords", "init_power_footer", "React", "power_footer_default", "setPaymentPassword_default", "import_ahooks", "import_antd", "import_react", "import_auth_core", "init_setPaymentPassword", "init_ParticleKeywords", "error", "password", "React", "ParticleKeywords_default", "changePaymentPassword_default", "import_ahooks", "import_react", "import_auth_core", "init_changePaymentPassword", "init_ParticleKeywords", "init_header", "error", "React", "header_default", "ParticleKeywords_default", "import_icons", "import_ahooks", "import_antd", "import_unicode", "import_max", "import_react", "phoneInputItem_default", "init_phoneInputItem", "error", "React", "getUnicodeFlagIcon", "loginAccountBind_default", "import_auth_core", "import_ahooks", "import_antd", "import_max", "import_react", "init_loginAccountBind", "init_header", "init_phoneInputItem", "init_power_footer", "init_loginAccount", "message", "bindLoginAccount", "error", "React", "header_default", "phoneInputItem_default", "power_footer_default", "loginAccountBindLoading_default", "import_auth_core", "import_ahooks", "import_antd", "import_react", "init_loginAccountBindLoading", "init_loading2", "init_header", "init_loginAccount", "message", "item", "error", "React", "header_default", "import_auth_core", "import_qs", "import_react", "init_loading", "React", "path", "queryString", "qs", "Comp", "loading_default", "import_react", "React", "import_react", "import_antd", "import_react", "particle_modal_default", "init_particle_modal", "init_particle_drawer", "_a", "React", "particle_drawer_default", "import_react", "React", "module", "import_auth_core", "import_bs58", "account", "uuidv4", "message", "particleAuth", "base58", "import_base64url", "import_qs", "qs", "base64url", "error", "import_auth_core", "import_react", "connect", "userInfo", "error", "getUserInfo", "React", "import_auth_core", "import_react", "import_auth_core", "import_react", "_a", "_b", "React", "accountTipModal_default", "import_antd", "import_react", "init_accountTipModal", "init_circle_close", "setPaymentPassword", "React", "circle_close_default", "paymentVerifyModal_default", "import_auth_core", "import_ahooks", "import_react", "init_paymentVerifyModal", "init_particle_drawer", "init_ParticleKeywords", "error", "React", "particle_drawer_default", "ParticleKeywords_default", "wrongPasswordModal_default", "import_ahooks", "import_antd", "import_react", "init_wrongPasswordModal", "init_circle_close", "_a", "h", "React", "circle_close_default", "selectSecurityAccount_default", "import_auth_core", "import_antd", "import_react", "init_selectSecurityAccount", "init_particle_drawer", "account", "React", "particle_drawer_default", "_a", "import_auth_core", "import_ahooks", "import_bs58", "import_react", "IframeWalletPlugin", "AccountTipModal", "PaymentVerifyModal", "WrongPasswordModal", "SelectSecurityAccount", "init_particle_modal", "React", "props", "_a", "styles", "setPaymentPassword", "_b", "_c", "_d", "_e", "_f", "_g", "userInfo", "loginAuthorization", "message", "base58", "error", "walletEntryPlugin", "root", "particle_modal_default", "events", "get"]
}
