{"version":3,"file":"static/js/accounts.3aa0687a.chunk.js","mappings":"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","sources":["components/Login/hooks/useFaceIdLogin.tsx","components/Login/hooks/useLoginCallback.ts","elements/Accounts/hooks/useGpsTracking.ts","elements/Accounts/_partials/components/GpsTracking/index.tsx","elements/Accounts/views/LoyaltyPointsVersionsWrapper/index.tsx","elements/Accounts/views/index.tsx","elements/Accounts/hooks/useHandlePreferredLanguage.ts","hooks/auth/useLoginLimit.ts","elements/Accounts/index.tsx","elements/Accounts/hooks/useFetchSectionsData.ts","elements/Accounts/hooks/useSeonIntegration.ts","elements/Accounts/hooks/useCheckDepositReturnUrl.ts","elements/Accounts/layout/index.tsx","hooks/auth/useAccountLogout.ts","services/account/get-remaining-session-duration.ts","hooks/auth/useRestoreLogin.ts","hooks/auth/useUpdateUser.ts","hooks/auth/useUserNotifications.ts","utils/account/payment.ts","utils/account/push-notifications.ts","utils/account/user-info.ts","utils/bom-dom-manipulation/append-script.ts","utils/constants/account/payment.ts","utils/constants/account/reg-fields-json.ts","utils/constants/account/user-status.ts","utils/constants/price-separator.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getCookie } from 'utils/bom-dom-manipulation/cookies';\nimport { login } from 'services/authentication';\nimport { useLoginCallback } from 'components/Login/hooks/useLoginCallback';\nimport { useAccountLogout } from 'hooks/auth/useAccountLogout';\nimport { modalAlert } from 'hooks/usePopup';\n\ntype ReturnType = {\n  removeSecret: () => void;\n  loginWithFaceId: () => void;\n  setCredentials: (username: string, password: string) => void;\n  showConfirmationPopup: (username: string, password: string) => void;\n  credentialsExist: boolean;\n};\n\nexport type TStatus = {\n  hasTouchId: boolean;\n  hasSecret: boolean;\n};\n\ntype TGetAuth = {\n  success: boolean;\n  secret: string;\n  error: string;\n};\n\nexport const useFaceIdLogin = (): ReturnType => {\n  const [credentialsExist, setCredentialsExist] = useState(false);\n  const accountLogout = useAccountLogout();\n\n  const { t } = useTranslation();\n\n  const { loginCallback } = useLoginCallback({\n    rememberMe: false,\n    password: null,\n    username: null\n  });\n\n  useEffect(() => {\n    if (window.median?.auth) {\n      window.median.auth.status({\n        callbackFunction: (data: TStatus) => {\n          if (data && data.hasTouchId && data.hasSecret) {\n            setCredentialsExist(true);\n          }\n        }\n      });\n    }\n  }, []);\n\n  const removeSecret = () => {\n    if (window.median?.auth) {\n      window.median.auth.delete();\n      setCredentialsExist(false);\n    }\n  };\n\n  const loginWithFaceId = () => {\n    if (window.median?.auth) {\n      window.median.auth.status({\n        callbackFunction: (data: TStatus) => {\n          if (data && data.hasTouchId && data.hasSecret) {\n            window.median.auth.get({\n              callbackFunction: (res: TGetAuth) => {\n                if (res && res.success && res.secret) {\n                  const credentials = JSON.parse(res.secret);\n                  const username = credentials.username;\n                  const password = credentials.password;\n\n                  if (username && password) {\n                    login({ username, password }, loginCallback);\n                  }\n                } else if (res && res.error) {\n                  accountLogout();\n                } else {\n                  accountLogout();\n                }\n              },\n              callbackOnCancel: 'true'\n            });\n          }\n        }\n      });\n    }\n  };\n\n  const setCredentials = (username: string, password: string) => {\n    if (window.median?.auth) {\n      removeSecret();\n      window.median.auth.status({\n        callbackFunction: (data: TStatus) => {\n          if (data && data.hasTouchId) {\n            const secret = JSON.stringify({\n              username: username,\n              password: password\n            });\n\n            window.median.auth.save({ secret: secret });\n          }\n        },\n        prompt: 'PROMPT'\n      });\n    }\n  };\n\n  const showConfirmationPopup = (username: string, password: string): void => {\n    if (window.median?.auth) {\n      window.median.auth.status({\n        callbackFunction: (data: TStatus) => {\n          if (data && data.hasTouchId) {\n            modalAlert({\n              text: getCookie('isIOSWrapperApp')\n                ? t('account.faceIdConfirmationInfoIos')\n                : t('account.faceIdConfirmationInfoAndroid'),\n              icon: {\n                lib: 'account',\n                name: getCookie('isIOSWrapperApp') ? 'FaceId' : 'Biometrics',\n                theme: 'colored'\n              },\n              successBtn: {\n                text: t('account.ok'),\n                onClick: () => {\n                  setCredentials(username, password);\n                }\n              },\n              cancelBtn: {\n                text: t('account.cancel')\n              },\n              closable: false\n            });\n          }\n        },\n        prompt: 'PROMPT'\n      });\n    }\n  };\n\n  return {\n    removeSecret,\n    loginWithFaceId,\n    setCredentials,\n    credentialsExist,\n    showConfirmationPopup\n  };\n};\n","import { useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport qs from 'qs';\nimport { checkAndStoreFcmToken } from 'utils/account/push-notifications';\nimport { setUserLoginLimitStartTimeLS } from 'utils/account/user-info';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport { setCookieLoginCredentials } from 'utils/bom-dom-manipulation/login-credentials';\nimport { sendPostMessage } from 'utils/bom-dom-manipulation/send-post-message-to-iframe';\nimport SessionStorage from 'utils/bom-dom-manipulation/session-storage';\nimport { VAIX_IFRAME_ID } from 'utils/constants/app/iframe-ids';\nimport { CookieExpiration } from 'utils/constants/dateInfo/dateInfo';\nimport {\n  MILLISECONDS_IN_SECOND,\n  SECONDS_PER_MINUTE\n} from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { loginState } from 'utils/sportsbook/api-post-message-sender';\nimport {\n  AuthData,\n  LoginResponse,\n  ProfileData\n} from 'interfaces/authentication';\nimport { AfterSignIn } from 'services/afterSignIn';\nimport {\n  getUser,\n  sendRestoreLoginPostMsg,\n  setTermsAndConditionVersion\n} from 'services/authentication';\nimport { getUserAllNotifications } from 'services/sportsbook/notifications';\nimport { getSavedLocation } from 'components/QueryRoute';\nimport { useUpdateUser } from 'hooks/auth/useUpdateUser';\nimport { setLoginLimit, setUserData, setUserLoggedIn } from 'store/actions';\nimport { setShowAdditionalInfo } from 'store/actions/app-data';\nimport { getRegFieldData } from 'store/selectors/app-data';\n\ntype TLoginCallbackProps = {\n  rememberMe: boolean;\n  userGroups?: string | null;\n  username: string | null;\n  password: string | null;\n  inPopup?: boolean;\n};\n\ntype ReturnType = {\n  loginCallback: (data: LoginResponse) => void;\n  updateAuthData: () => void;\n  isTwoFactorPopupVisible: boolean;\n  qrCodeOrigin?: string;\n};\n\nconst TWO_FACTOR_AUTHENTICATION_STATUS = 4;\n\nexport const useLoginCallback = ({\n  rememberMe,\n  userGroups,\n  inPopup\n}: TLoginCallbackProps): ReturnType => {\n  const authData = useRef<AuthData>();\n  const [isTwoFactorPopupVisible, setIsTwoFactorPopupVisible] = useState(false);\n  const [qrCodeOrigin, setQrCodeOrigin] = useState<string>();\n  const dispatch = useDispatch();\n  const history = useHistory();\n\n  const regFieldsData = useSelector(getRegFieldData);\n\n  const personalId = regFieldsData?.find(\n    field => field && field.formType === 'personalId'\n  );\n\n  const loginCallback = (data: LoginResponse) => {\n    const {\n      auth_token,\n      user_id,\n      qr_code_origin,\n      authentication_status,\n      jwe_token\n    } = data;\n\n    authData.current = {\n      auth_token,\n      user_id,\n      qr_code_origin,\n      jwe_token\n    };\n\n    if (authentication_status === TWO_FACTOR_AUTHENTICATION_STATUS) {\n      setIsTwoFactorPopupVisible(true);\n      setQrCodeOrigin(qr_code_origin);\n\n      return;\n    }\n\n    if (SpringConfigs.ADD_INFO_AFTER_LOGIN) {\n      dispatch(setShowAdditionalInfo(true));\n      LocalStorage.setItem(\n        storageKeyName('customPopup', 'SHOW_ADDITIONAL_INFO'),\n        'true'\n      );\n    }\n\n    checkAndStoreFcmToken();\n\n    updateAuthData();\n\n    sendPostMessage({ type: 'userId', value: data.user_id }, VAIX_IFRAME_ID);\n\n    window.popupIframe && sendRestoreLoginPostMsg(data);\n\n    if (SpringConfigs.IFRAME_SPORTSBOOK) {\n      loginState('loggedIn');\n    }\n\n    if (\n      SpringConfigs.LOGIN_LIMIT_POPUP ||\n      SpringConfigs.PLAYER_ACTIVITY_CHECK\n    ) {\n      setUserLoginLimitStartTimeLS();\n    }\n  };\n\n  const updateAuthData = () => {\n    LocalStorage.setItem(\n      storageKeyName('account', 'AUTH_DATA'),\n      JSON.stringify(authData.current)\n    );\n    getUser(\n      (data: ProfileData) => {\n        storeUser(data);\n\n        if (\n          data.terms_and_conditions_version !== 'v2' &&\n          SpringConfigs.SHOW_ADDITIONAL_CHECKBOX_FOR_LOGIN &&\n          SpringConfigs.VERIFICATION_TYPE === 0\n        ) {\n          setTermsAndConditionVersion('v2', () => {});\n        }\n      },\n      updateUser,\n      'login',\n      false,\n      !!(\n        personalId?.editForm.showOnEditProfile &&\n        personalId.editForm.personalIdType === '2' &&\n        personalId?.editForm.sendCPFAsDocNumber === '1'\n      )\n    );\n\n    if (SpringConfigs.PUSH_NOTIFICATIONS_ENABLED) {\n      getUserAllNotifications();\n    }\n  };\n\n  const { updateUser } = useUpdateUser();\n\n  const storeUser = (userData: ProfileData) => {\n    setCookieLoginCredentials('loginCredentials', {\n      rememberMe,\n      userGroups: userGroups || '',\n      jwe_token: authData?.current?.jwe_token || ''\n    });\n\n    dispatch(\n      setUserData({\n        ...userData,\n        last_login_date:\n          userData.last_login_date ||\n          Math.floor(new Date().getTime() / MILLISECONDS_IN_SECOND)\n      })\n    );\n    dispatch(\n      setLoginLimit((userData.session_duration || 0) * SECONDS_PER_MINUTE)\n    );\n\n    userData.active_time_in_casino &&\n      SessionStorage.setItem(\n        storageKeyName('account', 'ACTIVE_TIME_IN_CASINO'),\n        `${userData.active_time_in_casino}`\n      );\n\n    const afterSignIn = new AfterSignIn();\n    afterSignIn.setAfterExecutionCallback(() => {\n      if (afterSignIn.isActionsExist()) {\n        !inPopup && getSavedLocation();\n      } else {\n        const savedLocation = getSavedLocation();\n\n        const splitLocation = savedLocation.split('?');\n\n        const parsedQuery = qs.parse(splitLocation[1], {\n          ignoreQueryPrefix: true\n        }) as Record<string, string>;\n\n        if (parsedQuery['accounts'] && parsedQuery['login']) {\n          delete parsedQuery.accounts;\n          delete parsedQuery.login;\n        }\n\n        const updatedLocation = `${splitLocation[0]}?${qs.stringify(\n          parsedQuery\n        )}`;\n\n        history.push(updatedLocation);\n      }\n\n      dispatch(setUserLoggedIn(true));\n      LocalStorage.setItem(\n        storageKeyName('account', 'PARENT_ACCOUNT_CURRENCY'),\n        userData.currency\n      );\n\n      setCookieLoginCredentials(\n        'sbuser',\n        {\n          rememberMe,\n          userGroups: userGroups ? userGroups || '' : ''\n        },\n        CookieExpiration.DAYS_15\n      );\n    });\n    afterSignIn.executeActions();\n  };\n\n  return {\n    loginCallback,\n    updateAuthData,\n    isTwoFactorPopupVisible,\n    qrCodeOrigin\n  };\n};\n","import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport {\n  MILLISECONDS_IN_SECOND,\n  SECONDS_PER_MINUTE\n} from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { swarmCommand } from 'services/get-swarm-data';\nimport { useAccountLogout } from 'hooks/auth/useAccountLogout';\nimport { setGeoLocationShakeData } from 'store/actions/app-data';\nimport {\n  resetGpsTrackingParams,\n  updateGpsTrackingParams\n} from 'store/actions/user-data';\nimport { getGeolocationShakeData } from 'store/selectors/app-data';\nimport { getIsConnected } from 'store/selectors/socket';\nimport { getGpsTrackingParams } from 'store/selectors/user-data';\n\nexport const useGpsTracking = (): {\n  popupType: string | undefined;\n  checkLocation: typeof checkLocation;\n  gpsLogout: typeof gpsLogout;\n} => {\n  const dispatch = useDispatch();\n  const accountLogout = useAccountLogout();\n  const gpsTrackingParams = useSelector(getGpsTrackingParams);\n  const geolocationShakeData = useSelector(getGeolocationShakeData);\n  const socetReConnect = useSelector(getIsConnected);\n\n  const [needCheckGeoLocation, setNeedCheckGeoLocation] = useState(true);\n\n  const sendGetGeoToken = useMemo(() => {\n    return gpsTrackingParams.sendGeoToken;\n  }, [gpsTrackingParams.sendGeoToken]);\n\n  const sendGetGeoTokenAction = useMemo(() => {\n    return gpsTrackingParams.action;\n  }, [gpsTrackingParams.action]);\n\n  useEffect(() => {\n    socetReConnect && checkLocation();\n  }, [socetReConnect]);\n\n  useEffect(() => {\n    if (sendGetGeoTokenAction) {\n      checkLocation();\n      clearCheckInterval();\n    } else if (gpsTrackingParams.popupType) {\n      clearCheckInterval();\n    } else if (needCheckGeoLocation) {\n      setCheckInterval();\n    }\n  }, [sendGetGeoTokenAction, gpsTrackingParams.popupType]);\n\n  const clearCheckInterval = useCallback(() => {\n    if (gpsTrackingParams.checkInterval) {\n      clearInterval(gpsTrackingParams.checkInterval);\n\n      updateGpsTrackingParams({\n        checkInterval: 0\n      });\n    }\n  }, [gpsTrackingParams.checkInterval]);\n\n  const setCheckInterval = useCallback(() => {\n    if (!gpsTrackingParams.checkInterval) {\n      const interval = setInterval(() => {\n        checkLocation();\n      }, SpringConfigs.GPS_TRACKING_CHECKING_INTERVAL * SECONDS_PER_MINUTE * MILLISECONDS_IN_SECOND);\n\n      dispatch(\n        updateGpsTrackingParams({\n          checkInterval: interval\n        })\n      );\n    }\n  }, [gpsTrackingParams.checkInterval]);\n\n  useEffect(() => {\n    if (geolocationShakeData) {\n      if (GLOBALS.geolocationWindow) {\n        GLOBALS.geolocationWindow.close();\n        GLOBALS.geolocationWindow = null;\n      }\n\n      if (geolocationShakeData !== 'confirm_geo_token') {\n        dispatch(\n          updateGpsTrackingParams({\n            popupType: 'shakeError'\n          })\n        );\n      } else {\n        gpsTrackingParams.validateGeoRestrictionSuccessCallback?.();\n\n        dispatch(setGeoLocationShakeData(null));\n        dispatch(resetGpsTrackingParams());\n      }\n    }\n  }, [geolocationShakeData]);\n\n  const checkLocation = useCallback(() => {\n    navigator.geolocation.getCurrentPosition(\n      onGeoLocationSuccess,\n      onGeoLocationError,\n      {\n        enableHighAccuracy: true,\n        timeout: 5000,\n        maximumAge: 0\n      }\n    );\n  }, [gpsTrackingParams]);\n\n  const onGeoLocationError = useCallback<PositionErrorCallback>(() => {\n    dispatch(\n      updateGpsTrackingParams({\n        popupType: 'error'\n      })\n    );\n  }, []);\n\n  const onGeoLocationSuccess = useCallback<PositionCallback>(\n    pos => {\n      const crd = pos.coords;\n      sendValidateGeoCommand(crd.latitude, crd.longitude);\n    },\n    [gpsTrackingParams]\n  );\n\n  const sendValidateGeoCommand = useCallback(\n    (lat: number, lng: number) => {\n      const params = {\n        lat: lat,\n        lng: lng\n      };\n\n      if (\n        !gpsTrackingParams.popupType &&\n        !gpsTrackingParams.loadingValidateGeoRestriction\n      ) {\n        dispatch(\n          updateGpsTrackingParams({\n            loadingValidateGeoRestriction: true\n          })\n        );\n\n        swarmCommand(\n          CommandNames.VALIDATE_GEO_RESTRICTION,\n          params,\n          validateGeoRestrictionCallback,\n          null,\n          (data: any) => {\n            checksErrorCallback(data);\n\n            dispatch(\n              updateGpsTrackingParams({\n                loadingValidateGeoRestriction: false\n              })\n            );\n          }\n        );\n      }\n    },\n    [gpsTrackingParams]\n  );\n\n  const gpsLogout = useCallback(() => {\n    const authData = !!JSON.parse(\n      LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))\n    );\n\n    if (authData) {\n      accountLogout();\n    }\n  }, []);\n\n  const validateGeoRestrictionCallback = useCallback(\n    (data: any) => {\n      dispatch(\n        updateGpsTrackingParams({\n          loadingValidateGeoRestriction: false\n        })\n      );\n\n      if (!data.result) {\n        dispatch(\n          updateGpsTrackingParams({\n            popupType: 'error'\n          })\n        );\n      } else {\n        if (sendGetGeoToken && sendGetGeoTokenAction) {\n          sendGetGeoTokenCommand();\n        }\n      }\n    },\n    [gpsTrackingParams]\n  );\n\n  const sendGetGeoTokenCommand = useCallback(() => {\n    if (!gpsTrackingParams.loadingGetGeoToken) {\n      dispatch(\n        updateGpsTrackingParams({\n          loadingGetGeoToken: true\n        })\n      );\n\n      swarmCommand(\n        CommandNames.GET_GEO_TOKEN,\n        {\n          action: sendGetGeoTokenAction\n        },\n        getGeoTokenCallback,\n        null,\n        (data: null) => {\n          checksErrorCallback(data);\n\n          dispatch(\n            updateGpsTrackingParams({\n              loadingGetGeoToken: false\n            })\n          );\n        }\n      );\n    }\n  }, [gpsTrackingParams]);\n\n  const getGeoTokenCallback = useCallback(\n    (data: any) => {\n      dispatch(\n        updateGpsTrackingParams({\n          loadingGetGeoToken: false\n        })\n      );\n\n      if (data.result === 0) {\n        const gpsTrackingLink = `${SpringConfigs.GPS_TRACKING_URL}/?token=${data.details.token}&language=eng&geoDataWriteInterval=50&geoDataListenDuration=20000&siteId=${SpringConfigs.PARTNER_ID}&websocketUrl=${SpringConfigs.SWARM_URL}`;\n\n        if (!isMobile()) {\n          dispatch(\n            updateGpsTrackingParams({\n              popupType: 'qr-popup',\n              trackingLink: gpsTrackingLink,\n              trackingDuration: data.details.duration\n            })\n          );\n        } else {\n          dispatch(\n            updateGpsTrackingParams({\n              popupType: 'confirm',\n              trackingLink: gpsTrackingLink\n            })\n          );\n        }\n      } else {\n        checksErrorCallback(data);\n      }\n    },\n    [gpsTrackingParams]\n  );\n\n  const checksErrorCallback = useCallback(\n    // @Todo FIX_MY_TYPE @todo-account\n    (errorData: Record<string, any> | null = null) => {\n      gpsLogout();\n      gpsTrackingParams.validateGeoRestrictionCancelCallback?.();\n\n      if (errorData) {\n        setNeedCheckGeoLocation(false);\n        dispatch(\n          updateGpsTrackingParams({\n            popupType: 'error',\n            errorPopupTitle: errorData.msg,\n            errorPopupMsg: errorData.data\n          })\n        );\n      } else {\n        setCheckInterval();\n        dispatch(resetGpsTrackingParams());\n      }\n    },\n    [gpsTrackingParams]\n  );\n\n  return {\n    popupType: gpsTrackingParams.popupType,\n    checkLocation: checkLocation,\n    gpsLogout: gpsLogout\n  };\n};\n","import { memo, ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\nimport { useGpsTracking } from '../../../hooks/useGpsTracking';\n\nconst { GpsTrackingPopup } = lazy(\n  () =>\n    import(/* webpackChunkName: \"gps-tracking-popup\" */ './gpsTrackingPopup')\n);\n\nexport const GpsTracking = memo((): ReactElement | null => {\n  const GpsTrackingParams = useGpsTracking();\n\n  return GpsTrackingParams.popupType ? (\n    <Suspense fallback={null}>\n      <GpsTrackingPopup />\n    </Suspense>\n  ) : null;\n});\n","import { Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport { lazy } from 'utils/generic/lazy';\nimport 'components/AccountUI/index.less';\nimport { getPartnerConfigs } from 'store/selectors/socket';\n\nconst { LoyaltyPoints } = lazy(\n  () => import(/* webpackChunkName: \"loyalty-points\" */ '../LoyaltyPoints')\n);\n\nconst { LoyaltyPointsNew } = lazy(\n  () =>\n    import(/* webpackChunkName: \"loyalty-points-v2\" */ '../LoyaltyPointsNew')\n);\n\nexport const LoyaltyPointsVersionsWrapper = () => {\n  const partnerConfigs = useSelector(getPartnerConfigs);\n\n  const isLoyaltyV2 = !!partnerConfigs?.is_loyalty_v2;\n\n  return (\n    <Suspense>\n      {isLoyaltyV2 ? <LoyaltyPointsNew /> : <LoyaltyPoints />}\n    </Suspense>\n  );\n};\n","import { FC, Suspense, useCallback } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { LoyaltyPointsVersionsWrapper } from './LoyaltyPointsVersionsWrapper';\nimport { Loading } from 'components/Loading';\nimport { addQuery, QueryRoute, updateQuery } from 'components/QueryRoute';\nimport { getSectionsData } from 'store/selectors/app-data';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\nimport { AccountsLayout } from '../layout';\n\n/* prettier-ignore-start */ /* eslint-disable */\nconst { Login } =                     lazy(() => import(/* webpackChunkName: \"login\" */                        './Login'));\nconst { Wallet } =                    lazy(() => import(/* webpackChunkName: \"wallet\" */                       './Wallet'));\nconst { ProfilePreview } =            lazy(() => import(/* webpackChunkName: \"profile\" */                      './Profile'));\nconst { Register } =                  lazy(() => import(/* webpackChunkName: \"register\" */                     './Register'));\nconst { Messages } =                  lazy(() => import(/* webpackChunkName: \"account-messages\" */             './Messages'));\nconst { NewPassword } =               lazy(() => import(/* webpackChunkName: \"new-password\" */                 './NewPassword'));\nconst { BonusIframe } =               lazy(() => import(/* webpackChunkName: \"bonus-iframe\" */                 './BonusIframe'));\nconst { BonusesMenu } =               lazy(() => import(/* webpackChunkName: \"bonuses-menu\" */                 './Bonuses/Menu'));\nconst { Settings } =                  lazy(() => import(/* webpackChunkName: \"settings\" */                     './Settings/Menu'));\nconst { MyCards } =                   lazy(() => import(/* webpackChunkName: \"my-cards\" */                     './MyCards/index'));\nconst { Bonuses } =                   lazy(() => import(/* webpackChunkName: \"bonuses\" */                      './Bonuses/Bonus'));\nconst { Rewards } =                   lazy(() => import(/* webpackChunkName: \"rewards\" */                      './Rewards'));\nconst { ForgotPassword } =            lazy(() => import(/* webpackChunkName: \"forgot-password\" */              './Forgot/Password'));\nconst { BalanceHistoryPage } =        lazy(() => import(/* webpackChunkName: \"account-balance\" */              './AccountBalance'));\nconst { AccountStakeAndEarn } =       lazy(() => import(/* webpackChunkName: \"account-stake-and-earb\" */       './AccountStakeAndEarn'));\nconst { Limits } =                    lazy(() => import(/* webpackChunkName: \"settings-limits\" */              './Settings/Limits'));\nconst { Statement } =                 lazy(() => import(/* webpackChunkName: \"statment\" */                     './Statement/index'));\nconst { CustomerJourneyLayout } =     lazy(() => import(/* webpackChunkName: \"customer-journey\" */             './CustomerJourney'));\nconst { TimeOut } =                   lazy(() => import(/* webpackChunkName: \"settings-timeout\" */             './Settings/TimeOut'));\nconst { GamStop } =                   lazy(() => import(/* webpackChunkName: \"settings-gamstop\" */             './Settings/GamStop'));\nconst { ReferFriend } =               lazy(() => import(/* webpackChunkName: \"refer-a-friend\" */               './Bonuses/ReferFriend'));\nconst { LoginLimit } =                lazy(() => import(/* webpackChunkName: \"settings-login-limit\" */         './Settings/LoginLimit'));\nconst { BetingHistoryLayout } =       lazy(() => import(/* webpackChunkName: \"betting-history\" */              './BetingHistory/index'));\nconst { RealityCheck } =              lazy(() => import(/* webpackChunkName: \"settings-reality-check\" */       './Settings/RealityCheck'));\nconst { ProfileEdit } =               lazy(() => import(/* webpackChunkName: \"settings-profile\" */             './Settings/EditeProfile'));\nconst { SelfExclusion } =             lazy(() => import(/* webpackChunkName: \"settings-self-exclusion\" */      './Settings/SelfExclusion'));\nconst { NotificationSettings } =      lazy(() => import(/* webpackChunkName: \"settings-notifications\" */       './Settings/Notifications'));\nconst { AccountStatus } =             lazy(() => import(/* webpackChunkName: \"account-status\" */                './Settings/AccountStatus'));\nconst { ChangePassword } =            lazy(() => import(/* webpackChunkName: \"settings-change-pass\" */         './Settings/ChangePassword'));\nconst { MySessions } =                lazy(() => import(/* webpackChunkName: \"settings-my-session\" */          './Settings/Sessions/index'));\nconst { BonusManagement } =           lazy(() => import(/* webpackChunkName: \"bonus-management\" */             './Bonuses/BonusManagement'));\nconst { Documents } =                 lazy(() => import(/* webpackChunkName: \"settings-documents\" */           './Settings/Documents/index'));\nconst { AccumulatedProfit } =         lazy(() => import(/* webpackChunkName: \"settings-profit\" */              './Settings/AccumulatedProfit'));\nconst { VerifyAccount } =             lazy(() => import(/* webpackChunkName: \"settings-verify-account\" */      './Settings/VerifyAccount/index'));\nconst { TwoFactorAuth } =             lazy(() => import(/* webpackChunkName: \"settings-two-factor\" */          './Settings/TwoFactorAuth/index'));\nconst { SaferGambling } =             lazy(() => import(/* webpackChunkName: \"settings-safer-gambling\" */      './Settings/SaferGambling/index'));\nconst { CurrentSession } =            lazy(() => import(/* webpackChunkName: \"settings-current-session\" */     './Settings/SessionInformation/index'));\nconst { AvailabilityPeriod } =        lazy(() => import(/* webpackChunkName: \"settings-availability-period\" */ './Settings/AvailabilityPeriod/index'));\nconst { ForgotUsername } =            lazy(() => import(/* webpackChunkName: \"forgot-username\" */              './Forgot/Username'));\nconst { BankAccount } =               lazy(() => import(/* webpackChunkName: \"bank-account\" */                 './BankAccount'));\nconst { TransferToFriend } =          lazy(() => import(/* webpackChunkName: \"transfer-to-friend-section\" */           './TransferToFriend/ViewWithVerifyChecker'));\n\n/* prettier-ignore-end */ /* eslint-enable */\n\nexport const Accounts: FC<Record<string, any>> = props => {\n  const history = useHistory();\n  const user = useSelector(getUser);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const accountSections = useSelector(getSectionsData);\n\n  const checkIsSectionVisible = (sectionType: string): boolean => {\n    if (accountSections?.myProfile) {\n      return !accountSections.myProfile.find(\n        section => section.sectionType === sectionType\n      )?.hidden;\n    }\n\n    return false;\n  };\n\n  const redirectToProfile = useCallback(() => {\n    history.push(updateQuery({ accounts: '*', settings: '*', profile: '*' }));\n  }, []);\n\n  if (user.pending || (isLoggedIn && !accountSections?.myProfile)) {\n    return null;\n  }\n\n  return (\n    <AccountsLayout>\n      <Suspense fallback={<Loading />}>\n        <QueryRoute\n          includes={['accounts', 'login']}\n          shouldMount={() => !isLoggedIn && props.signInBtn}\n          onCatch={() =>\n            history.push(addQuery({ accounts: undefined, login: undefined }))\n          }\n          excludes={[]}\n          render={() => (\n            <Login\n              accountNextButtonStyle={props.accountNextButtonStyle}\n              signInBtn={props.signInBtn}\n              signUpBtn={props.signUpBtn}\n            />\n          )}\n        />\n\n        <QueryRoute\n          includes={['accounts', 'forgot-password']}\n          excludes={[]}\n          component={ForgotPassword}\n        />\n        <QueryRoute\n          includes={['accounts', 'forgot-username']}\n          excludes={[]}\n          component={ForgotUsername}\n        />\n        <QueryRoute\n          includes={['accounts', 'reset-password']}\n          excludes={[]}\n          component={NewPassword}\n        />\n        <QueryRoute\n          includes={['accounts', 'register']}\n          excludes={[]}\n          shouldMount={() => !isLoggedIn && props.signUpBtn}\n          onCatch={() =>\n            history.push(\n              updateQuery({ accounts: undefined, register: undefined })\n            )\n          }\n          render={() => (\n            <Register\n              setVisible={props.setVisible}\n              accountSignUpButtonStyle={props.accountSignUpButtonStyle}\n              accountNextButtonStyle={props.accountNextButtonStyle}\n              accountPrevButtonStyle={props.accountPrevButtonStyle}\n              signInBtn={props.signInBtn}\n              signUpBtn={props.signUpBtn}\n              inPopup={props.inPopup}\n            />\n          )}\n        />\n\n        <QueryRoute\n          includes={['accounts', 'profile']}\n          excludes={['settings']}\n          component={ProfilePreview}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'profile']}\n          excludes={[]}\n          component={ProfileEdit}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'menu']}\n          excludes={[]}\n          component={Settings}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'password']}\n          excludes={[]}\n          component={ChangePassword}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'limits']}\n          excludes={[]}\n          component={Limits}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('tabBetLimit')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'bonuses', 'menu']}\n          excludes={[]}\n          component={BonusesMenu}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'bonuses', 'bonus']}\n          excludes={[]}\n          component={Bonuses}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'bonuses', 'refer-friend']}\n          excludes={[]}\n          component={ReferFriend}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'bonuses', 'management']}\n          excludes={[]}\n          component={BonusManagement}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'bonus-iframe']}\n          excludes={[]}\n          component={BonusIframe}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'loyalty-points']}\n          excludes={[]}\n          component={LoyaltyPointsVersionsWrapper}\n          auth={true}\n        />\n\n        <QueryRoute\n          includes={['accounts', 'rewards']}\n          excludes={[]}\n          component={Rewards}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'gamstop']}\n          excludes={[]}\n          component={GamStop}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('tabGamstop')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'accumulated-profit']}\n          excludes={[]}\n          component={AccumulatedProfit}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'reality-check']}\n          excludes={[]}\n          component={RealityCheck}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'login-limit']}\n          excludes={[]}\n          component={LoginLimit}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('loginLimit')}\n          onCatch={redirectToProfile}\n        />\n        {SpringConfigs.SHOW_ACCOUNT_SESSION && (\n          <QueryRoute\n            includes={['accounts', 'settings', 'session-information']}\n            excludes={[]}\n            component={CurrentSession}\n            auth={true}\n          />\n        )}\n        <QueryRoute\n          includes={['accounts', 'settings', 'safer-gambling']}\n          excludes={[]}\n          component={SaferGambling}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('saferGambling')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'availability-period']}\n          excludes={[]}\n          component={AvailabilityPeriod}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('availability-period')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'sessions']}\n          excludes={[]}\n          component={MySessions}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('current-session-info')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'notification-settings']}\n          excludes={[]}\n          component={NotificationSettings}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('tabNotifications')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'timeout']}\n          excludes={[]}\n          component={TimeOut}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('tabTimeOut')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'account-status']}\n          excludes={[]}\n          component={AccountStatus}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'self-exclusion']}\n          excludes={[]}\n          component={SelfExclusion}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('tabSelfExclusion')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'documents']}\n          excludes={[]}\n          component={Documents}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('tabDocuments')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'settings', 'verify-account']}\n          excludes={[]}\n          component={VerifyAccount}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('tabVerifyAccount')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'bet-history']}\n          excludes={[]}\n          component={BetingHistoryLayout}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'stake-and-earn']}\n          excludes={[]}\n          component={!isMobile() && AccountStakeAndEarn}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'balance-history']}\n          excludes={[]}\n          component={BalanceHistoryPage}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'my-cards']}\n          excludes={[]}\n          component={MyCards}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'statement']}\n          excludes={[]}\n          component={Statement}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'two-factor-auth']}\n          excludes={[]}\n          component={TwoFactorAuth}\n          auth={true}\n          shouldMount={() => checkIsSectionVisible('twoFactorAuthentication')}\n          onCatch={redirectToProfile}\n        />\n        <QueryRoute\n          includes={['accounts', 'wallet']}\n          excludes={[]}\n          auth={true}\n          render={(routeProps: any) => {\n            return <Wallet key={routeProps.location.search} />;\n          }}\n        />\n        <QueryRoute\n          includes={['accounts', 'messages']}\n          excludes={[]}\n          component={Messages}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'journey']}\n          excludes={[]}\n          component={CustomerJourneyLayout}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'bank-account']}\n          excludes={[]}\n          component={BankAccount}\n          auth={true}\n        />\n        <QueryRoute\n          includes={['accounts', 'transfer-to-friend']}\n          excludes={[]}\n          component={TransferToFriend}\n          auth={true}\n        />\n      </Suspense>\n    </AccountsLayout>\n  );\n};\n","import { useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { swarmCommand } from 'services/get-swarm-data';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nconst lang = document.documentElement.lang || 'en';\n\nconst PREFERRED_LANGUAGE_MAPPING: Record<string, string> = {\n  'pt-br': 'por'\n};\n\nexport const useHandlePreferredLanguage = () => {\n  const isLoggedIn = useSelector(getIsLoggedIn);\n\n  useEffect(() => {\n    if (isLoggedIn) {\n      swarmCommand(\n        CommandNames.SET_PREFERRED_LANGUAGE,\n        {\n          language:\n            GLOBALS.languageConfigs.swarmLangPrefix ||\n            PREFERRED_LANGUAGE_MAPPING[lang] ||\n            PREFERRED_LANGUAGE_MAPPING[lang.slice(0, 2)] ||\n            SpringConfigs.LANGUAGE_PREFIX ||\n            'eng'\n        },\n        () => {}\n      );\n    }\n  }, [isLoggedIn]);\n};\n","import { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport dayjs from 'dayjs';\nimport qs from 'qs';\nimport { deleteCookie } from 'utils/bom-dom-manipulation/cookies';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport { MILLISECONDS_IN_SECOND } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { ECasinoGameMode } from 'interfaces/casino-data';\nimport { logout } from 'services/authentication';\nimport { getSavedLocation, saveCurrentLocation } from 'components/QueryRoute';\nimport {\n  removeUserData,\n  setClientGamingStateInfo,\n  setUserOptIns\n} from 'store/actions/user-data';\nimport { getSectionsData } from 'store/selectors/app-data';\nimport {\n  getIsLoggedIn,\n  getLoginLimit,\n  getUser\n} from 'store/selectors/user-data';\nimport { useOpenLoginPopup } from '../account/useOpenLoginPopup';\nimport { useSearchParams } from '../useSearchParams';\n\nexport const useLoginLimit = (): void => {\n  const [limitTimeout, setLimitTimeout] = useState<null | ReturnType<\n    typeof setTimeout\n  >>(null);\n\n  const { t } = useTranslation();\n  const dispatch = useDispatch();\n  const history = useHistory();\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const loginLimit = useSelector(getLoginLimit);\n  const { last_login_date: lastLogin } = useSelector(getUser);\n  const accountSections = useSelector(getSectionsData);\n  const searchParams = useSearchParams();\n  const openLoginPopup = useOpenLoginPopup();\n\n  const removeUser = () => {\n    dispatch(removeUserData());\n    dispatch(setUserOptIns(null));\n    dispatch(setClientGamingStateInfo(null));\n\n    deleteCookie('loginCredentials');\n\n    const { accounts } = qs.parse(window.location.search, {\n      ignoreQueryPrefix: true\n    });\n\n    accounts && history.push(getSavedLocation());\n  };\n\n  useEffect(() => {\n    const loginLimitTabEnabled =\n      accountSections &&\n      !accountSections?.myProfile?.find(tab => tab?.formType === 'loginLimit')\n        ?.hidden;\n\n    if (loginLimitTabEnabled && isLoggedIn && loginLimit && lastLogin) {\n      const limitStartTime = LS.getItem(\n        storageKeyName('account', 'LOGIN_LIMIT_START_TIME')\n      );\n\n      const delay = lastLogin + loginLimit - dayjs().unix();\n\n      const timer = delay > 0 ? delay : 1;\n\n      if (!SpringConfigs.LOGIN_LIMIT_POPUP) {\n        setLimitTimeout(\n          setTimeout(\n            () => {\n              logout(() => {\n                removeUser();\n                showToastError(t('account.sessionExpired'));\n\n                if (searchParams.mode === ECasinoGameMode.REAL) {\n                  saveCurrentLocation();\n                  openLoginPopup();\n                }\n              });\n            },\n            limitStartTime !== 'null'\n              ? +limitStartTime\n              : timer * MILLISECONDS_IN_SECOND\n          )\n        );\n      }\n    }\n\n    return () => {\n      if (limitTimeout) {\n        clearTimeout(limitTimeout);\n        setLimitTimeout(null);\n      }\n    };\n  }, [isLoggedIn, loginLimit, lastLogin, accountSections]);\n};\n","import {\n  ReactElement,\n  Suspense,\n  useCallback,\n  useEffect,\n  useLayoutEffect,\n  useMemo,\n  useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport cc from 'classcat';\nimport dayjs from 'dayjs';\nimport QueryString from 'qs';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport SessionStorage from 'utils/bom-dom-manipulation/session-storage';\nimport { RegFieldsDefaultsJson } from 'utils/constants/account/reg-fields-json';\nimport {\n  checkUserStatus,\n  userActiveStep\n} from 'utils/constants/account/user-status';\nimport { HOUR_PER_DAY } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { lazy } from 'utils/generic/lazy';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { showToastSuccess } from 'utils/swarm/swarm-success-handler';\nimport {\n  EAccountWidgetLayoutType,\n  UserOptInsResponse\n} from 'interfaces/account-settings';\nimport { EFavoriteTabsTypes } from 'interfaces/generic';\nimport { PartnerConfig } from 'interfaces/partner-config';\nimport {\n  getAccountJson,\n  getPlayerOptIns,\n  setSelfExclusion\n} from 'services/account-settings';\nimport { AfterSignIn } from 'services/afterSignIn';\nimport { GpsTracking } from './_partials/components/GpsTracking';\nimport { AuthSectionSkeleton } from './_partials/Skeleton/AuthSectionSkeleton';\nimport { useCheckDepositReturnUrl } from './hooks/useCheckDepositReturnUrl';\nimport { useFetchSectionsData } from './hooks/useFetchSectionsData';\nimport { useSeonIntegration } from './hooks/useSeonIntegration';\nimport { Accounts as Pages } from './views';\nimport { useHandlePreferredLanguage } from 'elements/Accounts/hooks/useHandlePreferredLanguage';\nimport { Loading } from 'components/Loading';\nimport { Popup } from 'components/Popup';\nimport {\n  addQueryInString,\n  getSavedLocation,\n  QueryRoute,\n  updateQuery\n} from 'components/QueryRoute';\nimport { Portal } from 'components/Shared/Portal';\nimport { ChangeThemeSkeleton } from 'newcomponents/Shared/account/ChangeTheme/ChangeThemeSkeleton';\nimport { useAccountLogout } from 'hooks/auth/useAccountLogout';\nimport { useLoginLimit } from 'hooks/auth/useLoginLimit';\nimport { useRestoreLogin } from 'hooks/auth/useRestoreLogin';\nimport { useUserNotifications } from 'hooks/auth/useUserNotifications';\nimport { useSearchParams } from 'hooks/useSearchParams';\nimport { useFetchAccountParams } from 'newhooks/account/useFetchAccountParams';\nimport { resetPayments, setClientGamingStateInfo } from 'store/actions';\nimport { setRegField } from 'store/actions/app-data';\nimport {\n  removeUserData,\n  setPaymentDepositPromo,\n  setShowAutoidentVerificationModal,\n  setUserOptIns\n} from 'store/actions/user-data';\nimport {\n  getPersonalizedGenericSettings,\n  getRegFieldData,\n  getRemainingSessionDuration,\n  getSectionsData,\n  getShowAdditionalInfo\n} from 'store/selectors/app-data';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport {\n  getCashbackNotifications,\n  getIsLoggedIn,\n  getLoyaltyNotifications,\n  getPendingSuperBets,\n  getRegIsFinished,\n  getShouldGetUserOptIns,\n  getUser,\n  getUserOptIns\n} from 'store/selectors/user-data';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n  import('./rtl.less');\n}\n\nconst { LoyaltyCurrentLevelBadge } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"LoyaltyCurrentLevelBadge\" */ 'newcomponents/Shared/account/LoyaltyCurrentLevelBadge'\n    )\n);\n\nconst { FavoriteOnHeaderPopup } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"favorite-on-header-popup\" */ './_partials/Favorites/FavoriteOnHeaderPopup'\n    )\n);\n\nconst { BankIDIntegration } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"bank-id-integration\" */ './views/Verification/BankIDIntegration'\n    )\n);\n\nconst { ChangeTheme } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"change-theme-switcher\" */ 'newcomponents/Shared/account/ChangeTheme'\n    )\n);\n\nconst { ProfileInfo } = lazy(\n  () =>\n    import(/* webpackChunkName: \"accounts-pages\" */ 'components/ProfileInfo')\n);\n\nconst { CryptoWallets } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"crypto-wallets\" */ 'newcomponents/Shared/account/CryptoWallets'\n    )\n);\n\nconst { Login } = lazy(\n  () => import(/* webpackChunkName: \"accounts-login\" */ 'components/Login')\n);\n\nconst { RegisterOnPage } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-register-on-page\" */ './views/RegisterOnPage'\n    )\n);\n\nconst { VerifyEmailModal } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-verify-email-modal\" */ './views/Verification/VerifyEmailModal'\n    )\n);\n\nconst { CheckEmailModal } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-check-email-modal\" */ './views/Verification/CheckEmailModal'\n    )\n);\n\nconst { DocumentUploadModal } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-tru-narrative-document-upload-modal\" */ 'components/DocumentUploadModal'\n    )\n);\n\nconst { CounterOfferModal } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-counter-offer-modal\" */ 'components/CounterOfferModal'\n    )\n);\n\nconst { LoginFreeze } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-login-freeze\" */ 'newcomponents/Shared/LoginFreeze'\n    )\n);\n\nconst { RemainingSessionDurationModal } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-remaining-session-duration-modal\" */ 'newcomponents/Shared/account/RemainingSessionDurationModal'\n    )\n);\n\nconst { PlayerInfo } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-player-info-modal\" */ 'components/PlayerInfo'\n    )\n);\n\nconst { AdditionalInfoPopup } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-additional-info-popup\" */ 'newcomponents/Shared/account/AdditionalInfoPopup'\n    )\n);\n\nconst { AuthSection } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"accounts-auth-section\" */ './_partials/AuthSection'\n    )\n);\n\nconst { AutoidentVerificationModal } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"account-autoident-verification-modal\" */ 'components/AutoidentVerificationModal'\n    )\n);\n\nconst { TermsAndConditions } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"terms-and-conditions\" */ './_partials/TermsAndConditions'\n    )\n);\n\nconst { NotVerifiedMessage } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"not-verified-message\" */ './_partials/NotVerifiedMessage'\n    )\n);\n\nconst { VerifyAccountModalRedirect } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"verify-account-modal\" */ './_partials/components/VerifyAccountModalRedirect'\n    )\n);\n\nconst { AccountGenericModals } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"account-generic-modals\" */ 'elements/Accounts/modals/AccountGenericModals'\n    )\n);\n\nconst { NotificationCards } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"notification-cashback-cards\" */ 'newcomponents/UI/Notification/NotificationCards'\n    )\n);\n\nconst { PlayerActivityChecker } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"player-activity-checker\" */ 'newcomponents/Shared/account/PlayerActivityChecker'\n    )\n);\n\nexport type TAccountConfigs = {\n  accountLayout: EAccountWidgetLayoutType;\n  slideView?: 'signin' | 'signup';\n  horizontalView?: boolean;\n  accountSignInButtonType?: string;\n  accountSignInButtonStyle?: string;\n  accountSignInButtonIcon?: string;\n  accountSignUpButtonType?: string;\n  accountSignUpButtonStyle?: string;\n  accountSignUpButtonIcon?: string;\n  accountPrevButtonStyle?: string;\n  accountNextButtonStyle?: string;\n  accountButtonsDistance?: string | number;\n  mounted: boolean;\n  signInBtn?: boolean;\n  signUpBtn?: boolean;\n  favorite?: string;\n  favoriteTabs?: EFavoriteTabsTypes[];\n  fromIframe?: boolean;\n  signInPopupAlias?: string;\n  signUpPopupAlias?: string;\n  inPopup?: boolean;\n};\n\ntype Props = {\n  configs: TAccountConfigs;\n};\n\nexport const Accounts = ({ configs }: Props): ReactElement | null => {\n  const {\n    accountLayout: _layout,\n    slideView,\n    horizontalView,\n    accountSignInButtonStyle,\n    accountSignUpButtonStyle,\n    accountButtonsDistance,\n    mounted,\n    accountPrevButtonStyle,\n    accountNextButtonStyle,\n    signInBtn,\n    signUpBtn,\n    favorite,\n    favoriteTabs: _favoriteTabs,\n    fromIframe,\n    signInPopupAlias,\n    signUpPopupAlias,\n    inPopup\n  } = configs;\n\n  useLoginLimit();\n  useRestoreLogin();\n  useUserNotifications();\n  useFetchSectionsData();\n  useSeonIntegration();\n  useCheckDepositReturnUrl();\n  useHandlePreferredLanguage();\n\n  const { accountParams } = useFetchAccountParams();\n\n  const layout = _layout || 'popup';\n\n  const favoriteTabs: EFavoriteTabsTypes[] | undefined = _favoriteTabs?.map(\n    item => String(item) as EFavoriteTabsTypes\n  );\n\n  const [showBankModal, setShowBankModal] = useState(false);\n  const [visible, setVisible] = useState(false);\n  const [routeHistory, setRouteHistory] = useState<string[]>([]);\n  const [onPageCurrentSlide, setOnPageCurrentSlide] = useState<\n    'signin' | 'signup' | undefined\n  >(layout === EAccountWidgetLayoutType.onPage ? slideView : undefined);\n\n  const { t } = useTranslation();\n  const history = useHistory();\n  const dispatch = useDispatch();\n\n  const queries = useSearchParams();\n  const accountLogout = useAccountLogout();\n  const restoreLogin = useRestoreLogin(true);\n\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const isRegFinished = useSelector(getRegIsFinished);\n  const user = useSelector(getUser);\n  const showAdditionalInfo = useSelector(getShowAdditionalInfo);\n  const pendingSuperBets = useSelector(getPendingSuperBets);\n  const regFieldsData = useSelector(getRegFieldData);\n  const userOptIns = useSelector(getUserOptIns);\n  const shouldGetOptIns = useSelector(getShouldGetUserOptIns);\n  const remainingSessionDuration = useSelector(getRemainingSessionDuration);\n  const partnerConfigs = useSelector(getPartnerConfigs) as PartnerConfig;\n  const accountSections = useSelector(getSectionsData);\n  const cashbackNotifications = useSelector(getCashbackNotifications);\n  const loyaltyNotifications = useSelector(getLoyaltyNotifications);\n  const { accountSettings } = useSelector(getPersonalizedGenericSettings);\n\n  const isLoyaltyV2 =\n    partnerConfigs?.is_using_loyalty_program && partnerConfigs.is_loyalty_v2;\n\n  const additionalInfoPopupInLS = JSON.parse(\n    LocalStorage.getItem(storageKeyName('account', 'ADDITIONAL_INFO_POPUP'))\n  );\n\n  const auth_data_x =\n    JSON.parse(LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))) &&\n    !SpringConfigs.MOCKED_DATA;\n\n  const customPopupAlias = LocalStorage.getItem(\n    storageKeyName('account', 'POPUP_OPEN')\n  );\n\n  const showAdditionalInfoLS = JSON.parse(\n    LocalStorage.getItem(storageKeyName('customPopup', 'SHOW_ADDITIONAL_INFO'))\n  );\n\n  const customPopupOpen =\n    customPopupAlias !== 'null' && customPopupAlias !== 'undefined';\n\n  window.hasPopup = signInPopupAlias || signUpPopupAlias;\n\n  const isInPopup = inPopup === undefined ? false : inPopup;\n\n  const openCustomPopup =\n    Object.keys(queries).length > 1 &&\n    queries.accounts &&\n    ((queries.login && signInPopupAlias) ||\n      (queries.register && signUpPopupAlias)) &&\n    !queries.mode &&\n    !queries.multiview &&\n    !queries.preview;\n\n  useEffect(() => {\n    const authData = JSON.parse(\n      LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))\n    );\n\n    if (openCustomPopup && !authData && !isInPopup) {\n      const casinoGameUrl = JSON.parse(\n        LocalStorage.getItem(storageKeyName('casino', 'SELECTED_GAME_URL'))\n      );\n\n      const prevRoutes =\n        JSON.parse(\n          SessionStorage.getItem(storageKeyName('app', 'PREVIOUS_URL'))\n        ) || {};\n\n      const callBackUrl = casinoGameUrl\n        ? `${casinoGameUrl.pathname}?${casinoGameUrl.search}`\n        : prevRoutes?.login\n        ? prevRoutes?.login\n        : '';\n\n      if (queries.login && signInPopupAlias) {\n        LocalStorage.setItem(\n          storageKeyName('account', 'POPUP_OPEN'),\n          signInPopupAlias\n        );\n\n        LocalStorage.removeItem(storageKeyName('casino', 'SELECTED_GAME_URL'));\n        window.openPopup?.(signInPopupAlias, true, callBackUrl);\n      }\n\n      if (queries.register && signUpPopupAlias) {\n        LocalStorage.setItem(\n          storageKeyName('account', 'POPUP_OPEN'),\n          signUpPopupAlias\n        );\n        window.openPopup?.(signUpPopupAlias, true, callBackUrl);\n      }\n    }\n  }, [openCustomPopup, isLoggedIn, user.pending]);\n\n  useEffect(() => {\n    const authData = JSON.parse(\n      LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))\n    );\n\n    if (!authData && !queries.accounts) {\n      LocalStorage.removeItem(storageKeyName('casino', 'SELECTED_GAME_URL'));\n    }\n  }, [isLoggedIn, queries.accounts]);\n\n  useEffect(() => {\n    if (typeof window.selfExclude !== 'function') {\n      window.selfExclude = (\n        periodObj = {\n          value: 1,\n          label: '1 days',\n          type: 'days',\n          amount: 1,\n          show: true,\n          name: 'days-1',\n          user,\n          reason: '11'\n        },\n        exclusionType = 1\n      ) => {\n        setSelfExclusion(periodObj, exclusionType, accountLogout);\n      };\n    }\n\n    if (signInPopupAlias || signUpPopupAlias) {\n      window.addEventListener('message', handleCustomPopupClose, false);\n    }\n\n    return () => {\n      window.removeEventListener('message', handleCustomPopupClose);\n    };\n  }, []);\n\n  useEffect(() => {\n    if (isLoggedIn) {\n      const searchObject = QueryString.parse(window.location.search, {\n        ignoreQueryPrefix: true\n      });\n\n      if (searchObject && searchObject?.kycaid) {\n        history.replace('/', {});\n        showToastSuccess(t('account.success'));\n      }\n    }\n\n    if (!isLoggedIn) {\n      dispatch(resetPayments());\n      dispatch(setPaymentDepositPromo(null));\n    }\n  }, [isLoggedIn]);\n\n  useLayoutEffect(() => {\n    if (window.refreshWhenLoggedIn || (customPopupOpen && isInPopup)) {\n      const afterSignIn = new AfterSignIn();\n      afterSignIn.setFinalExecutionCallback(() => {\n        history.push(\n          addQueryInString(getSavedLocation(undefined, true, true, true), {\n            login: undefined,\n            register: undefined\n          })\n        );\n\n        if (window.refreshWhenLoggedIn) {\n          GLOBALS.casino.blockCasinoGamePopupOpening = true;\n        }\n\n        if (customPopupOpen && isInPopup) {\n          window.parent.closePopup(customPopupAlias);\n\n          LocalStorage.removeItem(storageKeyName('account', 'POPUP_OPEN'));\n\n          if (window.refreshWhenLoggedIn) {\n            setTimeout(() => {\n              window.parent.location.reload();\n            }, 0);\n          }\n        } else {\n          if (window.refreshWhenLoggedIn) {\n            window.location.reload();\n          }\n        }\n      });\n    }\n  }, []);\n\n  useEffect(() => {\n    if (\n      isLoggedIn &&\n      checkUserStatus.bankIdIntergration(user) &&\n      (SpringConfigs.IS_BANK_ID_INTEGRATION_ENABLED ||\n        +accountParams?.diiaVerification === 1)\n    ) {\n      setShowBankModal(true);\n    } else {\n      setShowBankModal(false);\n    }\n  }, [isLoggedIn, user.active_step, user.active_step_state]);\n\n  useEffect(() => {\n    if (isMobile()) {\n      if (queries.accounts) {\n        document.documentElement.classList.add(\n          'accountModal--html--overflow--hidden'\n        );\n        document.body.classList.add('accountModal--html--overflow--hidden');\n      } else {\n        document.documentElement.classList.remove(\n          'accountModal--html--overflow--hidden'\n        );\n        document.body.classList.remove('accountModal--html--overflow--hidden');\n      }\n    }\n  }, [queries.accounts]);\n\n  const showCounterOfferModals = useMemo(() => {\n    return !(\n      pendingSuperBets === null || Object.keys(pendingSuperBets).length === 0\n    );\n  }, [pendingSuperBets]);\n\n  const onClose = useCallback((val: boolean) => {\n    setVisible(val);\n    LocalStorage.removeItem(\n      storageKeyName('account', 'OPEN_CHECK_EMAIL_MODAL')\n    );\n  }, []);\n\n  const sessionVisibilityRefresh = JSON.parse(\n    LocalStorage.getItem(\n      storageKeyName('account', 'SESSION_VISIBILITY_REFRESH')\n    )\n  );\n\n  if (\n    window.refreshWhenLoggedIn &&\n    SpringConfigs.ADD_INFO_AFTER_LOGIN &&\n    showAdditionalInfo\n  ) {\n    LocalStorage.setItem(\n      storageKeyName('account', 'SESSION_VISIBILITY_REFRESH'),\n      JSON.stringify(1)\n    );\n  }\n\n  useEffect(() => {\n    if (isMobile()) {\n      import(\n        /* webpackChunkName: \"accounts-mobile-layout\" */ /* webpackPreload: true */ './layout/Mobile'\n      );\n    } else {\n      import(\n        /* webpackChunkName: \"accounts-desktop-layout\" */ /* webpackPreload: true */ './layout/Desktop'\n      );\n    }\n  }, []);\n\n  useEffect(() => {\n    const authData = JSON.parse(\n      LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))\n    );\n\n    if (!authData?.auth_token) {\n      dispatch(removeUserData());\n      dispatch(setClientGamingStateInfo(null));\n\n      LocalStorage.removeItem(\n        storageKeyName('account', 'LOGIN_LIMIT_START_TIME')\n      );\n    }\n  }, []);\n\n  useEffect(() => {\n    if (\n      SpringConfigs.IFRAME_SPORTSBOOK &&\n      queries.user_id &&\n      queries.auth_token\n    ) {\n      restoreLogin({\n        auth_token: queries.auth_token,\n        user_id: queries.user_id\n      });\n    }\n  }, [queries.user_id, queries.auth_token]);\n\n  const showDocumentUploadModal =\n    (user.active_step === userActiveStep.USER_ACTIVE_STEP_VALUE_27 &&\n      user.active_step_state ===\n        userActiveStep.USER_ACTIVE_STEP_STATE_VALUE_5) ||\n    (SpringConfigs.SELFIE_WITH_DOCUMENTS && !user.is_verified);\n\n  const showAutoidentVerificationModal = useMemo(() => {\n    const checkAutoident =\n      !!(\n        SpringConfigs.MGA_ACCOUNT_TYPE || SpringConfigs.CANADIAN_ACCOUNT_TYPE\n      ) &&\n      user.active_step === userActiveStep.USER_ACTIVE_STEP_VALUE_33 &&\n      user.active_step_state === userActiveStep.USER_ACTIVE_STEP_STATE_VALUE_5;\n\n    dispatch(setShowAutoidentVerificationModal(checkAutoident));\n\n    return checkAutoident;\n  }, [user]);\n\n  const showVerifyAccountModal =\n    SpringConfigs.SHOW_VERIFY_ACCOUNT_MODAL &&\n    user.active_step === userActiveStep.USER_ACTIVE_STEP_VALUE_50 &&\n    user.active_step_state === userActiveStep.USER_ACTIVE_STEP_STATE_VALUE_5;\n\n  const showNotVerifiedMessage =\n    (SpringConfigs.SHOW_BRAZIL_USER_UNVERIFIED_MESSAGE &&\n      user.active_step_state ===\n        userActiveStep.USER_ACTIVE_STEP_STATE_VALUE_5 &&\n      user.active_step === userActiveStep.USER_ACTIVE_STEP_VALUE_41) ||\n    (SpringConfigs.SHOW_USER_UNVERIFIED_MESSAGE &&\n      user.active_step_state ===\n        userActiveStep.USER_ACTIVE_STEP_STATE_VALUE_5 &&\n      user.active_step === userActiveStep.USER_ACTIVE_STEP_VALUE_40) ||\n    (Boolean(Number(accountParams?.accountVerificationReminder)) &&\n      !user.is_verified);\n\n  useEffect(() => {\n    if (isLoggedIn && !userOptIns && shouldGetOptIns) {\n      getPlayerOptIns((resp: UserOptInsResponse) => {\n        if (resp && resp.details.length) {\n          dispatch(setUserOptIns(resp.details));\n        }\n      });\n    }\n  }, [isLoggedIn, userOptIns, shouldGetOptIns]);\n\n  useEffect(() => {\n    if (queries.accounts) {\n      queries.login &&\n        !routeHistory.includes('login') &&\n        setRouteHistory(prev => [...prev, 'login']);\n      queries.register &&\n        !routeHistory.includes('register') &&\n        setRouteHistory(prev => [...prev, 'register']);\n    }\n  }, [queries.accounts]);\n\n  useEffect(() => {\n    if (isMobile() && queries.login) {\n      import(\n        /* webpackChunkName: \"accounts-nested-modal-login\" */ 'components/Login/Nested'\n      );\n      import(/* webpackChunkName: \"login\" */ './views/Login');\n    }\n  }, [routeHistory, queries.accounts]);\n\n  useEffect(() => {\n    if (!SpringConfigs.ACCOUNT_REGISTRATION_JSON_PATH && !regFieldsData) {\n      dispatch(setRegField(RegFieldsDefaultsJson));\n\n      return;\n    }\n\n    !regFieldsData &&\n      getAccountJson(SpringConfigs.ACCOUNT_REGISTRATION_JSON_PATH)\n        .then(data => {\n          dispatch(setRegField(data));\n        })\n        .catch(() => {\n          dispatch(setRegField(RegFieldsDefaultsJson));\n        });\n  }, [queries.register, onPageCurrentSlide]);\n\n  const termsAndConditionsShowModal = useMemo(() => {\n    const userVersion = Number(user?.terms_and_conditions_version);\n    const currentVersion = Number(accountParams?.tcVersion);\n\n    return (\n      +accountParams?.termsConditionsCustom === 1 &&\n      userVersion < currentVersion &&\n      SpringConfigs.TERMS_POPUP_LINK?.length\n    );\n  }, [\n    user?.terms_and_conditions_version,\n    accountParams?.tcVersion,\n    accountParams?.termsConditionsCustom\n  ]);\n\n  useEffect(() => {\n    isRegFinished && handleSetVisible();\n  }, [isRegFinished]);\n\n  const handleSetVisible = () => {\n    const checkEmailModal = JSON.parse(\n      LocalStorage.getItem(storageKeyName('account', 'OPEN_CHECK_EMAIL_MODAL'))\n    );\n\n    if (checkEmailModal) {\n      setVisible(true);\n    }\n  };\n\n  const handleCustomPopupClose = (event: MessageEvent) => {\n    if (event.data.action !== 'closePopup') {\n      return;\n    }\n\n    const authData = JSON.parse(\n      LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))\n    );\n\n    if (event.data.url && authData) {\n      LocalStorage.removeItem(storageKeyName('account', 'POPUP_OPEN'));\n      history.push(event.data.url);\n\n      return;\n    }\n\n    if (!accountParams?.autologinX) {\n      history.push(\n        updateQuery({\n          accounts: undefined,\n          login: undefined,\n          register: undefined\n        })\n      );\n      handleSetVisible();\n    }\n\n    const location = window.location.search;\n\n    if (\n      location.includes('accounts=') &&\n      (location.includes('login=') || location.includes('register='))\n    ) {\n      LocalStorage.removeItem(storageKeyName('account', 'POPUP_OPEN'));\n      history.push(\n        updateQuery({\n          accounts: undefined,\n          login: undefined,\n          register: undefined\n        })\n      );\n    }\n  };\n\n  const shouldShowPlayerInfo = () => {\n    if (!accountSettings) {\n      return false;\n    }\n\n    if (!accountSettings?.playerInfoShowDate) {\n      return true;\n    }\n\n    const today = dayjs();\n    const playerInfoShowDate = dayjs(\n      accountSettings.playerInfoShowDate,\n      'YYYY/MM/DD HH:mm:ss'\n    );\n\n    const diffInHours = today.diff(playerInfoShowDate, 'hour', true);\n\n    if (!dayjs(playerInfoShowDate).isValid() || diffInHours < 0) {\n      return true;\n    }\n\n    return diffInHours >= HOUR_PER_DAY;\n  };\n\n  if (\n    SpringConfigs.SHOW_ACCOUNT_ADDITIONAL_INFO_MODAL &&\n    isLoggedIn &&\n    additionalInfoPopupInLS == null\n  ) {\n    LocalStorage.setItem(\n      storageKeyName('account', 'ADDITIONAL_INFO_POPUP'),\n      JSON.stringify({\n        count: 1\n      })\n    );\n  }\n\n  if (fromIframe) {\n    return null;\n  }\n\n  return (\n    <>\n      {!!Number(favorite) && (\n        <Suspense fallback={null}>\n          <FavoriteOnHeaderPopup favoriteTypes={favoriteTabs} />\n        </Suspense>\n      )}\n      {SpringConfigs.GPS_TRACKING_ENABLED && (\n        <Suspense fallback={null}>\n          <GpsTracking />\n        </Suspense>\n      )}\n      {isLoggedIn && !user.pending && accountSections?.myProfile && (\n        <>\n          {SpringConfigs.IOVATION_ENABLED &&\n            !SpringConfigs.IOVATION_HIDE_UPLOAD &&\n            showDocumentUploadModal && (\n              <Suspense>\n                <DocumentUploadModal />\n              </Suspense>\n            )}\n          {showVerifyAccountModal && (\n            <Suspense>\n              <VerifyAccountModalRedirect />\n            </Suspense>\n          )}\n          {SpringConfigs.DOC_UPLOAD_TRU_NARRATIVE &&\n            showDocumentUploadModal && (\n              <Suspense>\n                <DocumentUploadModal />\n              </Suspense>\n            )}\n          {SpringConfigs.LOGIN_FREEZE && (\n            <Suspense>\n              <LoginFreeze />\n            </Suspense>\n          )}\n          {SpringConfigs.PLAYER_ACTIVITY_CHECK && (\n            <Suspense>\n              <PlayerActivityChecker />\n            </Suspense>\n          )}\n          {((SpringConfigs.ADD_INFO_AFTER_LOGIN &&\n            (showAdditionalInfo || showAdditionalInfoLS)) ||\n            sessionVisibilityRefresh) &&\n            shouldShowPlayerInfo() && (\n              <Suspense>\n                <PlayerInfo />\n              </Suspense>\n            )}\n\n          {SpringConfigs.SHOW_ACCOUNT_ADDITIONAL_INFO_MODAL &&\n            additionalInfoPopupInLS?.count === 1 && (\n              <Suspense>\n                <AdditionalInfoPopup />\n              </Suspense>\n            )}\n\n          {showAutoidentVerificationModal && (\n            <Suspense>\n              <AutoidentVerificationModal />\n            </Suspense>\n          )}\n          {showCounterOfferModals && (\n            <Suspense>\n              <CounterOfferModal />\n            </Suspense>\n          )}\n          {termsAndConditionsShowModal && (\n            <Suspense>\n              <TermsAndConditions />\n            </Suspense>\n          )}\n          {showNotVerifiedMessage ? (\n            <Suspense>\n              <NotVerifiedMessage />\n            </Suspense>\n          ) : null}\n        </>\n      )}\n      {auth_data_x && !isInPopup ? (\n        <div\n          className={cc([\n            'profileInfo__container',\n            { 'profileInfo__container--mobile': isMobile() }\n          ])}\n        >\n          {!!partnerConfigs?.secondary_wallet_currencies?.length && (\n            <Suspense>\n              <CryptoWallets />\n            </Suspense>\n          )}\n          <Suspense>\n            <ProfileInfo\n              data={auth_data_x}\n              favoriteEnabled={!!Number(favorite)}\n              favoriteTabs={favoriteTabs}\n            />\n          </Suspense>\n        </div>\n      ) : onPageCurrentSlide === 'signin' ? (\n        <div className=\"x-account__onPageWrapper\">\n          <Suspense fallback={<Loading />}>\n            <Login\n              onPage\n              inline\n              horizontal={horizontalView}\n              setOnPageCurrentSlide={setOnPageCurrentSlide}\n              accountSignUpButtonStyle={accountSignUpButtonStyle}\n              accountSignInButtonStyle={accountSignInButtonStyle}\n              accountButtonsDistance={accountButtonsDistance}\n              signInBtn={signInBtn}\n              signUpBtn={signUpBtn}\n              signUpPopupAlias={signUpPopupAlias}\n              inPopup={isInPopup}\n            />\n          </Suspense>\n          {SpringConfigs.THEME_SWITCHER && !isMobile() && !isInPopup && (\n            <Suspense fallback={<ChangeThemeSkeleton />}>\n              <ChangeTheme />\n            </Suspense>\n          )}\n        </div>\n      ) : onPageCurrentSlide === 'signup' && !openCustomPopup ? (\n        <div className=\"x-account__onPageWrapper\">\n          <Suspense fallback={<Loading />}>\n            <RegisterOnPage\n              accountSignUpButtonStyle={accountSignUpButtonStyle}\n              setOnPageCurrentSlide={setOnPageCurrentSlide}\n              onPageCurrentSlide={onPageCurrentSlide}\n              accountPrevButtonStyle={accountPrevButtonStyle}\n              accountNextButtonStyle={accountNextButtonStyle}\n              signInBtn={signInBtn}\n              signUpBtn={signUpBtn}\n              inPopup={inPopup}\n            />\n          </Suspense>\n        </div>\n      ) : (\n        <Suspense fallback={<AuthSectionSkeleton {...configs} />}>\n          <AuthSection {...configs} />\n        </Suspense>\n      )}\n      {mounted && !openCustomPopup && !customPopupOpen && (\n        <Popup\n          open={isMobile() && !!queries.accounts}\n          animationType=\"toLeft\"\n          className={cc([\n            'account-popup',\n            {\n              'register-popup': queries.register,\n              'account-popup-open': isMobile() && !!queries.accounts\n            }\n          ])}\n        >\n          {isMobile() &&\n            !openCustomPopup &&\n            Object.keys(queries).length > 1 &&\n            queries.accounts &&\n            !customPopupOpen && (\n              <Pages\n                setVisible={onClose}\n                accountSignUpButtonStyle={accountSignUpButtonStyle}\n                accountPrevButtonStyle={accountPrevButtonStyle}\n                accountNextButtonStyle={accountNextButtonStyle}\n                signInBtn={signInBtn}\n                signUpBtn={signUpBtn}\n              />\n            )}\n        </Popup>\n      )}\n\n      {!openCustomPopup &&\n        !isMobile() &&\n        Object.keys(queries).length > 1 &&\n        queries.accounts &&\n        !customPopupOpen && (\n          <Pages\n            setVisible={setVisible}\n            accountSignUpButtonStyle={accountSignUpButtonStyle}\n            accountPrevButtonStyle={accountPrevButtonStyle}\n            accountNextButtonStyle={accountNextButtonStyle}\n            signInBtn={signInBtn}\n            signUpBtn={signUpBtn}\n          />\n        )}\n      <Suspense>\n        <QueryRoute\n          includes={['verify', 'code']}\n          excludes={[]}\n          component={VerifyEmailModal}\n        />\n      </Suspense>\n\n      {/* portal here */}\n\n      {showBankModal && (\n        <Suspense>\n          <BankIDIntegration\n            visible={showBankModal}\n            close={() => setShowBankModal(false)}\n          />\n        </Suspense>\n      )}\n\n      {visible && (\n        <Suspense>\n          <CheckEmailModal visible={visible} setVisible={onClose} />\n        </Suspense>\n      )}\n\n      {!!remainingSessionDuration?.isOpen && (\n        <Suspense>\n          <RemainingSessionDurationModal />\n        </Suspense>\n      )}\n\n      {queries.accounts && (\n        <Suspense>\n          <AccountGenericModals />\n        </Suspense>\n      )}\n\n      {isLoggedIn &&\n        (Boolean(loyaltyNotifications?.length) ||\n          Boolean(cashbackNotifications?.length)) && (\n          <Suspense>\n            <NotificationCards />\n          </Suspense>\n        )}\n\n      {isLoggedIn && isLoyaltyV2 && (\n        <Portal>\n          <Suspense>\n            <LoyaltyCurrentLevelBadge />\n          </Suspense>\n        </Portal>\n      )}\n    </>\n  );\n};\n","import { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { getAccountJson } from 'services/account-settings';\nimport { setSectionsData } from 'store/actions/app-data';\nimport { getSectionsData } from 'store/selectors/app-data';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const useFetchSectionsData = (): void => {\n  const dispatch = useDispatch();\n  const sectionsData = useSelector(getSectionsData);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n\n  useEffect(() => {\n    if (isLoggedIn) {\n      if (!sectionsData?.sections && SpringConfigs.SECTIONS_JSON) {\n        getAccountJson(SpringConfigs.SECTIONS_JSON)\n          .then(data => {\n            dispatch(setSectionsData(data));\n          })\n          .catch(() => {\n            dispatch(setSectionsData([]));\n          });\n      }\n\n      if (!SpringConfigs.SECTIONS_JSON) {\n        dispatch(setSectionsData([]));\n      }\n    }\n  }, [isLoggedIn]);\n};\n","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { appendScript } from 'utils/bom-dom-manipulation/append-script';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { setSeonSessionData } from 'store/actions/app-data';\n\nexport const useSeonIntegration = (): void => {\n  const dispatch = useDispatch();\n\n  useEffect(() => {\n    if (SpringConfigs.SEON_INTEGRATION && !window.seon) {\n      appendScript(\n        'https://cdn.deviceinf.com/js/v5/agent.js',\n        'seonScript',\n        () => {\n          if (window.seon) {\n            window.seon?.getBase64Session((data: any) => {\n              if (data) {\n                dispatch(setSeonSessionData(data));\n              } else {\n                console.error('Failed to retrieve session data');\n              }\n            });\n          }\n        }\n      );\n    }\n  }, []);\n};\n","import { useLayoutEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport qs from 'qs';\nimport { depositSuccessDataTracking } from 'utils/account/payment';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport {\n  DepositStatusMessages,\n  StatusUrlNames\n} from 'utils/constants/account/payment';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { showToastWarning } from 'utils/generic/show-toast-warning';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { appendCustomCode } from 'utils/other/customCode';\nimport { AppendCustomCodes } from 'interfaces/generic';\nimport { addQuery } from 'components/QueryRoute';\nimport { useFetchAccountParams } from 'newhooks/account/useFetchAccountParams';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nexport const useCheckDepositReturnUrl = () => {\n  const history = useHistory();\n  const { t } = useTranslation();\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const user: Record<string, any> = useSelector(getUser);\n  const { accountParams } = useFetchAccountParams();\n\n  const customCode = () => {\n    if (\n      accountParams &&\n      +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_DEPOSIT_FAIL]\n    ) {\n      const paymentInfo = JSON.parse(\n        LocalStorage.getItem(storageKeyName('account', 'PAYMENT_DATA'))\n      );\n\n      appendCustomCode(\n        accountParams[AppendCustomCodes.CUSTOM_CODE_DEPOSIT_FAIL],\n        {\n          ...user,\n          ...paymentInfo\n        }\n      );\n    }\n  };\n\n  useLayoutEffect(() => {\n    if (isLoggedIn) {\n      const searchObject = qs.parse(history.location.search, {\n        ignoreQueryPrefix: true\n      });\n\n      if (searchObject && searchObject.message) {\n        switch (searchObject.message) {\n          case StatusUrlNames.CANCEL:\n            showToastError(t(`account.${DepositStatusMessages.CANCEL}`));\n            customCode();\n            break;\n          case StatusUrlNames.FAIL:\n            showToastError(t(`account.${DepositStatusMessages.FAIL}`));\n            customCode();\n            break;\n          case StatusUrlNames.PENDING:\n            showToastWarning(t(`account.${DepositStatusMessages.PENDING}`));\n            break;\n          case StatusUrlNames.SUCCESS:\n            depositSuccessDataTracking(user);\n\n            LocalStorage.setItem(\n              storageKeyName('account', 'DEPOSIT_AMOUNT'),\n              'true'\n            );\n            break;\n          default:\n            showToastWarning(searchObject.message as string);\n            break;\n        }\n\n        history.push(\n          addQuery({\n            message: undefined\n          })\n        );\n      }\n    }\n  }, [isLoggedIn, accountParams]);\n};\n","import { ReactElement, Suspense, useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { ECasinoGameMode, ICasinoCachedGames } from 'interfaces/casino-data';\nimport { AfterSignIn } from 'services/afterSignIn';\nimport { UtilsCasino } from 'newelements/Casino/GameSingleViewRenderer/__partials/GameViewContainer/utils';\nimport { Loading } from 'components/Loading';\nimport { addQuery, getSavedLocation, updateQuery } from 'components/QueryRoute';\nimport { useCasinoSingleGameClose } from 'hooks/casino/useCasinoSingleGameClose';\nimport { useSearchParams } from 'hooks/useSearchParams';\nimport { useFetchAccountParams } from 'newhooks/account/useFetchAccountParams';\nimport { AccountsModalProvider } from 'providers/AccountsModalProvider';\nimport {\n  resetPostGridHiddenParams,\n  setAfterSignInActions,\n  setForgotPasswordOpen,\n  setForgotUsernameOpen,\n  setHigherZIndex\n} from 'store/actions/app-data';\nimport {\n  setFastRegData,\n  setShowCancelRegisterPopup\n} from 'store/actions/user-data';\nimport {\n  getForgotPasswordOpen,\n  getForgotUsernameOpen,\n  getHigherZIndex\n} from 'store/selectors/app-data';\nimport { getActiveGames } from 'store/selectors/new-casino';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nconst { MobileLayout } = lazy(\n  () => import(/* webpackChunkName: \"accounts-mobile-layout\" */ './Mobile')\n);\n\nconst { DesktopLayout } = lazy(\n  () => import(/* webpackChunkName: \"accounts-desktop-layout\" */ './Desktop')\n);\n\ntype Props = {\n  children: ReactElement;\n};\n\nexport const AccountsLayout = (props: Props): ReactElement => {\n  const history = useHistory();\n  const dispatch = useDispatch();\n  const { accountParams } = useFetchAccountParams();\n  const higherZindex = useSelector(getHigherZIndex);\n  const { register } = useSearchParams();\n  const forgotPass = useSelector(getForgotPasswordOpen);\n  const forgotUsername = useSelector(getForgotUsernameOpen);\n  const activeGames = useSelector(getActiveGames) as ICasinoCachedGames;\n  const { handleCloseClick } = useCasinoSingleGameClose();\n  const isLoggedIn = useSelector(getIsLoggedIn);\n\n  const closeModal = useCallback(() => {\n    const firstActiveGame = Object.values(activeGames)[0];\n\n    if (\n      firstActiveGame &&\n      (!firstActiveGame.data.types.funMode || !SpringConfigs.CASINO_FUN_MODE)\n    ) {\n      handleCloseClick();\n\n      return;\n    }\n\n    if (forgotPass) {\n      dispatch(setForgotPasswordOpen(false));\n    }\n\n    if (forgotUsername) {\n      dispatch(setForgotUsernameOpen(false));\n    }\n\n    if (higherZindex) {\n      dispatch(setHigherZIndex(false));\n    }\n\n    if (register && Number(accountParams?.exitConfirmPopup)) {\n      dispatch(setShowCancelRegisterPopup(true));\n    } else {\n      const location = decodeURI(getSavedLocation());\n\n      if (location.includes('accounts=') && !location.includes('login=')) {\n        history.push(updateQuery({ accounts: undefined, login: undefined }));\n\n        return;\n      }\n\n      const fullPath = `${history.location.pathname}${history.location.search}`;\n      const decodedPath = decodeURI(fullPath);\n\n      if (location === decodedPath) {\n        const searchParams = Object.fromEntries(\n          new URLSearchParams(window.location.search)\n        );\n\n        if (location.includes('multiview=')) {\n          const gamesInfo =\n            UtilsCasino.extractGameInfoFromSearchParams(searchParams);\n\n          const queryToUpdate = addQuery({\n            [UtilsCasino.encodeGameIdWithPrefix(\n              gamesInfo[0].order,\n              gamesInfo[0].id\n            )]: ECasinoGameMode.FUN,\n            [UtilsCasino.encodeGameIdWithPrefix(\n              gamesInfo[1].order,\n              gamesInfo[1].id\n            )]: ECasinoGameMode.FUN,\n            accounts: undefined,\n            login: undefined\n          });\n\n          history.push({\n            ...queryToUpdate,\n            search: UtilsCasino.normalizeStringifiedQuery(queryToUpdate.search)\n          });\n        } else {\n          const query = {\n            accounts: undefined,\n            login: undefined,\n            ...(searchParams.mode === ECasinoGameMode.REAL && !isLoggedIn\n              ? { mode: ECasinoGameMode.FUN }\n              : {})\n          };\n\n          history.push(addQuery(query));\n        }\n      } else {\n        history.push(location);\n      }\n\n      SpringConfigs.POSTGRID_API_KEY && dispatch(resetPostGridHiddenParams());\n      dispatch(setFastRegData(null));\n    }\n\n    const afterSignIn = new AfterSignIn();\n    afterSignIn.removeActions();\n    dispatch(setAfterSignInActions({}));\n  }, [accountParams, register, higherZindex, activeGames]);\n\n  return (\n    <AccountsModalProvider>\n      {isMobile() && (\n        <Suspense fallback={<Loading />}>\n          <MobileLayout closeModal={closeModal}>{props.children}</MobileLayout>\n        </Suspense>\n      )}\n      {!isMobile() && (\n        <Suspense fallback={null}>\n          <DesktopLayout closeModal={closeModal}>\n            {props.children}\n          </DesktopLayout>\n        </Suspense>\n      )}\n    </AccountsModalProvider>\n  );\n};\n","import { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { deleteCookie } from 'utils/bom-dom-manipulation/cookies';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { loginState } from 'utils/sportsbook/api-post-message-sender';\nimport { logout } from 'services/authentication';\nimport { FavoritePersonalization } from 'services/favorite-personalization';\nimport { addQueryInString, getSavedLocation } from 'components/QueryRoute';\nimport { setClientGamingStateInfo, setOneSignalSubId } from 'store/actions';\nimport { setUserNotifications } from 'store/actions/sport-data';\nimport { removeUserData, setUserOptIns } from 'store/actions/user-data';\nimport { getFirebaseToken, getOneSignalSubId } from 'store/selectors/app-data';\n\nexport const useAccountLogout = (params?: {\n  source: number;\n}): ((shouldRedirect?: boolean) => void) => {\n  const { clearDataFromStorage } = FavoritePersonalization();\n\n  const dispatch = useDispatch();\n  const history = useHistory();\n\n  const firebaseToken = useSelector(getFirebaseToken);\n  const oneSignalSubId = useSelector(getOneSignalSubId);\n\n  const removeUser = (shouldRedirect?: boolean) => {\n    shouldRedirect &&\n      history.push(\n        addQueryInString(getSavedLocation(), {\n          accounts: undefined,\n          login: undefined,\n          register: undefined\n        })\n      );\n    dispatch(removeUserData());\n    dispatch(setUserOptIns(null));\n    dispatch(setUserNotifications({}));\n    dispatch(setClientGamingStateInfo(null));\n\n    LS.removeItem(storageKeyName('account', 'LOGIN_LIMIT_START_TIME'));\n    LS.removeItem(storageKeyName('account', 'LOGIN_LIMIT_POPUP_START_TIME'));\n    LS.removeItem(storageKeyName('account', 'IS_LOGOUT'));\n    deleteCookie('sbuser');\n    deleteCookie('loginCredentials');\n    LS.removeItem(storageKeyName('account', 'ADDITIONAL_INFO_POPUP'));\n    LS.removeItem(storageKeyName('account', 'PARENT_ACCOUNT_CURRENCY'));\n\n    if (window.refreshWhenLoggedIn) {\n      window.mustRefreshForSessionVisibility = true;\n      window.location.reload();\n    }\n\n    if (SpringConfigs.IFRAME_SPORTSBOOK) {\n      loginState('loggedOut');\n    }\n\n    if (SpringConfigs.WRAPPER_APP && window.median?.auth) {\n      window.median.auth.delete();\n    }\n\n    if (\n      SpringConfigs.USER_PERSONALIZATION_ENABLED &&\n      !SpringConfigs.MOCKED_DATA\n    ) {\n      clearDataFromStorage();\n    }\n  };\n\n  return (shouldRedirect?: boolean) => {\n    const additionalParams: {\n      fcm_token?: string;\n      subscription_id?: string;\n    } = {};\n\n    if (firebaseToken) {\n      additionalParams.fcm_token = firebaseToken;\n    }\n\n    if (oneSignalSubId) {\n      additionalParams.subscription_id = oneSignalSubId;\n      dispatch(setOneSignalSubId(''));\n    }\n\n    logout(() => removeUser(shouldRedirect), {\n      ...additionalParams,\n      ...params\n    });\n  };\n};\n","import {\n  MILLISECONDS_IN_SECOND,\n  SECONDS_PER_MINUTE,\n  setTimeOutGreatestValue\n} from 'utils/constants/dateInfo/time-numbers';\nimport { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport { getGenericAccountCommand } from 'services/account-settings';\n\nconst durations: {\n  [key: string]: ReturnType<typeof setTimeout>;\n} = {};\n\nexport const clearRemainingSessionDurations = (): void => {\n  Object.keys(durations).forEach((timeout: string) => {\n    clearTimeout(durations[timeout]);\n\n    delete durations[timeout];\n  });\n};\n\nexport const remainingSessionDuration = (\n  configs: { [key: string]: number },\n  callback: (type: string) => void\n): void => {\n  const createTimer = (key: string, time: number) => {\n    function longTimeout(callback: () => void, timeout: number) {\n      if (timeout <= 0) {\n        callback();\n      } else {\n        durations[key] = setTimeout(function () {\n          longTimeout(callback, timeout - setTimeOutGreatestValue);\n        }, Math.min(timeout, setTimeOutGreatestValue));\n      }\n    }\n\n    longTimeout(function () {\n      callback(key);\n      clearRemainingSessionDurations();\n    }, time * MILLISECONDS_IN_SECOND * SECONDS_PER_MINUTE);\n  };\n\n  getGenericAccountCommand(\n    CommandNames.GET_REMAINING_SESSION_DURATION.toUpperCase(),\n    ({ details }: { details: { [key: string]: number } }) => {\n      const times = Object.values(details || {});\n\n      if (times?.length) {\n        const timer = Math.min(...times);\n\n        Object.entries(details || {}).forEach(([key, time]) => {\n          time === timer &&\n            configs[key] &&\n            !durations[key] &&\n            createTimer(key, time);\n        });\n      }\n    }\n  );\n};\n","import { useCallback, useEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport qs from 'qs';\nimport { checkAndStoreFcmToken } from 'utils/account/push-notifications';\nimport { getCookie } from 'utils/bom-dom-manipulation/cookies';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport { getCookieLoginCredentials } from 'utils/bom-dom-manipulation/login-credentials';\nimport { sendPostMessage } from 'utils/bom-dom-manipulation/send-post-message-to-iframe';\nimport SessionStorage from 'utils/bom-dom-manipulation/session-storage';\nimport { VAIX_IFRAME_ID } from 'utils/constants/app/iframe-ids';\nimport { Key } from 'utils/constants/app/local-storage-keys';\nimport { SECONDS_PER_MINUTE } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { appendCustomCode } from 'utils/other/customCode';\nimport { ProfileData } from 'interfaces/authentication';\nimport {\n  clearRemainingSessionDurations,\n  remainingSessionDuration\n} from 'services/account/get-remaining-session-duration';\nimport { removeUserFromStorage, restoreLogin } from 'services/authentication';\nimport { FavoritePersonalization } from 'services/favorite-personalization';\nimport { getUserAllNotifications } from 'services/sportsbook/notifications';\nimport { useAccountLogout } from './useAccountLogout';\nimport { useUpdateUser } from './useUpdateUser';\nimport { TStatus, useFaceIdLogin } from 'components/Login/hooks/useFaceIdLogin';\nimport {\n  addQuery,\n  saveCurrentLocation,\n  updateQuery\n} from 'components/QueryRoute';\nimport { useFetchAccountParams } from 'newhooks/account/useFetchAccountParams';\nimport { setRemainingSessionDurationModal } from 'store/actions/app-data';\nimport { batchActions } from 'store/actions/batch';\nimport {\n  removeUserData,\n  setClientGamingStateInfo,\n  setLoginLimit,\n  setUserData,\n  setUserLoggedIn\n} from 'store/actions/user-data';\nimport { getRegFieldData } from 'store/selectors/app-data';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport { getIsLoggedIn, getRememberMe } from 'store/selectors/user-data';\n\nexport const useRestoreLogin = (\n  isFunction = false,\n  refreshWhenLoggedIn = false\n): Function => {\n  const history = useHistory();\n  const dispatch = useDispatch();\n  const accountLogout = useAccountLogout();\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const regFieldsData = useSelector(getRegFieldData);\n  // @Todo FIX_MY_TYPE create selector with reselect @todo-account\n  const shouldRestore: boolean = useSelector(\n    ({ socket }: { socket: { isConnected: boolean } }) => socket.isConnected\n  );\n\n  const partnerConfigs = useSelector(getPartnerConfigs);\n  const { accountParams } = useFetchAccountParams();\n  const rememberMeSelector = useSelector(getRememberMe);\n\n  const { loginWithFaceId } = useFaceIdLogin();\n  const { clearDataFromStorage } = FavoritePersonalization();\n\n  const rememberMe = useMemo(() => {\n    return +accountParams?.rememberMeTick === 0 || partnerConfigs?.single_login\n      ? false\n      : rememberMeSelector;\n  }, [\n    accountParams?.rememberMeTick,\n    rememberMeSelector,\n    partnerConfigs?.single_login\n  ]);\n\n  const { jwe_token } = getCookieLoginCredentials();\n\n  const storeUser = useCallback(\n    (userData: ProfileData) => {\n      const customCodeAfterLogin: Key[] = [\n        'CUSTOM_CODE_REG_AFTER_REFRESH',\n        'CUSTOM_CODE_LOGIN_AFTER_REFRESH'\n      ];\n\n      customCodeAfterLogin.forEach(elem => {\n        const elemCustomCode = LocalStorage.getItem(\n          storageKeyName('account', elem)\n        );\n\n        if (elem) {\n          appendCustomCode(elemCustomCode, userData);\n          LocalStorage.removeItem(storageKeyName('account', elem as Key));\n        }\n      });\n\n      userData.active_time_in_casino &&\n        SessionStorage.setItem(\n          storageKeyName('account', 'ACTIVE_TIME_IN_CASINO'),\n          `${userData.active_time_in_casino}`\n        );\n\n      dispatch(\n        batchActions(\n          setUserData(userData),\n          setUserLoggedIn(true),\n          setLoginLimit((userData.session_duration || 0) * SECONDS_PER_MINUTE)\n        )\n      );\n\n      checkAndStoreFcmToken();\n\n      if (SpringConfigs.PUSH_NOTIFICATIONS_ENABLED) {\n        getUserAllNotifications();\n      }\n\n      sendPostMessage(\n        { type: 'userId', value: userData.user_id },\n        VAIX_IFRAME_ID\n      );\n      LocalStorage.removeItem(\n        storageKeyName('account', 'SWITCH_MULTI_ACCOUNT')\n      );\n    },\n    [dispatch]\n  );\n\n  useEffect(() => {\n    const checkRemainingSession =\n      !isFunction && Number(accountParams?.sessionLimits || 0);\n\n    if (checkRemainingSession) {\n      if (!isLoggedIn) {\n        clearRemainingSessionDurations();\n\n        return;\n      }\n\n      remainingSessionDuration(\n        {\n          RemainingDailyDuration: Number(accountParams?.showDailySession || 0),\n          RemainingWeeklyDuration: Number(\n            accountParams?.showWeeklySession || 0\n          ),\n          RemainingMonthlyDuration: Number(\n            accountParams?.showMonthlySession || 0\n          )\n        },\n        (type: string) => {\n          accountLogout(true);\n\n          dispatch(\n            setRemainingSessionDurationModal({\n              type,\n              isOpen: true\n            })\n          );\n        }\n      );\n    }\n  }, [accountParams, isLoggedIn, isFunction]);\n\n  const deleteUser = () => {\n    removeUserFromStorage();\n    dispatch(removeUserData());\n    dispatch(setClientGamingStateInfo(null));\n\n    if (\n      SpringConfigs.USER_PERSONALIZATION_ENABLED &&\n      !SpringConfigs.MOCKED_DATA\n    ) {\n      clearDataFromStorage();\n    }\n  };\n\n  const { updateUser } = useUpdateUser();\n\n  const handle = useCallback(\n    (credentials = null) => {\n      const auth_data_x = JSON.parse(\n        LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))\n      );\n\n      const mustLogIn = auth_data_x?.auth_token;\n      const mustLoginEncrypted = rememberMe && jwe_token;\n      const queries =\n        credentials ||\n        qs.parse(history.location.search, {\n          ignoreQueryPrefix: true\n        });\n\n      const personalId = regFieldsData?.find(\n        field => field && field.formType === 'personalId'\n      );\n\n      const isOverridePersonalId = !!(\n        personalId &&\n        personalId.editForm.showOnEditProfile &&\n        personalId.editForm.personalIdType === '2' &&\n        personalId.editForm.sendCPFAsDocNumber === '1'\n      );\n\n      if (queries.auth_token) {\n        const customAuthData = {\n          auth_token: queries.auth_token as string\n        };\n\n        history.replace(\n          addQuery({ auth_token: undefined, user_id: undefined })\n        );\n\n        restoreLogin(\n          customAuthData,\n          storeUser,\n          updateUser,\n          () => deleteUser(),\n          isOverridePersonalId,\n          true\n        );\n      } else if (mustLoginEncrypted) {\n        restoreLogin(\n          { jwe_token: jwe_token, auth_token: mustLogIn },\n          storeUser,\n          updateUser,\n          () => deleteUser(),\n          isOverridePersonalId,\n          refreshWhenLoggedIn\n        );\n      } else if (mustLogIn) {\n        restoreLogin(\n          auth_data_x,\n          storeUser,\n          updateUser,\n          () => deleteUser(),\n          isOverridePersonalId,\n          refreshWhenLoggedIn\n        );\n      }\n\n      if (isLoggedIn || mustLogIn || mustLoginEncrypted) {\n        if (queries.login || queries.register) {\n          saveCurrentLocation();\n          history.replace(updateQuery({ accounts: '*', profile: '*' }));\n        }\n      } else {\n        if (queries.settings || queries.profile) {\n          saveCurrentLocation();\n          history.replace(updateQuery({ accounts: '*', login: '*' }));\n        }\n      }\n    },\n    [isLoggedIn, storeUser, rememberMe, regFieldsData]\n  );\n\n  useEffect(() => {\n    if (regFieldsData && shouldRestore && !isFunction) {\n      const isFirstLaunch = getCookie('isWrapperFirstLaunch');\n\n      if (window.median?.auth && isFirstLaunch) {\n        window.median.auth.status({\n          callbackFunction: (data: TStatus) => {\n            if (data && data.hasTouchId && data.hasSecret) {\n              loginWithFaceId();\n            } else {\n              handle();\n            }\n          },\n          prompt: 'PROMPT'\n        });\n      } else {\n        handle();\n      }\n    }\n  }, [shouldRestore, regFieldsData]);\n\n  return handle;\n};\n","import { useCallback, useMemo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { ProfileData } from 'interfaces/authentication';\nimport { useAccountLogout } from 'hooks/auth/useAccountLogout';\nimport { useFetchAccountParams } from 'newhooks/account/useFetchAccountParams';\nimport { setPendingSuperBets, updateUserData } from 'store/actions';\nimport { updateOpenBets } from 'store/actions/betslip';\n\ntype TArgs = {\n  updateUser: (userData: ProfileData) => void;\n};\n\nexport const useUpdateUser = (): TArgs => {\n  const dispatch = useDispatch();\n  const { accountParams } = useFetchAccountParams();\n  const accountLogout = useAccountLogout();\n\n  const updateUser = useCallback(\n    (userData: ProfileData) => {\n      const switchMultiAccount = LocalStorage.getItem(\n        storageKeyName('account', 'SWITCH_MULTI_ACCOUNT')\n      );\n\n      LocalStorage.removeItem(\n        storageKeyName('account', 'SWITCH_MULTI_ACCOUNT')\n      );\n\n      if (userData) {\n        if (userData.logout && !JSON.parse(switchMultiAccount)) {\n          if (\n            +accountParams?.singleSignIn ||\n            SpringConfigs.IS_MULTI_ACCOUNT_DISABLED\n          ) {\n            accountLogout(true);\n          }\n        } else {\n          dispatch(updateUserData(userData));\n\n          if (userData.super_bet) {\n            dispatch(setPendingSuperBets(userData.super_bet));\n            dispatch(updateOpenBets());\n          }\n        }\n      }\n    },\n    [accountParams?.singleSignIn]\n  );\n\n  const result = useMemo(\n    () => ({\n      updateUser\n    }),\n    [updateUser]\n  );\n\n  return result;\n};\n","import { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { NotificationsTypes } from 'interfaces/authentication';\nimport { BetTicketMin } from 'interfaces/bet-data';\nimport { UserTriggeringRules } from 'interfaces/notifications';\nimport {\n  authCommand,\n  subscribeToUserNotifications,\n  unsubscribeCommand\n} from 'services/authentication';\nimport {\n  setCashbackNotifications,\n  setLoyaltyNotifications\n} from 'store/actions';\nimport { updateBetTickets } from 'store/actions/betslip';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nexport const markAsReadNotification = (\n  id: number | number[],\n  list?: boolean\n) => {\n  authCommand(\n    {\n      command: CommandNames.MARK_AS_READ_NOTIFICATION,\n      params: { [list ? 'notification_id_list' : 'notification_id']: id },\n      rid: RidGenerator.gForCommand()\n    },\n    null\n  );\n};\n\nexport const useUserNotifications = (): void => {\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const user = useSelector(getUser);\n  const dispatch = useDispatch();\n\n  const openPopupTriggering = (data: any) => {\n    if (window.refreshWhenLoggedIn && window.mustRefreshForSessionVisibility) {\n      return false;\n    }\n\n    const popupTriggeringRules: UserTriggeringRules[] = [];\n    let popupOpened = false;\n\n    const comparision: Record<string, string> = {\n      '1': 'is',\n      '2': 'isNot',\n      '3': 'startsWith',\n      '4': 'endsWith',\n      '5': 'contains',\n      '6': 'doesNotContains'\n    };\n\n    for (const key in data) {\n      const rule: UserTriggeringRules = {};\n\n      if (\n        data[key].ClientId === user.id &&\n        data[key].Id &&\n        !data[key].Page?.Value\n      ) {\n        let openedPopupsList = LocalStorage.getItem(\n          'openedPopupsListByLanguage'\n        );\n\n        const currentLanguageId = GLOBALS.languageConfigs.id;\n        openedPopupsList = openedPopupsList ? JSON.parse(openedPopupsList) : {};\n\n        if (\n          openedPopupsList &&\n          currentLanguageId &&\n          openedPopupsList[currentLanguageId] &&\n          openedPopupsList[currentLanguageId].length &&\n          openedPopupsList[currentLanguageId].indexOf(data[key].Id) + 1\n        ) {\n          popupOpened = false;\n        } else {\n          window.openPopup?.(data[key].Alias);\n          markAsReadNotification(+key);\n          popupOpened = true;\n          break;\n        }\n      }\n\n      if (\n        data[key].ClientId === user.id &&\n        data[key].Id &&\n        data[key].Page.Comparison &&\n        data[key].Page.Value\n      ) {\n        rule.triggeringUrlValue = data[key].Page.Value;\n        rule.triggeringUrlRule =\n          comparision[data[key].Page.Comparison as keyof typeof comparision];\n        rule.alias = data[key].Alias;\n        rule.id = data[key].Id;\n        rule.enableTriggeringRule = 1;\n        rule.triggeringTime = 0;\n        rule.key = +key;\n        popupTriggeringRules.push(rule);\n      }\n    }\n\n    if (\n      !popupOpened &&\n      popupTriggeringRules.length &&\n      !window.triggeringRuleIsWorked\n    ) {\n      window.popupTriggeringRules = popupTriggeringRules;\n      window.openPopupsWithInterval?.(null, true);\n    }\n  };\n\n  const setCashbackData = (data: {\n    [key: string]: { cashback: NotificationsTypes };\n  }) => {\n    const tickets = Object.entries(data || {});\n\n    if (tickets.length) {\n      const cashbackData: Array<NotificationsTypes> = [];\n\n      tickets.forEach(([ticketId, ticket]) => {\n        if (ticket.cashback) {\n          cashbackData.push({\n            ...ticket.cashback,\n            id: +ticketId,\n            Amount: ticket.cashback.Amount || 0,\n            RewordType: ticket.cashback.RewordType || 0,\n            markAsRead: false,\n            bonusType: 'cashback'\n          });\n        }\n      });\n\n      dispatch(setCashbackNotifications(cashbackData));\n    }\n  };\n\n  const setLoyaltyData = (data: {\n    [key: string]: { LevelUpBonus: NotificationsTypes };\n  }) => {\n    const tickets = Object.entries(data || {});\n\n    if (tickets.length) {\n      const loyaltyData: Array<NotificationsTypes> = [];\n\n      tickets.forEach(([ticketId, ticket]) => {\n        if (ticket.LevelUpBonus) {\n          loyaltyData.push({\n            ...ticket.LevelUpBonus,\n            id: +ticketId,\n            Amount: ticket.LevelUpBonus.Amount || 0,\n            bonusType: 'loyalty'\n          });\n        }\n      });\n\n      dispatch(setLoyaltyNotifications(loyaltyData));\n    }\n  };\n\n  useEffect(() => {\n    const rid = RidGenerator.gForSubscribe();\n\n    if (\n      isLoggedIn &&\n      !user.pending &&\n      !window.mustRefreshForSessionVisibility\n    ) {\n      subscribeToUserNotifications(\n        (data: any) => {\n          openPopupTriggering(data);\n          setCashbackData(data);\n          setLoyaltyData(data);\n        },\n        (data: any) => {\n          if (data && data.cashout) {\n            const tickets = Object.keys(data.cashout).map(\n              (ticketId: string) =>\n                ({\n                  id: +ticketId,\n                  amount: data.cashout[ticketId].amount\n                } as BetTicketMin)\n            );\n\n            dispatch(updateBetTickets(tickets));\n          }\n\n          openPopupTriggering(data);\n          setCashbackData(data);\n          setLoyaltyData(data);\n        },\n        rid\n      );\n    }\n\n    return () => {\n      unsubscribeCommand(rid);\n    };\n  }, [isLoggedIn, user.pending]);\n};\n","import { FormInstance } from 'antd';\nimport { Rule } from 'antd/lib/form';\nimport dayjs from 'dayjs';\nimport i18n from 'i18next';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport {\n  DEFAULT_FIAT_CURRENCY,\n  DEFAULT_FIAT_CURRENCY_ID,\n  MAX_MONTH_VALUE,\n  YEAR_FORMAT_FOUR_DIGITS\n} from 'utils/constants/account/payment';\nimport { PRICE_SEPARATOR_REGEXP } from 'utils/constants/price-separator';\nimport { EAccount } from 'utils/constants/store/query-keys';\nimport { currencyFormat } from 'utils/generic/currency-format';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { thousandSeparator } from 'utils/helpers/validators';\nimport { appendCustomCode } from 'utils/other/customCode';\nimport { AccountParamsType, AppendCustomCodes } from 'interfaces/generic';\nimport { queryClient } from 'stores/query/query-client';\n\nexport const isValidRegex = function (regex: string) {\n  try {\n    new RegExp(regex);\n\n    return true;\n  } catch (e) {\n    return false;\n  }\n};\n\nexport const generateNumberRules = (field: Record<string, any>): Rule[] => {\n  const fieldRules: Rule[] = [\n    {\n      required: true,\n      message: `${field?.lang.replace(/:/g, '')} ${i18n.t(\n        'validationMessages.isRequired'\n      )}`\n    }\n  ];\n\n  if (field?.regexp && isValidRegex(field?.regexp)) {\n    fieldRules.push({\n      validator: (_, value) => {\n        if (!new RegExp(field.regexp).test(value)) {\n          return Promise.reject(`${i18n.t('validationMessages.notValid')}`);\n        }\n\n        return Promise.resolve();\n      }\n    });\n  } else {\n    fieldRules.push({\n      validator: (_, value) => {\n        const cloneValue = value?.replaceAll(' ', '');\n\n        if (Number.isNaN(Number(cloneValue))) {\n          return Promise.reject(\n            `${field.lang} ${i18n.t('validationMessages.mustBeNumber')}`\n          );\n        }\n\n        if (field.minLenght && cloneValue.length < field.minLenght) {\n          return Promise.reject(\n            `${i18n.t('validationMessages.minimumIs', {\n              field: field.lang.toLowerCase().replace(/:/g, '')\n            })} ${field.minLenght}`\n          );\n        }\n\n        if (field.maxLenght && cloneValue.length > field.maxLenght) {\n          return Promise.reject(\n            `${i18n.t('validationMessages.maximumIs', {\n              field: field.lang.toLowerCase().replace(/:/g, '')\n            })} ${field.maxLenght}`\n          );\n        }\n\n        return Promise.resolve();\n      }\n    });\n  }\n\n  return fieldRules;\n};\n\nexport const generateTextRules = (field: Record<string, any>): Rule[] => {\n  const fieldRules: Rule[] = [\n    {\n      required: true,\n      message: `${field?.lang.replace(/:/g, '')} ${i18n.t(\n        'validationMessages.isRequired'\n      )}`\n    }\n  ];\n\n  if (field?.regexp && isValidRegex(field?.regexp)) {\n    fieldRules.push({\n      validator: (_, value) => {\n        if (!new RegExp(field.regexp).test(value)) {\n          return Promise.reject(`${i18n.t('validationMessages.notValid')}`);\n        }\n\n        return Promise.resolve();\n      }\n    });\n  } else {\n    fieldRules.push({\n      validator: (_, value) => {\n        const cloneValue = value?.replaceAll(' ', '');\n\n        if (!/^[a-zA-Z]+$/.test(cloneValue)) {\n          return Promise.reject(`${i18n.t('validationMessages.onlyLetters')}`);\n        }\n\n        return Promise.resolve();\n      }\n    });\n  }\n\n  return fieldRules;\n};\n\nexport const generateDateRules = (\n  yearFormat: number,\n  form: FormInstance<any>,\n  name: string\n): Rule[] => {\n  const fieldRules: Rule[] = [\n    {\n      required: true,\n      message: i18n.t('account.required')\n    }\n  ];\n\n  fieldRules.push({\n    validator: (_, value) => {\n      const date = value.split(/[/.]/);\n\n      if (Number(date[0]) > MAX_MONTH_VALUE) {\n        form.setFields([\n          {\n            name: [name],\n            errors: [`${i18n.t('validationMessages.invalidDate')}`]\n          }\n        ]);\n\n        return Promise.reject(`${i18n.t('validationMessages.invalidDate')}`);\n      }\n\n      if (\n        !Number(date[1]) ||\n        date[1].toString().length < yearFormat ||\n        (date[1] < dayjs().year() && yearFormat === YEAR_FORMAT_FOUR_DIGITS)\n      ) {\n        form.setFields([\n          {\n            name: [name],\n            errors: [`${i18n.t('validationMessages.invalidDate')}`]\n          }\n        ]);\n\n        return Promise.reject(`${i18n.t('validationMessages.invalidDate')}`);\n      }\n\n      return Promise.resolve();\n    }\n  });\n\n  return fieldRules;\n};\n\nexport const generateRules = (\n  fieldName: string,\n  field: Record<string, any>,\n  currency: string,\n  data: Record<string, any>,\n  balance?: number,\n  isWithdraw?: boolean\n): Rule[] => {\n  const lang = data.translations?.[fieldName] || field.lang || '';\n\n  const fieldRules: Rule[] = [\n    {\n      required: true,\n      message: `${lang.replace(/:/g, '')} ${i18n.t(\n        'validationMessages.isRequired'\n      )}`\n    }\n  ];\n\n  const isAmount = ['eamount', 'amount', 'displayamount'].includes(fieldName);\n\n  const isCpf = fieldName === 'accountNumber' || fieldName === 'cpf';\n\n  const minRule = Number(data?.info_notes?.[currency]?.min);\n  const maxRule = Number(data?.info_notes?.[currency]?.max);\n  const currencyObj = currencyFormat(currency);\n  const minLength = Number(field?.minLenght);\n  const maxLength = Number(field?.maxLenght);\n\n  if (field?.regexp && isValidRegex(field?.regexp)) {\n    fieldRules.push({\n      validator: (_, value) => {\n        let val = value;\n\n        if (isAmount) {\n          val = value?.toString()?.replaceAll(PRICE_SEPARATOR_REGEXP, '');\n        }\n\n        if (!new RegExp(field.regexp).test(val)) {\n          return Promise.reject(`${i18n.t('validationMessages.notValid')}`);\n        }\n\n        return Promise.resolve();\n      }\n    });\n  } else {\n    minLength &&\n      fieldRules.push({\n        validator: (_, value) => {\n          return value.replace(/[^0-9]/g, '').length < minLength\n            ? Promise.reject(\n                `${lang} ${i18n.t('validationMessages.minCharacter', {\n                  count: minLength\n                })}`\n              )\n            : Promise.resolve();\n        }\n      });\n\n    maxLength &&\n      fieldRules.push({\n        validator: (_, value) => {\n          return value.replace(/[^0-9]/g, '').length > maxLength\n            ? Promise.reject(\n                `${lang} ${i18n.t('validationMessages.maxCharacter', {\n                  count: maxLength\n                })}`\n              )\n            : Promise.resolve();\n        }\n      });\n\n    isCpf &&\n      fieldRules.push({\n        validator: (_, value) => {\n          value = value.trim();\n          const regex = /^[0-9.-]+$/;\n\n          return !regex.test(value)\n            ? Promise.reject(\n                `${lang} ${i18n.t('validationMessages.mustBeNumber')}`\n              )\n            : Promise.resolve();\n        }\n      });\n\n    (isAmount || (field?.mask && !isNaN(field?.mask))) &&\n      fieldRules.push({\n        validator: (_, value) => {\n          if (isAmount) {\n            value = value.replace(PRICE_SEPARATOR_REGEXP, '');\n          }\n\n          return Number.isNaN(Number(value))\n            ? Promise.reject(\n                `${lang} ${i18n.t('validationMessages.mustBeNumber')}`\n              )\n            : Promise.resolve();\n        }\n      });\n    minRule &&\n      isAmount &&\n      fieldRules.push({\n        validator: (_, value) => {\n          return Number(\n            value?.toString()?.replaceAll(PRICE_SEPARATOR_REGEXP, '')\n          ) < minRule\n            ? Promise.reject(\n                `${i18n.t('validationMessages.minimumIs', {\n                  field: lang.toLowerCase().replace(/:/g, '')\n                })} ${\n                  currencyObj.placement === 'left' ? currencyObj.currency : ''\n                } ${thousandSeparator(minRule)} ${\n                  currencyObj.placement === 'right' ? currencyObj.currency : ''\n                }`\n              )\n            : Promise.resolve();\n        }\n      });\n    maxRule &&\n      isAmount &&\n      fieldRules.push({\n        validator: (_, value) => {\n          return Number(\n            value?.toString()?.replaceAll(PRICE_SEPARATOR_REGEXP, '')\n          ) > maxRule\n            ? Promise.reject(\n                `${i18n.t('validationMessages.maximumIs', {\n                  field: lang.toLowerCase().replace(/:/g, '')\n                })} ${\n                  currencyObj.placement === 'left' ? currencyObj.currency : ''\n                } ${thousandSeparator(maxRule)} ${\n                  currencyObj.placement === 'right' ? currencyObj.currency : ''\n                }`\n              )\n            : Promise.resolve();\n        }\n      });\n\n    if (fieldName === 'email') {\n      fieldRules.push({\n        message: i18n.t(`account.emailInput`),\n        type: 'email'\n      });\n    }\n  }\n\n  typeof balance === 'number' &&\n    isWithdraw &&\n    isAmount &&\n    fieldRules.push({\n      validator: (_, value) => {\n        return Number(\n          value?.toString()?.replaceAll(PRICE_SEPARATOR_REGEXP, '')\n        ) > balance\n          ? Promise.reject(`${i18n.t('validationMessages.excessBalance')}`)\n          : Promise.resolve();\n      }\n    });\n\n  return fieldRules;\n};\n\nexport const depositSuccessDataTracking = (user: Record<string, any>): void => {\n  const paymentInfo = JSON.parse(\n    LocalStorage.getItem(storageKeyName('account', 'PAYMENT_DATA'))\n  );\n\n  const accountParams: AccountParamsType = queryClient.getQueryData([\n    EAccount['AccountParams']\n  ]);\n\n  if (accountParams) {\n    if (+accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_DEPOSIT]) {\n      appendCustomCode(accountParams[AppendCustomCodes.CUSTOM_CODE_DEPOSIT], {\n        ...user,\n        ...paymentInfo\n      });\n    }\n\n    if (\n      +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_FIRST_DEPOSIT] &&\n      LocalStorage.getItem(storageKeyName('account', 'FIRST_DEPOSIT')) === '1'\n    ) {\n      appendCustomCode(\n        accountParams[AppendCustomCodes.CUSTOM_CODE_FIRST_DEPOSIT],\n        {\n          ...user,\n          ...paymentInfo\n        }\n      );\n      LocalStorage.setItem(storageKeyName('account', 'FIRST_DEPOSIT'), 'null');\n    }\n  }\n};\n\nexport const getCurrencyName = (currency: string) => {\n  if (currency === DEFAULT_FIAT_CURRENCY_ID) {\n    return DEFAULT_FIAT_CURRENCY;\n  }\n\n  return currency;\n};\n","import { storeFcmToken } from 'services/authentication';\nimport store from 'store';\n\nexport const checkAndStoreFcmToken = (): void => {\n  const firebaseToken = store.getState().appData.fireBaseToken;\n\n  if (firebaseToken) {\n    storeFcmToken(firebaseToken);\n  }\n};\n","import dayjs from 'dayjs';\nimport { ProfileData } from 'interfaces/authentication';\nimport LocalStorage from '../bom-dom-manipulation/local-storage';\nimport { storageKeyName } from '../generic/storage-key-name';\n\nexport const getUserName = (user: ProfileData): string => {\n  const name =\n    user?.first_name !== null && user?.last_name !== null\n      ? `${user.first_name} ${user.last_name}`\n      : user.username;\n\n  return name || '';\n};\n\nexport const getUserAvatarName = (user: ProfileData): string => {\n  return getUserName(user).substr(0, 2).toUpperCase();\n};\n\nexport const ITEMS_WITH_BADGE = ['bonuses', 'messages'];\n\nexport const setUserLoginLimitStartTimeLS = () =>\n  LocalStorage.setItem(\n    storageKeyName('account', 'LOGIN_LIMIT_POPUP_START_TIME'),\n    String(dayjs().unix())\n  );\n","export const appendScript = (\n  src: string,\n  id: string,\n  callback: Function\n): void => {\n  const scriptElement = document.createElement('script');\n  const tag = document.getElementsByTagName('script')[0];\n\n  scriptElement.src = src;\n  scriptElement.type = 'text/javascript';\n  scriptElement.async = true;\n  scriptElement.id = id;\n\n  scriptElement.onload = () => {\n    callback();\n  };\n\n  tag?.parentNode?.insertBefore(scriptElement, tag);\n};\n","import SpringConfigs from 'utils/constants/swarm/spring-configs';\n\nexport const DEFAULT_CRYPTO_CURRENCY = 'FTN';\nexport const DEFAULT_FIAT_CURRENCY = 'USDT';\n// in user profile we are getting USDT name as TUS\nexport const DEFAULT_FIAT_CURRENCY_ID = 'TUS';\n\nexport const CURRENCY_NAME_LIST_COUNT = 2;\n\nexport const PaymentMethodTypes = {\n  POST: 'post',\n  GET: 'get',\n  IFRAME: 'iframe',\n  FORM_DRAW: 'formdraw',\n  MESSAGE: 'message'\n};\n\nexport const StatusUrlNames = {\n  CANCEL: 'cancel',\n  FAIL: 'fail',\n  PENDING: 'pending',\n  SUCCESS: 'success'\n};\n\nexport const DepositStatusMessages = {\n  CANCEL: 'depositStatusMessageCancel',\n  FAIL: 'depositStatusMessageFail',\n  PENDING: 'depositStatusMessagePending',\n  SUCCESS: 'depositStatusMessageDone'\n};\n\nexport const WithdrawStatusMessages = {\n  SUCCESS: 'withdrawSuccess'\n};\n\nexport const PaymentStatusValues: Record<string, string> = {\n  '-2': 'Rejected',\n  '-1': 'Canceled',\n  '0': 'New',\n  ...(SpringConfigs.HIDE_WITHDRAWAL_ALLOWED_DATE ? {} : { '1': 'Allowed' }),\n  '2': 'Pending',\n  '3': 'Paid',\n  '4': 'RollBacked'\n};\n\nexport enum TWO_WALLET_TYPES {\n  sport = 'sport',\n  casino = 'casino'\n}\n\nexport const IS_ACTIVE_TWO_WALLET =\n  !SpringConfigs.CASINO_SPORTSBOOK_SWITCHER &&\n  !!SpringConfigs.IS_TWO_WALLET_ACTIVE;\n\nexport const IS_ACTIVE_TWO_WALLET_SPORT = [0, 1].includes(\n  SpringConfigs.CASINO_SPORTSBOOK_SWITCHER\n)\n  ? TWO_WALLET_TYPES.sport\n  : TWO_WALLET_TYPES.casino;\n\nexport enum EBankVerificationTypes {\n  BANK_ID = 1,\n  DIIA = 2\n}\nexport const MAX_MONTH_VALUE = 12;\nexport const YEAR_FORMAT_FOUR_DIGITS = 4;\nexport const TEST_LENGTH = 100;\nexport const CONFIRM_MODAL_PADDING = {\n  _12: 12,\n  _0: 0\n};\nexport const CONFIRM_MODAL_WIDTH = {\n  _350: 350,\n  _420: 420\n};\nexport const CASHOUT_AROUND = 0.01;\nexport const POS_WIN_AND_CASH_OUT_MIN_DIFFERENCE = 0.02;\n/* eslint-disable no-magic-numbers */\nexport enum EPaymentStatusValuesTypes {\n  Rejected = -2,\n  Canceled = -1,\n  New = 0,\n  Allowed = 1,\n  Pending = 2,\n  Paid = 3,\n  RollBacked = 4\n}\n","import { TField } from 'interfaces/authentication';\n\nexport const RegFieldsDefaultsJson = [\n  {\n    type: 'text',\n    formType: 'username',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1',\n      usernameInMyProfile: '1'\n    }\n  },\n  {\n    type: 'text',\n    formType: 'address',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1'\n    }\n  },\n  {\n    type: 'text',\n    formType: 'province',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1'\n    }\n  },\n  {\n    type: 'text',\n    formType: 'city',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1'\n    }\n  },\n  {\n    label: 'Account Number',\n    type: 'accountNumber',\n    formType: 'accountNumber',\n    name: 'iban',\n    hasSettings: true,\n    hidden: true,\n    editForm: {\n      label: 'Account Number',\n      showOnRegFields: '1',\n      showOnEditProfile: '1',\n      required: '0',\n      disabled: '0',\n      customValidation: '0',\n      customValidationCode: '',\n      uploadDoc: '0',\n      showAccountNumberPrefix: '1',\n      accountNumberPrefix: 'FR'\n    },\n    params: {\n      validations: {\n        required: true\n      }\n    }\n  },\n  {\n    type: 'radio',\n    formType: 'gender',\n    editForm: {\n      showOnRegFields: '0',\n      showOnEditProfile: '1',\n      required: '1',\n      disabled: '1'\n    },\n    params: {\n      btnInfo: {\n        male: 'M',\n        female: 'F'\n      },\n      validations: {\n        required: true\n      }\n    }\n  },\n  {\n    type: 'text',\n    formType: 'first_name',\n    formLabel: 'firstName',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1',\n      disabled: '1',\n      onlyLetters: '1'\n    }\n  },\n  {\n    type: 'text',\n    formType: 'last_name',\n    formLabel: 'lastName',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1',\n      disabled: '1',\n      onlyLetters: '1'\n    }\n  },\n  {\n    type: 'date',\n    formType: 'birthDate',\n    name: 'birth_date',\n    editForm: {\n      disabled: '1',\n      dateType: '1',\n      label: 'Birth Date',\n      ageLimit: '18',\n      showOnRegFields: '0',\n      showOnEditProfile: '1',\n      required: '1'\n    }\n  },\n  {\n    type: 'email',\n    formType: 'email',\n    editForm: {\n      showOnRegFields: '1',\n      showOnEditProfile: '1',\n      required: '1',\n      disabled: '1'\n    }\n  },\n  {\n    type: 'password',\n    formType: 'password',\n    editForm: {\n      showOnRegFields: '1'\n    },\n    params: {\n      validations: {\n        required: true\n      }\n    }\n  },\n  {\n    type: 'password',\n    confirm: true,\n    formType: 'passwordConfirmation',\n    name: 'password_confirmation',\n    editForm: {\n      showOnRegFields: '0'\n    },\n    params: {\n      validations: {\n        required: true\n      }\n    }\n  },\n  {\n    type: 'select',\n    formType: 'country',\n    fromData: 'countries',\n    name: 'country_code',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1',\n      disabled: '1'\n    }\n  },\n  {\n    type: 'mobile-number',\n    formType: 'mobileNumber',\n    name: 'phone',\n    editForm: {\n      showOnRegFields: '0',\n      showOnEditProfile: '1',\n      required: '1',\n      disabled: '1'\n    }\n  },\n  {\n    type: 'select',\n    formType: 'currency',\n    fromData: 'currencyList',\n    inParams: true,\n    name: 'currency_name',\n    editForm: {\n      showOnRegFields: '0',\n      required: '1'\n    }\n  },\n  {\n    type: 'select',\n    formType: 'occupation',\n    fromData: 'occupations',\n    name: 'occupation',\n    editForm: {\n      showOnRegFields: '0',\n      showOnEditProfile: '1',\n      required: '0'\n    }\n  },\n  {\n    type: 'text',\n    formType: 'promoCode',\n    name: 'promo_code',\n    editForm: {\n      showOnRegFields: '0',\n      required: '0'\n    }\n  },\n  {\n    type: 'checkbox',\n    formType: 'T&C_Checkbox',\n    name: 'tccheckbox',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1'\n    }\n  },\n  {\n    type: 'zipCode',\n    formType: 'zipCode',\n    editForm: {\n      showOnRegFields: '1',\n      required: '1',\n      showOnEditProfile: '1',\n      disabled: '1'\n    }\n  }\n] as TField[];\n","import { ProfileData } from 'interfaces/authentication';\n\nexport const userActiveStep = {\n  USER_ACTIVE_STEP_STATE_VALUE_0: 0, // Data Processing\n  USER_ACTIVE_STEP_STATE_VALUE_5: 5, // Waiting Client\n  USER_ACTIVE_STEP_STATE_VALUE_3: 3, // KYC Failed\n  USER_ACTIVE_STEP_STATE_VALUE_4: 4, // KYC Expired\n  USER_ACTIVE_STEP_STATE_VALUE_7: 7, //  Waiting for Provider\n  USER_ACTIVE_STEP_VALUE_21: 21,\n  USER_ACTIVE_STEP_VALUE_27: 27,\n  USER_ACTIVE_STEP_VALUE_33: 33,\n  USER_ACTIVE_STEP_VALUE_35: 35,\n  USER_ACTIVE_STEP_VALUE_37: 37,\n  USER_ACTIVE_STEP_VALUE_40: 40, // Signicat Germany\n  USER_ACTIVE_STEP_VALUE_41: 41, // Signicat Brazil\n  USER_ACTIVE_STEP_VALUE_42: 42, // Legitimuz Brazil\n  USER_ACTIVE_STEP_VALUE_50: 50\n};\n\nexport const CLIENT_PRODUCT_STATE_CATEGORIES = {\n  sport: 1,\n  casino: 2\n};\n\nexport const checkUserStatus = {\n  bankIdIntergration(user: ProfileData | Record<string, any>): boolean {\n    return (\n      user.active_step === userActiveStep.USER_ACTIVE_STEP_VALUE_35 &&\n      user.active_step_state === userActiveStep.USER_ACTIVE_STEP_STATE_VALUE_5\n    );\n  }\n};\n","import SpringConfigs from 'utils/constants/swarm/spring-configs';\n\nexport const PRICE_SEPARATOR_REGEXP = SpringConfigs.PRICE_SEPARATOR\n  ? new RegExp(SpringConfigs.PRICE_SEPARATOR, 'g')\n  : '';\nexport const INVALID_NUMBER_REMOVAL_REGEX = /[^0-9.]/g;\n"],"names":["useFaceIdLogin","credentialsExist","setCredentialsExist","useState","accountLogout","useAccountLogout","t","useTranslation","loginCallback","useLoginCallback","rememberMe","password","username","useEffect","_window$median","window","median","auth","status","callbackFunction","data","hasTouchId","hasSecret","removeSecret","_window$median2","delete","setCredentials","_window$median4","secret","JSON","stringify","save","prompt","loginWithFaceId","_window$median3","get","res","success","credentials","parse","login","error","callbackOnCancel","showConfirmationPopup","_window$median5","modalAlert","text","getCookie","icon","lib","name","theme","successBtn","onClick","cancelBtn","closable","_ref","userGroups","inPopup","authData","useRef","isTwoFactorPopupVisible","setIsTwoFactorPopupVisible","qrCodeOrigin","setQrCodeOrigin","dispatch","useDispatch","history","useHistory","regFieldsData","useSelector","getRegFieldData","personalId","find","field","formType","updateAuthData","LocalStorage","setItem","storageKeyName","current","getUser","storeUser","terms_and_conditions_version","SpringConfigs","SHOW_ADDITIONAL_CHECKBOX_FOR_LOGIN","VERIFICATION_TYPE","setTermsAndConditionVersion","updateUser","editForm","showOnEditProfile","personalIdType","sendCPFAsDocNumber","PUSH_NOTIFICATIONS_ENABLED","getUserAllNotifications","useUpdateUser","userData","_authData$current","setCookieLoginCredentials","jwe_token","setUserData","last_login_date","Math","floor","Date","getTime","MILLISECONDS_IN_SECOND","setLoginLimit","session_duration","SECONDS_PER_MINUTE","active_time_in_casino","SessionStorage","afterSignIn","AfterSignIn","setAfterExecutionCallback","isActionsExist","getSavedLocation","splitLocation","split","parsedQuery","qs","ignoreQueryPrefix","accounts","updatedLocation","push","setUserLoggedIn","currency","CookieExpiration","DAYS_15","executeActions","auth_token","user_id","qr_code_origin","authentication_status","ADD_INFO_AFTER_LOGIN","setShowAdditionalInfo","checkAndStoreFcmToken","sendPostMessage","type","value","VAIX_IFRAME_ID","popupIframe","sendRestoreLoginPostMsg","IFRAME_SPORTSBOOK","loginState","LOGIN_LIMIT_POPUP","PLAYER_ACTIVITY_CHECK","setUserLoginLimitStartTimeLS","useGpsTracking","gpsTrackingParams","getGpsTrackingParams","geolocationShakeData","getGeolocationShakeData","socetReConnect","getIsConnected","needCheckGeoLocation","setNeedCheckGeoLocation","sendGetGeoToken","useMemo","sendGeoToken","sendGetGeoTokenAction","action","checkLocation","clearCheckInterval","popupType","setCheckInterval","useCallback","checkInterval","clearInterval","updateGpsTrackingParams","interval","setInterval","GPS_TRACKING_CHECKING_INTERVAL","_gpsTrackingParams$va","GLOBALS","geolocationWindow","close","validateGeoRestrictionSuccessCallback","call","setGeoLocationShakeData","resetGpsTrackingParams","navigator","geolocation","getCurrentPosition","onGeoLocationSuccess","onGeoLocationError","enableHighAccuracy","timeout","maximumAge","pos","crd","coords","sendValidateGeoCommand","latitude","longitude","lat","lng","params","loadingValidateGeoRestriction","swarmCommand","CommandNames","VALIDATE_GEO_RESTRICTION","validateGeoRestrictionCallback","checksErrorCallback","gpsLogout","getItem","result","sendGetGeoTokenCommand","loadingGetGeoToken","GET_GEO_TOKEN","getGeoTokenCallback","gpsTrackingLink","GPS_TRACKING_URL","details","token","PARTNER_ID","SWARM_URL","isMobile","trackingLink","trackingDuration","duration","_gpsTrackingParams$va2","errorData","arguments","length","undefined","validateGeoRestrictionCancelCallback","errorPopupTitle","msg","errorPopupMsg","GpsTrackingPopup","lazy","GpsTracking","memo","_jsx","Suspense","fallback","children","LoyaltyPoints","LoyaltyPointsNew","LoyaltyPointsVersionsWrapper","partnerConfigs","getPartnerConfigs","isLoyaltyV2","is_loyalty_v2","Login","Wallet","ProfilePreview","Register","Messages","NewPassword","BonusIframe","BonusesMenu","Settings","MyCards","Bonuses","Rewards","ForgotPassword","BalanceHistoryPage","AccountStakeAndEarn","Limits","Statement","CustomerJourneyLayout","TimeOut","GamStop","ReferFriend","LoginLimit","BetingHistoryLayout","RealityCheck","ProfileEdit","SelfExclusion","NotificationSettings","AccountStatus","ChangePassword","MySessions","BonusManagement","Documents","AccumulatedProfit","VerifyAccount","TwoFactorAuth","SaferGambling","CurrentSession","AvailabilityPeriod","ForgotUsername","BankAccount","TransferToFriend","Accounts","props","user","isLoggedIn","getIsLoggedIn","accountSections","getSectionsData","checkIsSectionVisible","sectionType","_accountSections$myPr","myProfile","section","hidden","redirectToProfile","updateQuery","settings","profile","pending","AccountsLayout","_jsxs","Loading","QueryRoute","includes","shouldMount","signInBtn","onCatch","addQuery","excludes","render","accountNextButtonStyle","signUpBtn","component","register","setVisible","accountSignUpButtonStyle","accountPrevButtonStyle","SHOW_ACCOUNT_SESSION","routeProps","location","search","lang","document","documentElement","PREFERRED_LANGUAGE_MAPPING","useLoginLimit","limitTimeout","setLimitTimeout","loginLimit","getLoginLimit","lastLogin","searchParams","useSearchParams","openLoginPopup","useOpenLoginPopup","_accountSections$myPr2","tab","limitStartTime","LS","delay","dayjs","unix","timer","setTimeout","logout","removeUser","removeUserData","setUserOptIns","setClientGamingStateInfo","deleteCookie","showToastError","mode","ECasinoGameMode","REAL","saveCurrentLocation","clearTimeout","IS_RTL","LoyaltyCurrentLevelBadge","FavoriteOnHeaderPopup","BankIDIntegration","ChangeTheme","ProfileInfo","CryptoWallets","RegisterOnPage","VerifyEmailModal","CheckEmailModal","DocumentUploadModal","CounterOfferModal","LoginFreeze","RemainingSessionDurationModal","PlayerInfo","AdditionalInfoPopup","AuthSection","AutoidentVerificationModal","TermsAndConditions","NotVerifiedMessage","VerifyAccountModalRedirect","AccountGenericModals","NotificationCards","PlayerActivityChecker","_partnerConfigs$secon","configs","accountLayout","_layout","slideView","horizontalView","accountSignInButtonStyle","accountButtonsDistance","mounted","favorite","favoriteTabs","_favoriteTabs","fromIframe","signInPopupAlias","signUpPopupAlias","useRestoreLogin","useUserNotifications","useFetchSectionsData","sectionsData","sections","SECTIONS_JSON","getAccountJson","then","setSectionsData","catch","useSeonIntegration","SEON_INTEGRATION","seon","appendScript","_window$seon","getBase64Session","setSeonSessionData","console","useCheckDepositReturnUrl","accountParams","useFetchAccountParams","customCode","AppendCustomCodes","APPEND_CUSTOM_CODE_DEPOSIT_FAIL","paymentInfo","appendCustomCode","CUSTOM_CODE_DEPOSIT_FAIL","useLayoutEffect","searchObject","message","StatusUrlNames","CANCEL","DepositStatusMessages","FAIL","PENDING","showToastWarning","SUCCESS","depositSuccessDataTracking","useHandlePreferredLanguage","SET_PREFERRED_LANGUAGE","language","languageConfigs","swarmLangPrefix","slice","LANGUAGE_PREFIX","layout","map","item","String","showBankModal","setShowBankModal","visible","routeHistory","setRouteHistory","onPageCurrentSlide","setOnPageCurrentSlide","EAccountWidgetLayoutType","onPage","queries","restoreLogin","isRegFinished","getRegIsFinished","showAdditionalInfo","getShowAdditionalInfo","pendingSuperBets","getPendingSuperBets","userOptIns","getUserOptIns","shouldGetOptIns","getShouldGetUserOptIns","remainingSessionDuration","getRemainingSessionDuration","cashbackNotifications","getCashbackNotifications","loyaltyNotifications","getLoyaltyNotifications","accountSettings","getPersonalizedGenericSettings","is_using_loyalty_program","additionalInfoPopupInLS","auth_data_x","MOCKED_DATA","customPopupAlias","showAdditionalInfoLS","customPopupOpen","hasPopup","isInPopup","openCustomPopup","Object","keys","multiview","preview","casinoGameUrl","prevRoutes","callBackUrl","pathname","_window$openPopup","_window","_window$openPopup2","_window2","removeItem","openPopup","selfExclude","periodObj","label","amount","show","reason","exclusionType","setSelfExclusion","addEventListener","handleCustomPopupClose","removeEventListener","QueryString","kycaid","replace","showToastSuccess","resetPayments","setPaymentDepositPromo","refreshWhenLoggedIn","setFinalExecutionCallback","addQueryInString","casino","blockCasinoGamePopupOpening","parent","closePopup","reload","checkUserStatus","bankIdIntergration","IS_BANK_ID_INTEGRATION_ENABLED","diiaVerification","active_step","active_step_state","classList","add","body","remove","showCounterOfferModals","onClose","val","sessionVisibilityRefresh","showDocumentUploadModal","userActiveStep","USER_ACTIVE_STEP_VALUE_27","USER_ACTIVE_STEP_STATE_VALUE_5","SELFIE_WITH_DOCUMENTS","is_verified","showAutoidentVerificationModal","checkAutoident","MGA_ACCOUNT_TYPE","CANADIAN_ACCOUNT_TYPE","USER_ACTIVE_STEP_VALUE_33","setShowAutoidentVerificationModal","showVerifyAccountModal","SHOW_VERIFY_ACCOUNT_MODAL","USER_ACTIVE_STEP_VALUE_50","showNotVerifiedMessage","SHOW_BRAZIL_USER_UNVERIFIED_MESSAGE","USER_ACTIVE_STEP_VALUE_41","SHOW_USER_UNVERIFIED_MESSAGE","USER_ACTIVE_STEP_VALUE_40","Boolean","Number","accountVerificationReminder","getPlayerOptIns","resp","prev","ACCOUNT_REGISTRATION_JSON_PATH","setRegField","RegFieldsDefaultsJson","termsAndConditionsShowModal","_SpringConfigs$TERMS_","userVersion","currentVersion","tcVersion","termsConditionsCustom","TERMS_POPUP_LINK","handleSetVisible","event","url","autologinX","SHOW_ACCOUNT_ADDITIONAL_INFO_MODAL","count","_Fragment","favoriteTypes","GPS_TRACKING_ENABLED","IOVATION_ENABLED","IOVATION_HIDE_UPLOAD","DOC_UPLOAD_TRU_NARRATIVE","LOGIN_FREEZE","shouldShowPlayerInfo","playerInfoShowDate","today","diffInHours","diff","isValid","HOUR_PER_DAY","className","cc","secondary_wallet_currencies","favoriteEnabled","inline","horizontal","THEME_SWITCHER","ChangeThemeSkeleton","AuthSectionSkeleton","Popup","open","animationType","Pages","isOpen","Portal","MobileLayout","DesktopLayout","higherZindex","getHigherZIndex","forgotPass","getForgotPasswordOpen","forgotUsername","getForgotUsernameOpen","activeGames","getActiveGames","handleCloseClick","useCasinoSingleGameClose","closeModal","firstActiveGame","values","types","funMode","CASINO_FUN_MODE","setForgotPasswordOpen","setForgotUsernameOpen","setHigherZIndex","exitConfirmPopup","setShowCancelRegisterPopup","decodeURI","fullPath","fromEntries","URLSearchParams","gamesInfo","UtilsCasino","extractGameInfoFromSearchParams","queryToUpdate","encodeGameIdWithPrefix","order","id","FUN","normalizeStringifiedQuery","query","POSTGRID_API_KEY","resetPostGridHiddenParams","setFastRegData","removeActions","setAfterSignInActions","AccountsModalProvider","clearDataFromStorage","FavoritePersonalization","firebaseToken","getFirebaseToken","oneSignalSubId","getOneSignalSubId","shouldRedirect","additionalParams","fcm_token","subscription_id","setOneSignalSubId","setUserNotifications","mustRefreshForSessionVisibility","WRAPPER_APP","USER_PERSONALIZATION_ENABLED","durations","clearRemainingSessionDurations","forEach","callback","getGenericAccountCommand","GET_REMAINING_SESSION_DURATION","toUpperCase","times","min","entries","_ref2","key","time","createTimer","longTimeout","setTimeOutGreatestValue","isFunction","shouldRestore","socket","isConnected","rememberMeSelector","getRememberMe","rememberMeTick","single_login","getCookieLoginCredentials","elem","elemCustomCode","batchActions","sessionLimits","RemainingDailyDuration","showDailySession","RemainingWeeklyDuration","showWeeklySession","RemainingMonthlyDuration","showMonthlySession","setRemainingSessionDurationModal","deleteUser","removeUserFromStorage","handle","mustLogIn","mustLoginEncrypted","isOverridePersonalId","customAuthData","isFirstLaunch","switchMultiAccount","singleSignIn","IS_MULTI_ACCOUNT_DISABLED","updateUserData","super_bet","setPendingSuperBets","updateOpenBets","markAsReadNotification","list","authCommand","command","MARK_AS_READ_NOTIFICATION","rid","RidGenerator","gForCommand","openPopupTriggering","popupTriggeringRules","popupOpened","comparision","_data$key$Page","rule","ClientId","Id","Page","Value","openedPopupsList","currentLanguageId","indexOf","Alias","Comparison","triggeringUrlValue","triggeringUrlRule","alias","enableTriggeringRule","triggeringTime","_window$openPopupsWit","triggeringRuleIsWorked","openPopupsWithInterval","setCashbackData","tickets","cashbackData","ticketId","ticket","cashback","Amount","RewordType","markAsRead","bonusType","setCashbackNotifications","setLoyaltyData","loyaltyData","LevelUpBonus","setLoyaltyNotifications","gForSubscribe","subscribeToUserNotifications","cashout","updateBetTickets","unsubscribeCommand","isValidRegex","regex","RegExp","e","generateNumberRules","fieldRules","required","i18n","regexp","validator","_","test","Promise","resolve","reject","cloneValue","replaceAll","isNaN","minLenght","toLowerCase","maxLenght","generateTextRules","generateDateRules","yearFormat","form","date","MAX_MONTH_VALUE","toString","year","YEAR_FORMAT_FOUR_DIGITS","setFields","errors","generateRules","fieldName","balance","isWithdraw","_data$translations","_data$info_notes","_data$info_notes$curr","_data$info_notes2","_data$info_notes2$cur","translations","isAmount","isCpf","minRule","info_notes","maxRule","max","currencyObj","currencyFormat","minLength","maxLength","_value$toString","PRICE_SEPARATOR_REGEXP","trim","mask","_value$toString2","placement","thousandSeparator","_value$toString3","_value$toString4","queryClient","getQueryData","EAccount","APPEND_CUSTOM_CODE_DEPOSIT","CUSTOM_CODE_DEPOSIT","APPEND_CUSTOM_CODE_FIRST_DEPOSIT","CUSTOM_CODE_FIRST_DEPOSIT","getCurrencyName","DEFAULT_FIAT_CURRENCY_ID","DEFAULT_FIAT_CURRENCY","store","getState","appData","fireBaseToken","storeFcmToken","getUserName","first_name","last_name","getUserAvatarName","substr","ITEMS_WITH_BADGE","src","_tag$parentNode","scriptElement","createElement","tag","getElementsByTagName","async","onload","parentNode","insertBefore","DEFAULT_CRYPTO_CURRENCY","CURRENCY_NAME_LIST_COUNT","PaymentMethodTypes","POST","GET","IFRAME","FORM_DRAW","MESSAGE","WithdrawStatusMessages","PaymentStatusValues","HIDE_WITHDRAWAL_ALLOWED_DATE","TWO_WALLET_TYPES","IS_ACTIVE_TWO_WALLET","CASINO_SPORTSBOOK_SWITCHER","IS_TWO_WALLET_ACTIVE","IS_ACTIVE_TWO_WALLET_SPORT","sport","EBankVerificationTypes","TEST_LENGTH","CONFIRM_MODAL_PADDING","_12","_0","CONFIRM_MODAL_WIDTH","_350","_420","CASHOUT_AROUND","POS_WIN_AND_CASH_OUT_MIN_DIFFERENCE","EPaymentStatusValuesTypes","showOnRegFields","usernameInMyProfile","hasSettings","disabled","customValidation","customValidationCode","uploadDoc","showAccountNumberPrefix","accountNumberPrefix","validations","btnInfo","male","female","formLabel","onlyLetters","dateType","ageLimit","confirm","fromData","inParams","USER_ACTIVE_STEP_STATE_VALUE_0","USER_ACTIVE_STEP_STATE_VALUE_3","USER_ACTIVE_STEP_STATE_VALUE_4","USER_ACTIVE_STEP_STATE_VALUE_7","USER_ACTIVE_STEP_VALUE_21","USER_ACTIVE_STEP_VALUE_35","USER_ACTIVE_STEP_VALUE_37","USER_ACTIVE_STEP_VALUE_42","CLIENT_PRODUCT_STATE_CATEGORIES","PRICE_SEPARATOR","INVALID_NUMBER_REMOVAL_REGEX"],"sourceRoot":""}