@smartico/public-api 0.0.165 → 0.0.166

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.mjs","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/Bonuses/Bonus.ts","../src/Bonuses/BonusStatus.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n\tPING = 1,\n\tPONG = 2,\n\n\tINIT = 3,\n\tINIT_RESPONSE = 4,\n\tIDENTIFY = 5,\n\tIDENTIFY_RESPONSE = 6,\n\tLOGIN = 7,\n\tLOGOUT = 8,\n\tEVENT = 9,\n\tEVENT_RESPONSE = 10,\n\n\tLOGIN_RESPONSE = 11,\n\tLOGOUT_RESPONSE = 12,\n\n\tGET_TRANSLATIONS_REQUEST = 13,\n\tGET_TRANSLATIONS_RESPONSE = 14,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tCLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n\tCLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n\tCLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n\tCLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n\tCLIENT_EXECUTE_JS_EVENT = 107,\n\tCLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n\tCLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n\tCLIENT_TRACK_ACTIVITY_REQUEST = 155,\n\tCLIENT_SET_AVATAR_REQUEST = 157,\n\tCLIENT_SET_AVATAR_RESPONSE = 158,\n\n\tCLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n\tCLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n\tCHECK_SEGMENT_MATCH_REQUEST = 161,\n\tCHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\t// 500-1000 - Achievements\n\tGET_LEVEL_MAP_REQUEST = 500,\n\tGET_LEVEL_MAP_RESPONSE = 501,\n\tGET_ACHIEVEMENT_MAP_REQUEST = 502,\n\tGET_ACHIEVEMENT_MAP_RESPONSE = 503,\n\tRELOAD_ACHIEVEMENTS_EVENT = 504,\n\tGET_LEADERS_BOARD_REQUEST = 505,\n\tGET_LEADERS_BOARD_RESPONSE = 506,\n\tGET_SHOP_ITEMS_REQUEST = 509,\n\tGET_SHOP_ITEMS_RESPONSE = 510,\n\tBUY_SHOP_ITEM_REQUEST = 511,\n\tBUY_SHOP_ITEM_RESPONSE = 512,\n\tGET_INBOX_MESSAGES_REQUEST = 513,\n\tGET_INBOX_MESSAGES_RESPONSE = 514,\n\tGET_SHOP_CATEGORIES_REQUEST = 515,\n\tGET_SHOP_CATEGORIES_RESPONSE = 516,\n\tGET_TOURNAMENT_LOBBY_REQUEST = 517,\n\tGET_TOURNAMENT_LOBBY_RESPONSE = 518,\n\tGET_TOURNAMENT_INFO_REQUEST = 519,\n\tGET_TOURNAMENT_INFO_RESPONSE = 520,\n\tTOURNAMENT_REGISTER_REQUEST = 521,\n\tTOURNAMENT_REGISTER_RESPONSE = 522,\n\tGET_CUSTOM_SECTIONS_REQUEST = 523,\n\tGET_CUSTOM_SECTIONS_RESPONSE = 524,\n\tMISSION_OPTIN_REQUEST = 525,\n\tMISSION_OPTIN_RESPONSE = 526,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_ACHIEVEMENT_USER_REQUEST = 527,\n\tGET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n\tMARK_INBOX_READ_REQUEST = 529,\n\tMARK_INBOX_READ_RESPONSE = 530,\n\tMARK_INBOX_STARRED_REQUEST = 531,\n\tMARK_INBOX_STARRED_RESPONSE = 532,\n\tMARK_INBOX_DELETED_REQUEST = 535,\n\tMARK_INBOX_DELETED_RESPONSE = 536,\n\n\tGET_ACH_CATEGORIES_REQUEST = 537,\n\tGET_ACH_CATEGORIES_RESPONSE = 538,\n\n\tACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n\tACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n\tACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n\tACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n\tGET_RELATED_ACH_N_TOURNAMENTS_REQUEST = 543,\n\tGET_RELATED_ACH_N_TOURNAMENTS_RESPONSE = 544,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_BONUSES_REQUEST = 600,\n\tGET_BONUSES_RESPONSE = 601,\n\tCLAIM_BONUS_REQUEST = 602,\n\tCLAIM_BONUS_RESPONSE = 603,\n\n\tSAW_GET_SPINS_REQUEST = 700,\n\tSAW_GET_SPINS_RESPONSE = 701,\n\tSAW_DO_SPIN_REQUEST = 702,\n\tSAW_DO_SPIN_RESPONSE = 703,\n\tSAW_AKNOWLEDGE_REQUEST = 704,\n\tSAW_AKNOWLEDGE_RESPONSE = 705,\n\tSAW_SPINS_COUNT_PUSH = 706,\n\tSAW_SHOW_SPIN_PUSH = 707,\n\tSAW_PRIZE_DROP_WIN_PUSH = 708,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n\tSAW_AKNOWLEDGE_SPIN_PUSH = 711,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tJP_GET_JACKPOTS_REQUEST = 800,\n\tJP_GET_JACKPOTS_RESPONSE = 801,\n\n\tJP_GET_LATEST_POTS_REQUEST = 802,\n\tJP_GET_LATEST_POTS_RESPONSE = 803,\n\n\tJP_OPTIN_REQUEST = 804,\n\tJP_OPTIN_RESPONSE = 805,\n\n\tJP_OPTOUT_REQUEST = 806,\n\tJP_OPTOUT_RESPONSE = 807,\n\n\tJP_WIN_PUSH = 808,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n\tCLIENT_DEBUG_REQUEST = 77777,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tUNSUPPORTED_COMMAND = 99999,\n}\n","class IntUtils {\n\tpublic static uuid(): string {\n\t\tlet a: any;\n\t\tlet b: any;\n\t\tfor (\n\t\t\tb = a = '';\n\t\t\ta++ < 36;\n\t\t\tb += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-'\n\t\t) {}\n\t\treturn b;\n\t}\n\n\tpublic static isNotNull(val: any): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null;\n\t}\n\n\tpublic static isNotEmpty(val: string): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null && val.length > 0;\n\t}\n\n\tpublic static replaceAll(value: string, regex: string, replacement: string | number): string {\n\t\tif (IntUtils.isNotNull(value)) {\n\t\t\treturn value.replace(new RegExp(IntUtils.escapeRegExp(regex), 'g'), replacement?.toString());\n\t\t}\n\t\treturn value;\n\t}\n\n\tpublic static escapeRegExp(v: string): string {\n\t\tif (IntUtils.isNotEmpty(v)) {\n\t\t\treturn v.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\t\t}\n\t\treturn v;\n\t}\n\n\tpublic static JsonOrText = (str: string): any => {\n\t\tif (str && str.includes && (str.includes('{') || str.includes('['))) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(str);\n\t\t\t} catch (e) {\n\t\t\t\treturn str;\n\t\t\t}\n\t\t}\n\t\treturn str;\n\t};\n\n\t// public static wsTimeToEpoch = (time: string): number => {\n\t// if (time) {\n\t// return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n\t// } else {\n\t// return null\n\t// }\n\t// }\n\n\tpublic static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n\t\tconst now = new Date();\n\t\tconst completedDate = new Date(timestamp);\n\n\t\tswitch (period) {\n\t\t\tcase 'today':\n\t\t\t\treturn (\n\t\t\t\t\tnow.getFullYear() === completedDate.getFullYear() &&\n\t\t\t\t\tnow.getMonth() === completedDate.getMonth() &&\n\t\t\t\t\tnow.getDate() === completedDate.getDate()\n\t\t\t\t);\n\t\t\tcase 'thisWeek':\n\t\t\t\tconst startOfWeek = new Date(now);\n\t\t\t\tstartOfWeek.setDate(now.getDate() - now.getDay());\n\t\t\t\tstartOfWeek.setHours(0, 0, 0, 0);\n\n\t\t\t\tconst endOfWeek = new Date(startOfWeek);\n\t\t\t\tendOfWeek.setDate(startOfWeek.getDate() + 6);\n\t\t\t\tendOfWeek.setHours(23, 59, 59, 999);\n\n\t\t\t\treturn completedDate >= startOfWeek && completedDate <= endOfWeek;\n\t\t\tcase 'thisMonth':\n\t\t\t\treturn now.getFullYear() === completedDate.getFullYear() && now.getMonth() === completedDate.getMonth();\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n}\n\nexport { IntUtils };\n","/** @hidden */\nexport enum SAWBuyInType {\n\tFree = 1,\n\tPoints = 2,\n\tSpins = 3,\n}\n\nexport enum SAWBuyInTypeName {\n\tFree = 'free',\n\tPoints = 'points',\n\tSpins = 'spins',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n\t\t\t[SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n\t\t\t[SAWBuyInType.Spins]: SAWBuyInTypeName.Spins,\n\t\t}[type] || SAWBuyInTypeName.Unknown\n\t);\n};\n","import { SAWBuyInType } from './SAWBuyInType';\nimport { SAWTemplate } from './SAWTemplate';\n\nclass SAWUtils {\n\tpublic static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n\t\tif (t === null || t === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\tswitch (t.saw_buyin_type_id) {\n\t\t\tcase SAWBuyInType.Free: {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Spins: {\n\t\t\t\treturn t.spin_count !== null && t.spin_count > 0;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Points: {\n\t\t\t\treturn t.buyin_cost_points <= pointsBalance;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tconsole.error('MiniGamesUtils.canPlay: Unknwon SAW buyin type ' + t.saw_buyin_type_id);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport { SAWUtils };\n","export enum SAWAcknowledgeType {\n\tSilent = 1,\n\tQuickMessage = 2,\n\tFullMessage = 3,\n\tExplicityAcknowledge = 4\n}\n","export enum SAWAskForUsername {\n\tNOASK = 'no-ask',\n\tONSUMBIT = 'on-submit',\n}\n","/** @hidden */\n\nexport enum SAWGameType {\n\tSpinAWheel = 1,\n\tScratchCard = 2,\n\tMatchX = 3,\n\tGiftBox = 4,\n\tPrizeDrop = 5,\n\tQuiz = 6,\n}\n\nexport enum SAWGameTypeName {\n\tSpinAWheel = 'wheel',\n\tScratchCard = 'scratch',\n\tMatchX = 'matchx',\n\tGiftBox = 'giftbox',\n\tPrizeDrop = 'prizedrop',\n\tQuiz = 'quiz',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n\t\t\t[SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n\t\t\t[SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n\t\t\t[SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n\t\t\t[SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n\t\t\t[SAWGameType.Quiz]: SAWGameTypeName.Quiz,\n\t\t}[type] || SAWGameTypeName.Unknown\n\t);\n};\n","/** @hidden */\nexport enum SAWPrizeType {\n\tNO_PRIZE = 1,\n\tPOINTS = 2,\n\tBONUS = 3,\n\tMANUAL = 4,\n\tSPIN = 5,\n\tJACKPOT = 6,\n}\n\nexport enum MiniGamePrizeTypeName {\n\tNO_PRIZE = 'no-prize',\n\tPOINTS = 'points',\n\tBONUS = 'bonus',\n\tMANUAL = 'manual',\n\tSPIN = 'spin',\n\tJACKPOT = 'jackpot',\n\tUNKNOWN = 'unknown',\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n\t\t\t[SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n\t\t\t[SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n\t\t\t[SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n\t\t\t[SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n\t\t\t[SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT,\n\t\t}[type] || MiniGamePrizeTypeName.UNKNOWN\n\t);\n};\n","import { IntUtils } from '../IntUtils';\nimport { TMiniGamePrize, TMiniGameTemplate } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from './../Base/ProtocolResponse';\nimport { SAWBuyInTypeNamed } from './SAWBuyInType';\nimport { SAWGameTypeNamed } from './SAWGameType';\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from './SAWPrizeType';\nimport { SAWTemplate } from './SAWTemplate';\nimport { SAWUtils } from './SAWUtils';\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\ttemplates: SAWTemplate[];\n}\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => {\n\treturn items.map((r) => {\n\t\tconst x: TMiniGameTemplate = {\n\t\t\tid: r.saw_template_id,\n\t\t\tname: r.saw_template_ui_definition.name,\n\t\t\tdescription: r.saw_template_ui_definition.description,\n\t\t\tthumbnail: r.saw_skin_ui_definition?.skin_folder\n\t\t\t\t? r.saw_skin_ui_definition?.skin_folder + '/ico.png'\n\t\t\t\t: `https://d312ucx3huj7iy.cloudfront.net/gf/images/saw/${r.saw_skin_key}/ico.png`,\n\t\t\tover_limit_message: r.saw_template_ui_definition.over_limit_message,\n\t\t\tno_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n\t\t\tjackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n\t\t\tsaw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n\t\t\tsaw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n\t\t\tbuyin_cost_points: r.buyin_cost_points,\n\t\t\tjackpot_add_on_attempt: r.jackpot_add_on_attempt,\n\t\t\tjackpot_current: r.jackpot_current,\n\t\t\tspin_count: r.spin_count,\n\t\t\tpromo_image: r.saw_template_ui_definition.promo_image,\n\t\t\tpromo_text: r.saw_template_ui_definition.promo_text,\n\t\t\tcustom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n\t\t\texpose_game_stat_on_api: r.expose_game_stat_on_api,\n\n\t\t\tnext_available_spin_ts: r.next_available_spin_ts,\n\n\t\t\tprizes: r.prizes.map((p) => {\n\t\t\t\tconst y: TMiniGamePrize = {\n\t\t\t\t\tid: p.saw_prize_id,\n\t\t\t\t\tname: p.saw_prize_ui_definition.name,\n\t\t\t\t\tprize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n\t\t\t\t\tprize_value: p.prize_value,\n\t\t\t\t\tfont_size: p.saw_prize_ui_definition.font_size,\n\t\t\t\t\tfont_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n\t\t\t\t\ticon: p.saw_prize_ui_definition.icon,\n\t\t\t\t\tposition: p.saw_prize_ui_definition.position,\n\t\t\t\t\taknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\tacknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n\t\t\t\t\tacknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n\t\t\t\t\tpool: p.pool,\n\t\t\t\t\tpool_initial: p.pool_initial,\n\t\t\t\t\twins_count: p.wins_count,\n\t\t\t\t};\n\t\t\t\treturn y;\n\t\t\t}),\n\t\t};\n\t\treturn x;\n\t});\n};\n","/*\n * Possible error codes for the mini-games attempts\n */\nexport enum SAWSpinErrorCode {\n\t/** No error */\n\tSAW_OK = 0,\n\t/** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n\tSAW_NO_SPINS = 40001,\n\t/** The are no prizes left to play the game */\n\tSAW_PRIZE_POOL_EMPTY = 40002,\n\t/** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n\tSAW_NOT_ENOUGH_POINTS = 40003,\n\t/** User reached max number of game attempts defined in the BackOffice */\n\tSAW_FAILED_MAX_SPINS_REACHED = 40004,\n\t/** Special code for the 'visitor' mode */\n\tSAW_VISITOR_STOP_SPIN_REQUEST = -40001,\n}\n","export enum SAWWinSoundType {\n\tDisappointing = 1,\n\tPositive = 2,\n\tHighlyPositive = 3,\n\tNoSound = 4,\n\tCustom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n\t[SAWWinSoundType.NoSound]: null,\n\t[SAWWinSoundType.Disappointing]: 'saw-disappointed.m4a',\n\t[SAWWinSoundType.Positive]: 'saw-positive.m4a',\n\t[SAWWinSoundType.HighlyPositive]: 'saw-highly-positive.m4a',\n};\n","class NodeCache {\n\tprivate static ttlChecker: NodeJS.Timeout;\n\n\tprivate static cache: { [key: string]: any } = {};\n\n\tconstructor() {\n\t\tif (NodeCache.ttlChecker === undefined) {\n\t\t\tNodeCache.ttlChecker = setInterval(() => {\n\t\t\t\tconst now = new Date().getTime();\n\t\t\t\tfor (const key in NodeCache.cache) {\n\t\t\t\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\t\t\t\tconst o = NodeCache.cache[key];\n\t\t\t\t\t\tif (o.ttl < now) {\n\t\t\t\t\t\t\tdelete NodeCache.cache[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t}\n\t}\n\n\tpublic get(key: string): any {\n\t\tconst o = NodeCache.cache[key];\n\t\tif (o !== undefined && o.ttl > new Date().getTime()) {\n\t\t\treturn o.value;\n\t\t}\n\t}\n\n\tpublic set(key: string, value: any, ttlSeconds: number = 60) {\n\t\tNodeCache.cache[key] = {\n\t\t\tvalue,\n\t\t\tttl: new Date().getTime() + ttlSeconds * 1000,\n\t\t};\n\t}\n\n\tpublic remove(key: string) {\n\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\tdelete NodeCache.cache[key];\n\t\t}\n\t}\n\n\tpublic flushAll() {\n\t\tNodeCache.cache = {};\n\t}\n}\n\nexport { NodeCache };\n","import { NodeCache } from './NodeCache';\n\nexport enum ECacheContext {\n\tTranslations,\n\tLabelInfo,\n\tWSAPI,\n}\n\nconst WITH_REF_CACHE = [ECacheContext.Translations];\n\nexport class OCache {\n\tprivate static cache: { [key: string]: NodeCache } = {};\n\n\tprivate static init(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext] === undefined) {\n\t\t\tthis.cache[cacheContext] = new NodeCache();\n\t\t}\n\t}\n\n\tpublic static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\treturn deepClone(this.cache[cacheContext].get(key));\n\t}\n\n\tpublic static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\tthis.cache[cacheContext].set(key, deepClone(o), ttlSeconds);\n\t}\n\n\tpublic static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n\t\tif (ttlSeconds <= 0) {\n\t\t\treturn await f();\n\t\t} else {\n\t\t\tlet o: T = OCache.get(oKey, cacheContext);\n\n\t\t\tif (o === undefined) {\n\t\t\t\to = await f();\n\t\t\t\tOCache.set(oKey, o, cacheContext, ttlSeconds);\n\t\t\t}\n\n\t\t\treturn o;\n\t\t}\n\t}\n\n\tpublic static async clear(cacheContext: ECacheContext, oKey: any) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].remove(key);\n\t\t}\n\t}\n\n\tpublic static async clearContext(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].flushAll();\n\t\t}\n\t}\n\n\tpublic static async clearAll() {\n\t\tthis.cache = {};\n\t}\n}\n\nconst deepClone = (o: any) => {\n\tif (o) {\n\t\treturn JSON.parse(JSON.stringify(o));\n\t}\n\n\treturn o;\n};\n","export enum ActivityTypeLimited {\n\tDoNothing = 8,\n\tPoints = 12,\n\tGiveMission = 14,\n\tStartAnotherCampaign = 15,\n\tMiniGameAttempt = 16,\n\tDeductPoints = 21,\n\tResetPoints = 22,\n\tPopup = 30,\n\tInbox = 31,\n\tSlack = 70,\n\tEmail_To_Customer_Support = 80,\n\tEmail_To_Risk_Operator = 90,\n\tBonus = 100,\n\tWebHook = 200,\n\tTagCustomer = 504,\n\tUnTagCustomer = 505,\n}\n","class CoreUtils {\n\tpublic static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n\t\tif (\n\t\t\tavatarDomain &&\n\t\t\tavatar_id !== null &&\n\t\t\tavatar_id !== undefined &&\n\t\t\t!(avatar_id.startsWith && avatar_id.startsWith('http'))\n\t\t) {\n\t\t\tif (avatarDomain.endsWith('/')) {\n\t\t\t\treturn avatarDomain.slice(0, -1) + '/avatar/' + avatar_id;\n\t\t\t} else {\n\t\t\t\treturn avatarDomain + '/avatar/' + avatar_id;\n\t\t\t}\n\t\t} else {\n\t\t\treturn avatar_id;\n\t\t}\n\t};\n\n\tpublic static currencySymbol(currency: string) {\n\t\treturn {\n\t\t\t[currency?.toUpperCase()]: currency?.toUpperCase(),\n\t\t\tUSD: '$', // United States Dollar\n\t\t\tEUR: '\\u20AC', // Euro\n\t\t\tJPY: '\\u00A5', // Japanese Yen\n\t\t\tGBP: '\\u00A3', // British Pound Sterling\n\t\t\tAUD: 'A$', // Australian Dollar\n\t\t\tCAD: 'C$', // Canadian Dollar\n\t\t\tCHF: 'CHF', // Swiss Franc\n\t\t\tCNY: '\\u00A5', // Chinese Yuan\n\t\t\tSEK: 'kr', // Swedish Krona\n\t\t\tNZD: 'NZ$', // New Zealand Dollar\n\t\t\tMXN: 'MX$', // Mexican Peso\n\t\t\tSGD: 'S$', // Singapore Dollar\n\t\t\tHKD: 'HK$', // Hong Kong Dollar\n\t\t\tNOK: 'kr', // Norwegian Krone\n\t\t\tKRW: '\\u20A9', // South Korean Won\n\t\t\tTRY: '\\u20BA', // Turkish Lira\n\t\t\tINR: '\\u20B9', // Indian Rupee\n\t\t\tRUB: '\\u20BD', // Russian Ruble\n\t\t\tBRL: 'R$', // Brazilian Real\n\t\t\tZAR: 'R', // South African Rand\n\t\t}[currency?.toUpperCase()];\n\t}\n}\n\nexport { CoreUtils };\n","export enum PublicLabelSettings {\n\tPUBLIC_API_URL = 'PUBLIC_API_URL',\n\tRECORDING_ENABLED_FOR_ALL_USERS = 'RECORDING_ENABLED_FOR_ALL_USERS',\n\tJS_INJECTION = 'JS_INJECTION',\n\tGAMIFICATION_UI_MAIN = 'GAMIFICATION_UI_MAIN',\n\tGAMIFICATION_UI_WIDGET = 'GAMIFICATION_UI_WIDGET',\n\tGAMIFICATION_UI_MINI_GAME = 'GAMIFICATION_UI_MINI_GAME',\n\tGAMIFICATION_UI_SETTINGS = 'GAMIFICATION_UI_SETTINGS',\n\tGAMIFICATION_UI_MAIN_TEST = 'GAMIFICATION_UI_MAIN_TEST',\n\tGAMIFICATION_UI_WIDGET_TEST = 'GAMIFICATION_UI_WIDGET_TEST',\n\tGAMIFICATION_UI_SETTINGS_TEST = 'GAMIFICATION_UI_SETTINGS_TEST',\n\tFRONT_END_ALLOWED_LANGUAGES = 'FRONT_END_ALLOWED_LANGUAGES',\n\tFRONT_END_ALLOW_DOMAINS = 'FRONT_END_ALLOW_DOMAINS',\n\tDELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = 'DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS',\n\tSHADOW_LABEL_PUBLIC_KEY = 'SHADOW_LABEL_PUBLIC_KEY',\n\tDYNAMIC_IMAGE_DOMAIN = 'DYNAMIC_IMAGE_DOMAIN',\n\n\tGAMIFICATION_UI_LEVEL_ENABLED = 'GAMIFICATION_UI_LEVEL_ENABLED',\n\tGAMIFICATION_UI_LEVEL_IMAGE_MOB = 'GAMIFICATION_UI_LEVEL_IMAGE_MOB',\n\tGAMIFICATION_UI_LEVEL_IMAGE_DESK = 'GAMIFICATION_UI_LEVEL_IMAGE_DESK',\n\n\tGAMIFICATION_LEVELS_LOGIC2 = 'GAMIFICATION_LEVELS_LOGIC2',\n\tGAMIFICATION_LEVELS_LOGIC3 = 'GAMIFICATION_LEVELS_LOGIC2',\n\n\tAVATAR_CUSTOM_IMAGE_MAX_ID = 'AVATAR_CUSTOM_IMAGE_MAX_ID',\n\tAVATAR_CUSTOM_IMAGE_FOLDER = 'AVATAR_CUSTOM_IMAGE_FOLDER',\n\n\tGAMIFICATION_SHOW_POWERED_BY = 'GAMIFICATION_SHOW_POWERED_BY',\n\t_system_leader_board_mask_username = '_system_leader_board_mask_username',\n\n\tINBOX_PUBLIC_CDN = 'INBOX_PUBLIC_CDN',\n}\n","enum TranslationArea {\n\tCasino = 1,\n\tGamification = 2,\n\tTrading = 3,\n\tArchived = 4,\n\tAffiliation = 5,\n\tRetentionGames = 6,\n\tAffIliateAdminNew = 7,\n}\n\nexport { TranslationArea };\n","import { TInboxMessage } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { InboxMessage } from './InboxMessage';\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\tlog: InboxMessage[];\n}\n\nexport const InboxMessagesTransform = (items: InboxMessage[]): TInboxMessage[] => {\n\treturn items.map((item) => {\n\t\tconst x: TInboxMessage = {\n\t\t\tsent_date: item.createDate,\n\t\t\tmessage_guid: item.engagement_uid,\n\t\t\tread: item.is_read,\n\t\t\tfavorite: item.is_starred,\n\t\t};\n\t\treturn x;\n\t});\n};\n","import { TInboxMessageBody } from '../WSAPI/WSAPITypes';\nimport { InboxMessageType } from './InboxMessageType';\n\nexport interface InboxMessageBody {\n\taction: string;\n\tbody: string;\n\ttype: InboxMessageType;\n\timage: string;\n\ttitle: string;\n\thtml_body: string;\n\tadditional_buttons?: { inbox_cta_text: string; action: string }[];\n}\n\nexport interface InboxMessage {\n\tcreateDate: string;\n\tbody: InboxMessageBody;\n\tengagement_uid: string;\n\tis_read: boolean;\n\tis_starred: boolean;\n\tis_deleted?: boolean;\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n\tconst x: TInboxMessageBody = {\n\t\taction: item.action,\n\t\ticon: item.image,\n\t\ttitle: item.title,\n\t\tpreview_body: item.body,\n\t};\n\n\tif (item.action === 'dp:inbox') {\n\t\tif (item.additional_buttons && item.additional_buttons.length) {\n\t\t\tx.buttons = item.additional_buttons.map((b) => ({\n\t\t\t\taction: b.action,\n\t\t\t\ttext: b.inbox_cta_text,\n\t\t\t}));\n\t\t}\n\n\t\tx.html_body = item?.html_body || null;\n\t}\n\n\treturn x;\n};\n","export enum InboxMessageType {\n\tCustom = 0,\n\tMissionCompleted = 1,\n\tMissionUnlocked = 2,\n\tLeaderboardWon = 3,\n\tLevelChanged = 4,\n\tBonusGiven = 5,\n\tPointsAdded = 6,\n\tPointsUsed = 7,\n\tPersonalMessage = 8,\n}\n\n// keep in sync with BO enum\n","export enum BuyStoreItemErrorCode {\n\tFAILED_TO_BUY_SHOP_ITEM = 121,\n\tSHOP_NO_BALANCE = 11000,\n\tSHOP_WRONG_LABEL = 11001,\n\tSHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n\tSHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n\tSHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n\tSHOP_FAILED_POOL_EMPTY = 11009,\n}\n","import { TStoreCategory } from '../WSAPI/WSAPITypes';\nimport { StoreCategoryPublicMeta } from './StoreCategoryPublicMeta';\n\nexport interface StoreCategory {\n\tid?: number;\n\tpublicMeta?: StoreCategoryPublicMeta;\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TStoreCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","export enum StoreItemType {\n\tBonus = 1,\n\tTangible = 2,\n\tMiniGameSpin = 3,\n\tChangeLevel = 4,\n\tPrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n\tBonus = 'bonus',\n\tTangible = 'tangible',\n\tMiniGameSpin = 'minigamespin',\n\tChangeLevel = 'changelevel',\n\tPrizeDrop = 'prizedrop',\n\tUnknown = 'unknown',\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n\treturn (\n\t\t{\n\t\t\t[StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n\t\t\t[StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n\t\t\t[StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n\t\t}[type] || StoreItemTypeName.Unknown\n\t);\n};\n","import { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItemPublicMeta } from './StoreItemPublicMeta';\nimport { StoreItemType, StoreItemTypeNamed } from './StoreItemType';\n\nexport interface StoreItem {\n\tid: number;\n\titemTypeId: StoreItemType;\n\titemPublicMeta: StoreItemPublicMeta;\n\tcategoryIds?: number[];\n\tcanBuy?: boolean;\n\tshopPool: number;\n}\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { IntUtils } from '../IntUtils';\nimport { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItem } from './StoreItem';\nimport { StoreItemTypeNamed } from './StoreItemType';\n\ninterface StoreItemPurchased extends StoreItem {\n\tpurchase_ts: number;\n\tpurchase_points_amount: number;\n\tpurchased_today?: boolean;\n\tpurchased_this_week?: boolean;\n\tpurchased_this_month?: boolean;\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false;\n\t\t\tconst purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false;\n\t\t\tconst purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t\tpurchase_ts: r.purchase_ts,\n\t\t\t\tpurchase_points_amount: r.purchase_points_amount,\n\t\t\t\tpurchased_today: purchasedToday,\n\t\t\t\tpurchased_this_week: purchasedThisWeek,\n\t\t\t\tpurchased_this_month: purchasedThisMonth,\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};\n\nexport { StoreItemPurchased };\n","export enum AchievementStatus {\n\tDraft = 1,\n\tAvailableUnlocked = 2,\n\tAvailableLocked = 3,\n\tArchived = 4,\n\tFeaturedManually = 5,\n\tFeaturedAI = 6,\n\tRecurring = 7,\n}\n","export enum AchievementTaskType {\n\tCompleteAchievement = 1,\n\tUnlockAchievement = 2,\n}\n","export enum AchievementType {\n\tMission = 1,\n\tBadge = 2,\n}\n","import { AchRelatedGame } from '../Base/AchRelatedGame';\nimport { IntUtils } from '../IntUtils';\nimport { TMissionOrBadge } from '../WSAPI/WSAPITypes';\nimport { AchievementPublicMeta } from './AchievementPublicMeta';\nimport { AchievementStatus } from './AchievementStatus';\nimport { AchievementTaskType } from './AchievementTaskType';\nimport { AchievementType } from './AchievementType';\nimport { ScheduledMissionType } from './ScheduledMissionType';\nimport { UserAchievementTask } from './UserAchievementTask';\n\nexport interface UserAchievement {\n\tach_id?: number;\n\tach_type_id?: AchievementType;\n\tach_public_meta?: AchievementPublicMeta;\n\tisCompleted?: boolean;\n\tisLocked?: boolean;\n\trequiresOptin?: boolean;\n\tisOptedIn?: boolean;\n\tstart_date?: string; // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n\tstart_date_ts?: number;\n\ttime_limit_ms?: number;\n\tprogress?: number;\n\tcomplete_date?: string;\n\tcomplete_date_ts?: number;\n\tunlock_date?: string;\n\tmilliseconds_till_available?: number;\n\tcompleted_tasks?: number;\n\tachievementTasks?: UserAchievementTask[];\n\tach_status_id?: AchievementStatus;\n\tscheduledMissionType?: ScheduledMissionType;\n\trelated_games?: AchRelatedGame[];\n\tactive_from_ts?: number; // indicates when 'scheduled' mission is active from,\n\tach_categories?: number[];\n\n\tach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables\n\trequires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it\n\tprize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user\n\n\tcompleted_today?: boolean;\n\tcompleted_this_week?: boolean;\n\tcompleted_this_month?: boolean;\n\tcustom_section_type_id?: number;\n}\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n\treturn items\n\t\t.filter((r) => r.ach_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false;\n\t\t\tconst completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false;\n\t\t\tconst completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TMissionOrBadge = {\n\t\t\t\tid: r.ach_id,\n\t\t\t\tname: r.ach_public_meta.name,\n\t\t\t\tdescription: r.ach_public_meta.description,\n\t\t\t\thint_text: r.ach_public_meta.hint_text,\n\t\t\t\tunlock_mission_description: r.ach_public_meta.unlock_mission_description,\n\t\t\t\timage: r.ach_public_meta.image_url,\n\t\t\t\tis_completed: r.isCompleted,\n\t\t\t\tis_locked: r.isLocked,\n\t\t\t\tis_requires_optin: r.requiresOptin,\n\t\t\t\tis_opted_in: r.isOptedIn,\n\t\t\t\ttime_limit_ms: r.time_limit_ms,\n\t\t\t\tactive_from_ts: r.active_from_ts,\n\t\t\t\tdt_start: r.start_date_ts,\n\t\t\t\treward: r.ach_public_meta.reward,\n\t\t\t\tprogress: r.progress,\n\t\t\t\ttype: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n\t\t\t\tcta_action: r.ach_public_meta.cta_action,\n\t\t\t\tcta_text: r.ach_public_meta.cta_text,\n\t\t\t\tcustom_section_id: r.ach_public_meta.custom_section_id,\n\t\t\t\tonly_in_custom_section: r.ach_public_meta.only_in_custom_section,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n\t\t\t\tposition: r.ach_public_meta.position,\n\t\t\t\tribbon:\n\t\t\t\t\tr.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n\t\t\t\ttasks: (r.achievementTasks || [])\n\t\t\t\t\t.filter((t) => t.task_type_id === AchievementTaskType.CompleteAchievement)\n\t\t\t\t\t.map((t) => ({\n\t\t\t\t\t\tid: t.task_id,\n\t\t\t\t\t\tname: t.task_public_meta?.name,\n\t\t\t\t\t\tpoints_reward: t.points_reward,\n\t\t\t\t\t\tis_completed: t.isCompleted,\n\t\t\t\t\t\tprogress: t.userProgress,\n\t\t\t\t\t\texecution_count_expected: t.executionCount,\n\t\t\t\t\t\texecution_count_actual: t.userExecutedCount,\n\t\t\t\t\t\tdisplay_progress_as_count: t.task_public_meta.display_progress_as_count,\n\t\t\t\t\t})),\n\t\t\t\trelated_games: (r.related_games || []).map((g) => ({\n\t\t\t\t\text_game_id: g.ext_game_id,\n\t\t\t\t\tgame_public_meta: {\n\t\t\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t\t\t},\n\t\t\t\t})),\n\t\t\t\tcategory_ids: r.ach_categories ?? [],\n\t\t\t\tach_completed_id: r.ach_completed_id,\n\t\t\t\trequires_prize_claim: r.requires_prize_claim,\n\t\t\t\tprize_claimed_date_ts: r.prize_claimed_date_ts,\n\t\t\t\tcomplete_date: r.complete_date,\n\t\t\t\tcomplete_date_ts: r.complete_date_ts,\n\t\t\t\tcompleted_today: completedToday,\n\t\t\t\tcompleted_this_week: completedThisWeek,\n\t\t\t\tcompleted_this_month: completedThisMonth,\n\t\t\t\tcustom_section_type_id: r.ach_public_meta.custom_section_type_id,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","export enum ScheduledMissionType {\n\tFuture = 1,\n\tPast = 2,\n\tPresent = 3,\n}\n","import { TAchCategory } from '../WSAPI/WSAPITypes';\nimport { AchCategoryPublicMeta } from './AchCategoryPublicMeta';\n\nexport interface AchCategory {\n\tid?: number;\n\tpublicMeta?: AchCategoryPublicMeta;\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TAchCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","/** @hidden */\nexport enum TournamentRegistrationType {\n\tAUTO = 1,\n\tOPT_IN = 2,\n\tBUY_IN_POINTS = 3,\n\tMANUAL_APPROVAL = 4,\n\tREQUIRES_QUALIFICATION = 5,\n\t// BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName =\n\t| 'AUTO'\n\t| 'OPT_IN'\n\t| 'BUY_IN_POINTS'\n\t| 'MANUAL_APPROVAL'\n\t| 'REQUIRES_QUALIFICATION'\n\t| 'UNKNOWN';\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n\treturn ({\n\t\t[TournamentRegistrationType.AUTO]: 'AUTO',\n\t\t[TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n\t\t[TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n\t\t[TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n\t\t[TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n\t}[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName;\n};\n","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\tNOT_REGISTERED = 0,\n\tREGISTERED = 1,\n\tFINISHED = 2,\n\tPENDING = 3,\n\tCANCELLED = 4,\n\tREGISTERED_PENDING_QUALIFICATION = 5,\n\tQUALIFIED_PENDING_REGISTRATION = 6,\n}\n\nexport enum TournamentRegistrationStatusName {\n\tNOT_REGISTERED = 'NOT_REGISTERED',\n\tREGISTERED = 'REGISTERED',\n\tFINISHED = 'FINISHED',\n\tPENDING = 'PENDING',\n\tCANCELLED = 'CANCELLED',\n\tREGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n\tQUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n\tUNKNOWN = 'UNKNOWN',\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n\treturn ({\n\t\t[TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n\t\t[TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n\t\t[TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n\t\t[TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n\t\t[TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]:\n\t\t\tTournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n\t\t[TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n\t\t[TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]:\n\t\t\tTournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION,\n\t}[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName;\n};\n","import { TournamentRegistrationType, TournamentRegistrationTypeGetName } from './TournamentRegistrationType';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport {\n\tTournamentRegistrationStatus,\n\tTournamentRegistrationStatusName,\n\tTournamentRegistrationStatusNamed,\n} from './TournamentRegistrationStatus';\nimport { TournamentType } from './TournamentType';\nimport { TournamentPublicMeta } from './TournamentPublicMeta';\nimport { TTournament } from '../WSAPI/WSAPITypes';\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from '.';\nimport { IntUtils } from '../IntUtils';\nimport { AchRelatedGame } from '../Base/AchRelatedGame';\n\nexport interface Tournament {\n\t/** ID of tournament template */\n\ttournamentId?: number;\n\t/** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n\ttournamentInstanceId?: number;\n\t/** Type of the tournament. For now only SCHEDULED is support */\n\ttournamentType?: TournamentType;\n\t/** Meta information about tournament that should be used to build UI */\n\tpublicMeta?: TournamentPublicMeta;\n\t/** Cost of registration in the tournament in gamification points */\n\tbuyInAmount?: number;\n\t/** Not in use */\n\tprizePool?: number;\n\t/** The time when tournament is going to start */\n\tstartTime?: string;\n\t/** The time when tournament is going to finish */\n\tendTime?: string;\n\t/** The time when tournament is going to start, epoch */\n\tstartTimeTs?: number;\n\t/** The time when tournament is going to finish, epoch */\n\tendTimeTs?: number;\n\t/** Number of users registered in the tournament */\n\tregistrationCount?: number;\n\t/** Not in use */\n\ttotalCount?: number;\n\t/** Type of registration in the tournament */\n\tregistrationType?: TournamentRegistrationType;\n\t/** Status of registration in the tournament for current user */\n\ttournamentRegistrationStatus?: TournamentRegistrationStatus;\n\t/** Status of tournament instance */\n\ttournamentInstanceStatus?: TournamentInstanceStatus;\n\t/** flag indicating if current user is registered in the tournament */\n\tisUserRegistered?: boolean;\n\t/** Indicator if tournament allows later registration, when tournament is already started */\n\tallowLateRegistration?: boolean;\n\t/** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n\tplayersMinCount?: number;\n\t/** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n\tplayersMaxCount?: number;\n\t/** Tournament duration in millisecnnds */\n\tdurationMs?: number;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n\t/** Information about current user */\n\ttournamentPlayer?: TournamentPlayer;\n\n\t/** List of casino games (or other types of entities) related to the tournament */\n\trelated_games?: AchRelatedGame[];\n}\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => {\n\treturn items\n\t\t.filter((r) => r.tournamentId >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TTournament = {\n\t\t\t\tinstance_id: r.tournamentInstanceId,\n\t\t\t\ttournament_id: r.tournamentId,\n\t\t\t\tname: r.publicMeta.name,\n\t\t\t\tdescription: r.publicMeta.description,\n\t\t\t\tsegment_dont_match_message: r.publicMeta.segment_dont_match_message,\n\t\t\t\timage1: r.publicMeta.image_url,\n\t\t\t\timage2: r.publicMeta.image_url2,\n\t\t\t\timage2_mobile: r.publicMeta.image_url2_mobile,\n\t\t\t\tprize_pool_short: r.publicMeta.prize_pool_short,\n\t\t\t\tcustom_price_text: r.publicMeta.custom_price_text,\n\t\t\t\tcustom_section_id: r.publicMeta.custom_section_id,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n\t\t\t\tis_featured: r.publicMeta.featured,\n\t\t\t\tribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n\t\t\t\tpriority: r.publicMeta.position,\n\n\t\t\t\tstart_time: r.startTimeTs,\n\t\t\t\tend_time: r.endTimeTs,\n\t\t\t\tregistration_count: r.registrationCount,\n\t\t\t\tis_user_registered: r.isUserRegistered,\n\t\t\t\tplayers_min_count: r.playersMinCount,\n\t\t\t\tplayers_max_count: r.playersMaxCount,\n\t\t\t\tregistration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n\t\t\t\tregistration_type: TournamentRegistrationTypeGetName(r.registrationType),\n\t\t\t\tregistration_cost_points: r.buyInAmount,\n\t\t\t\tduration_ms: r.durationMs,\n\n\t\t\t\tis_active: TournamentUtils.isActive(r),\n\t\t\t\tis_can_register: TournamentUtils.isCanRegister(r),\n\t\t\t\tis_cancelled: TournamentUtils.isCancelled(r),\n\t\t\t\tis_finished: TournamentUtils.isFinished(r),\n\t\t\t\tis_in_progress: TournamentUtils.isInProgress(r),\n\t\t\t\tis_upcoming: TournamentUtils.isUpcoming(r),\n\t\t\t};\n\n\t\t\tif (r.prizeStructure) {\n\t\t\t\tx.prizes = r.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t\t\t}\n\n\t\t\tif (r.tournamentPlayer) {\n\t\t\t\tx.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true);\n\t\t\t}\n\n\t\t\treturn x;\n\t\t});\n};\n","export enum TournamentInstanceStatus {\n\tPUBLISHED = 1,\n\tREGISTER = 2,\n\tSTARTED = 3,\n\tFINISHED = 4,\n\tCANCELLED = 5,\n\tFAILED = 6,\n\tFINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n\treturn {\n\t\t[TournamentInstanceStatus.PUBLISHED]: 'PUBLISHED',\n\t\t[TournamentInstanceStatus.REGISTER]: 'REGISTER',\n\t\t[TournamentInstanceStatus.STARTED]: 'STARTED',\n\t\t[TournamentInstanceStatus.FINISHED]: 'FINISHED',\n\t\t[TournamentInstanceStatus.CANCELLED]: 'CANCELLED',\n\t\t[TournamentInstanceStatus.FAILED]: 'FAILED',\n\t\t[TournamentInstanceStatus.FINALIZING]: 'FINALIZING',\n\t}[s];\n};\n","import { ActivityTypeLimited } from '../Core';\nimport { Tournament } from './Tournament';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TournamentRegistrationStatus } from './TournamentRegistrationStatus';\nimport { TournamentRegistrationType } from './TournamentRegistrationType';\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n\treturn {\n\t\t[ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n\t\t[ActivityTypeLimited.Points]: 'POINTS_ADD',\n\t\t[ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n\t\t[ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n\t\t[ActivityTypeLimited.MiniGameAttempt]: 'MINI_GAME_ATTEMPT',\n\t\t[ActivityTypeLimited.Bonus]: 'BONUS',\n\t}[type];\n};\n\nexport class TournamentUtils {\n\tpublic static isCanRegister = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\tif (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t!tournament.isUserRegistered &&\n\t\t\t\t(tournament.playersMaxCount !== tournament.registrationCount ||\n\t\t\t\t\ttournament.playersMaxCount === null ||\n\t\t\t\t\ttournament.playersMaxCount === 0) &&\n\t\t\t\ttournament.registrationType !== TournamentRegistrationType.AUTO &&\n\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED &&\n\t\t\t\t\t\ttournament.allowLateRegistration))\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isInProgress = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isActive = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isFinished = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isCancelled = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isUpcoming = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n\t\tif (player) {\n\t\t\tconst playerTransformed = {\n\t\t\t\tpublic_username: player.userAltName,\n\t\t\t\tavatar_url: player.avatar_url,\n\t\t\t\tposition: player.position,\n\t\t\t\tscores: player.scores,\n\t\t\t\tis_me: player.isMe,\n\t\t\t};\n\n\t\t\tif (isMe) {\n\t\t\t\tdelete playerTransformed.is_me;\n\t\t\t}\n\n\t\t\treturn playerTransformed;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tpublic static getPrizeTransformed = (prize: TournamentPrize) => {\n\t\tif (prize) {\n\t\t\treturn { ...prize, type: tournamentPrizeTypeToPrizeName(prize.type) };\n\t\t}\n\n\t\treturn null;\n\t};\n}\n","import { Tournament, TournamentItemsTransform } from './Tournament';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TTournamentDetailed } from '../WSAPI/WSAPITypes';\nimport { TournamentUtils } from './TournamentUtils';\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\t/** tournament info */\n\ttournamentInfo: {\n\t\t/** id of label, not in use */\n\t\tlabelId: number;\n\t\ttournamentLobbyInfo: Tournament;\n\t\t/** list of registered users */\n\t\tplayers: TournamentPlayer[];\n\t};\n\t/** information about current user position */\n\tuserPosition: TournamentPlayer;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n\tconst response: TTournamentDetailed = {\n\t\t...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n\t\trelated_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map((g) => ({\n\t\t\text_game_id: g.ext_game_id,\n\t\t\tgame_public_meta: {\n\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t},\n\t\t})),\n\t\tplayers: t.tournamentInfo.players.map((p) => TournamentUtils.getPlayerTransformed(p)),\n\t};\n\n\tif (t.prizeStructure) {\n\t\tresponse.prizes = t.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t}\n\n\tif (t.userPosition) {\n\t\tresponse.me = TournamentUtils.getPlayerTransformed(t.userPosition, true);\n\t}\n\n\treturn response;\n};\n","export enum TournamentRegistrationError {\n\tNO_ERROR = 0,\n\tTOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n\tTOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n\tTOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n\tTOURNAMENT_ALREADY_REGISTERED = 30004,\n\tTOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n\tTOURNAMENT_USER_NOT_REGISTERED = 30006,\n\tTOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n\tTOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\tSCHEDULED = 1,\n\tSNG = 2,\n\tTEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n\tDAILY = 1,\n\tWEEKLY = 2,\n\tMONTHLY = 3,\n}\n","import { IntUtils } from '../IntUtils';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TLevel } from '../WSAPI/WSAPITypes';\nimport { Level } from './Level';\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\tlevels: Level[];\n}\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n\treturn levels?.levels.map((l) => ({\n\t\tid: l.level_id,\n\t\tname: l.level_public_meta.name,\n\t\tdescription: l.level_public_meta.description,\n\t\timage: l.level_public_meta.image_url,\n\t\trequired_points: l.required_points,\n\t\tvisibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n\t\trequired_level_counter_1: l.required_level_counter_1,\n\t\trequired_level_counter_2: l.required_level_counter_2,\n\t\tcustom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n\t}));\n};\n","import { ClassId } from '../Base/ClassId';\nimport { CoreUtils } from '../Core';\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWSpinErrorCode, SAWSpinsCountPush } from '../MiniGames';\nimport { ECacheContext, OCache } from '../OCache';\nimport { SmarticoAPI } from '../SmarticoAPI';\nimport {\n\tInboxMarkMessageAction,\n\tLeaderBoardDetailsT,\n\tTAchCategory,\n\tTBuyStoreItemResult,\n\tTGetTranslations,\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGamePlayResult,\n\tTMiniGameTemplate,\n\tTMissionClaimRewardResult,\n\tTMissionOptInResult,\n\tTMissionOrBadge,\n\tTSegmentCheckResult,\n\tTStoreCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tTTournamentRegistrationResult,\n\tTUICustomSection,\n\tTUserProfile,\n\tUserLevelExtraCountersT,TBonus,\n\tTClaimBonusResult\n} from './WSAPITypes';\nimport { LeaderBoardPeriodType } from '../Leaderboard';\nimport {\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotWinPush,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from '../Jackpots';\n\n/** @hidden */\nconst CACHE_DATA_SEC = 30;\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30;\nconst JACKPOT_POT_CACHE_SEC = 1;\n\n/** @hidden */\nenum onUpdateContextKey {\n\tSaw = 'saw',\n\tMissions = 'missions',\n\tTournamentList = 'tournamentList',\n\tInboxMessages = 'inboxMessages',\n\tBadges = 'badges',\n\tLevels = 'levels',\n\tStoreItems = 'storeItems',\n\tStoreCategories = 'storeCategories',\n\tAchCategories = 'achCategories',\n\tLeaderBoards = 'leaderBoards',\n\tLevelExtraCounters = 'levelExtraCounters',\n\tSegments = 'segments',\n\tStoreHistory = 'storeHistory',\n\tJackpots = 'jackpots',\n\tPots = 'Pots',\n\tCustomSections = 'customSections',\n\tBonuses = 'bonuses',\n}\n\n/** @group General API */\nexport class WSAPI {\n\tprivate onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map();\n\tprivate jackpotGetSignature: string = '';\n\n\t/** @private */\n\tconstructor(private api: SmarticoAPI) {\n\t\tOCache.clearAll();\n\t\tif (this.api.tracker) {\n\t\t\tconst on = this.api.tracker.on;\n\t\t\ton(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data));\n\t\t\ton(ClassId.SAW_SHOW_SPIN_PUSH, () => this.updateOnAddSpin());\n\t\t\ton(ClassId.SAW_DO_SPIN_RESPONSE, (data: SAWDoSpinResponse) =>\n\t\t\t\ton(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => this.updateOnPrizeWin(data)),\n\t\t\t);\n\t\t\ton(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.RELOAD_ACHIEVEMENTS_EVENT, () => this.updateMissions());\n\t\t\ton(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournaments());\n\t\t\ton(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages());\n\t\t\ton(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache());\n\t\t\ton(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache());\n\t\t\ton(ClassId.CLAIM_BONUS_RESPONSE, () => this.updateBonuses());\n\t\t}\n\t}\n\n\t/** Returns information about current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserProfile().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t * */\n\tpublic getUserProfile(): TUserProfile {\n\t\tif (this.api.tracker) {\n\t\t\tconst o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps);\n\t\t\to.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain);\n\t\t\treturn o;\n\t\t} else {\n\t\t\tthrow new Error('Tracker is not initialized, cannot getUserProfile');\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentMatch(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentMatch(segment_id: number): Promise<boolean> {\n\t\tconst r = await this.api.coreCheckSegments(null, [segment_id]);\n\t\tif (r && r.find((s) => s.segment_id === segment_id && s.is_matching)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific list of segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n\t\treturn await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids]);\n\t}\n\n\t/** Returns all the levels available the current user\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLevels(): Promise<TLevel[]> {\n\t\treturn OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC);\n\t}\n\n\t/** Returns all the missions available the current user.\n\t * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the badges available the current user\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBadges(): Promise<TMissionOrBadge[]> {\n\t\treturn OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the bonuses for the current user\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBonuses({ onUpdate }: { onUpdate?: (data: TBonus[]) => void } = {}): Promise<TBonus[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Bonuses, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Bonuses, ECacheContext.WSAPI, () => this.api.bonusesGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Claim the bonus by bonus_id. Returns the err_code in case of success or error.\n\t * Note that this method can be used only on integrations where originally failed bonus can be claimed again.\n\t * For example, user won a bonus in the mini-game, but Operator rejected this bonus. \n\t * This bonus will be available for the user to claim again.\n\t *\n\t * **Visitor mode: not supported**\n\t */\t\n\tpublic async claimBonus(bonus_id: number): Promise<TClaimBonusResult> {\n\t\tconst r = await this.api.bonusClaimItem(null, bonus_id);\n\n\t\tconst o: TClaimBonusResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tsuccess: r.success,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\n\t/**\n\t * Returns the extra counters for the current user level.\n\t * These are counters that are configured for each Smartico client separatly by request.\n\t * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserLevelExtraCounters().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LevelExtraCounters,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getUserGamificationInfoT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t *\n\t * Returns all the store items available the current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\n\tpublic async getStoreItems(): Promise<TStoreItem[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreItems,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetItemsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n\t * **Example**:\n\t * ```\n\t * _smartico.api.buyStoreItem(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n\t\tconst r = await this.api.buyStoreItem(null, item_id);\n\n\t\tconst o: TBuyStoreItemResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t *\n\t * Returns store categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getStoreCategories(): Promise<TStoreCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched.\n\t * The maximum number of items per request is limited to 20.\n\t * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStorePurchasedItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async getStorePurchasedItems({\n\t\tlimit,\n\t\toffset,\n\t\tonUpdate,\n\t}: { limit?: number; offset?: number; onUpdate?: (data: TStoreItem[]) => void } = {}): Promise<TStoreItem[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate);\n\t\t}\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreHistory,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetPurchasedItemsT(null, limit, offset),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns missions & badges categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getAchCategories(): Promise<TAchCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.AchCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.achGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns list of custom sections\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getCustomSections(): Promise<TUICustomSection[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.CustomSections,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getCustomSectionsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns the list of mini-games available for user\n\t * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t */\n\tpublic async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<\n\t\tTMiniGameTemplate[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async playMiniGame(template_id: number): Promise<TMiniGamePlayResult> {\n\t\tconst r = await this.api.sawSpinRequest(null, template_id);\n\t\tthis.api.doAcknowledgeRequest(null, r.request_id);\n\n\t\tconst o: TMiniGamePlayResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tprize_id: r.saw_prize_id,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Requests an opt-in for the specified mission_id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult> {\n\t\tconst r = await this.api.missionOptIn(null, mission_id);\n\n\t\tconst o: TMissionOptInResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Request for claim reward for the specified mission id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n\t\tconst r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id);\n\n\t\tconst o: TMissionClaimRewardResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/** Returns all the active instances of tournaments\n\t * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * */\n\tpublic async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.TournamentList,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.tournamentsGetLobbyT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t */\n\tpublic async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\treturn this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n\t}\n\n\t/**\n\t * Requests registration for the specified tournament instance. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult> {\n\t\tconst r = await this.api.registerInTournament(null, tournamentInstanceId);\n\n\t\tconst o: TTournamentRegistrationResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Returns the leaderboard for the current type (default is Daily). If getPreviousPeriod is passed as true, a leaderboard for the previous period for the current type will be returned.\n\t * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LeaderBoards,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched.\n\t * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites.\n\t * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n\t * This functions return list of messages without the body of the message.\n\t * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n\t * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n\t * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t * @param params\n\t */\n\tpublic async getInboxMessages({\n\t\tfrom,\n\t\tto,\n\t\tonlyFavorite,\n\t\tonUpdate,\n\t}: { from?: number; to?: number; onlyFavorite?: boolean; onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<\n\t\tTInboxMessage[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);\n\t\t}\n\n\t\treturn await this.api.getInboxMessagesT(null, from, to, onlyFavorite);\n\t}\n\n\t/**\n\t * Returns the message body of the specified message guid.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n\t\treturn await this.api.getInboxMessageBodyT(messageGuid);\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as read\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markInboxMessageRead(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark all inbox messages as rea\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markAllInboxMessageRead(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete inbox message\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteInboxMessage(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete all inbox messages\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteAllInboxMessages(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n\t */\n\tpublic async getTranslations(lang_code: string): Promise<TGetTranslations> {\n\t\tconst r = await this.api.getTranslationsT(null, lang_code, []);\n\n\t\treturn {\n\t\t\ttranslations: r.translations,\n\t\t};\n\t}\n\n\tprivate async updateOnSpin(data: SAWSpinsCountPush) {\n\t\tconst templates: TMiniGameTemplate[] = await OCache.use(\n\t\t\tonUpdateContextKey.Saw,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.sawGetTemplatesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t\tconst index = templates.findIndex((t) => t.id === data.saw_template_id);\n\t\ttemplates[index].spin_count = data.spin_count;\n\t\tthis.updateEntity(onUpdateContextKey.Saw, templates);\n\t}\n\n\tprivate async updateOnAddSpin() {\n\t\tconst payload = await this.api.sawGetTemplatesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Saw, payload);\n\t}\n\n\tprivate async updateOnPrizeWin(data: SAWDoSpinResponse) {\n\t\tif (data.errCode === SAWSpinErrorCode.SAW_OK) {\n\n\t\t\t\tconst updatedTemplates = await this.api.sawGetTemplatesT(null);\n\t\t\t\tthis.updateEntity(onUpdateContextKey.Saw, updatedTemplates);\n\t\t}\n\t}\n\n\tprivate async updateMissions() {\n\t\tconst payload = await this.api.missionsGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Missions, payload);\n\t}\n\n\tprivate async updateBonuses() {\n\t\tconst payload = await this.api.bonusesGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Bonuses, payload);\n\t}\n\t\n\tprivate async updateTournaments() {\n\t\tconst payload = await this.api.tournamentsGetLobbyT(null);\n\t\tthis.updateEntity(onUpdateContextKey.TournamentList, payload);\n\t}\n\n\tprivate async updateInboxMessages() {\n\t\tconst payload = await this.api.getInboxMessagesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.InboxMessages, payload);\n\t}\n\n\tprivate async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n\t\tOCache.set(contextKey, payload, ECacheContext.WSAPI);\n\n\t\tconst onUpdate = this.onUpdateCallback.get(contextKey);\n\t\tif (onUpdate) {\n\t\t\tonUpdate(payload);\n\t\t}\n\t}\n\n\tprivate async jackpotClearCache() {\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots);\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots);\n\t}\n\n\t/** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n\t * If filter is not provided, all active jackpots will be returned.\n\t * Filter can be used to get jackpots related to specific game or specific jackpot template.\n\t * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async jackpotGet(filter?: { related_game_id?: string; jp_template_id?: number }): Promise<JackpotDetails[]> {\n\t\tconst signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`;\n\n\t\tif (signature !== this.jackpotGetSignature) {\n\t\t\tthis.jackpotGetSignature = signature;\n\t\t\tthis.jackpotClearCache();\n\t\t}\n\n\t\tlet jackpots: JackpotDetails[] = [];\n\t\tlet pots: JackpotPot[] = [];\n\n\t\tjackpots = await OCache.use<JackpotDetails[]>(\n\t\t\tonUpdateContextKey.Jackpots,\n\t\t\tECacheContext.WSAPI,\n\t\t\tasync () => {\n\t\t\t\tconst _jackpots = await this.api.jackpotGet(null, filter);\n\t\t\t\tconst _pots = _jackpots.items.map((jp) => jp.pot);\n\n\t\t\t\tOCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC);\n\t\t\t\treturn _jackpots.items;\n\t\t\t},\n\t\t\tJACKPOT_TEMPLATE_CACHE_SEC,\n\t\t);\n\n\t\tif (jackpots.length > 0) {\n\t\t\tpots = await OCache.use<JackpotPot[]>(\n\t\t\t\tonUpdateContextKey.Pots,\n\t\t\t\tECacheContext.WSAPI,\n\t\t\t\tasync () => {\n\t\t\t\t\tconst jp_template_ids = jackpots.map((jp) => jp.jp_template_id);\n\t\t\t\t\treturn (await this.api.potGet(null, { jp_template_ids })).items;\n\t\t\t\t},\n\t\t\t\tJACKPOT_POT_CACHE_SEC,\n\t\t\t);\n\t\t}\n\n\t\treturn jackpots.map((jp) => {\n\t\t\tlet _jp: JackpotDetails = {\n\t\t\t\t...jp,\n\t\t\t\tpot: pots.find((p) => p.jp_template_id === jp.jp_template_id),\n\t\t\t};\n\t\t\treturn _jp;\n\t\t});\n\t}\n\n\t/**\n\t * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted in to the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptIn');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptIn(null, filter);\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted out from the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptOut');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptOut(null, filter);\n\n\t\treturn result;\n\t}\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from '../WSAPI/WSAPITypes';\nimport { LeaderBoardDetails } from './LeaderBoardDetails';\nimport { LeaderBoardPeriodType } from './LeaderBoardPeriodType';\nimport { LeaderBoardPosition } from './LeaderBoardPosition';\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n\tif (reward_points && reward_points.length) {\n\t\treturn reward_points.map((r, i) => ({ place: i + 1, points: r }));\n\t}\n\n\treturn null;\n};\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n\tif (user) {\n\t\tconst x: LeaderBoardUserT = {\n\t\t\tpublic_username: user?.public_username || user.user_alt_name,\n\t\t\tavatar_url: user.avatar_url,\n\t\t\tposition: user.position_in_board,\n\t\t\tpoints: user.points_accumulated,\n\t\t\tis_me: user.is_me,\n\t\t};\n\n\t\tif (isMe) {\n\t\t\tdelete x.is_me;\n\t\t}\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n\tif (board) {\n\t\tconst x: LeaderBoardDetailsT = {\n\t\t\tboard_id: board.board_id,\n\t\t\tname: board.board_public_meta.name,\n\t\t\tdescription: board.board_public_meta.description,\n\t\t\trules: board.board_public_meta.rules,\n\t\t\tperiod_type_id: board.period_type_id,\n\t\t\trewards: pointsRewardTransform(board.reward_points),\n\t\t\tusers: board.positions.map((p) => getLeaderBoardPlayerTransformed(p)),\n\t\t\tme: getLeaderBoardPlayerTransformed(board.userPosition, true),\n\t\t};\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n","export enum AchCustomSectionType {\n\tHTML_PAGE = 1,\n\tMISSIONS_CATEGORY = 2,\n\tTOURNAMENTS_CATEGORY = 3,\n\tLEVELS = 4,\n\tMINI_GAMES = 5,\n\tMISSION_CUSTOM_LAYOUT = 6,\n\tMATCH_X = 7,\n}\n\nexport enum AchCustomLayoutTheme {\n\tVALENTINES_LIGHT = 'valentines-light',\n\tVALENTINES_DARK = 'valentines-dark',\n\tEURO_2024 = 'euro-2024',\n\tGENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n\tONLY_OVERVIEW = 1,\n\tNO_OVERVIEW = 2,\n\tALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n\tANY = 1,\n\tALL_MISSIONS = 2,\n\tALL_EXCEPT_COMPLETED = 3,\n\tALL_EXCEPT_LOCKED = 4,\n\tALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}\n","import { TUICustomSection } from '../WSAPI/WSAPITypes';\nimport {\n\tAchCustomLayoutTheme,\n\tAchCustomSectionType,\n\tAchMissionsTabsOptions,\n\tAchOverviewMissionsFilter,\n} from './AchCustomSection';\n\nexport interface UICustomSection {\n\tbody?: string;\n\tmenu_img?: string;\n\tmenu_name?: string;\n\tcustom_skin_images?: string;\n\tsection_type_id?: AchCustomSectionType;\n\ttheme?: AchCustomLayoutTheme;\n\tgeneric_custom_css?: string;\n\tmission_tabs_options?: AchMissionsTabsOptions;\n\toverview_missions_filter?: AchOverviewMissionsFilter;\n\toverview_missions_count?: number;\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n\treturn items\n\t\t.filter((r) => r.section_type_id !== undefined && r.section_type_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TUICustomSection = {\n\t\t\t\tbody: r.body,\n\t\t\t\tmenu_img: r.menu_img,\n\t\t\t\tmenu_name: r.menu_name,\n\t\t\t\tsection_type_id: r.section_type_id,\n\t\t\t\tcustom_skin_images: r.custom_skin_images,\n\t\t\t\tgeneric_custom_css: r.generic_custom_css,\n\t\t\t\tmission_tabs_options: r.mission_tabs_options,\n\t\t\t\toverview_missions_count: r.overview_missions_count,\n\t\t\t\toverview_missions_filter: r.overview_missions_filter,\n\t\t\t\ttheme: r.theme,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { BonusStatus } from './BonusStatus';\nimport { BonusTemplateMetaMap } from './BonusTemplateMetaMap';\nimport { BonusMetaMap } from './BonusMetaMap';\nimport { TBonus } from '../WSAPI/WSAPITypes';\n\nexport interface Bonus {\n\tid: number;\n\tredeemable?: boolean;\n\tcreateDate?: string;\n\tupdateDate?: string;\n\tredeemDate?: string;\n\tengagementUid?: string;\n\tlabelBonusTemplateId?: number;\n\tsourceProductRefId?: number;\n\tsourceProductId?: number;\n\tuserId?: number;\n\tbonusStatusId?: BonusStatus;\n\tlabelBonusTemplateMetaMap?: BonusTemplateMetaMap;\n\tbonusMetaMap?: BonusMetaMap;\n}\n\nexport const BonusItemsTransform = (items: Bonus[]): TBonus[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TBonus = {\n\n bonus_id: r.id,\n is_redeemable: r.redeemable,\n create_date: r.createDate,\n redeem_date: r.redeemDate,\n label_bonus_template_id: r.labelBonusTemplateId,\n bonus_status_id: r.bonusStatusId,\n label_bonus_template_meta_map: r.labelBonusTemplateMetaMap,\n bonus_meta_map: r.bonusMetaMap\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};","export enum BonusStatus {\n\tNew = 1,\n\tCOUPON_ISSUED = 2,\n\tREDEEMED = 3,\n\tREDEEM_FAILED = 4, \n\tCOUPON_ISSUE_FAILED = 5, \n\tEXPIRED = 6, \n}","import { ClassId } from './Base/ClassId';\nimport { ProtocolRequest } from './Base/ProtocolRequest';\nimport { ProtocolResponse } from './Base/ProtocolResponse';\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse';\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport {\n\tSAWDoAknowledgeRequest,\n\tSAWDoAknowledgeResponse,\n\tSAWDoSpinRequest,\n\tSAWDoSpinResponse,\n\tSAWSpinErrorCode,\n\tSAWTemplatesTransform,\n} from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport {\n\tCoreUtils,\n\tGetTranslationsRequest,\n\tGetTranslationsResponse,\n\tPublicLabelSettings,\n\tResponseIdentify,\n\tTranslationArea,\n} from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport {\n\tGetInboxMessagesRequest,\n\tGetInboxMessagesResponse,\n\tInboxMessageBody,\n\tInboxMessageBodyTransform,\n\tInboxMessagesTransform,\n\tMarkInboxMessageDeletedRequest,\n\tMarkInboxMessageDeletedResponse,\n\tMarkInboxMessageReadRequest,\n\tMarkInboxMessageReadResponse,\n\tMarkInboxMessageStarredRequest,\n\tMarkInboxMessageStarredResponse,\n} from './Inbox';\nimport {\n\tBuyStoreItemRequest,\n\tBuyStoreItemResponse,\n\tGetCategoriesStoreResponse,\n\tGetStoreHistoryRequest,\n\tGetStoreHistoryResponse,\n\tGetStoreItemsResponse,\n\tStoreCategoryTransform,\n\tStoreItemPurchasedTransform,\n\tStoreItemTransform,\n} from './Store';\nimport {\n\tAchCategoryTransform,\n\tAchClaimPrizeRequest,\n\tAchClaimPrizeResponse,\n\tAchievementOptinRequest,\n\tAchievementOptinResponse,\n\tAchievementType,\n\tGetAchCategoriesResponse,\n\tGetAchievementMapRequest,\n\tGetAchievementMapResponse,\n\tUserAchievementTransform,\n} from './Missions';\nimport {\n\tGetTournamentInfoRequest,\n\tGetTournamentInfoResponse,\n\tGetTournamentsRequest,\n\tGetTournamentsResponse,\n\tTournamentItemsTransform,\n\tTournamentRegisterRequest,\n\tTournamentRegisterResponse,\n\ttournamentInfoItemTransform,\n} from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from './Leaderboard';\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from './Level';\nimport { WSAPI } from './WSAPI/WSAPI';\nimport {\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGameTemplate,\n\tTMissionOrBadge,\n\tTStoreCategory,\n\tTAchCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tLeaderBoardDetailsT,\n\tUserLevelExtraCountersT,\n\tTSegmentCheckResult,\n\tTUICustomSection,\n\tTBonus,\n} from './WSAPI/WSAPITypes';\nimport { getLeaderBoardTransform } from './Leaderboard/LeaderBoards';\nimport { GetAchievementsUserInfoResponse } from './Core/GetAchievementsUserInfoResponse';\nimport { CheckSegmentMatchResponse } from './Core/CheckSegmentMatchResponse';\nimport { CheckSegmentMatchRequest } from './Core/CheckSegmentMatchRequest';\nimport {\n\tGetJackpotsPotsRequest,\n\tGetJackpotsPotsResponse,\n\tGetJackpotsRequest,\n\tGetJackpotsResponse,\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotsOptinRequest,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from './Jackpots';\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from './CustomSections';\nimport { BonusItemsTransform, ClaimBonusRequest, ClaimBonusResponse, GetBonusesResponse } from './Bonuses';\nimport { GetBonusesRequest } from './Bonuses/GetBonusesRequest';\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\nconst DEFAULT_LANG_EN = 'EN';\n\ninterface Tracker {\n\tlabel_api_key: string;\n\tuserPublicProps: any;\n\ton: (callBackKey: ClassId, func: (data: any) => void) => void;\n\tgetLabelSetting: (key: PublicLabelSettings) => any;\n}\ninterface IOptions {\n\tlogger?: ILogger;\n\tlogCIDs?: ClassId[];\n\tlogHTTPTiming?: boolean;\n\ttracker?: Tracker;\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>;\n\nclass SmarticoAPI {\n\tprivate publicUrl: string;\n\tprivate wsUrl: string;\n\tprivate inboxCdnUrl: string;\n\tprivate partnerUrl: string;\n\tpublic avatarDomain: string;\n\n\tprivate logger: ILogger;\n\tprivate logCIDs: ClassId[];\n\tprivate logHTTPTiming: boolean;\n\tpublic tracker?: Tracker;\n\n\tpublic constructor(\n\t\tprivate label_api_key: string,\n\t\tprivate brand_api_key: string,\n\t\tprivate messageSender: MessageSender,\n\t\toptions: IOptions = {},\n\t) {\n\t\tthis.logger = options.logger || (console as any);\n\n\t\tif (this.logger.always === undefined) {\n\t\t\tthis.logger.always = this.logger.info;\n\t\t}\n\n\t\tthis.logCIDs = options.logCIDs || [];\n\t\tthis.logHTTPTiming = options.logHTTPTiming || false;\n\t\tthis.tracker = options.tracker;\n\n\t\tthis.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);\n\t\tthis.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key);\n\n\t\tthis.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key);\n\n\t\tthis.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);\n\t}\n\n\tpublic static getEnvDnsSuffix(label_api_key: string): string {\n\t\tlet ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';\n\n\t\tif (ENV_ID === '1' || ENV_ID === '2') {\n\t\t\tENV_ID = '';\n\t\t}\n\t\treturn ENV_ID;\n\t}\n\n\tpublic static getEnvId(label_api_key: string): number {\n\t\treturn label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;\n\t}\n\n\tpublic static getCleanLabelApiKey(label_api_key: string): string {\n\t\treturn label_api_key.substring(0, 36);\n\t}\n\n\tpublic static getPublicUrl(label_api_key: string): string {\n\t\treturn PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getPublicWsUrl(label_api_key: string): string {\n\t\treturn C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getAvatarUrl(label_api_key: string): string {\n\t\treturn AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tprivate async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('REQ', message);\n\t\t}\n\n\t\tif (force_language) {\n\t\t\tmessage.force_language = force_language;\n\t\t}\n\n\t\tlet result: any;\n\n\t\ttry {\n\t\t\tconst timeStart = new Date().getTime();\n\t\t\tresult = await this.messageSender(message, this.publicUrl, expectCID);\n\t\t\tconst timeEnd = new Date().getTime();\n\n\t\t\tif (this.logHTTPTiming) {\n\t\t\t\tthis.logger.always('HTTP time, ms:' + (timeEnd - timeStart));\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.logger.warn(`Failed to make request to smartico channel, L2. ${e.message}`, {\n\t\t\t\turl: this.publicUrl,\n\t\t\t\trequest: message,\n\t\t\t\terror: e.message,\n\t\t\t});\n\t\t\tthrow new Error(`Failed to make request to smartico channel, L2 L1. ${e.message}`);\n\t\t}\n\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('RES', result);\n\t\t}\n\n\t\tif (expectCID) {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tfor (const str of result as string[]) {\n\t\t\t\t\tconst obj: ProtocolResponse = JSON.parse(str);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\tif (obj.cid === expectCID) {\n\t\t\t\t\t\treturn obj as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, {\n\t\t\t\t\trequest: message,\n\t\t\t\t\tresponse: result,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tif (result.length === 1) {\n\t\t\t\t\tconst obj = JSON.parse(result[0]);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\treturn obj;\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.error('Expected one response, but got array', { request: message, response: result });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tprivate buildMessage<TRequest, TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\t\tconst message: ProtocolRequest = {\n\t\t\t// AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n\t\t\t// its not needed in WebSocket and can be deleted\n\t\t\tapi_key: this.label_api_key,\n\t\t\tbrand_key: this.brand_api_key,\n\t\t\text_user_id: user_ext_id,\n\t\t\tcid,\n\t\t\tuuid: IntUtils.uuid(),\n\t\t\tts: new Date().getTime(),\n\t\t\t...payload,\n\t\t};\n\n\t\tif (message.ext_user_id === undefined || message.ext_user_id === null) {\n\t\t\tdelete message.ext_user_id;\n\t\t}\n\n\t\tif (message.brand_key === undefined || message.brand_key === null) {\n\t\t\tdelete message.brand_key;\n\t\t}\n\n\t\treturn message as any;\n\t}\n\n\tpublic async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n\t\tconst eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n\t\t\teventType,\n\t\t\tpayload,\n\t\t});\n\n\t\tconst eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE);\n\t\treturn eventResponse;\n\t}\n\n\tpublic async coreGetTranslations(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\tif (lang_code === undefined || lang_code === null || (lang_code.trim && lang_code.trim() === '')) {\n\t\t\tlang_code = DEFAULT_LANG_EN;\n\t\t}\n\n\t\tconst response = await OCache.use<GetTranslationsResponse>(\n\t\t\t`${lang_code}-${this.label_api_key}-${this.brand_api_key}`,\n\t\t\tECacheContext.Translations,\n\t\t\tasync () => {\n\t\t\t\tconst tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\tuser_ext_id,\n\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t{\n\t\t\t\t\t\tlang_code: DEFAULT_LANG_EN,\n\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\tareas,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tconst trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\tif (lang_code !== DEFAULT_LANG_EN) {\n\t\t\t\t\tconst trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\t\tuser_ext_id,\n\t\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlang_code,\n\t\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\t\tareas,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\tconst trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\t\tObject.keys(trUser?.translations ?? {}).forEach((k) => {\n\t\t\t\t\t\ttrBase.translations[k] = trUser.translations[k];\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn trBase;\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tpublic async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n\t\treturn OCache.use<GetLabelInfoResponse>(\n\t\t\t`${this.label_api_key} - ${this.brand_api_key}`,\n\t\t\tECacheContext.LabelInfo,\n\t\t\tasync () => {\n\t\t\t\tconst message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT);\n\n\t\t\t\treturn this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE);\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\t}\n\n\tpublic async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\t\tconst message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n\t\t\trequest_id: IntUtils.uuid(), // AA: do we need request_id?\n\t\t});\n\n\t\tconst r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);\n\n\t\tr.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain);\n\n\t\treturn r;\n\t}\n\n\tpublic async coreChangeUsername(\n\t\tuser_ext_id: string,\n\t\tpublic_username_custom: string,\n\t): Promise<{ public_username_custom: string }> {\n\t\tconst message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n\t\t\tpublic_username_custom,\n\t\t});\n\n\t\treturn await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n\t}\n\n\tpublic async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n\t\tconst message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n\t\t\tsegment_id,\n\t\t});\n\n\t\tconst results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE);\n\n\t\treturn results.segments || [];\n\t}\n\n\tpublic async jackpotGet(\n\t\tuser_ext_id: string,\n\t\tfilter?: { related_game_id?: string; jp_template_id?: number },\n\t\tforce_language?: string,\n\t): Promise<GetJackpotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_JACKPOTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language);\n\t}\n\n\tpublic async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_LATEST_POTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE);\n\t}\n\n\tpublic async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTIN_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE);\n\t}\n\n\tpublic async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTOUT_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE);\n\t}\n\n\tpublic async sawGetTemplates(\n\t\tuser_ext_id: string,\n\t\tforce_language?: string,\n\t\tis_visitor_mode: boolean = false,\n\t): Promise<SAWGetTemplatesResponse> {\n\t\tconst message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_GET_SPINS_REQUEST,\n\t\t\t{ is_visitor_mode },\n\t\t);\n\n\t\tconst response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language);\n\n\t\tif (response && response.templates) {\n\t\t\tresponse.templates.forEach((t) => {\n\t\t\t\tif (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n\t\t\t\t\tconst jackpotValue =\n\t\t\t\t\t\tt.jackpot_current +\n\t\t\t\t\t\t(t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '');\n\t\t\t\t\tt.saw_template_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.name,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.description = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.description,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.promo_text = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.promo_text,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.prizes.forEach((p) => {\n\t\t\t\t\t\tp.saw_prize_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.name,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n\t\treturn SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);\n\t}\n\n\tpublic async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse> {\n\t\tconst message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_AKNOWLEDGE_REQUEST,\n\t\t\t{\n\t\t\t\trequest_id,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE);\n\t}\n\n\tpublic async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n\t\tif (!saw_template_id) {\n\t\t\tthrow new Error('Missing template id');\n\t\t}\n\n\t\tconst request_id = IntUtils.uuid();\n\n\t\tconst message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n\t\t\tsaw_template_id,\n\t\t\trequest_id,\n\t\t});\n\n\t\tconst spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE);\n\n\t\t// to simulate fail\n\t\t// response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n\t\tconst status: string =\n\t\t\t{\n\t\t\t\t[SAWSpinErrorCode.SAW_OK]: 'OK',\n\t\t\t\t[SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n\t\t\t\t[SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n\t\t\t\t[SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n\t\t\t\t[SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n\t\t\t}[spinAttemptResponse.errCode] || 'OTHER';\n\n\t\tawait this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n\t\t\tsaw_template_id,\n\t\t\tstatus,\n\t\t\tround_id,\n\t\t});\n\n\t\treturn { ...spinAttemptResponse, request_id };\n\t}\n\n\tpublic async missionOptIn(user_ext_id: string, mission_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\t\tconst message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MISSION_OPTIN_REQUEST,\n\t\t\t{\n\t\t\t\tachievementId: mission_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\n\t\tconst message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST,\n\t\t\t{\n\t\t\t\tach_id: mission_id,\n\t\t\t\tach_completed_id: ach_completed_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.TOURNAMENT_REGISTER_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async buyStoreItem(user_ext_id: string, itemId: number) {\n\t\tif (!itemId) {\n\t\t\tthrow new Error('Missing store item id');\n\t\t}\n\t\tconst message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n\t\t\titemId,\n\t\t});\n\n\t\tconst res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async inboxGetMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 10,\n\t\toffset: number = 0,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n\t\tconst message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST);\n\t\treturn await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n\t\treturn StoreItemTransform((await this.storeGetItems(user_ext_id)).items);\n\t}\n\n\tpublic async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n\t\tconst message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n\t\treturn StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async storeGetPurchasedItems(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t): Promise<GetStoreHistoryResponse> {\n\t\tconst message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACH_SHOP_ITEM_HISTORY_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE);\n\t}\n\n\tpublic async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n\t\treturn StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items);\n\t}\n\n\tpublic async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Mission);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_USER_REQUEST,\n\t\t);\n\n\t\treturn await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE);\n\t}\n\n\tpublic async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n\t\tconst response = await this.getUserGamificationInfo(user_ext_id);\n\n\t\treturn {\n\t\t\tlevel_counter_1: response.level_counter_1,\n\t\t\tlevel_counter_2: response.level_counter_2,\n\t\t};\n\t}\n\n\tpublic async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\t\tconst message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n\t\treturn AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Badge);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItems(user_ext_id: string, force_language?: string): Promise<GetBonusesResponse> {\n\t\tconst message = this.buildMessage<GetBonusesRequest, GetBonusesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_BONUSES_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetBonusesResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_BONUSES_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\tpublic async bonusClaimItem(user_ext_id: string, bonus_id: number): Promise<ClaimBonusResponse> {\n\t\tconst message = this.buildMessage<ClaimBonusRequest, ClaimBonusResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.CLAIM_BONUS_REQUEST,\n\t\t\t{ bonusId: bonus_id }\n\n\t\t);\n\t\tconst response = await this.send<ClaimBonusResponse>(\n\t\t\tmessage,\n\t\t\tClassId.CLAIM_BONUS_RESPONSE,\n\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItemsT(user_ext_id: string): Promise<TBonus[]> {\n\t\treturn BonusItemsTransform((await this.bonusesGetItems(user_ext_id)).bonuses);\n\t}\n\n\tpublic async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\t\tconst message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_LOBBY_REQUEST,\n\t\t);\n\t\treturn await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language);\n\t}\n\n\tpublic async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n\t\treturn TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments);\n\t}\n\n\tpublic async tournamentsGetInfo(\n\t\tuser_ext_id: string,\n\t\ttournamentInstanceId: number,\n\t\tforce_language?: string,\n\t): Promise<GetTournamentInfoResponse> {\n\t\tconst message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_INFO_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\t\tconst response = await this.send<GetTournamentInfoResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_TOURNAMENT_INFO_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\n\t\tif (response.userPosition?.avatar_id) {\n\t\t\tresponse.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain);\n\t\t}\n\n\t\tif (response.tournamentInfo.players?.length) {\n\t\t\tresponse.tournamentInfo.players.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId);\n\t\treturn tournamentInfoItemTransform(response);\n\t}\n\n\tpublic async leaderboardGet(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id?: LeaderBoardPeriodType,\n\t\tprevPeriod: boolean = false,\n\t\tforce_language?: string,\n\t): Promise<LeaderBoardDetails> {\n\t\tconst message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_LEADERS_BOARD_REQUEST,\n\t\t\t{\n\t\t\t\tperiod_type_id,\n\t\t\t\tsnapshot_offset: prevPeriod ? 1 : 0,\n\t\t\t\tinclude_users: true,\n\t\t\t},\n\t\t);\n\n\t\tconst response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language);\n\n\t\tconst boardKey = Object.keys(response.map).find((k) => period_type_id === undefined || k === period_type_id?.toString());\n\n\t\tif (boardKey === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (response.map[boardKey]?.userPosition?.avatar_id) {\n\t\t\tresponse.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(\n\t\t\t\tresponse.map[boardKey].userPosition.avatar_id,\n\t\t\t\tthis.avatarDomain,\n\t\t\t);\n\t\t}\n\n\t\tif (response.map[boardKey]?.positions?.length) {\n\t\t\tresponse.map[boardKey].positions.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response.map[boardKey];\n\t}\n\n\tpublic async leaderboardsGetT(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY,\n\t\tprevPeriod: boolean = false,\n\t): Promise<LeaderBoardDetailsT> {\n\t\treturn getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod));\n\t}\n\n\tpublic async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n\t\tconst message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST);\n\t\treturn await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language);\n\t}\n\n\tpublic async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n\t\treturn GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\n\t}\n\n\tpublic async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n\t\tconst message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_CUSTOM_SECTIONS_REQUEST,\n\t\t);\n\t\treturn await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);\n\t}\n\n\tpublic async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n\t\treturn UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));\n\t}\n\n\tpublic async getTranslationsT(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\treturn await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);\n\t}\n\n\tpublic async getInboxMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t\tstarred_only: boolean,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\tstarred_only,\n\t\t\t},\n\t\t);\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async getInboxMessagesT(\n\t\tuser_ext_id: string,\n\t\tfrom: number = 0,\n\t\tto: number = 20,\n\t\tfavoriteOnly: boolean = false,\n\t): Promise<TInboxMessage[]> {\n\t\tconst limit = to - from > 20 ? 20 : to - from;\n\t\tconst offset = from;\n\n\t\treturn InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log);\n\t}\n\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\t\tconst getMessageBody = async (messageGuid: string): Promise<InboxMessageBody> => {\n\t\t\tconst inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN);\n\n\t\t\ttry {\n\t\t\t\tconst url = `${inboxCdnUrl}${messageGuid}.json`;\n\n\t\t\t\tconst response = await fetch(url, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Accept': 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tconst data = await response.json();\n\t\t\t\treturn data || {};\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.error('Error fetching inbox message body:', error);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\n\t\treturn await getMessageBody(messageGuid);\n\t}\n\n\tpublic async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n\t\tconst message = await this.getInboxMessageBody(messageGuid);\n\t\treturn InboxMessageBodyTransform(message);\n\t}\n\n\tpublic async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tall_read: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markUnmarkInboxMessageAsFavorite(\n\t\tuser_ext_id: string,\n\t\tmessageGuid: string,\n\t\tmark: boolean,\n\t): Promise<MarkInboxMessageStarredResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_STARRED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t\tis_starred: mark,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE);\n\t}\n\n\tpublic async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tall_deleted: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic getWSCalls(): WSAPI {\n\t\treturn new WSAPI(this);\n\t}\n}\n\nexport { SmarticoAPI, MessageSender };\n","import { TSMap } from 'typescript-map';\n\nclass CookieStore {\n\tprivate static cookieStore = new TSMap<string, string[]>();\n\n\tpublic static get(key: string): string[] | undefined {\n\t\treturn CookieStore.cookieStore.get(key);\n\t}\n\n\tpublic static set(key: string, value: string[]) {\n\t\tconst v = value.map((v) => v.split(';')[0]);\n\t\tCookieStore.cookieStore.set(key, v);\n\t}\n}\n\nexport { CookieStore };\n","export enum QuizSportType {\n\tSoccer = 1,\n\tTennis = 5,\n\tBasketball = 6,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis];\n","export enum SAWGPMarketType {\n\tTwoTeamsWithScore = 1,\n\tRedCard = 2,\n\tOneXTwo = 3,\n\tOneXTwoHalftime = 4,\n\tHalftimeFulltime = 5,\n\tFirstGoal = 6,\n\tDoubleChance = 7,\n\tOverUnder2_5 = 8,\n\tOverUnder1_5Halftime = 9,\n\tOverUnder1_5__2ndHalf = 10,\n\tTotalCorners8_5 = 11,\n\tTotalCorners9_5 = 12,\n\tCorners1x2 = 13,\n\tOne_Two = 14,\n\tOvertime = 15,\n\tOddEven = 16,\n\tOddEvenHomeAway = 17,\n\tFirstSet = 18,\n\tSecondSet = 19,\n\tThirdSet = 20,\n\tFourthSet = 21,\n\tFifthSet = 22,\n\tPlayerOneWinsOneSet = 23,\n\tPlayerTwoWinsOneSet = 24,\n\tLastGoal = 25,\n\n\tCustomSport = 26,\n\tCustomNonSport = 27,\n}\n","export enum QuizAnswersValueType {\n\tHomeTeam = '1',\n\tAwayTeam = '2',\n\tDraw = 'x',\n\tHomeTeamHomeTeam = '1/1',\n\tHomeTeamDraw = '1/x',\n\tHomeTeamAwayTeam = '1/2',\n\tDrawHomeTeam = 'x/1',\n\tDrawDraw = 'x/x',\n\tDrawAwayTeam = 'x/2',\n\tAwayTeamHomeTeam = '2/1',\n\tAwayTeamDraw = '2/x',\n\tAwayTeamAwayTeam = '2/2',\n\tYes = 'yes',\n\tNo = 'no',\n\tOdd = 'odd',\n\tEven = 'even',\n\tHomeOdd = '1/odd',\n\tHomeEven = '1/even',\n\tAwayOdd = '2/odd',\n\tAwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}';\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}';\nexport const quizDrawReplacementText = '{quiz_draw}';\nexport const quizYesReplacementText = '{yes}';\nexport const quizNoReplacementText = '{no}';\nexport const quizOddReplacementText = '{odd}';\nexport const quizEvenReplacementText = '{even}';\nexport const quizOrReplacementText = '{or}';\n\nexport const quizAnswersTrKeys = {\n\t[quizDrawReplacementText]: 'quizAnswer_draw',\n\t[quizYesReplacementText]: 'quizAnswer_yes',\n\t[quizNoReplacementText]: 'quizAnswer_no',\n\t[quizOddReplacementText]: 'quizAnswer_odd',\n\t[quizEvenReplacementText]: 'quizAnswer_even',\n\t[quizOrReplacementText]: 'quizAnswer_or',\n};\n","import {\n\tQuizAnswersValueType,\n\tquizAnswerAwayTeamReplacementText,\n\tquizAnswerHomeTeamReplacementText,\n\tquizDrawReplacementText,\n\tquizEvenReplacementText,\n\tquizNoReplacementText,\n\tquizOddReplacementText,\n\tquizOrReplacementText,\n\tquizYesReplacementText,\n} from './MarketsAnswers';\nimport { SAWGPMarketType } from './MarketsType';\n\nconst yesNoAnswers = [\n\t{ text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n\t{ text: quizNoReplacementText, value: QuizAnswersValueType.No },\n];\n\nconst homeAwayAnswers = [\n\t{ text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n\t{ text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam },\n];\n\nconst homeAwayDrawAnswers = [...homeAwayAnswers, { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw }];\n\nexport const marketsInfo = [\n\t{\n\t\ttype: SAWGPMarketType.OneXTwo,\n\t\tname: '1x2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OneXTwoHalftime,\n\t\tname: '1x2 Halftime',\n\t\tquestion: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.HalftimeFulltime,\n\t\tname: 'Halftime / Fulltime',\n\t\tquestion: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n\t\tanswers: [\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamHomeTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.DrawHomeTeam,\n\t\t\t},\n\t\t\t{ text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.DrawAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamHomeTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamAwayTeam,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstGoal,\n\t\tname: 'First Goal',\n\t\tquestion: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.LastGoal,\n\t\tname: 'Last Goal',\n\t\tquestion: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.DoubleChance,\n\t\tname: 'Double Chance',\n\t\tquestion: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n\t\tanswers: [\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder2_5,\n\t\tname: 'Over/Under 2.5',\n\t\tquestion: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5Halftime,\n\t\tname: 'Over/Under 1.5 Halftime',\n\t\tquestion: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tname: 'Over/Under 1.5 2nd Half',\n\t\tquestion: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.RedCard,\n\t\tname: 'Red Card',\n\t\tquestion: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners8_5,\n\t\tname: 'Total Corners 8.5',\n\t\tquestion: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners9_5,\n\t\tname: 'Total Corners 9.5',\n\t\tquestion: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Corners1x2,\n\t\tname: 'Corners 1x2',\n\t\tquestion: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.One_Two,\n\t\tname: '1-2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Overtime,\n\t\tname: 'Overtime',\n\t\tquestion: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEven,\n\t\tname: 'Odd/Even',\n\t\tquestion: {\n\t\t\ttext: 'Is the sum of all points scored in the game going to be an odd number or even?',\n\t\t\ttrKey: 'quizQuestion_oddEven',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n\t\t\t{ text: quizEvenReplacementText, value: QuizAnswersValueType.Even },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEvenHomeAway,\n\t\tname: 'Odd/Even Home/Away',\n\t\tquestion: {\n\t\t\ttext: 'Which team will win and what will be the sum of the points (Odd or Even)?',\n\t\t\ttrKey: 'quizQuestion_oddEvenHomeAway',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstSet,\n\t\tname: 'First Set',\n\t\tquestion: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.SecondSet,\n\t\tname: 'Second Set',\n\t\tquestion: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.ThirdSet,\n\t\tname: 'Third Set',\n\t\tquestion: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FourthSet,\n\t\tname: 'Fourth Set',\n\t\tquestion: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FifthSet,\n\t\tname: 'Fifth Set',\n\t\tquestion: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerOneWinsOneSet,\n\t\tname: 'Player One Wins One Set',\n\t\tquestion: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tname: 'Player Two Wins One Set',\n\t\tquestion: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomNonSport,\n\t\tname: 'Custom question (non sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomSport,\n\t\tname: 'Custom question (sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n];\n","import { SAWGPMarketType } from './MarketsType';\nimport { QuizSportType } from './SportTypes';\n\nexport const QuizMarketPerSport = {\n\t[QuizSportType.Basketball]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.Overtime,\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OddEven,\n\t\tSAWGPMarketType.OddEvenHomeAway,\n\t\tSAWGPMarketType.DoubleChance,\n\t],\n\t[QuizSportType.Soccer]: [\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OneXTwoHalftime,\n\t\tSAWGPMarketType.HalftimeFulltime,\n\t\tSAWGPMarketType.FirstGoal,\n\t\tSAWGPMarketType.LastGoal,\n\t\tSAWGPMarketType.DoubleChance,\n\t\tSAWGPMarketType.OverUnder2_5,\n\t\tSAWGPMarketType.OverUnder1_5Halftime,\n\t\tSAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tSAWGPMarketType.RedCard,\n\t\tSAWGPMarketType.TotalCorners8_5,\n\t\tSAWGPMarketType.TotalCorners9_5,\n\t\tSAWGPMarketType.Corners1x2,\n\t],\n\t[QuizSportType.Tennis]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.FirstSet,\n\t\tSAWGPMarketType.SecondSet,\n\t\tSAWGPMarketType.ThirdSet,\n\t\tSAWGPMarketType.FourthSet,\n\t\tSAWGPMarketType.FifthSet,\n\t\tSAWGPMarketType.PlayerOneWinsOneSet,\n\t\tSAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tSAWGPMarketType.OddEven,\n\t],\n};\n","enum JackpotContributionType {\n\tFixed = 1,\n\tPercentage = 2,\n}\n\nexport { JackpotContributionType };\n","enum JackpotType {\n\tMain = 1,\n}\n\nexport { JackpotType };\n"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","_r$saw_skin_ui_defini2","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","aknowledge_message","acknowledge_dp","acknowledge_action_title","pool","pool_initial","wins_count","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","constructor","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","clear","clearContext","clearAll","ActivityTypeLimited","CoreUtils","currencySymbol","currency","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","active_from_ts","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","display_progress_as_count","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","updateOnAddSpin","SAW_DO_SPIN_RESPONSE","SAW_AKNOWLEDGE_RESPONSE","updateOnPrizeWin","MISSION_OPTIN_RESPONSE","updateMissions","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","RELOAD_ACHIEVEMENTS_EVENT","TOURNAMENT_REGISTER_RESPONSE","updateTournaments","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","CLAIM_BONUS_RESPONSE","updateBonuses","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","Levels","levelsGetT","getMissions","onUpdate","Missions","missionsGetItemsT","getBadges","Badges","badgetsGetItemsT","getBonuses","Bonuses","bonusesGetItemsT","claimBonus","bonus_id","bonusClaimItem","err_code","errCode","err_message","errMsg","success","getUserLevelExtraCounters","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","StoreItems","storeGetItemsT","buyStoreItem","item_id","getStoreCategories","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","limit","offset","StoreHistory","storeGetPurchasedItemsT","getAchCategories","AchCategories","achGetCategoriesT","getCustomSections","CustomSections","getCustomSectionsT","getMiniGames","Saw","sawGetTemplatesT","playMiniGame","template_id","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","requestMissionOptIn","mission_id","missionOptIn","requestMissionClaimReward","missionClaimPrize","getTournamentsList","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","tournamentsGetInfoT","registerInTournament","getLeaderBoard","periodType","getPreviousPeriod","LeaderBoards","leaderboardsGetT","getInboxMessages","from","to","onlyFavorite","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","getInboxMessageBodyT","markInboxMessageAsRead","markInboxMessageRead","markAllInboxMessagesAsRead","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","deleteInboxMessage","deleteAllInboxMessages","getTranslations","lang_code","getTranslationsT","translations","templates","index","findIndex","updateEntity","payload","SAW_OK","updatedTemplates","contextKey","Jackpots","Pots","jackpotGet","_this","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","jp_template_ids","potGet","_jp","jackpotOptIn","result","jackpotOptOut","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","BonusItemsTransform","is_redeemable","redeemable","create_date","redeem_date","redeemDate","label_bonus_template_id","labelBonusTemplateId","bonus_status_id","bonusStatusId","label_bonus_template_meta_map","labelBonusTemplateMetaMap","bonus_meta_map","bonusMetaMap","BonusStatus","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","cid","timeStart","timeEnd","warn","url","request","obj","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","eventResponse","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","GET_TRANSLATIONS_RESPONSE","_trUser$translations","trUserRQ","trUser","keys","forEach","k","coreIdentifyLabel","_this2","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","results","CHECK_SEGMENT_MATCH_RESPONSE","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTIN_RESPONSE","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","status","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","MISSION_OPTIN_REQUEST","achievementId","res","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","badgetsGetItems","Badge","bonusesGetItems","GET_BONUSES_REQUEST","GET_BONUSES_RESPONSE","CLAIM_BONUS_REQUEST","bonusId","bonuses","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","tournaments","tournamentsGetInfo","_response$userPositio","_response$tournamentI","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","leaderboardGet","prevPeriod","_response$map$boardKe","_response$map$boardKe2","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","boardKey","DAILY","levelsGet","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","values","customSections","starred_only","favoriteOnly","log","_this3","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","all_read","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","all_deleted","getWSCalls","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","Draw","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","HalftimeFulltime","HomeTeamHomeTeam","HomeTeamDraw","HomeTeamAwayTeam","DrawHomeTeam","DrawDraw","DrawAwayTeam","AwayTeamHomeTeam","AwayTeamDraw","AwayTeamAwayTeam","FirstGoal","LastGoal","DoubleChance","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","CustomNonSport","CustomSport","QuizMarketPerSport","JackpotContributionType","JackpotType"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.mjs","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/Bonuses/Bonus.ts","../src/Bonuses/BonusStatus.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n\tPING = 1,\n\tPONG = 2,\n\n\tINIT = 3,\n\tINIT_RESPONSE = 4,\n\tIDENTIFY = 5,\n\tIDENTIFY_RESPONSE = 6,\n\tLOGIN = 7,\n\tLOGOUT = 8,\n\tEVENT = 9,\n\tEVENT_RESPONSE = 10,\n\n\tLOGIN_RESPONSE = 11,\n\tLOGOUT_RESPONSE = 12,\n\n\tGET_TRANSLATIONS_REQUEST = 13,\n\tGET_TRANSLATIONS_RESPONSE = 14,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tCLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n\tCLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n\tCLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n\tCLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n\tCLIENT_EXECUTE_JS_EVENT = 107,\n\tCLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n\tCLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n\tCLIENT_TRACK_ACTIVITY_REQUEST = 155,\n\tCLIENT_SET_AVATAR_REQUEST = 157,\n\tCLIENT_SET_AVATAR_RESPONSE = 158,\n\n\tCLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n\tCLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n\tCHECK_SEGMENT_MATCH_REQUEST = 161,\n\tCHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\t// 500-1000 - Achievements\n\tGET_LEVEL_MAP_REQUEST = 500,\n\tGET_LEVEL_MAP_RESPONSE = 501,\n\tGET_ACHIEVEMENT_MAP_REQUEST = 502,\n\tGET_ACHIEVEMENT_MAP_RESPONSE = 503,\n\tRELOAD_ACHIEVEMENTS_EVENT = 504,\n\tGET_LEADERS_BOARD_REQUEST = 505,\n\tGET_LEADERS_BOARD_RESPONSE = 506,\n\tGET_SHOP_ITEMS_REQUEST = 509,\n\tGET_SHOP_ITEMS_RESPONSE = 510,\n\tBUY_SHOP_ITEM_REQUEST = 511,\n\tBUY_SHOP_ITEM_RESPONSE = 512,\n\tGET_INBOX_MESSAGES_REQUEST = 513,\n\tGET_INBOX_MESSAGES_RESPONSE = 514,\n\tGET_SHOP_CATEGORIES_REQUEST = 515,\n\tGET_SHOP_CATEGORIES_RESPONSE = 516,\n\tGET_TOURNAMENT_LOBBY_REQUEST = 517,\n\tGET_TOURNAMENT_LOBBY_RESPONSE = 518,\n\tGET_TOURNAMENT_INFO_REQUEST = 519,\n\tGET_TOURNAMENT_INFO_RESPONSE = 520,\n\tTOURNAMENT_REGISTER_REQUEST = 521,\n\tTOURNAMENT_REGISTER_RESPONSE = 522,\n\tGET_CUSTOM_SECTIONS_REQUEST = 523,\n\tGET_CUSTOM_SECTIONS_RESPONSE = 524,\n\tMISSION_OPTIN_REQUEST = 525,\n\tMISSION_OPTIN_RESPONSE = 526,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_ACHIEVEMENT_USER_REQUEST = 527,\n\tGET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n\tMARK_INBOX_READ_REQUEST = 529,\n\tMARK_INBOX_READ_RESPONSE = 530,\n\tMARK_INBOX_STARRED_REQUEST = 531,\n\tMARK_INBOX_STARRED_RESPONSE = 532,\n\tMARK_INBOX_DELETED_REQUEST = 535,\n\tMARK_INBOX_DELETED_RESPONSE = 536,\n\n\tGET_ACH_CATEGORIES_REQUEST = 537,\n\tGET_ACH_CATEGORIES_RESPONSE = 538,\n\n\tACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n\tACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n\tACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n\tACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n\tGET_RELATED_ACH_N_TOURNAMENTS_REQUEST = 543,\n\tGET_RELATED_ACH_N_TOURNAMENTS_RESPONSE = 544,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_BONUSES_REQUEST = 600,\n\tGET_BONUSES_RESPONSE = 601,\n\tCLAIM_BONUS_REQUEST = 602,\n\tCLAIM_BONUS_RESPONSE = 603,\n\n\tSAW_GET_SPINS_REQUEST = 700,\n\tSAW_GET_SPINS_RESPONSE = 701,\n\tSAW_DO_SPIN_REQUEST = 702,\n\tSAW_DO_SPIN_RESPONSE = 703,\n\tSAW_AKNOWLEDGE_REQUEST = 704,\n\tSAW_AKNOWLEDGE_RESPONSE = 705,\n\tSAW_SPINS_COUNT_PUSH = 706,\n\tSAW_SHOW_SPIN_PUSH = 707,\n\tSAW_PRIZE_DROP_WIN_PUSH = 708,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n\tSAW_AKNOWLEDGE_SPIN_PUSH = 711,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tJP_GET_JACKPOTS_REQUEST = 800,\n\tJP_GET_JACKPOTS_RESPONSE = 801,\n\n\tJP_GET_LATEST_POTS_REQUEST = 802,\n\tJP_GET_LATEST_POTS_RESPONSE = 803,\n\n\tJP_OPTIN_REQUEST = 804,\n\tJP_OPTIN_RESPONSE = 805,\n\n\tJP_OPTOUT_REQUEST = 806,\n\tJP_OPTOUT_RESPONSE = 807,\n\n\tJP_WIN_PUSH = 808,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n\tCLIENT_DEBUG_REQUEST = 77777,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tUNSUPPORTED_COMMAND = 99999,\n}\n","class IntUtils {\n\tpublic static uuid(): string {\n\t\tlet a: any;\n\t\tlet b: any;\n\t\tfor (\n\t\t\tb = a = '';\n\t\t\ta++ < 36;\n\t\t\tb += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-'\n\t\t) {}\n\t\treturn b;\n\t}\n\n\tpublic static isNotNull(val: any): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null;\n\t}\n\n\tpublic static isNotEmpty(val: string): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null && val.length > 0;\n\t}\n\n\tpublic static replaceAll(value: string, regex: string, replacement: string | number): string {\n\t\tif (IntUtils.isNotNull(value)) {\n\t\t\treturn value.replace(new RegExp(IntUtils.escapeRegExp(regex), 'g'), replacement?.toString());\n\t\t}\n\t\treturn value;\n\t}\n\n\tpublic static escapeRegExp(v: string): string {\n\t\tif (IntUtils.isNotEmpty(v)) {\n\t\t\treturn v.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\t\t}\n\t\treturn v;\n\t}\n\n\tpublic static JsonOrText = (str: string): any => {\n\t\tif (str && str.includes && (str.includes('{') || str.includes('['))) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(str);\n\t\t\t} catch (e) {\n\t\t\t\treturn str;\n\t\t\t}\n\t\t}\n\t\treturn str;\n\t};\n\n\t// public static wsTimeToEpoch = (time: string): number => {\n\t// if (time) {\n\t// return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n\t// } else {\n\t// return null\n\t// }\n\t// }\n\n\tpublic static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n\t\tconst now = new Date();\n\t\tconst completedDate = new Date(timestamp);\n\n\t\tswitch (period) {\n\t\t\tcase 'today':\n\t\t\t\treturn (\n\t\t\t\t\tnow.getFullYear() === completedDate.getFullYear() &&\n\t\t\t\t\tnow.getMonth() === completedDate.getMonth() &&\n\t\t\t\t\tnow.getDate() === completedDate.getDate()\n\t\t\t\t);\n\t\t\tcase 'thisWeek':\n\t\t\t\tconst startOfWeek = new Date(now);\n\t\t\t\tstartOfWeek.setDate(now.getDate() - now.getDay());\n\t\t\t\tstartOfWeek.setHours(0, 0, 0, 0);\n\n\t\t\t\tconst endOfWeek = new Date(startOfWeek);\n\t\t\t\tendOfWeek.setDate(startOfWeek.getDate() + 6);\n\t\t\t\tendOfWeek.setHours(23, 59, 59, 999);\n\n\t\t\t\treturn completedDate >= startOfWeek && completedDate <= endOfWeek;\n\t\t\tcase 'thisMonth':\n\t\t\t\treturn now.getFullYear() === completedDate.getFullYear() && now.getMonth() === completedDate.getMonth();\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n}\n\nexport { IntUtils };\n","/** @hidden */\nexport enum SAWBuyInType {\n\tFree = 1,\n\tPoints = 2,\n\tSpins = 3,\n}\n\nexport enum SAWBuyInTypeName {\n\tFree = 'free',\n\tPoints = 'points',\n\tSpins = 'spins',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n\t\t\t[SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n\t\t\t[SAWBuyInType.Spins]: SAWBuyInTypeName.Spins,\n\t\t}[type] || SAWBuyInTypeName.Unknown\n\t);\n};\n","import { SAWBuyInType } from './SAWBuyInType';\nimport { SAWTemplate } from './SAWTemplate';\n\nclass SAWUtils {\n\tpublic static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n\t\tif (t === null || t === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\tswitch (t.saw_buyin_type_id) {\n\t\t\tcase SAWBuyInType.Free: {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Spins: {\n\t\t\t\treturn t.spin_count !== null && t.spin_count > 0;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Points: {\n\t\t\t\treturn t.buyin_cost_points <= pointsBalance;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tconsole.error('MiniGamesUtils.canPlay: Unknwon SAW buyin type ' + t.saw_buyin_type_id);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport { SAWUtils };\n","export enum SAWAcknowledgeType {\n\tSilent = 1,\n\tQuickMessage = 2,\n\tFullMessage = 3,\n\tExplicityAcknowledge = 4\n}\n","export enum SAWAskForUsername {\n\tNOASK = 'no-ask',\n\tONSUMBIT = 'on-submit',\n}\n","/** @hidden */\n\nexport enum SAWGameType {\n\tSpinAWheel = 1,\n\tScratchCard = 2,\n\tMatchX = 3,\n\tGiftBox = 4,\n\tPrizeDrop = 5,\n\tQuiz = 6,\n}\n\nexport enum SAWGameTypeName {\n\tSpinAWheel = 'wheel',\n\tScratchCard = 'scratch',\n\tMatchX = 'matchx',\n\tGiftBox = 'giftbox',\n\tPrizeDrop = 'prizedrop',\n\tQuiz = 'quiz',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n\t\t\t[SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n\t\t\t[SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n\t\t\t[SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n\t\t\t[SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n\t\t\t[SAWGameType.Quiz]: SAWGameTypeName.Quiz,\n\t\t}[type] || SAWGameTypeName.Unknown\n\t);\n};\n","/** @hidden */\nexport enum SAWPrizeType {\n\tNO_PRIZE = 1,\n\tPOINTS = 2,\n\tBONUS = 3,\n\tMANUAL = 4,\n\tSPIN = 5,\n\tJACKPOT = 6,\n}\n\nexport enum MiniGamePrizeTypeName {\n\tNO_PRIZE = 'no-prize',\n\tPOINTS = 'points',\n\tBONUS = 'bonus',\n\tMANUAL = 'manual',\n\tSPIN = 'spin',\n\tJACKPOT = 'jackpot',\n\tUNKNOWN = 'unknown',\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n\t\t\t[SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n\t\t\t[SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n\t\t\t[SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n\t\t\t[SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n\t\t\t[SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT,\n\t\t}[type] || MiniGamePrizeTypeName.UNKNOWN\n\t);\n};\n","import { IntUtils } from '../IntUtils';\nimport { TMiniGamePrize, TMiniGameTemplate } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from './../Base/ProtocolResponse';\nimport { SAWBuyInTypeNamed } from './SAWBuyInType';\nimport { SAWGameTypeNamed } from './SAWGameType';\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from './SAWPrizeType';\nimport { SAWTemplate } from './SAWTemplate';\nimport { SAWUtils } from './SAWUtils';\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\ttemplates: SAWTemplate[];\n}\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => {\n\treturn items.map((r) => {\n\t\tconst x: TMiniGameTemplate = {\n\t\t\tid: r.saw_template_id,\n\t\t\tname: r.saw_template_ui_definition.name,\n\t\t\tdescription: r.saw_template_ui_definition.description,\n\t\t\tthumbnail: r.saw_skin_ui_definition?.skin_folder\n\t\t\t\t? r.saw_skin_ui_definition?.skin_folder + '/ico.png'\n\t\t\t\t: `https://d312ucx3huj7iy.cloudfront.net/gf/images/saw/${r.saw_skin_key}/ico.png`,\n\t\t\tover_limit_message: r.saw_template_ui_definition.over_limit_message,\n\t\t\tno_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n\t\t\tjackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n\t\t\tsaw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n\t\t\tsaw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n\t\t\tbuyin_cost_points: r.buyin_cost_points,\n\t\t\tjackpot_add_on_attempt: r.jackpot_add_on_attempt,\n\t\t\tjackpot_current: r.jackpot_current,\n\t\t\tspin_count: r.spin_count,\n\t\t\tpromo_image: r.saw_template_ui_definition.promo_image,\n\t\t\tpromo_text: r.saw_template_ui_definition.promo_text,\n\t\t\tcustom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n\t\t\texpose_game_stat_on_api: r.expose_game_stat_on_api,\n\n\t\t\tnext_available_spin_ts: r.next_available_spin_ts,\n\n\t\t\tprizes: r.prizes.map((p) => {\n\t\t\t\tconst y: TMiniGamePrize = {\n\t\t\t\t\tid: p.saw_prize_id,\n\t\t\t\t\tname: p.saw_prize_ui_definition.name,\n\t\t\t\t\tprize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n\t\t\t\t\tprize_value: p.prize_value,\n\t\t\t\t\tfont_size: p.saw_prize_ui_definition.font_size,\n\t\t\t\t\tfont_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n\t\t\t\t\ticon: p.saw_prize_ui_definition.icon,\n\t\t\t\t\tposition: p.saw_prize_ui_definition.position,\n\t\t\t\t\taknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\tacknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n\t\t\t\t\tacknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n\t\t\t\t\tpool: p.pool,\n\t\t\t\t\tpool_initial: p.pool_initial,\n\t\t\t\t\twins_count: p.wins_count,\n\t\t\t\t};\n\t\t\t\treturn y;\n\t\t\t}),\n\t\t};\n\t\treturn x;\n\t});\n};\n","/*\n * Possible error codes for the mini-games attempts\n */\nexport enum SAWSpinErrorCode {\n\t/** No error */\n\tSAW_OK = 0,\n\t/** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n\tSAW_NO_SPINS = 40001,\n\t/** The are no prizes left to play the game */\n\tSAW_PRIZE_POOL_EMPTY = 40002,\n\t/** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n\tSAW_NOT_ENOUGH_POINTS = 40003,\n\t/** User reached max number of game attempts defined in the BackOffice */\n\tSAW_FAILED_MAX_SPINS_REACHED = 40004,\n\t/** Special code for the 'visitor' mode */\n\tSAW_VISITOR_STOP_SPIN_REQUEST = -40001,\n}\n","export enum SAWWinSoundType {\n\tDisappointing = 1,\n\tPositive = 2,\n\tHighlyPositive = 3,\n\tNoSound = 4,\n\tCustom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n\t[SAWWinSoundType.NoSound]: null,\n\t[SAWWinSoundType.Disappointing]: 'saw-disappointed.m4a',\n\t[SAWWinSoundType.Positive]: 'saw-positive.m4a',\n\t[SAWWinSoundType.HighlyPositive]: 'saw-highly-positive.m4a',\n};\n","class NodeCache {\n\tprivate static ttlChecker: NodeJS.Timeout;\n\n\tprivate static cache: { [key: string]: any } = {};\n\n\tconstructor() {\n\t\tif (NodeCache.ttlChecker === undefined) {\n\t\t\tNodeCache.ttlChecker = setInterval(() => {\n\t\t\t\tconst now = new Date().getTime();\n\t\t\t\tfor (const key in NodeCache.cache) {\n\t\t\t\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\t\t\t\tconst o = NodeCache.cache[key];\n\t\t\t\t\t\tif (o.ttl < now) {\n\t\t\t\t\t\t\tdelete NodeCache.cache[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t}\n\t}\n\n\tpublic get(key: string): any {\n\t\tconst o = NodeCache.cache[key];\n\t\tif (o !== undefined && o.ttl > new Date().getTime()) {\n\t\t\treturn o.value;\n\t\t}\n\t}\n\n\tpublic set(key: string, value: any, ttlSeconds: number = 60) {\n\t\tNodeCache.cache[key] = {\n\t\t\tvalue,\n\t\t\tttl: new Date().getTime() + ttlSeconds * 1000,\n\t\t};\n\t}\n\n\tpublic remove(key: string) {\n\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\tdelete NodeCache.cache[key];\n\t\t}\n\t}\n\n\tpublic flushAll() {\n\t\tNodeCache.cache = {};\n\t}\n}\n\nexport { NodeCache };\n","import { NodeCache } from './NodeCache';\n\nexport enum ECacheContext {\n\tTranslations,\n\tLabelInfo,\n\tWSAPI,\n}\n\nconst WITH_REF_CACHE = [ECacheContext.Translations];\n\nexport class OCache {\n\tprivate static cache: { [key: string]: NodeCache } = {};\n\n\tprivate static init(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext] === undefined) {\n\t\t\tthis.cache[cacheContext] = new NodeCache();\n\t\t}\n\t}\n\n\tpublic static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\treturn deepClone(this.cache[cacheContext].get(key));\n\t}\n\n\tpublic static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\tthis.cache[cacheContext].set(key, deepClone(o), ttlSeconds);\n\t}\n\n\tpublic static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n\t\tif (ttlSeconds <= 0) {\n\t\t\treturn await f();\n\t\t} else {\n\t\t\tlet o: T = OCache.get(oKey, cacheContext);\n\n\t\t\tif (o === undefined) {\n\t\t\t\to = await f();\n\t\t\t\tOCache.set(oKey, o, cacheContext, ttlSeconds);\n\t\t\t}\n\n\t\t\treturn o;\n\t\t}\n\t}\n\n\tpublic static async clear(cacheContext: ECacheContext, oKey: any) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].remove(key);\n\t\t}\n\t}\n\n\tpublic static async clearContext(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].flushAll();\n\t\t}\n\t}\n\n\tpublic static async clearAll() {\n\t\tthis.cache = {};\n\t}\n}\n\nconst deepClone = (o: any) => {\n\tif (o) {\n\t\treturn JSON.parse(JSON.stringify(o));\n\t}\n\n\treturn o;\n};\n","export enum ActivityTypeLimited {\n\tDoNothing = 8,\n\tPoints = 12,\n\tGiveMission = 14,\n\tStartAnotherCampaign = 15,\n\tMiniGameAttempt = 16,\n\tDeductPoints = 21,\n\tResetPoints = 22,\n\tPopup = 30,\n\tInbox = 31,\n\tSlack = 70,\n\tEmail_To_Customer_Support = 80,\n\tEmail_To_Risk_Operator = 90,\n\tBonus = 100,\n\tWebHook = 200,\n\tTagCustomer = 504,\n\tUnTagCustomer = 505,\n}\n","class CoreUtils {\n\tpublic static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n\t\tif (\n\t\t\tavatarDomain &&\n\t\t\tavatar_id !== null &&\n\t\t\tavatar_id !== undefined &&\n\t\t\t!(avatar_id.startsWith && avatar_id.startsWith('http'))\n\t\t) {\n\t\t\tif (avatarDomain.endsWith('/')) {\n\t\t\t\treturn avatarDomain.slice(0, -1) + '/avatar/' + avatar_id;\n\t\t\t} else {\n\t\t\t\treturn avatarDomain + '/avatar/' + avatar_id;\n\t\t\t}\n\t\t} else {\n\t\t\treturn avatar_id;\n\t\t}\n\t};\n\n\tpublic static currencySymbol(currency: string) {\n\t\treturn {\n\t\t\t[currency?.toUpperCase()]: currency?.toUpperCase(),\n\t\t\tUSD: '$', // United States Dollar\n\t\t\tEUR: '\\u20AC', // Euro\n\t\t\tJPY: '\\u00A5', // Japanese Yen\n\t\t\tGBP: '\\u00A3', // British Pound Sterling\n\t\t\tAUD: 'A$', // Australian Dollar\n\t\t\tCAD: 'C$', // Canadian Dollar\n\t\t\tCHF: 'CHF', // Swiss Franc\n\t\t\tCNY: '\\u00A5', // Chinese Yuan\n\t\t\tSEK: 'kr', // Swedish Krona\n\t\t\tNZD: 'NZ$', // New Zealand Dollar\n\t\t\tMXN: 'MX$', // Mexican Peso\n\t\t\tSGD: 'S$', // Singapore Dollar\n\t\t\tHKD: 'HK$', // Hong Kong Dollar\n\t\t\tNOK: 'kr', // Norwegian Krone\n\t\t\tKRW: '\\u20A9', // South Korean Won\n\t\t\tTRY: '\\u20BA', // Turkish Lira\n\t\t\tINR: '\\u20B9', // Indian Rupee\n\t\t\tRUB: '\\u20BD', // Russian Ruble\n\t\t\tBRL: 'R$', // Brazilian Real\n\t\t\tZAR: 'R', // South African Rand\n\t\t}[currency?.toUpperCase()];\n\t}\n}\n\nexport { CoreUtils };\n","export enum PublicLabelSettings {\n\tPUBLIC_API_URL = 'PUBLIC_API_URL',\n\tRECORDING_ENABLED_FOR_ALL_USERS = 'RECORDING_ENABLED_FOR_ALL_USERS',\n\tJS_INJECTION = 'JS_INJECTION',\n\tGAMIFICATION_UI_MAIN = 'GAMIFICATION_UI_MAIN',\n\tGAMIFICATION_UI_WIDGET = 'GAMIFICATION_UI_WIDGET',\n\tGAMIFICATION_UI_MINI_GAME = 'GAMIFICATION_UI_MINI_GAME',\n\tGAMIFICATION_UI_SETTINGS = 'GAMIFICATION_UI_SETTINGS',\n\tGAMIFICATION_UI_MAIN_TEST = 'GAMIFICATION_UI_MAIN_TEST',\n\tGAMIFICATION_UI_WIDGET_TEST = 'GAMIFICATION_UI_WIDGET_TEST',\n\tGAMIFICATION_UI_SETTINGS_TEST = 'GAMIFICATION_UI_SETTINGS_TEST',\n\tFRONT_END_ALLOWED_LANGUAGES = 'FRONT_END_ALLOWED_LANGUAGES',\n\tFRONT_END_ALLOW_DOMAINS = 'FRONT_END_ALLOW_DOMAINS',\n\tDELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = 'DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS',\n\tSHADOW_LABEL_PUBLIC_KEY = 'SHADOW_LABEL_PUBLIC_KEY',\n\tDYNAMIC_IMAGE_DOMAIN = 'DYNAMIC_IMAGE_DOMAIN',\n\n\tGAMIFICATION_UI_LEVEL_ENABLED = 'GAMIFICATION_UI_LEVEL_ENABLED',\n\tGAMIFICATION_UI_LEVEL_IMAGE_MOB = 'GAMIFICATION_UI_LEVEL_IMAGE_MOB',\n\tGAMIFICATION_UI_LEVEL_IMAGE_DESK = 'GAMIFICATION_UI_LEVEL_IMAGE_DESK',\n\n\tGAMIFICATION_LEVELS_LOGIC2 = 'GAMIFICATION_LEVELS_LOGIC2',\n\tGAMIFICATION_LEVELS_LOGIC3 = 'GAMIFICATION_LEVELS_LOGIC2',\n\n\tAVATAR_CUSTOM_IMAGE_MAX_ID = 'AVATAR_CUSTOM_IMAGE_MAX_ID',\n\tAVATAR_CUSTOM_IMAGE_FOLDER = 'AVATAR_CUSTOM_IMAGE_FOLDER',\n\n\tGAMIFICATION_SHOW_POWERED_BY = 'GAMIFICATION_SHOW_POWERED_BY',\n\t_system_leader_board_mask_username = '_system_leader_board_mask_username',\n\n\tINBOX_PUBLIC_CDN = 'INBOX_PUBLIC_CDN',\n}\n","enum TranslationArea {\n\tCasino = 1,\n\tGamification = 2,\n\tTrading = 3,\n\tArchived = 4,\n\tAffiliation = 5,\n\tRetentionGames = 6,\n\tAffIliateAdminNew = 7,\n}\n\nexport { TranslationArea };\n","import { TInboxMessage } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { InboxMessage } from './InboxMessage';\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\tlog: InboxMessage[];\n}\n\nexport const InboxMessagesTransform = (items: InboxMessage[]): TInboxMessage[] => {\n\treturn items.map((item) => {\n\t\tconst x: TInboxMessage = {\n\t\t\tsent_date: item.createDate,\n\t\t\tmessage_guid: item.engagement_uid,\n\t\t\tread: item.is_read,\n\t\t\tfavorite: item.is_starred,\n\t\t};\n\t\treturn x;\n\t});\n};\n","import { TInboxMessageBody } from '../WSAPI/WSAPITypes';\nimport { InboxMessageType } from './InboxMessageType';\n\nexport interface InboxMessageBody {\n\taction: string;\n\tbody: string;\n\ttype: InboxMessageType;\n\timage: string;\n\ttitle: string;\n\thtml_body: string;\n\tadditional_buttons?: { inbox_cta_text: string; action: string }[];\n}\n\nexport interface InboxMessage {\n\tcreateDate: string;\n\tbody: InboxMessageBody;\n\tengagement_uid: string;\n\tis_read: boolean;\n\tis_starred: boolean;\n\tis_deleted?: boolean;\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n\tconst x: TInboxMessageBody = {\n\t\taction: item.action,\n\t\ticon: item.image,\n\t\ttitle: item.title,\n\t\tpreview_body: item.body,\n\t};\n\n\tif (item.action === 'dp:inbox') {\n\t\tif (item.additional_buttons && item.additional_buttons.length) {\n\t\t\tx.buttons = item.additional_buttons.map((b) => ({\n\t\t\t\taction: b.action,\n\t\t\t\ttext: b.inbox_cta_text,\n\t\t\t}));\n\t\t}\n\n\t\tx.html_body = item?.html_body || null;\n\t}\n\n\treturn x;\n};\n","export enum InboxMessageType {\n\tCustom = 0,\n\tMissionCompleted = 1,\n\tMissionUnlocked = 2,\n\tLeaderboardWon = 3,\n\tLevelChanged = 4,\n\tBonusGiven = 5,\n\tPointsAdded = 6,\n\tPointsUsed = 7,\n\tPersonalMessage = 8,\n}\n\n// keep in sync with BO enum\n","export enum BuyStoreItemErrorCode {\n\tFAILED_TO_BUY_SHOP_ITEM = 121,\n\tSHOP_NO_BALANCE = 11000,\n\tSHOP_WRONG_LABEL = 11001,\n\tSHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n\tSHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n\tSHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n\tSHOP_FAILED_POOL_EMPTY = 11009,\n}\n","import { TStoreCategory } from '../WSAPI/WSAPITypes';\nimport { StoreCategoryPublicMeta } from './StoreCategoryPublicMeta';\n\nexport interface StoreCategory {\n\tid?: number;\n\tpublicMeta?: StoreCategoryPublicMeta;\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TStoreCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","export enum StoreItemType {\n\tBonus = 1,\n\tTangible = 2,\n\tMiniGameSpin = 3,\n\tChangeLevel = 4,\n\tPrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n\tBonus = 'bonus',\n\tTangible = 'tangible',\n\tMiniGameSpin = 'minigamespin',\n\tChangeLevel = 'changelevel',\n\tPrizeDrop = 'prizedrop',\n\tUnknown = 'unknown',\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n\treturn (\n\t\t{\n\t\t\t[StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n\t\t\t[StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n\t\t\t[StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n\t\t}[type] || StoreItemTypeName.Unknown\n\t);\n};\n","import { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItemPublicMeta } from './StoreItemPublicMeta';\nimport { StoreItemType, StoreItemTypeNamed } from './StoreItemType';\n\nexport interface StoreItem {\n\tid: number;\n\titemTypeId: StoreItemType;\n\titemPublicMeta: StoreItemPublicMeta;\n\tcategoryIds?: number[];\n\tcanBuy?: boolean;\n\tshopPool: number;\n}\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { IntUtils } from '../IntUtils';\nimport { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItem } from './StoreItem';\nimport { StoreItemTypeNamed } from './StoreItemType';\n\ninterface StoreItemPurchased extends StoreItem {\n\tpurchase_ts: number;\n\tpurchase_points_amount: number;\n\tpurchased_today?: boolean;\n\tpurchased_this_week?: boolean;\n\tpurchased_this_month?: boolean;\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false;\n\t\t\tconst purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false;\n\t\t\tconst purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t\tpurchase_ts: r.purchase_ts,\n\t\t\t\tpurchase_points_amount: r.purchase_points_amount,\n\t\t\t\tpurchased_today: purchasedToday,\n\t\t\t\tpurchased_this_week: purchasedThisWeek,\n\t\t\t\tpurchased_this_month: purchasedThisMonth,\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};\n\nexport { StoreItemPurchased };\n","export enum AchievementStatus {\n\tDraft = 1,\n\tAvailableUnlocked = 2,\n\tAvailableLocked = 3,\n\tArchived = 4,\n\tFeaturedManually = 5,\n\tFeaturedAI = 6,\n\tRecurring = 7,\n}\n","export enum AchievementTaskType {\n\tCompleteAchievement = 1,\n\tUnlockAchievement = 2,\n}\n","export enum AchievementType {\n\tMission = 1,\n\tBadge = 2,\n}\n","import { AchRelatedGame } from '../Base/AchRelatedGame';\nimport { IntUtils } from '../IntUtils';\nimport { TMissionOrBadge } from '../WSAPI/WSAPITypes';\nimport { AchievementPublicMeta } from './AchievementPublicMeta';\nimport { AchievementStatus } from './AchievementStatus';\nimport { AchievementTaskType } from './AchievementTaskType';\nimport { AchievementType } from './AchievementType';\nimport { ScheduledMissionType } from './ScheduledMissionType';\nimport { UserAchievementTask } from './UserAchievementTask';\n\nexport interface UserAchievement {\n\tach_id?: number;\n\tach_type_id?: AchievementType;\n\tach_public_meta?: AchievementPublicMeta;\n\tisCompleted?: boolean;\n\tisLocked?: boolean;\n\trequiresOptin?: boolean;\n\tisOptedIn?: boolean;\n\tstart_date?: string; // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n\tstart_date_ts?: number;\n\ttime_limit_ms?: number;\n\tprogress?: number;\n\tcomplete_date?: string;\n\tcomplete_date_ts?: number;\n\tunlock_date?: string;\n\tmilliseconds_till_available?: number;\n\tcompleted_tasks?: number;\n\tachievementTasks?: UserAchievementTask[];\n\tach_status_id?: AchievementStatus;\n\tscheduledMissionType?: ScheduledMissionType;\n\trelated_games?: AchRelatedGame[];\n\tactive_from_ts?: number; // indicates when 'scheduled' mission is active from,\n\tach_categories?: number[];\n\n\tach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables\n\trequires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it\n\tprize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user\n\n\tcompleted_today?: boolean;\n\tcompleted_this_week?: boolean;\n\tcompleted_this_month?: boolean;\n\tcustom_section_type_id?: number;\n}\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n\treturn items\n\t\t.filter((r) => r.ach_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false;\n\t\t\tconst completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false;\n\t\t\tconst completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TMissionOrBadge = {\n\t\t\t\tid: r.ach_id,\n\t\t\t\tname: r.ach_public_meta.name,\n\t\t\t\tdescription: r.ach_public_meta.description,\n\t\t\t\thint_text: r.ach_public_meta.hint_text,\n\t\t\t\tunlock_mission_description: r.ach_public_meta.unlock_mission_description,\n\t\t\t\timage: r.ach_public_meta.image_url,\n\t\t\t\tis_completed: r.isCompleted,\n\t\t\t\tis_locked: r.isLocked,\n\t\t\t\tis_requires_optin: r.requiresOptin,\n\t\t\t\tis_opted_in: r.isOptedIn,\n\t\t\t\ttime_limit_ms: r.time_limit_ms,\n\t\t\t\tactive_from_ts: r.active_from_ts,\n\t\t\t\tdt_start: r.start_date_ts,\n\t\t\t\treward: r.ach_public_meta.reward,\n\t\t\t\tprogress: r.progress,\n\t\t\t\ttype: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n\t\t\t\tcta_action: r.ach_public_meta.cta_action,\n\t\t\t\tcta_text: r.ach_public_meta.cta_text,\n\t\t\t\tcustom_section_id: r.ach_public_meta.custom_section_id,\n\t\t\t\tonly_in_custom_section: r.ach_public_meta.only_in_custom_section,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n\t\t\t\tposition: r.ach_public_meta.position,\n\t\t\t\tribbon:\n\t\t\t\t\tr.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n\t\t\t\ttasks: (r.achievementTasks || [])\n\t\t\t\t\t.filter((t) => t.task_type_id === AchievementTaskType.CompleteAchievement)\n\t\t\t\t\t.map((t) => ({\n\t\t\t\t\t\tid: t.task_id,\n\t\t\t\t\t\tname: t.task_public_meta?.name,\n\t\t\t\t\t\tpoints_reward: t.points_reward,\n\t\t\t\t\t\tis_completed: t.isCompleted,\n\t\t\t\t\t\tprogress: t.userProgress,\n\t\t\t\t\t\texecution_count_expected: t.executionCount,\n\t\t\t\t\t\texecution_count_actual: t.userExecutedCount,\n\t\t\t\t\t\tdisplay_progress_as_count: t.task_public_meta.display_progress_as_count,\n\t\t\t\t\t})),\n\t\t\t\trelated_games: (r.related_games || []).map((g) => ({\n\t\t\t\t\text_game_id: g.ext_game_id,\n\t\t\t\t\tgame_public_meta: {\n\t\t\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t\t\t},\n\t\t\t\t})),\n\t\t\t\tcategory_ids: r.ach_categories ?? [],\n\t\t\t\tach_completed_id: r.ach_completed_id,\n\t\t\t\trequires_prize_claim: r.requires_prize_claim,\n\t\t\t\tprize_claimed_date_ts: r.prize_claimed_date_ts,\n\t\t\t\tcomplete_date: r.complete_date,\n\t\t\t\tcomplete_date_ts: r.complete_date_ts,\n\t\t\t\tcompleted_today: completedToday,\n\t\t\t\tcompleted_this_week: completedThisWeek,\n\t\t\t\tcompleted_this_month: completedThisMonth,\n\t\t\t\tcustom_section_type_id: r.ach_public_meta.custom_section_type_id,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","export enum ScheduledMissionType {\n\tFuture = 1,\n\tPast = 2,\n\tPresent = 3,\n}\n","import { TAchCategory } from '../WSAPI/WSAPITypes';\nimport { AchCategoryPublicMeta } from './AchCategoryPublicMeta';\n\nexport interface AchCategory {\n\tid?: number;\n\tpublicMeta?: AchCategoryPublicMeta;\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TAchCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","/** @hidden */\nexport enum TournamentRegistrationType {\n\tAUTO = 1,\n\tOPT_IN = 2,\n\tBUY_IN_POINTS = 3,\n\tMANUAL_APPROVAL = 4,\n\tREQUIRES_QUALIFICATION = 5,\n\t// BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName =\n\t| 'AUTO'\n\t| 'OPT_IN'\n\t| 'BUY_IN_POINTS'\n\t| 'MANUAL_APPROVAL'\n\t| 'REQUIRES_QUALIFICATION'\n\t| 'UNKNOWN';\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n\treturn ({\n\t\t[TournamentRegistrationType.AUTO]: 'AUTO',\n\t\t[TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n\t\t[TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n\t\t[TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n\t\t[TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n\t}[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName;\n};\n","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\tNOT_REGISTERED = 0,\n\tREGISTERED = 1,\n\tFINISHED = 2,\n\tPENDING = 3,\n\tCANCELLED = 4,\n\tREGISTERED_PENDING_QUALIFICATION = 5,\n\tQUALIFIED_PENDING_REGISTRATION = 6,\n}\n\nexport enum TournamentRegistrationStatusName {\n\tNOT_REGISTERED = 'NOT_REGISTERED',\n\tREGISTERED = 'REGISTERED',\n\tFINISHED = 'FINISHED',\n\tPENDING = 'PENDING',\n\tCANCELLED = 'CANCELLED',\n\tREGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n\tQUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n\tUNKNOWN = 'UNKNOWN',\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n\treturn ({\n\t\t[TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n\t\t[TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n\t\t[TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n\t\t[TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n\t\t[TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]:\n\t\t\tTournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n\t\t[TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n\t\t[TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]:\n\t\t\tTournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION,\n\t}[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName;\n};\n","import { TournamentRegistrationType, TournamentRegistrationTypeGetName } from './TournamentRegistrationType';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport {\n\tTournamentRegistrationStatus,\n\tTournamentRegistrationStatusName,\n\tTournamentRegistrationStatusNamed,\n} from './TournamentRegistrationStatus';\nimport { TournamentType } from './TournamentType';\nimport { TournamentPublicMeta } from './TournamentPublicMeta';\nimport { TTournament } from '../WSAPI/WSAPITypes';\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from '.';\nimport { IntUtils } from '../IntUtils';\nimport { AchRelatedGame } from '../Base/AchRelatedGame';\n\nexport interface Tournament {\n\t/** ID of tournament template */\n\ttournamentId?: number;\n\t/** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n\ttournamentInstanceId?: number;\n\t/** Type of the tournament. For now only SCHEDULED is support */\n\ttournamentType?: TournamentType;\n\t/** Meta information about tournament that should be used to build UI */\n\tpublicMeta?: TournamentPublicMeta;\n\t/** Cost of registration in the tournament in gamification points */\n\tbuyInAmount?: number;\n\t/** Not in use */\n\tprizePool?: number;\n\t/** The time when tournament is going to start */\n\tstartTime?: string;\n\t/** The time when tournament is going to finish */\n\tendTime?: string;\n\t/** The time when tournament is going to start, epoch */\n\tstartTimeTs?: number;\n\t/** The time when tournament is going to finish, epoch */\n\tendTimeTs?: number;\n\t/** Number of users registered in the tournament */\n\tregistrationCount?: number;\n\t/** Not in use */\n\ttotalCount?: number;\n\t/** Type of registration in the tournament */\n\tregistrationType?: TournamentRegistrationType;\n\t/** Status of registration in the tournament for current user */\n\ttournamentRegistrationStatus?: TournamentRegistrationStatus;\n\t/** Status of tournament instance */\n\ttournamentInstanceStatus?: TournamentInstanceStatus;\n\t/** flag indicating if current user is registered in the tournament */\n\tisUserRegistered?: boolean;\n\t/** Indicator if tournament allows later registration, when tournament is already started */\n\tallowLateRegistration?: boolean;\n\t/** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n\tplayersMinCount?: number;\n\t/** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n\tplayersMaxCount?: number;\n\t/** Tournament duration in millisecnnds */\n\tdurationMs?: number;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n\t/** Information about current user */\n\ttournamentPlayer?: TournamentPlayer;\n\n\t/** List of casino games (or other types of entities) related to the tournament */\n\trelated_games?: AchRelatedGame[];\n}\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => {\n\treturn items\n\t\t.filter((r) => r.tournamentId >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TTournament = {\n\t\t\t\tinstance_id: r.tournamentInstanceId,\n\t\t\t\ttournament_id: r.tournamentId,\n\t\t\t\tname: r.publicMeta.name,\n\t\t\t\tdescription: r.publicMeta.description,\n\t\t\t\tsegment_dont_match_message: r.publicMeta.segment_dont_match_message,\n\t\t\t\timage1: r.publicMeta.image_url,\n\t\t\t\timage2: r.publicMeta.image_url2,\n\t\t\t\timage2_mobile: r.publicMeta.image_url2_mobile,\n\t\t\t\tprize_pool_short: r.publicMeta.prize_pool_short,\n\t\t\t\tcustom_price_text: r.publicMeta.custom_price_text,\n\t\t\t\tcustom_section_id: r.publicMeta.custom_section_id,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n\t\t\t\tis_featured: r.publicMeta.featured,\n\t\t\t\tribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n\t\t\t\tpriority: r.publicMeta.position,\n\n\t\t\t\tstart_time: r.startTimeTs,\n\t\t\t\tend_time: r.endTimeTs,\n\t\t\t\tregistration_count: r.registrationCount,\n\t\t\t\tis_user_registered: r.isUserRegistered,\n\t\t\t\tplayers_min_count: r.playersMinCount,\n\t\t\t\tplayers_max_count: r.playersMaxCount,\n\t\t\t\tregistration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n\t\t\t\tregistration_type: TournamentRegistrationTypeGetName(r.registrationType),\n\t\t\t\tregistration_cost_points: r.buyInAmount,\n\t\t\t\tduration_ms: r.durationMs,\n\n\t\t\t\tis_active: TournamentUtils.isActive(r),\n\t\t\t\tis_can_register: TournamentUtils.isCanRegister(r),\n\t\t\t\tis_cancelled: TournamentUtils.isCancelled(r),\n\t\t\t\tis_finished: TournamentUtils.isFinished(r),\n\t\t\t\tis_in_progress: TournamentUtils.isInProgress(r),\n\t\t\t\tis_upcoming: TournamentUtils.isUpcoming(r),\n\t\t\t};\n\n\t\t\tif (r.prizeStructure) {\n\t\t\t\tx.prizes = r.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t\t\t}\n\n\t\t\tif (r.tournamentPlayer) {\n\t\t\t\tx.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true);\n\t\t\t}\n\n\t\t\treturn x;\n\t\t});\n};\n","export enum TournamentInstanceStatus {\n\tPUBLISHED = 1,\n\tREGISTER = 2,\n\tSTARTED = 3,\n\tFINISHED = 4,\n\tCANCELLED = 5,\n\tFAILED = 6,\n\tFINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n\treturn {\n\t\t[TournamentInstanceStatus.PUBLISHED]: 'PUBLISHED',\n\t\t[TournamentInstanceStatus.REGISTER]: 'REGISTER',\n\t\t[TournamentInstanceStatus.STARTED]: 'STARTED',\n\t\t[TournamentInstanceStatus.FINISHED]: 'FINISHED',\n\t\t[TournamentInstanceStatus.CANCELLED]: 'CANCELLED',\n\t\t[TournamentInstanceStatus.FAILED]: 'FAILED',\n\t\t[TournamentInstanceStatus.FINALIZING]: 'FINALIZING',\n\t}[s];\n};\n","import { ActivityTypeLimited } from '../Core';\nimport { Tournament } from './Tournament';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TournamentRegistrationStatus } from './TournamentRegistrationStatus';\nimport { TournamentRegistrationType } from './TournamentRegistrationType';\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n\treturn {\n\t\t[ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n\t\t[ActivityTypeLimited.Points]: 'POINTS_ADD',\n\t\t[ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n\t\t[ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n\t\t[ActivityTypeLimited.MiniGameAttempt]: 'MINI_GAME_ATTEMPT',\n\t\t[ActivityTypeLimited.Bonus]: 'BONUS',\n\t}[type];\n};\n\nexport class TournamentUtils {\n\tpublic static isCanRegister = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\tif (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t!tournament.isUserRegistered &&\n\t\t\t\t(tournament.playersMaxCount !== tournament.registrationCount ||\n\t\t\t\t\ttournament.playersMaxCount === null ||\n\t\t\t\t\ttournament.playersMaxCount === 0) &&\n\t\t\t\ttournament.registrationType !== TournamentRegistrationType.AUTO &&\n\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED &&\n\t\t\t\t\t\ttournament.allowLateRegistration))\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isInProgress = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isActive = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isFinished = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isCancelled = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isUpcoming = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n\t\tif (player) {\n\t\t\tconst playerTransformed = {\n\t\t\t\tpublic_username: player.userAltName,\n\t\t\t\tavatar_url: player.avatar_url,\n\t\t\t\tposition: player.position,\n\t\t\t\tscores: player.scores,\n\t\t\t\tis_me: player.isMe,\n\t\t\t};\n\n\t\t\tif (isMe) {\n\t\t\t\tdelete playerTransformed.is_me;\n\t\t\t}\n\n\t\t\treturn playerTransformed;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tpublic static getPrizeTransformed = (prize: TournamentPrize) => {\n\t\tif (prize) {\n\t\t\treturn { ...prize, type: tournamentPrizeTypeToPrizeName(prize.type) };\n\t\t}\n\n\t\treturn null;\n\t};\n}\n","import { Tournament, TournamentItemsTransform } from './Tournament';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TTournamentDetailed } from '../WSAPI/WSAPITypes';\nimport { TournamentUtils } from './TournamentUtils';\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\t/** tournament info */\n\ttournamentInfo: {\n\t\t/** id of label, not in use */\n\t\tlabelId: number;\n\t\ttournamentLobbyInfo: Tournament;\n\t\t/** list of registered users */\n\t\tplayers: TournamentPlayer[];\n\t};\n\t/** information about current user position */\n\tuserPosition: TournamentPlayer;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n\tconst response: TTournamentDetailed = {\n\t\t...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n\t\trelated_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map((g) => ({\n\t\t\text_game_id: g.ext_game_id,\n\t\t\tgame_public_meta: {\n\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t},\n\t\t})),\n\t\tplayers: t.tournamentInfo.players.map((p) => TournamentUtils.getPlayerTransformed(p)),\n\t};\n\n\tif (t.prizeStructure) {\n\t\tresponse.prizes = t.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t}\n\n\tif (t.userPosition) {\n\t\tresponse.me = TournamentUtils.getPlayerTransformed(t.userPosition, true);\n\t}\n\n\treturn response;\n};\n","export enum TournamentRegistrationError {\n\tNO_ERROR = 0,\n\tTOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n\tTOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n\tTOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n\tTOURNAMENT_ALREADY_REGISTERED = 30004,\n\tTOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n\tTOURNAMENT_USER_NOT_REGISTERED = 30006,\n\tTOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n\tTOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\tSCHEDULED = 1,\n\tSNG = 2,\n\tTEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n\tDAILY = 1,\n\tWEEKLY = 2,\n\tMONTHLY = 3,\n}\n","import { IntUtils } from '../IntUtils';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TLevel } from '../WSAPI/WSAPITypes';\nimport { Level } from './Level';\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\tlevels: Level[];\n}\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n\treturn levels?.levels.map((l) => ({\n\t\tid: l.level_id,\n\t\tname: l.level_public_meta.name,\n\t\tdescription: l.level_public_meta.description,\n\t\timage: l.level_public_meta.image_url,\n\t\trequired_points: l.required_points,\n\t\tvisibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n\t\trequired_level_counter_1: l.required_level_counter_1,\n\t\trequired_level_counter_2: l.required_level_counter_2,\n\t\tcustom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n\t}));\n};\n","import { ClassId } from '../Base/ClassId';\nimport { CoreUtils } from '../Core';\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWSpinErrorCode, SAWSpinsCountPush } from '../MiniGames';\nimport { ECacheContext, OCache } from '../OCache';\nimport { SmarticoAPI } from '../SmarticoAPI';\nimport {\n\tInboxMarkMessageAction,\n\tLeaderBoardDetailsT,\n\tTAchCategory,\n\tTBuyStoreItemResult,\n\tTGetTranslations,\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGamePlayResult,\n\tTMiniGameTemplate,\n\tTMissionClaimRewardResult,\n\tTMissionOptInResult,\n\tTMissionOrBadge,\n\tTSegmentCheckResult,\n\tTStoreCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tTTournamentRegistrationResult,\n\tTUICustomSection,\n\tTUserProfile,\n\tUserLevelExtraCountersT,TBonus,\n\tTClaimBonusResult\n} from './WSAPITypes';\nimport { LeaderBoardPeriodType } from '../Leaderboard';\nimport {\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotWinPush,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from '../Jackpots';\n\n/** @hidden */\nconst CACHE_DATA_SEC = 30;\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30;\nconst JACKPOT_POT_CACHE_SEC = 1;\n\n/** @hidden */\nenum onUpdateContextKey {\n\tSaw = 'saw',\n\tMissions = 'missions',\n\tTournamentList = 'tournamentList',\n\tInboxMessages = 'inboxMessages',\n\tBadges = 'badges',\n\tLevels = 'levels',\n\tStoreItems = 'storeItems',\n\tStoreCategories = 'storeCategories',\n\tAchCategories = 'achCategories',\n\tLeaderBoards = 'leaderBoards',\n\tLevelExtraCounters = 'levelExtraCounters',\n\tSegments = 'segments',\n\tStoreHistory = 'storeHistory',\n\tJackpots = 'jackpots',\n\tPots = 'Pots',\n\tCustomSections = 'customSections',\n\tBonuses = 'bonuses',\n}\n\n/** @group General API */\nexport class WSAPI {\n\tprivate onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map();\n\tprivate jackpotGetSignature: string = '';\n\n\t/** @private */\n\tconstructor(private api: SmarticoAPI) {\n\t\tOCache.clearAll();\n\t\tif (this.api.tracker) {\n\t\t\tconst on = this.api.tracker.on;\n\t\t\ton(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data));\n\t\t\ton(ClassId.SAW_SHOW_SPIN_PUSH, () => this.updateOnAddSpin());\n\t\t\ton(ClassId.SAW_DO_SPIN_RESPONSE, (data: SAWDoSpinResponse) =>\n\t\t\t\ton(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => this.updateOnPrizeWin(data)),\n\t\t\t);\n\t\t\ton(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.RELOAD_ACHIEVEMENTS_EVENT, () => this.updateMissions());\n\t\t\ton(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournaments());\n\t\t\ton(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages());\n\t\t\ton(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache());\n\t\t\ton(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache());\n\t\t\ton(ClassId.CLAIM_BONUS_RESPONSE, () => this.updateBonuses());\n\t\t}\n\t}\n\n\t/** Returns information about current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserProfile().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t * */\n\tpublic getUserProfile(): TUserProfile {\n\t\tif (this.api.tracker) {\n\t\t\tconst o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps);\n\t\t\to.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain);\n\t\t\treturn o;\n\t\t} else {\n\t\t\tthrow new Error('Tracker is not initialized, cannot getUserProfile');\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentMatch(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentMatch(segment_id: number): Promise<boolean> {\n\t\tconst r = await this.api.coreCheckSegments(null, [segment_id]);\n\t\tif (r && r.find((s) => s.segment_id === segment_id && s.is_matching)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific list of segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n\t\treturn await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids]);\n\t}\n\n\t/** Returns all the levels available the current user\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLevels(): Promise<TLevel[]> {\n\t\treturn OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC);\n\t}\n\n\t/** Returns all the missions available the current user.\n\t * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the badges available the current user\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBadges(): Promise<TMissionOrBadge[]> {\n\t\treturn OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the bonuses for the current user\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBonuses({ onUpdate }: { onUpdate?: (data: TBonus[]) => void } = {}): Promise<TBonus[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Bonuses, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Bonuses, ECacheContext.WSAPI, () => this.api.bonusesGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Claim the bonus by bonus_id. Returns the err_code in case of success or error.\n\t * Note that this method can be used only on integrations where originally failed bonus can be claimed again.\n\t * For example, user won a bonus in the mini-game, but Operator rejected this bonus. \n\t * This bonus will be available for the user to claim again.\n\t *\n\t * **Visitor mode: not supported**\n\t */\t\n\tpublic async claimBonus(bonus_id: number): Promise<TClaimBonusResult> {\n\t\tconst r = await this.api.bonusClaimItem(null, bonus_id);\n\n\t\tconst o: TClaimBonusResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tsuccess: r.success,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\n\t/**\n\t * Returns the extra counters for the current user level.\n\t * These are counters that are configured for each Smartico client separatly by request.\n\t * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserLevelExtraCounters().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LevelExtraCounters,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getUserGamificationInfoT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t *\n\t * Returns all the store items available the current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\n\tpublic async getStoreItems(): Promise<TStoreItem[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreItems,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetItemsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n\t * **Example**:\n\t * ```\n\t * _smartico.api.buyStoreItem(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n\t\tconst r = await this.api.buyStoreItem(null, item_id);\n\n\t\tconst o: TBuyStoreItemResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t *\n\t * Returns store categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getStoreCategories(): Promise<TStoreCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched.\n\t * The maximum number of items per request is limited to 20.\n\t * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStorePurchasedItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async getStorePurchasedItems({\n\t\tlimit,\n\t\toffset,\n\t\tonUpdate,\n\t}: { limit?: number; offset?: number; onUpdate?: (data: TStoreItem[]) => void } = {}): Promise<TStoreItem[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate);\n\t\t}\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreHistory,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetPurchasedItemsT(null, limit, offset),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns missions & badges categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getAchCategories(): Promise<TAchCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.AchCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.achGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns list of custom sections\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getCustomSections(): Promise<TUICustomSection[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.CustomSections,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getCustomSectionsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns the list of mini-games available for user\n\t * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t */\n\tpublic async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<\n\t\tTMiniGameTemplate[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async playMiniGame(template_id: number): Promise<TMiniGamePlayResult> {\n\t\tconst r = await this.api.sawSpinRequest(null, template_id);\n\t\tthis.api.doAcknowledgeRequest(null, r.request_id);\n\n\t\tconst o: TMiniGamePlayResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tprize_id: r.saw_prize_id,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Requests an opt-in for the specified mission_id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult> {\n\t\tconst r = await this.api.missionOptIn(null, mission_id);\n\n\t\tconst o: TMissionOptInResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Request for claim reward for the specified mission id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n\t\tconst r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id);\n\n\t\tconst o: TMissionClaimRewardResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/** Returns all the active instances of tournaments\n\t * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * */\n\tpublic async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.TournamentList,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.tournamentsGetLobbyT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t */\n\tpublic async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\treturn this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n\t}\n\n\t/**\n\t * Requests registration for the specified tournament instance. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult> {\n\t\tconst r = await this.api.registerInTournament(null, tournamentInstanceId);\n\n\t\tconst o: TTournamentRegistrationResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Returns the leaderboard for the current type (default is Daily). If getPreviousPeriod is passed as true, a leaderboard for the previous period for the current type will be returned.\n\t * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LeaderBoards,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched.\n\t * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites.\n\t * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n\t * This functions return list of messages without the body of the message.\n\t * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n\t * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n\t * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t * @param params\n\t */\n\tpublic async getInboxMessages({\n\t\tfrom,\n\t\tto,\n\t\tonlyFavorite,\n\t\tonUpdate,\n\t}: { from?: number; to?: number; onlyFavorite?: boolean; onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<\n\t\tTInboxMessage[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);\n\t\t}\n\n\t\treturn await this.api.getInboxMessagesT(null, from, to, onlyFavorite);\n\t}\n\n\t/**\n\t * Returns the message body of the specified message guid.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n\t\treturn await this.api.getInboxMessageBodyT(messageGuid);\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as read\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markInboxMessageRead(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark all inbox messages as rea\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markAllInboxMessageRead(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete inbox message\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteInboxMessage(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete all inbox messages\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteAllInboxMessages(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n\t */\n\tpublic async getTranslations(lang_code: string): Promise<TGetTranslations> {\n\t\tconst r = await this.api.getTranslationsT(null, lang_code, []);\n\n\t\treturn {\n\t\t\ttranslations: r.translations,\n\t\t};\n\t}\n\n\tprivate async updateOnSpin(data: SAWSpinsCountPush) {\n\t\tconst templates: TMiniGameTemplate[] = await OCache.use(\n\t\t\tonUpdateContextKey.Saw,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.sawGetTemplatesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t\tconst index = templates.findIndex((t) => t.id === data.saw_template_id);\n\t\ttemplates[index].spin_count = data.spin_count;\n\t\tthis.updateEntity(onUpdateContextKey.Saw, templates);\n\t}\n\n\tprivate async updateOnAddSpin() {\n\t\tconst payload = await this.api.sawGetTemplatesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Saw, payload);\n\t}\n\n\tprivate async updateOnPrizeWin(data: SAWDoSpinResponse) {\n\t\tif (data.errCode === SAWSpinErrorCode.SAW_OK) {\n\n\t\t\t\tconst updatedTemplates = await this.api.sawGetTemplatesT(null);\n\t\t\t\tthis.updateEntity(onUpdateContextKey.Saw, updatedTemplates);\n\t\t}\n\t}\n\n\tprivate async updateMissions() {\n\t\tconst payload = await this.api.missionsGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Missions, payload);\n\t}\n\n\tprivate async updateBonuses() {\n\t\tconst payload = await this.api.bonusesGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Bonuses, payload);\n\t}\n\t\n\tprivate async updateTournaments() {\n\t\tconst payload = await this.api.tournamentsGetLobbyT(null);\n\t\tthis.updateEntity(onUpdateContextKey.TournamentList, payload);\n\t}\n\n\tprivate async updateInboxMessages() {\n\t\tconst payload = await this.api.getInboxMessagesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.InboxMessages, payload);\n\t}\n\n\tprivate async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n\t\tOCache.set(contextKey, payload, ECacheContext.WSAPI);\n\n\t\tconst onUpdate = this.onUpdateCallback.get(contextKey);\n\t\tif (onUpdate) {\n\t\t\tonUpdate(payload);\n\t\t}\n\t}\n\n\tprivate async jackpotClearCache() {\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots);\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots);\n\t}\n\n\t/** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n\t * If filter is not provided, all active jackpots will be returned.\n\t * Filter can be used to get jackpots related to specific game or specific jackpot template.\n\t * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async jackpotGet(filter?: { related_game_id?: string; jp_template_id?: number }): Promise<JackpotDetails[]> {\n\t\tconst signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`;\n\n\t\tif (signature !== this.jackpotGetSignature) {\n\t\t\tthis.jackpotGetSignature = signature;\n\t\t\tthis.jackpotClearCache();\n\t\t}\n\n\t\tlet jackpots: JackpotDetails[] = [];\n\t\tlet pots: JackpotPot[] = [];\n\n\t\tjackpots = await OCache.use<JackpotDetails[]>(\n\t\t\tonUpdateContextKey.Jackpots,\n\t\t\tECacheContext.WSAPI,\n\t\t\tasync () => {\n\t\t\t\tconst _jackpots = await this.api.jackpotGet(null, filter);\n\t\t\t\tconst _pots = _jackpots.items.map((jp) => jp.pot);\n\n\t\t\t\tOCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC);\n\t\t\t\treturn _jackpots.items;\n\t\t\t},\n\t\t\tJACKPOT_TEMPLATE_CACHE_SEC,\n\t\t);\n\n\t\tif (jackpots.length > 0) {\n\t\t\tpots = await OCache.use<JackpotPot[]>(\n\t\t\t\tonUpdateContextKey.Pots,\n\t\t\t\tECacheContext.WSAPI,\n\t\t\t\tasync () => {\n\t\t\t\t\tconst jp_template_ids = jackpots.map((jp) => jp.jp_template_id);\n\t\t\t\t\treturn (await this.api.potGet(null, { jp_template_ids })).items;\n\t\t\t\t},\n\t\t\t\tJACKPOT_POT_CACHE_SEC,\n\t\t\t);\n\t\t}\n\n\t\treturn jackpots.map((jp) => {\n\t\t\tlet _jp: JackpotDetails = {\n\t\t\t\t...jp,\n\t\t\t\tpot: pots.find((p) => p.jp_template_id === jp.jp_template_id),\n\t\t\t};\n\t\t\treturn _jp;\n\t\t});\n\t}\n\n\t/**\n\t * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted in to the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptIn');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptIn(null, filter);\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted out from the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptOut');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptOut(null, filter);\n\n\t\treturn result;\n\t}\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from '../WSAPI/WSAPITypes';\nimport { LeaderBoardDetails } from './LeaderBoardDetails';\nimport { LeaderBoardPeriodType } from './LeaderBoardPeriodType';\nimport { LeaderBoardPosition } from './LeaderBoardPosition';\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n\tif (reward_points && reward_points.length) {\n\t\treturn reward_points.map((r, i) => ({ place: i + 1, points: r }));\n\t}\n\n\treturn null;\n};\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n\tif (user) {\n\t\tconst x: LeaderBoardUserT = {\n\t\t\tpublic_username: user?.public_username || user.user_alt_name,\n\t\t\tavatar_url: user.avatar_url,\n\t\t\tposition: user.position_in_board,\n\t\t\tpoints: user.points_accumulated,\n\t\t\tis_me: user.is_me,\n\t\t};\n\n\t\tif (isMe) {\n\t\t\tdelete x.is_me;\n\t\t}\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n\tif (board) {\n\t\tconst x: LeaderBoardDetailsT = {\n\t\t\tboard_id: board.board_id,\n\t\t\tname: board.board_public_meta.name,\n\t\t\tdescription: board.board_public_meta.description,\n\t\t\trules: board.board_public_meta.rules,\n\t\t\tperiod_type_id: board.period_type_id,\n\t\t\trewards: pointsRewardTransform(board.reward_points),\n\t\t\tusers: board.positions.map((p) => getLeaderBoardPlayerTransformed(p)),\n\t\t\tme: getLeaderBoardPlayerTransformed(board.userPosition, true),\n\t\t};\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n","export enum AchCustomSectionType {\n\tHTML_PAGE = 1,\n\tMISSIONS_CATEGORY = 2,\n\tTOURNAMENTS_CATEGORY = 3,\n\tLEVELS = 4,\n\tMINI_GAMES = 5,\n\tMISSION_CUSTOM_LAYOUT = 6,\n\tMATCH_X = 7,\n}\n\nexport enum AchCustomLayoutTheme {\n\tVALENTINES_LIGHT = 'valentines-light',\n\tVALENTINES_DARK = 'valentines-dark',\n\tEURO_2024 = 'euro-2024',\n\tGENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n\tONLY_OVERVIEW = 1,\n\tNO_OVERVIEW = 2,\n\tALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n\tANY = 1,\n\tALL_MISSIONS = 2,\n\tALL_EXCEPT_COMPLETED = 3,\n\tALL_EXCEPT_LOCKED = 4,\n\tALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}\n","import { TUICustomSection } from '../WSAPI/WSAPITypes';\nimport {\n\tAchCustomLayoutTheme,\n\tAchCustomSectionType,\n\tAchMissionsTabsOptions,\n\tAchOverviewMissionsFilter,\n} from './AchCustomSection';\n\nexport interface UICustomSection {\n\tbody?: string;\n\tmenu_img?: string;\n\tmenu_name?: string;\n\tcustom_skin_images?: string;\n\tsection_type_id?: AchCustomSectionType;\n\ttheme?: AchCustomLayoutTheme;\n\tgeneric_custom_css?: string;\n\tmission_tabs_options?: AchMissionsTabsOptions;\n\toverview_missions_filter?: AchOverviewMissionsFilter;\n\toverview_missions_count?: number;\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n\treturn items\n\t\t.filter((r) => r.section_type_id !== undefined && r.section_type_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TUICustomSection = {\n\t\t\t\tbody: r.body,\n\t\t\t\tmenu_img: r.menu_img,\n\t\t\t\tmenu_name: r.menu_name,\n\t\t\t\tsection_type_id: r.section_type_id,\n\t\t\t\tcustom_skin_images: r.custom_skin_images,\n\t\t\t\tgeneric_custom_css: r.generic_custom_css,\n\t\t\t\tmission_tabs_options: r.mission_tabs_options,\n\t\t\t\toverview_missions_count: r.overview_missions_count,\n\t\t\t\toverview_missions_filter: r.overview_missions_filter,\n\t\t\t\ttheme: r.theme,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { BonusStatus } from './BonusStatus';\nimport { BonusTemplateMetaMap } from './BonusTemplateMetaMap';\nimport { BonusMetaMap } from './BonusMetaMap';\nimport { TBonus } from '../WSAPI/WSAPITypes';\n\nexport interface Bonus {\n\tid: number;\n\tredeemable?: boolean;\n\tcreateDate?: string;\n\tupdateDate?: string;\n\tredeemDate?: string;\n\tengagementUid?: string;\n\tlabelBonusTemplateId?: number;\n\tsourceProductRefId?: number;\n\tsourceProductId?: number;\n\tuserId?: number;\n\tbonusStatusId?: BonusStatus;\n\tlabelBonusTemplateMetaMap?: BonusTemplateMetaMap;\n\tbonusMetaMap?: BonusMetaMap;\n}\n\nexport const BonusItemsTransform = (items: Bonus[]): TBonus[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TBonus = {\n\n bonus_id: r.id,\n is_redeemable: r.redeemable,\n create_date: r.createDate,\n redeem_date: r.redeemDate,\n label_bonus_template_id: r.labelBonusTemplateId,\n bonus_status_id: r.bonusStatusId,\n label_bonus_template_meta_map: r.labelBonusTemplateMetaMap,\n bonus_meta_map: r.bonusMetaMap\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};","export enum BonusStatus {\n\tNew = 1,\n\tCOUPON_ISSUED = 2,\n\tREDEEMED = 3,\n\tREDEEM_FAILED = 4, \n\tCOUPON_ISSUE_FAILED = 5, \n\tEXPIRED = 6, \n}","import { ClassId } from './Base/ClassId';\nimport { ProtocolRequest } from './Base/ProtocolRequest';\nimport { ProtocolResponse } from './Base/ProtocolResponse';\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse';\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport {\n\tSAWDoAknowledgeRequest,\n\tSAWDoAknowledgeResponse,\n\tSAWDoSpinRequest,\n\tSAWDoSpinResponse,\n\tSAWSpinErrorCode,\n\tSAWTemplatesTransform,\n} from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport {\n\tCoreUtils,\n\tGetTranslationsRequest,\n\tGetTranslationsResponse,\n\tPublicLabelSettings,\n\tResponseIdentify,\n\tTranslationArea,\n} from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport {\n\tGetInboxMessagesRequest,\n\tGetInboxMessagesResponse,\n\tInboxMessageBody,\n\tInboxMessageBodyTransform,\n\tInboxMessagesTransform,\n\tMarkInboxMessageDeletedRequest,\n\tMarkInboxMessageDeletedResponse,\n\tMarkInboxMessageReadRequest,\n\tMarkInboxMessageReadResponse,\n\tMarkInboxMessageStarredRequest,\n\tMarkInboxMessageStarredResponse,\n} from './Inbox';\nimport {\n\tBuyStoreItemRequest,\n\tBuyStoreItemResponse,\n\tGetCategoriesStoreResponse,\n\tGetStoreHistoryRequest,\n\tGetStoreHistoryResponse,\n\tGetStoreItemsResponse,\n\tStoreCategoryTransform,\n\tStoreItemPurchasedTransform,\n\tStoreItemTransform,\n} from './Store';\nimport {\n\tAchCategoryTransform,\n\tAchClaimPrizeRequest,\n\tAchClaimPrizeResponse,\n\tAchievementOptinRequest,\n\tAchievementOptinResponse,\n\tAchievementType,\n\tGetAchCategoriesResponse,\n\tGetAchievementMapRequest,\n\tGetAchievementMapResponse,\n\tUserAchievementTransform,\n} from './Missions';\nimport {\n\tGetTournamentInfoRequest,\n\tGetTournamentInfoResponse,\n\tGetTournamentsRequest,\n\tGetTournamentsResponse,\n\tTournamentItemsTransform,\n\tTournamentRegisterRequest,\n\tTournamentRegisterResponse,\n\ttournamentInfoItemTransform,\n} from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from './Leaderboard';\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from './Level';\nimport { WSAPI } from './WSAPI/WSAPI';\nimport {\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGameTemplate,\n\tTMissionOrBadge,\n\tTStoreCategory,\n\tTAchCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tLeaderBoardDetailsT,\n\tUserLevelExtraCountersT,\n\tTSegmentCheckResult,\n\tTUICustomSection,\n\tTBonus,\n} from './WSAPI/WSAPITypes';\nimport { getLeaderBoardTransform } from './Leaderboard/LeaderBoards';\nimport { GetAchievementsUserInfoResponse } from './Core/GetAchievementsUserInfoResponse';\nimport { CheckSegmentMatchResponse } from './Core/CheckSegmentMatchResponse';\nimport { CheckSegmentMatchRequest } from './Core/CheckSegmentMatchRequest';\nimport {\n\tGetJackpotsPotsRequest,\n\tGetJackpotsPotsResponse,\n\tGetJackpotsRequest,\n\tGetJackpotsResponse,\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotsOptinRequest,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from './Jackpots';\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from './CustomSections';\nimport { BonusItemsTransform, ClaimBonusRequest, ClaimBonusResponse, GetBonusesResponse } from './Bonuses';\nimport { GetBonusesRequest } from './Bonuses/GetBonusesRequest';\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\nconst DEFAULT_LANG_EN = 'EN';\n\ninterface Tracker {\n\tlabel_api_key: string;\n\tuserPublicProps: any;\n\ton: (callBackKey: ClassId, func: (data: any) => void) => void;\n\tgetLabelSetting: (key: PublicLabelSettings) => any;\n}\ninterface IOptions {\n\tlogger?: ILogger;\n\tlogCIDs?: ClassId[];\n\tlogHTTPTiming?: boolean;\n\ttracker?: Tracker;\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>;\n\nclass SmarticoAPI {\n\tprivate publicUrl: string;\n\tprivate wsUrl: string;\n\tprivate inboxCdnUrl: string;\n\tprivate partnerUrl: string;\n\tpublic avatarDomain: string;\n\n\tprivate logger: ILogger;\n\tprivate logCIDs: ClassId[];\n\tprivate logHTTPTiming: boolean;\n\tpublic tracker?: Tracker;\n\n\tpublic constructor(\n\t\tprivate label_api_key: string,\n\t\tprivate brand_api_key: string,\n\t\tprivate messageSender: MessageSender,\n\t\toptions: IOptions = {},\n\t) {\n\t\tthis.logger = options.logger || (console as any);\n\n\t\tif (this.logger.always === undefined) {\n\t\t\tthis.logger.always = this.logger.info;\n\t\t}\n\n\t\tthis.logCIDs = options.logCIDs || [];\n\t\tthis.logHTTPTiming = options.logHTTPTiming || false;\n\t\tthis.tracker = options.tracker;\n\n\t\tthis.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);\n\t\tthis.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key);\n\n\t\tthis.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key);\n\n\t\tthis.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);\n\t}\n\n\tpublic static getEnvDnsSuffix(label_api_key: string): string {\n\t\tlet ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';\n\n\t\tif (ENV_ID === '1' || ENV_ID === '2') {\n\t\t\tENV_ID = '';\n\t\t}\n\t\treturn ENV_ID;\n\t}\n\n\tpublic static getEnvId(label_api_key: string): number {\n\t\treturn label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;\n\t}\n\n\tpublic static getCleanLabelApiKey(label_api_key: string): string {\n\t\treturn label_api_key.substring(0, 36);\n\t}\n\n\tpublic static getPublicUrl(label_api_key: string): string {\n\t\treturn PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getPublicWsUrl(label_api_key: string): string {\n\t\treturn C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getAvatarUrl(label_api_key: string): string {\n\t\treturn AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tprivate async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('REQ', message);\n\t\t}\n\n\t\tif (force_language) {\n\t\t\tmessage.force_language = force_language;\n\t\t}\n\n\t\tlet result: any;\n\n\t\ttry {\n\t\t\tconst timeStart = new Date().getTime();\n\t\t\tresult = await this.messageSender(message, this.publicUrl, expectCID);\n\t\t\tconst timeEnd = new Date().getTime();\n\n\t\t\tif (this.logHTTPTiming) {\n\t\t\t\tthis.logger.always('HTTP time, ms:' + (timeEnd - timeStart));\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.logger.warn(`Failed to make request to smartico channel, L2. ${e.message}`, {\n\t\t\t\turl: this.publicUrl,\n\t\t\t\trequest: message,\n\t\t\t\terror: e.message,\n\t\t\t});\n\t\t\tthrow new Error(`Failed to make request to smartico channel, L2 L1. ${e.message}`);\n\t\t}\n\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('RES', result);\n\t\t}\n\n\t\tif (expectCID) {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tfor (const str of result as string[]) {\n\t\t\t\t\tconst obj: ProtocolResponse = JSON.parse(str);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\tif (obj.cid === expectCID) {\n\t\t\t\t\t\treturn obj as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, {\n\t\t\t\t\trequest: message,\n\t\t\t\t\tresponse: result,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tif (result.length === 1) {\n\t\t\t\t\tconst obj = JSON.parse(result[0]);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\treturn obj;\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.error('Expected one response, but got array', { request: message, response: result });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tprivate buildMessage<TRequest, TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\t\tconst message: ProtocolRequest = {\n\t\t\t// AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n\t\t\t// its not needed in WebSocket and can be deleted\n\t\t\tapi_key: this.label_api_key,\n\t\t\tbrand_key: this.brand_api_key,\n\t\t\text_user_id: user_ext_id,\n\t\t\tcid,\n\t\t\tuuid: IntUtils.uuid(),\n\t\t\tts: new Date().getTime(),\n\t\t\t...payload,\n\t\t};\n\n\t\tif (message.ext_user_id === undefined || message.ext_user_id === null) {\n\t\t\tdelete message.ext_user_id;\n\t\t}\n\n\t\tif (message.brand_key === undefined || message.brand_key === null) {\n\t\t\tdelete message.brand_key;\n\t\t}\n\n\t\treturn message as any;\n\t}\n\n\tpublic async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n\t\tconst eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n\t\t\teventType,\n\t\t\tpayload,\n\t\t});\n\n\t\tconst eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE);\n\t\treturn eventResponse;\n\t}\n\n\tpublic async coreGetTranslations(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\tif (lang_code === undefined || lang_code === null || (lang_code.trim && lang_code.trim() === '')) {\n\t\t\tlang_code = DEFAULT_LANG_EN;\n\t\t}\n\n\t\tconst response = await OCache.use<GetTranslationsResponse>(\n\t\t\t`${lang_code}-${this.label_api_key}-${this.brand_api_key}`,\n\t\t\tECacheContext.Translations,\n\t\t\tasync () => {\n\t\t\t\tconst tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\tuser_ext_id,\n\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t{\n\t\t\t\t\t\tlang_code: DEFAULT_LANG_EN,\n\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\tareas,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tconst trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\tif (lang_code !== DEFAULT_LANG_EN) {\n\t\t\t\t\tconst trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\t\tuser_ext_id,\n\t\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlang_code,\n\t\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\t\tareas,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\tconst trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\t\tObject.keys(trUser?.translations ?? {}).forEach((k) => {\n\t\t\t\t\t\ttrBase.translations[k] = trUser.translations[k];\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn trBase;\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tpublic async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n\t\treturn OCache.use<GetLabelInfoResponse>(\n\t\t\t`${this.label_api_key} - ${this.brand_api_key}`,\n\t\t\tECacheContext.LabelInfo,\n\t\t\tasync () => {\n\t\t\t\tconst message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT);\n\n\t\t\t\treturn this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE);\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\t}\n\n\tpublic async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\t\tconst message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n\t\t\trequest_id: IntUtils.uuid(), // AA: do we need request_id?\n\t\t});\n\n\t\tconst r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);\n\n\t\tr.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain);\n\n\t\treturn r;\n\t}\n\n\tpublic async coreChangeUsername(\n\t\tuser_ext_id: string,\n\t\tpublic_username_custom: string,\n\t): Promise<{ public_username_custom: string }> {\n\t\tconst message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n\t\t\tpublic_username_custom,\n\t\t});\n\n\t\treturn await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n\t}\n\n\tpublic async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n\t\tconst message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n\t\t\tsegment_id,\n\t\t});\n\n\t\tconst results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE);\n\n\t\treturn results.segments || [];\n\t}\n\n\tpublic async jackpotGet(\n\t\tuser_ext_id: string,\n\t\tfilter?: { related_game_id?: string; jp_template_id?: number },\n\t\tforce_language?: string,\n\t): Promise<GetJackpotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_JACKPOTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language);\n\t}\n\n\tpublic async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_LATEST_POTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE);\n\t}\n\n\tpublic async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTIN_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE);\n\t}\n\n\tpublic async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTOUT_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE);\n\t}\n\n\tpublic async sawGetTemplates(\n\t\tuser_ext_id: string,\n\t\tforce_language?: string,\n\t\tis_visitor_mode: boolean = false,\n\t): Promise<SAWGetTemplatesResponse> {\n\t\tconst message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_GET_SPINS_REQUEST,\n\t\t\t{ is_visitor_mode },\n\t\t);\n\n\t\tconst response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language);\n\n\t\tif (response && response.templates) {\n\t\t\tresponse.templates.forEach((t) => {\n\t\t\t\tif (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n\t\t\t\t\tconst jackpotValue =\n\t\t\t\t\t\tt.jackpot_current +\n\t\t\t\t\t\t(t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '');\n\t\t\t\t\tt.saw_template_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.name,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.description = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.description,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.promo_text = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.promo_text,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.prizes.forEach((p) => {\n\t\t\t\t\t\tp.saw_prize_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.name,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n\t\treturn SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);\n\t}\n\n\tpublic async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse> {\n\t\tconst message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_AKNOWLEDGE_REQUEST,\n\t\t\t{\n\t\t\t\trequest_id,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE);\n\t}\n\n\tpublic async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n\t\tif (!saw_template_id) {\n\t\t\tthrow new Error('Missing template id');\n\t\t}\n\n\t\tconst request_id = IntUtils.uuid();\n\n\t\tconst message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n\t\t\tsaw_template_id,\n\t\t\trequest_id,\n\t\t});\n\n\t\tconst spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE);\n\n\t\t// to simulate fail\n\t\t// response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n\t\tconst status: string =\n\t\t\t{\n\t\t\t\t[SAWSpinErrorCode.SAW_OK]: 'OK',\n\t\t\t\t[SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n\t\t\t\t[SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n\t\t\t\t[SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n\t\t\t\t[SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n\t\t\t}[spinAttemptResponse.errCode] || 'OTHER';\n\n\t\tawait this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n\t\t\tsaw_template_id,\n\t\t\tstatus,\n\t\t\tround_id,\n\t\t});\n\n\t\treturn { ...spinAttemptResponse, request_id };\n\t}\n\n\tpublic async missionOptIn(user_ext_id: string, mission_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\t\tconst message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MISSION_OPTIN_REQUEST,\n\t\t\t{\n\t\t\t\tachievementId: mission_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\n\t\tconst message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST,\n\t\t\t{\n\t\t\t\tach_id: mission_id,\n\t\t\t\tach_completed_id: ach_completed_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.TOURNAMENT_REGISTER_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async buyStoreItem(user_ext_id: string, itemId: number) {\n\t\tif (!itemId) {\n\t\t\tthrow new Error('Missing store item id');\n\t\t}\n\t\tconst message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n\t\t\titemId,\n\t\t});\n\n\t\tconst res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async inboxGetMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 10,\n\t\toffset: number = 0,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n\t\tconst message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST);\n\t\treturn await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n\t\treturn StoreItemTransform((await this.storeGetItems(user_ext_id)).items);\n\t}\n\n\tpublic async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n\t\tconst message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n\t\treturn StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async storeGetPurchasedItems(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t): Promise<GetStoreHistoryResponse> {\n\t\tconst message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACH_SHOP_ITEM_HISTORY_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE);\n\t}\n\n\tpublic async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n\t\treturn StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items);\n\t}\n\n\tpublic async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Mission);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_USER_REQUEST,\n\t\t);\n\n\t\treturn await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE);\n\t}\n\n\tpublic async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n\t\tconst response = await this.getUserGamificationInfo(user_ext_id);\n\n\t\treturn {\n\t\t\tlevel_counter_1: response.level_counter_1,\n\t\t\tlevel_counter_2: response.level_counter_2,\n\t\t};\n\t}\n\n\tpublic async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\t\tconst message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n\t\treturn AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Badge);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItems(user_ext_id: string, force_language?: string): Promise<GetBonusesResponse> {\n\t\tconst message = this.buildMessage<GetBonusesRequest, GetBonusesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_BONUSES_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetBonusesResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_BONUSES_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\tpublic async bonusClaimItem(user_ext_id: string, bonus_id: number): Promise<ClaimBonusResponse> {\n\t\tconst message = this.buildMessage<ClaimBonusRequest, ClaimBonusResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.CLAIM_BONUS_REQUEST,\n\t\t\t{ bonusId: bonus_id }\n\n\t\t);\n\t\tconst response = await this.send<ClaimBonusResponse>(\n\t\t\tmessage,\n\t\t\tClassId.CLAIM_BONUS_RESPONSE,\n\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItemsT(user_ext_id: string): Promise<TBonus[]> {\n\t\treturn BonusItemsTransform((await this.bonusesGetItems(user_ext_id)).bonuses);\n\t}\n\n\tpublic async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\t\tconst message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_LOBBY_REQUEST,\n\t\t);\n\t\treturn await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language);\n\t}\n\n\tpublic async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n\t\treturn TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments);\n\t}\n\n\tpublic async tournamentsGetInfo(\n\t\tuser_ext_id: string,\n\t\ttournamentInstanceId: number,\n\t\tforce_language?: string,\n\t): Promise<GetTournamentInfoResponse> {\n\t\tconst message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_INFO_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\t\tconst response = await this.send<GetTournamentInfoResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_TOURNAMENT_INFO_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\n\t\tif (response.userPosition?.avatar_id) {\n\t\t\tresponse.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain);\n\t\t}\n\n\t\tif (response.tournamentInfo.players?.length) {\n\t\t\tresponse.tournamentInfo.players.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId);\n\t\treturn tournamentInfoItemTransform(response);\n\t}\n\n\tpublic async leaderboardGet(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id?: LeaderBoardPeriodType,\n\t\tprevPeriod: boolean = false,\n\t\tforce_language?: string,\n\t): Promise<LeaderBoardDetails> {\n\t\tconst message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_LEADERS_BOARD_REQUEST,\n\t\t\t{\n\t\t\t\tperiod_type_id,\n\t\t\t\tsnapshot_offset: prevPeriod ? 1 : 0,\n\t\t\t\tinclude_users: true,\n\t\t\t},\n\t\t);\n\n\t\tconst response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language);\n\n\t\tconst boardKey = Object.keys(response.map).find((k) => period_type_id === undefined || k === period_type_id?.toString());\n\n\t\tif (boardKey === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (response.map[boardKey]?.userPosition?.avatar_id) {\n\t\t\tresponse.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(\n\t\t\t\tresponse.map[boardKey].userPosition.avatar_id,\n\t\t\t\tthis.avatarDomain,\n\t\t\t);\n\t\t}\n\n\t\tif (response.map[boardKey]?.positions?.length) {\n\t\t\tresponse.map[boardKey].positions.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response.map[boardKey];\n\t}\n\n\tpublic async leaderboardsGetT(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY,\n\t\tprevPeriod: boolean = false,\n\t): Promise<LeaderBoardDetailsT> {\n\t\treturn getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod));\n\t}\n\n\tpublic async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n\t\tconst message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST);\n\t\treturn await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language);\n\t}\n\n\tpublic async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n\t\treturn GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\n\t}\n\n\tpublic async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n\t\tconst message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_CUSTOM_SECTIONS_REQUEST,\n\t\t);\n\t\treturn await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);\n\t}\n\n\tpublic async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n\t\treturn UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));\n\t}\n\n\tpublic async getTranslationsT(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\treturn await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);\n\t}\n\n\tpublic async getInboxMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t\tstarred_only: boolean,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\tstarred_only,\n\t\t\t},\n\t\t);\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async getInboxMessagesT(\n\t\tuser_ext_id: string,\n\t\tfrom: number = 0,\n\t\tto: number = 20,\n\t\tfavoriteOnly: boolean = false,\n\t): Promise<TInboxMessage[]> {\n\t\tconst limit = to - from > 20 ? 20 : to - from;\n\t\tconst offset = from;\n\n\t\treturn InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log);\n\t}\n\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\t\tconst getMessageBody = async (messageGuid: string): Promise<InboxMessageBody> => {\n\t\t\tconst inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN);\n\n\t\t\ttry {\n\t\t\t\tconst url = `${inboxCdnUrl}${messageGuid}.json`;\n\n\t\t\t\tconst response = await fetch(url, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Accept': 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tconst data = await response.json();\n\t\t\t\treturn data || {};\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.error('Error fetching inbox message body:', error);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\n\t\treturn await getMessageBody(messageGuid);\n\t}\n\n\tpublic async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n\t\tconst message = await this.getInboxMessageBody(messageGuid);\n\t\treturn InboxMessageBodyTransform(message);\n\t}\n\n\tpublic async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tall_read: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markUnmarkInboxMessageAsFavorite(\n\t\tuser_ext_id: string,\n\t\tmessageGuid: string,\n\t\tmark: boolean,\n\t): Promise<MarkInboxMessageStarredResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_STARRED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t\tis_starred: mark,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE);\n\t}\n\n\tpublic async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tall_deleted: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic getWSCalls(): WSAPI {\n\t\treturn new WSAPI(this);\n\t}\n}\n\nexport { SmarticoAPI, MessageSender };\n","import { TSMap } from 'typescript-map';\n\nclass CookieStore {\n\tprivate static cookieStore = new TSMap<string, string[]>();\n\n\tpublic static get(key: string): string[] | undefined {\n\t\treturn CookieStore.cookieStore.get(key);\n\t}\n\n\tpublic static set(key: string, value: string[]) {\n\t\tconst v = value.map((v) => v.split(';')[0]);\n\t\tCookieStore.cookieStore.set(key, v);\n\t}\n}\n\nexport { CookieStore };\n","export enum QuizSportType {\n\tSoccer = 1,\n\tBasketball = 2,\n\tTennis = 5,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis];\n","export enum SAWGPMarketType {\n\tTwoTeamsWithScore = 1,\n\tRedCard = 2,\n\tOneXTwo = 3,\n\tOneXTwoHalftime = 4,\n\tHalftimeFulltime = 5,\n\tFirstGoal = 6,\n\tDoubleChance = 7,\n\tOverUnder2_5 = 8,\n\tOverUnder1_5Halftime = 9,\n\tOverUnder1_5__2ndHalf = 10,\n\tTotalCorners8_5 = 11,\n\tTotalCorners9_5 = 12,\n\tCorners1x2 = 13,\n\tOne_Two = 14,\n\tOvertime = 15,\n\tOddEven = 16,\n\tOddEvenHomeAway = 17,\n\tFirstSet = 18,\n\tSecondSet = 19,\n\tThirdSet = 20,\n\tFourthSet = 21,\n\tFifthSet = 22,\n\tPlayerOneWinsOneSet = 23,\n\tPlayerTwoWinsOneSet = 24,\n\tLastGoal = 25,\n\n\tCustomSport = 26,\n\tCustomNonSport = 27,\n}\n","export enum QuizAnswersValueType {\n\tHomeTeam = '1',\n\tAwayTeam = '2',\n\tDraw = 'x',\n\tHomeTeamHomeTeam = '1/1',\n\tHomeTeamDraw = '1/x',\n\tHomeTeamAwayTeam = '1/2',\n\tDrawHomeTeam = 'x/1',\n\tDrawDraw = 'x/x',\n\tDrawAwayTeam = 'x/2',\n\tAwayTeamHomeTeam = '2/1',\n\tAwayTeamDraw = '2/x',\n\tAwayTeamAwayTeam = '2/2',\n\tYes = 'yes',\n\tNo = 'no',\n\tOdd = 'odd',\n\tEven = 'even',\n\tHomeOdd = '1/odd',\n\tHomeEven = '1/even',\n\tAwayOdd = '2/odd',\n\tAwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}';\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}';\nexport const quizDrawReplacementText = '{quiz_draw}';\nexport const quizYesReplacementText = '{yes}';\nexport const quizNoReplacementText = '{no}';\nexport const quizOddReplacementText = '{odd}';\nexport const quizEvenReplacementText = '{even}';\nexport const quizOrReplacementText = '{or}';\n\nexport const quizAnswersTrKeys = {\n\t[quizDrawReplacementText]: 'quizAnswer_draw',\n\t[quizYesReplacementText]: 'quizAnswer_yes',\n\t[quizNoReplacementText]: 'quizAnswer_no',\n\t[quizOddReplacementText]: 'quizAnswer_odd',\n\t[quizEvenReplacementText]: 'quizAnswer_even',\n\t[quizOrReplacementText]: 'quizAnswer_or',\n};\n","import {\n\tQuizAnswersValueType,\n\tquizAnswerAwayTeamReplacementText,\n\tquizAnswerHomeTeamReplacementText,\n\tquizDrawReplacementText,\n\tquizEvenReplacementText,\n\tquizNoReplacementText,\n\tquizOddReplacementText,\n\tquizOrReplacementText,\n\tquizYesReplacementText,\n} from './MarketsAnswers';\nimport { SAWGPMarketType } from './MarketsType';\n\nconst yesNoAnswers = [\n\t{ text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n\t{ text: quizNoReplacementText, value: QuizAnswersValueType.No },\n];\n\nconst homeAwayAnswers = [\n\t{ text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n\t{ text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam },\n];\n\nconst homeAwayDrawAnswers = [...homeAwayAnswers, { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw }];\n\nexport const marketsInfo = [\n\t{\n\t\ttype: SAWGPMarketType.OneXTwo,\n\t\tname: '1x2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OneXTwoHalftime,\n\t\tname: '1x2 Halftime',\n\t\tquestion: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.HalftimeFulltime,\n\t\tname: 'Halftime / Fulltime',\n\t\tquestion: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n\t\tanswers: [\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamHomeTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.DrawHomeTeam,\n\t\t\t},\n\t\t\t{ text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.DrawAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamHomeTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamAwayTeam,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstGoal,\n\t\tname: 'First Goal',\n\t\tquestion: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.LastGoal,\n\t\tname: 'Last Goal',\n\t\tquestion: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.DoubleChance,\n\t\tname: 'Double Chance',\n\t\tquestion: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n\t\tanswers: [\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder2_5,\n\t\tname: 'Over/Under 2.5',\n\t\tquestion: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5Halftime,\n\t\tname: 'Over/Under 1.5 Halftime',\n\t\tquestion: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tname: 'Over/Under 1.5 2nd Half',\n\t\tquestion: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.RedCard,\n\t\tname: 'Red Card',\n\t\tquestion: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners8_5,\n\t\tname: 'Total Corners 8.5',\n\t\tquestion: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners9_5,\n\t\tname: 'Total Corners 9.5',\n\t\tquestion: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Corners1x2,\n\t\tname: 'Corners 1x2',\n\t\tquestion: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.One_Two,\n\t\tname: '1-2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Overtime,\n\t\tname: 'Overtime',\n\t\tquestion: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEven,\n\t\tname: 'Odd/Even',\n\t\tquestion: {\n\t\t\ttext: 'Is the sum of all points scored in the game going to be an odd number or even?',\n\t\t\ttrKey: 'quizQuestion_oddEven',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n\t\t\t{ text: quizEvenReplacementText, value: QuizAnswersValueType.Even },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEvenHomeAway,\n\t\tname: 'Odd/Even Home/Away',\n\t\tquestion: {\n\t\t\ttext: 'Which team will win and what will be the sum of the points (Odd or Even)?',\n\t\t\ttrKey: 'quizQuestion_oddEvenHomeAway',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstSet,\n\t\tname: 'First Set',\n\t\tquestion: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.SecondSet,\n\t\tname: 'Second Set',\n\t\tquestion: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.ThirdSet,\n\t\tname: 'Third Set',\n\t\tquestion: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FourthSet,\n\t\tname: 'Fourth Set',\n\t\tquestion: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FifthSet,\n\t\tname: 'Fifth Set',\n\t\tquestion: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerOneWinsOneSet,\n\t\tname: 'Player One Wins One Set',\n\t\tquestion: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tname: 'Player Two Wins One Set',\n\t\tquestion: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomNonSport,\n\t\tname: 'Custom question (non sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomSport,\n\t\tname: 'Custom question (sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n];\n","import { SAWGPMarketType } from './MarketsType';\nimport { QuizSportType } from './SportTypes';\n\nexport const QuizMarketPerSport = {\n\t[QuizSportType.Basketball]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.Overtime,\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OddEven,\n\t\tSAWGPMarketType.OddEvenHomeAway,\n\t\tSAWGPMarketType.DoubleChance,\n\t],\n\t[QuizSportType.Soccer]: [\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OneXTwoHalftime,\n\t\tSAWGPMarketType.HalftimeFulltime,\n\t\tSAWGPMarketType.FirstGoal,\n\t\tSAWGPMarketType.LastGoal,\n\t\tSAWGPMarketType.DoubleChance,\n\t\tSAWGPMarketType.OverUnder2_5,\n\t\tSAWGPMarketType.OverUnder1_5Halftime,\n\t\tSAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tSAWGPMarketType.RedCard,\n\t\tSAWGPMarketType.TotalCorners8_5,\n\t\tSAWGPMarketType.TotalCorners9_5,\n\t\tSAWGPMarketType.Corners1x2,\n\t],\n\t[QuizSportType.Tennis]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.FirstSet,\n\t\tSAWGPMarketType.SecondSet,\n\t\tSAWGPMarketType.ThirdSet,\n\t\tSAWGPMarketType.FourthSet,\n\t\tSAWGPMarketType.FifthSet,\n\t\tSAWGPMarketType.PlayerOneWinsOneSet,\n\t\tSAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tSAWGPMarketType.OddEven,\n\t],\n};\n","enum JackpotContributionType {\n\tFixed = 1,\n\tPercentage = 2,\n}\n\nexport { JackpotContributionType };\n","enum JackpotType {\n\tMain = 1,\n}\n\nexport { JackpotType };\n"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","_r$saw_skin_ui_defini2","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","aknowledge_message","acknowledge_dp","acknowledge_action_title","pool","pool_initial","wins_count","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","constructor","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","clear","clearContext","clearAll","ActivityTypeLimited","CoreUtils","currencySymbol","currency","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","active_from_ts","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","display_progress_as_count","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","updateOnAddSpin","SAW_DO_SPIN_RESPONSE","SAW_AKNOWLEDGE_RESPONSE","updateOnPrizeWin","MISSION_OPTIN_RESPONSE","updateMissions","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","RELOAD_ACHIEVEMENTS_EVENT","TOURNAMENT_REGISTER_RESPONSE","updateTournaments","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","CLAIM_BONUS_RESPONSE","updateBonuses","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","Levels","levelsGetT","getMissions","onUpdate","Missions","missionsGetItemsT","getBadges","Badges","badgetsGetItemsT","getBonuses","Bonuses","bonusesGetItemsT","claimBonus","bonus_id","bonusClaimItem","err_code","errCode","err_message","errMsg","success","getUserLevelExtraCounters","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","StoreItems","storeGetItemsT","buyStoreItem","item_id","getStoreCategories","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","limit","offset","StoreHistory","storeGetPurchasedItemsT","getAchCategories","AchCategories","achGetCategoriesT","getCustomSections","CustomSections","getCustomSectionsT","getMiniGames","Saw","sawGetTemplatesT","playMiniGame","template_id","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","requestMissionOptIn","mission_id","missionOptIn","requestMissionClaimReward","missionClaimPrize","getTournamentsList","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","tournamentsGetInfoT","registerInTournament","getLeaderBoard","periodType","getPreviousPeriod","LeaderBoards","leaderboardsGetT","getInboxMessages","from","to","onlyFavorite","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","getInboxMessageBodyT","markInboxMessageAsRead","markInboxMessageRead","markAllInboxMessagesAsRead","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","deleteInboxMessage","deleteAllInboxMessages","getTranslations","lang_code","getTranslationsT","translations","templates","index","findIndex","updateEntity","payload","SAW_OK","updatedTemplates","contextKey","Jackpots","Pots","jackpotGet","_this","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","jp_template_ids","potGet","_jp","jackpotOptIn","result","jackpotOptOut","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","BonusItemsTransform","is_redeemable","redeemable","create_date","redeem_date","redeemDate","label_bonus_template_id","labelBonusTemplateId","bonus_status_id","bonusStatusId","label_bonus_template_meta_map","labelBonusTemplateMetaMap","bonus_meta_map","bonusMetaMap","BonusStatus","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","cid","timeStart","timeEnd","warn","url","request","obj","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","eventResponse","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","GET_TRANSLATIONS_RESPONSE","_trUser$translations","trUserRQ","trUser","keys","forEach","k","coreIdentifyLabel","_this2","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","results","CHECK_SEGMENT_MATCH_RESPONSE","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTIN_RESPONSE","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","status","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","MISSION_OPTIN_REQUEST","achievementId","res","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","badgetsGetItems","Badge","bonusesGetItems","GET_BONUSES_REQUEST","GET_BONUSES_RESPONSE","CLAIM_BONUS_REQUEST","bonusId","bonuses","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","tournaments","tournamentsGetInfo","_response$userPositio","_response$tournamentI","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","leaderboardGet","prevPeriod","_response$map$boardKe","_response$map$boardKe2","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","boardKey","DAILY","levelsGet","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","values","customSections","starred_only","favoriteOnly","log","_this3","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","all_read","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","all_deleted","getWSCalls","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","Draw","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","HalftimeFulltime","HomeTeamHomeTeam","HomeTeamDraw","HomeTeamAwayTeam","DrawHomeTeam","DrawDraw","DrawAwayTeam","AwayTeamHomeTeam","AwayTeamDraw","AwayTeamAwayTeam","FirstGoal","LastGoal","DoubleChance","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","CustomNonSport","CustomSport","QuizMarketPerSport","JackpotContributionType","JackpotType"],"mappings":"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"}