@smartico/public-api 0.0.166 → 0.0.167

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\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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"}
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, SAWGetTemplatesResponse, 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';\nimport { GetTournamentsResponse } from 'src/Tournaments';\nimport { GetAchievementMapResponse } from 'src/Missions';\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 * The returned bonuss are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getBonuses with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on bonus claimed and the updated bonuses will be passed to it.\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\t/**\n\t * Returns all the related tournaments and missions for the provided game id for the current user\n\t * The provided Game ID should correspond to the ID from the Games Catalog - https://help.smartico.ai/welcome/technical-guides/games-catalog-api\n\t * \n\t * **Example**:\n\t * ```\n\t * _smartico.api.getRelatedItemsForGame('gold-slot2').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').getRelatedItemsForGame('gold-slot2').then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getRelatedItemsForGame(related_game_id: string): Promise<GetAchievementMapResponse> {\n\n\t\tconst result = await this.api.getRelatedItemsForGame(null, related_game_id);\n return result;\n\t\t\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';\nimport { GetRelatedAchTourRequest } from './Missions/GetRelatedAchTourRequest';\nimport { GetRelatedAchTourResponse } from './Missions/GetRelatedAchTourResponse';\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\tpublic async getRelatedItemsForGame(user_ext_id: string, related_game_id: string,): Promise<GetRelatedAchTourResponse> {\n\t\tconst message = this.buildMessage< GetRelatedAchTourRequest, GetRelatedAchTourResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_RELATED_ACH_N_TOURNAMENTS_REQUEST,\n\t\t\t{\n\t\t\t\trelated_game_id: related_game_id\n\t\t\t}\n\t\t);\n\t\t\n\t\treturn await this.send<GetRelatedAchTourResponse>(message, ClassId.GET_RELATED_ACH_N_TOURNAMENTS_RESPONSE);\n\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","getRelatedItemsForGame","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","GET_RELATED_ACH_N_TOURNAMENTS_REQUEST","GET_RELATED_ACH_N_TOURNAMENTS_RESPONSE","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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"}