{"tags":[{"tagId":"d27184ff-6728-4e9d-87b4-a225ac31a252","tagTypeId":"custom_tag_type","name":"Sticky footer","description":"Sticky footer","config":{"beforeEndHead":"<style type=\"text/css\">\r\n    .sticky-footer {\r\n        position: sticky;\r\n        bottom: 0;\r\n        z-index: 13;\r\n        padding-top: 0.5rem;\r\n        border-radius: 1rem 1rem 0 0;\r\n        display: flex;\r\n        flex-direction: column;\r\n        background-color: var(--verde-escuro);\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-unlogged-container {\r\n        display: none;\r\n        padding: 0.3rem 1rem 1rem 1rem;\r\n    }\r\n\r\n    html.mobile[data-vip-level=\"unlogged\"] .sticky-footer .sticky-footer-unlogged-container {\r\n        display: flex;\r\n        gap: 1rem;\r\n    }\r\n\r\n    html.mobile[data-vip-level=\"unlogged\"] .sticky-footer .sticky-footer-unlogged-container > * {\r\n        flex: 1 1 0;\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-unlogged-container .btn + .btn {\r\n        margin-left: 0;\r\n        margin-right: 0;\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-unlogged-container .sticky-footer-login,\r\n    .sticky-footer .sticky-footer-unlogged-container .sticky-footer-register {\r\n        font-size: 1rem;\r\n        width: 100%;\r\n        padding: 0.3rem;\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-unlogged-container .sticky-footer-login {\r\n        background-color: var(--amarelo-brand);\r\n        color: var(--verde-escuro-accent);\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-unlogged-container .sticky-footer-register {\r\n        background-color: var(--verde-escuro-accent);\r\n        color: var(--amarelo-brand);\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-bottom-detail {\r\n        height: 1rem;\r\n        background-image: url(\"/library/Header/aplicacao-verde-escuro-accent.svg\");\r\n        background-repeat: repeat-x;\r\n        background-position: center top;\r\n        background-size: contain;\r\n        transform: rotate(180deg);\r\n        margin-top: -6px;\r\n    }\r\n\r\n    .sticker-footer-items-group-container {\r\n        position: relative;\r\n        overflow: hidden;\r\n        min-height: 44px;\r\n    }\r\n\r\n    .sticker-footer-items-group {\r\n        position: absolute;\r\n        width: 100%;\r\n        top: 0;\r\n        left: 0;\r\n        transform: translateY(0);\r\n        opacity: 1;\r\n        transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\r\n    }\r\n\r\n    html:not(.root-sportsbook) .sticker-footer-items-group.casino {\r\n        position: relative;\r\n    }\r\n\r\n    html:not(.root-sportsbook) .sticker-footer-items-group.esporte {\r\n        transform: translateY(100%);\r\n        opacity: 0;\r\n        pointer-events: none;\r\n    }\r\n\r\n    html.root-sportsbook .sticker-footer-items-group.esporte {\r\n        position: relative;\r\n    }\r\n\r\n    html.root-sportsbook .sticker-footer-items-group.casino {\r\n        transform: translateY(100%);\r\n        opacity: 0;\r\n        pointer-events: none;\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-items {\r\n        display: flex;\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-item {\r\n        width: 20%;\r\n        display: flex;\r\n        flex-direction: column;\r\n        transition: transform 0.08s ease;\r\n    }\r\n    \r\n    .sticky-footer .sticky-footer-item:active {\r\n      transform: scale(0.88) rotate(-2deg);\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-icon {\r\n        display: flex;\r\n        justify-content: center;\r\n        height: 50%;\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-icon img {\r\n        height: 30px;\r\n    }\r\n\r\n    .sticky-footer .sticky-footer-title {\r\n        text-align: center;\r\n        font-size: 0.7rem;\r\n        color: var(--amarelo-brand);\r\n        font-weight: 600;\r\n    }\r\n\r\n    .sticky-footer .sticker-footer-items-group.esporte .home-button > div {\r\n        position: absolute;\r\n        width: 100%;\r\n        height: 100%;\r\n        top: 0;\r\n        left: 0;\r\n        transform: translateY(0);\r\n        opacity: 1;\r\n        transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\r\n        pointer-events: auto;\r\n    }\r\n\r\n    .sticky-footer .sticker-footer-items-group.esporte .home-button {\r\n        position: relative;\r\n        overflow: hidden;\r\n        min-height: 44px;\r\n    }\r\n\r\n    .sticky-footer .sticker-footer-items-group.esporte .home-button > div.home-button-hidden {\r\n        transform: translateY(100%);\r\n        opacity: 0;\r\n        pointer-events: none;\r\n    }\r\n\r\n    .desktop .sticky-footer {\r\n        display: none;\r\n    }\r\n\r\n    /* =============================\r\n       iOS Safari FIXES\r\n       ============================= */\r\n\r\n    /* Reserva espaço pro footer no mobile iOS\r\n       pra não cobrir o conteúdo */\r\n    html.ios.mobile body {\r\n        /* ajusta se achar que está sobrando ou faltando espaço */\r\n        padding-bottom: calc(72px + env(safe-area-inset-bottom));\r\n    }\r\n\r\n    /* No iOS, sticky no bottom é instável; troca pra fixed */\r\n    html.ios.mobile .sticky-footer {\r\n        position: fixed;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n\r\n        /* mantém o visual original */\r\n        border-radius: 1rem 1rem 0 0;\r\n\r\n        /* garante que fique acima de outras UIs */\r\n        /*z-index: 9999;*/\r\n\r\n        /* compensa a safe area do iPhone */\r\n        padding-bottom: calc(0 + env(safe-area-inset-bottom));\r\n    }\r\n</style>\r\n","beforeEndBody":"<div class=\"sticky-footer\">\n    <div class=\"sticky-footer-unlogged-container\">\n        <div>\n            <a class=\"btn sticky-footer-register\" href=\"javascript:void(0)\" \n                onclick=\"Playtech.API.common.navigate('/register')\">Criar Conta</a>\n        </div>\n        <div>\n            <a class=\"btn sticky-footer-login\" href=\"javascript:void(0)\"\n                onclick=\"Playtech.API.popup.showPopup('login')\">Entrar</a>\n        </div>\n    </div>\n\n    <div class=\"sticker-footer-items-group-container\">\n        <div class=\"sticker-footer-items-group casino\">\n            <div class=\"sticky-footer-items\">\n                <div class=\"sticky-footer-item\" onclick=\"Playtech.API.common.navigate('/casino')\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/slots.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Cassino</div>\n                </div>\n                <div class=\"sticky-footer-item\" onclick=\"Playtech.API.common.navigate('/live-casino')\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/ao_vivo.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Ao Vivo</div>\n                </div>\n                <div class=\"sticky-footer-item\" onclick=\"Playtech.API.common.navigate('/view-more/Lobby/crash/')\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/crash.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Crash</div>\n                </div>\n                <div class=\"sticky-footer-item\"\n                    onclick=\"Playtech.API.common.navigate('/promocoes?promotionsTab=cassino')\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/promo.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Promoções</div>\n                </div>\n                <div class=\"sticky-footer-item\" onclick=\"Playtech.API.common.navigate('/sportsbook/')\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/futebol.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Esportes</div>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"sticker-footer-items-group esporte\">\n            <div class=\"sticky-footer-items\">\n                <div id=\"sticky-footer-home-sports\" class=\"sticky-footer-item\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/home.svg\" />\n                    </div>\n                    <div class=\"sticky-footer-title\">Home</div>\n                </div>\n                <div class=\"sticky-footer-item home-button\">\n                    <div class=\"ao-vivo-root home-button-hidden\" onclick=\"Playtech.API.common.navigate('/sportsbook/inplay')\">\n                        <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/cronometro.svg\" />\n                        </div>\n                        <div class=\"sticky-footer-title\">Ao Vivo</div>\n                    </div>\n                    <div class=\"esportes-root home-button-hidden\" onclick=\"Playtech.API.common.navigate('/sportsbook')\">\n                        <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/futebol.svg\" />\n                        </div>\n                        <div class=\"sticky-footer-title\">Esportes</div>\n                    </div>\n                </div>\n                <div class=\"sticky-footer-item\" onclick=\"document.querySelector('.ta-QUICK_LINKSOPEN_BETS')?.click()\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/historico_esportes.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Suas Apostas</div>\n                </div>\n                <div class=\"sticky-footer-item\" onclick=\"document.querySelector('.ta-QUICK_LINKSA_Z')?.click()\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/search.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Busca</div>\n                </div>\n                <div class=\"sticky-footer-item\" onclick=\"Playtech.API.common.navigate('/casino')\">\n                    <div class=\"sticky-footer-icon\"><img src=\"/library/Icons/slots.svg\" /></div>\n                    <div class=\"sticky-footer-title\">Cassino</div>\n                </div>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"sticky-footer-bottom-detail\"></div>\n</div>\n\n<script>\n    (function () {\n        const sticky_footer = document.querySelector('.sticky-footer');\n        if (!sticky_footer) return;\n\n        // Attach click handler to home sports button\n        const homeSportsButton = document.getElementById('sticky-footer-home-sports');\n\n        if (homeSportsButton) {\n            homeSportsButton.addEventListener('click', function () {\n        \n                const currentPath = window.location.pathname\n                    .replace(/^\\/|\\/$/g, ''); // remove \"/\" do início/fim\n        \n                const pathParts = currentPath.split('/');\n        \n                const isSportsbook = currentPath === 'sportsbook';\n                const isInplay = currentPath === 'sportsbook/inplay';\n        \n                const hasExtraPaths =\n                    pathParts.length > 2 ||\n                    (\n                        pathParts.length === 2 &&\n                        pathParts[0] === 'sportsbook' &&\n                        pathParts[1] !== 'inplay'\n                    );\n        \n                if (isInplay) {\n                    Playtech.API.common.navigate('/sportsbook');\n        \n                // Se tiver paths extras e estiver em alguma rota de inplay\n                } else if (currentPath.includes('inplay')) {\n                    Playtech.API.common.navigate('/sportsbook/inplay');\n        \n                // Qualquer outra rota sportsbook\n                } else {\n                    Playtech.API.common.navigate('/sportsbook');\n                }\n        \n                window.Sportsbook?.navigate();\n            });\n        }\n\n        const home_button = sticky_footer.querySelector('.sticker-footer-items-group.esporte .sticky-footer-item.home-button');\n\n        const aoVivoRoot = home_button.querySelector('.ao-vivo-root');\n        const esportesRoot = home_button.querySelector('.esportes-root');\n\n        function updateEsportesHomeButton(path) {\n            if (path.startsWith('/sportsbook/inplay')) {\n                aoVivoRoot.classList.add('home-button-hidden')\n                esportesRoot.classList.remove('home-button-hidden')\n                return\n            }\n            \n            if (path.startsWith('/sportsbook')) {\n                aoVivoRoot.classList.remove('home-button-hidden')\n                esportesRoot.classList.add('home-button-hidden')\n                return;\n            }\n        }\n\n        // checa no início\n        updateEsportesHomeButton(window.location.pathname)\n\n        Playtech.on('navigate', ({ pathname, cleanPathname }) => {\n            console.log(pathname)\n            updateEsportesHomeButton(cleanPathname)\n        });\n    })();\n</script>"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"8681369c-ce64-425f-8e8d-04eab078623c","tagTypeId":"custom_js","name":"TPI Events","description":"TPI Events","config":{"code":"async function updatePlayerTags() {\n    function getSid() {\n        try {\n            return JSON.parse(localStorage.getItem('tpi_sid'))?.id ?? 'unknown';\n        } catch (error) {\n            window.TPI?.track?.('error', 'error', {\n                message: 'tpi_sid not found'\n            });\n\n            return 'error';\n        }\n    }\n\n    function getUid() {\n        try {\n            return localStorage.getItem('tpi_uid') ?? 'unknown';\n        } catch (error) {\n            window.TPI?.track?.('error', 'error', {\n                message: 'tpi_uid not found'\n            });\n\n            return 'error';\n        }\n    }\n\n    await Playtech.API.user.setPlayerTags([\n        {\n            name: 'portal/tpi__sid',\n            type: 'text',\n            value: getSid()\n\n        }, {\n            name: 'portal/tpi__uid',\n            type: 'text',\n            value: getUid()\n        }\n    ]);\n}\n\n\nPlaytech.on('auth:generic_login:success', () => {\n    updatePlayerTags();\n});\n\n// Playtech.on('socket-response', ({\n//     requestId,\n//     responseId,\n//     time\n// }) => {\n//     window.TPI?.track?.('socket-response', 'socket', {\n//         requestId,\n//         responseId,\n//         time\n//     });\n// });\n\n// Playtech.on('pas-response', ({\n//     actionName,\n//     time\n// }) => {\n//     window.TPI?.track?.('pas-response', 'pas', {\n//         pasActionName: actionName,\n//         time\n//     });\n// });\n\nPlaytech.on('pas-error', ({\n    actionName,\n    error\n}) => {\n    window.TPI?.track?.('pas-error', 'pas', {\n        pasActionName: actionName,\n        errorCode: error?.errorCode,\n        requestId: error?.requestId,\n        error: error && JSON.stringify(error, Object.getOwnPropertyNames(error))\n    });\n});\n\nPlaytech.on('socket-error', ({\n    requestId,\n    responseId,\n    errorCode,\n    error\n}) => {\n    window.TPI?.track?.('socket-error', 'socket', {\n        requestId,\n        responseId,\n        errorCode,\n        error: error && JSON.stringify(error, Object.getOwnPropertyNames(error))\n    });\n});\n\nPlaytech.on('bia-error', ({\n    event,\n    error\n}) => {\n    window.TPI?.track?.('bia-error', 'bia', {\n        event,\n        error: error && JSON.stringify(error, Object.getOwnPropertyNames(error))\n    });\n});\n\nPlaytech.on('socket-breakdown', ({\n    reason,\n    requestId,\n    responseId\n}) => {\n    window.TPI?.track?.('socket-breakdown', 'socket', {\n        reason,\n        requestId,\n        responseId\n    });\n});\n\n\nPlaytech.on('socket-notice', ({ requestId }) => {\n    window.TPI?.track?.('socket-notice', 'socket', {\n        requestId\n    });\n});\n\n\nPlaytech.on('geofencing-init', ({ geolocationType }) => {\n    window.TPI?.track?.('geofencing-init', 'geofencing', {\n        geolocationType\n    });\n});\n\nPlaytech.on('geofencing-trigger', ({ reason }) => {\n    window.TPI?.track?.('geofencing-trigger', 'geofencing', {\n        reason\n    });\n});\n\nPlaytech.on('geofencing-response', ({\n    transactionID,\n    time\n}) => {\n    window.TPI?.track?.('geofencing-response', 'geofencing', {\n        transactionID,\n        time\n    });\n});\n\nPlaytech.on('geofencing-error', ({\n    error,\n    errorCode,\n    message,\n    response\n}) => {\n    window.TPI?.track?.('geofencing-error', 'geofencing', {\n        error: error && JSON.stringify(error, Object.getOwnPropertyNames(error)),\n        errorCode,\n        message,\n        response\n    });\n});\n\nPlaytech.on('auth:generic_login:success', () => {\n    window.TPI?.track?.('sso-login-success', 'login');\n});\n\nPlaytech.on('auth:credentials:login', () => {\n    window.TPI?.track?.('login-success', 'login');\n});\n\nPlaytech.on('LOGGED_OUT', () => {\n    window.TPI?.track?.('logout-success', 'login');\n});\n\nPlaytech.on('LOGGED_IN_FAIL', ([error]) => {\n    window.TPI?.track?.('login-error', 'login', {\n        error: error && JSON.stringify(error, Object.getOwnPropertyNames(error)),\n    });\n});\n\nPlaytech.on('REGISTRATION_SUBMITTED', () => {\n    window.TPI?.track?.('registration-submitted', 'registration');\n});\n\nPlaytech.on('REGISTRATION_COMPLETED', () => {\n    window.TPI?.track?.('registration-success', 'registration');\n});\n\nPlaytech.on('REGISTRATION_FAIL', ([error]) => {\n    window.TPI?.track?.('registration-error', 'registration', {\n        error: error && JSON.stringify(error, Object.getOwnPropertyNames(error)),\n    });\n});\n\nPlaytech.on('DEPOSIT_FAIL', ({\n    error,\n    errorCode,\n    errorDescription,\n    errorMessage\n}) => {\n    window.TPI?.track?.('deposit-error', 'deposit', {\n        error: error && JSON.stringify(error, Object.getOwnPropertyNames(error)),\n        errorCode,\n        errorDescription,\n        errorMessage\n    });\n});\n\n// enable only in case Wrapper is not used\n// (async () => {\n//     const { games = {} } = await Playtech.API.game.getGamesConfiguration();\n//     const { formFactor = 'mobile' } = Playtech.Data.initialDevice.formFactor;\n//\n//     let latest_tpi_lid = null;\n//\n//     Playtech.API.game.addBeforeGameLaunchHook((launchGameUrl) => {\n//         const url = new URL(launchGameUrl, document.baseURI);\n//\n//         latest_tpi_lid = crypto.randomUUID();\n//\n//         url.searchParams.set('tpi_lid', latest_tpi_lid);\n//\n//         return url.toString();\n//     });\n//\n//     Playtech.on('GAME_LAUNCH', ({ gameCode, container, gameName, game_pos }) => {\n//         const {\n//             desktopGameType = '',\n//             mobileGameType = ''\n//         } = games[gameCode] ?? {};\n//         const gameType = formFactor === 'desktop' ? desktopGameType : mobileGameType;\n//\n//         const product = gameCode.includes('gpas')\n//             ? 'GPAS'\n//             : gameCode.includes('pop')\n//                 ? 'POP'\n//                 : gameType.includes('LIVE')\n//                     ? 'LIVE'\n//                     : 'OTHER';\n//\n//         window.TPI?.track?.('portal:game:launch', 'game', {\n//             product,\n//             gameCode,\n//             tpi_lid: latest_tpi_lid,\n//         });\n//     });\n// })();\n\n// sportsbook\nPlaytech.on('sportsbook-analytics', ({\n    eventName,\n    currency,\n    raw\n}) => {\n    const data = typeof raw === 'string' ? { data: raw } : raw;\n\n    window.TPI?.track?.(`sports-${eventName}`, 'sports', {\n        ...data,\n        currency\n    });\n});\n\nPlaytech.on('player-tag-change', ({\n    tag,\n    value,\n    removed\n}) => {\n    if (removed) {\n        return;\n    }\n\n    window.TPI?.track?.(`tag-${tag.replaceAll('/', ':')}`, 'tag', {\n        value\n    });\n});\n\nwindow.addEventListener('unhandledrejection', (event) => {\n    if (event.reason.reason && event.reason.request) {\n        // is oapi, so safe to skip\n        event.preventDefault();\n    }\n});\n\nwindow.addEventListener('online', () => {\n    window.TPI?.track?.('online', 'browser', {\n        effectiveType: navigator?.connection?.effectiveType ?? 'unknown'\n    });\n});\n\nwindow.addEventListener('offline', () => {\n    window.TPI?.track?.('offline', 'browser');\n});\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"a0a8b13d-9a35-4e62-8f6d-b605690e1583","tagTypeId":"custom_tag_type","name":"TPI for Wrapper","description":"TPI for Wrapper","config":{"beforeEndHead":"<script>\n/* TPI agent v2.5.0 */\n!function(t,e,n){if(!t.__tpi){t.__tpi=1;var r,VITALS=!0,EVENTS=!0,XHR=!0,JSERRORS=!0,RESOURCES=!0,APP=\"brasil-bet-br\",EP=\"https://beacon.tp-eye.com/collect\",a=\"tpi_sid\",i=18e5;try{var o=localStorage.getItem(a);if(o){var s=JSON.parse(o);s.id&&Date.now()-s.ts<i&&(r=s.id)}r||(r=nt()),localStorage.setItem(a,JSON.stringify({id:r,ts:Date.now()}))}catch(st){r||(r=nt())}var c=\"\";try{(c=localStorage.getItem(\"tpi_uid\")||\"\")||(c=crypto.randomUUID?crypto.randomUUID():(Math.random().toString(36)+\"00000000\").slice(2,10)+(Math.random().toString(36)+\"00000000\").slice(2,10),localStorage.setItem(\"tpi_uid\",c))}catch(ct){c=crypto.randomUUID?crypto.randomUUID():(Math.random().toString(36)+\"00000000\").slice(2,10)+(Math.random().toString(36)+\"00000000\").slice(2,10)}var u=[],f=\"\",l=\"\";try{n.userAgentData&&n.userAgentData.getHighEntropyValues&&n.userAgentData.getHighEntropyValues([\"model\",\"platformVersion\"]).then(function(t){f=t.model||\"\",l=t.platformVersion||\"\"}).catch(function(){})}catch(ut){}var d=setInterval(rt,15e3),p=function(){};if(VITALS){var v=\"hidden\"!==e.visibilityState||e.prerendering?1/0:0;function h(t){\"hidden\"===e.visibilityState&&v===1/0&&(v=\"visibilitychange\"===t.type?t.timeStamp:0,removeEventListener(\"prerenderingchange\",h,!0))}addEventListener(\"visibilitychange\",h,{capture:!0}),addEventListener(\"prerenderingchange\",h,{capture:!0});var m=0;try{var g=performance.getEntriesByType(\"navigation\")[0];g&&g.activationStart&&(m=g.activationStart)}catch(ft){}try{var y=performance.getEntriesByType(\"navigation\")[0];y&&at({t:\"v\",n:\"ttfb\",v:Math.max(Math.round(y.responseStart-m),0),ts:Date.now()})}catch(lt){}var w=!1;it(\"paint\",{},function(t){!w&&\"first-contentful-paint\"===t.name&&t.startTime<v&&(w=!0,at({t:\"v\",n:\"fcp\",v:Math.max(Math.round(t.startTime-m),0),ts:Date.now()}))});var S,b=0,D=!1,E=t.requestIdleCallback||setTimeout;function T(){if(!D){if(D=!0,S){try{S.takeRecords().forEach(function(t){t.startTime<v&&(b=Math.max(t.startTime-m,0))}),S.disconnect()}catch(t){}S=null}b&&at({t:\"v\",n:\"lcp\",v:Math.round(b),ts:Date.now()})}}if(t.PerformanceObserver)try{(S=new PerformanceObserver(function(t){t.getEntries().forEach(function(t){t.startTime>=v||(b=Math.max(t.startTime-m,0))})})).observe({type:\"largest-contentful-paint\",buffered:!0})}catch(dt){}function M(t){t.isTrusted&&(E(function(){T()}),removeEventListener(\"keydown\",M,{capture:!0}),removeEventListener(\"click\",M,{capture:!0}))}addEventListener(\"keydown\",M,{capture:!0}),addEventListener(\"click\",M,{capture:!0});var L=0,I=0,x=[];it(\"layout-shift\",{},function(t){if(!t.hadRecentInput){var e=x[0],n=x[x.length-1];L&&e&&n&&t.startTime-n.startTime<1e3&&t.startTime-e.startTime<5e3?(L+=t.value,x.push(t)):(L=t.value,x=[t]),L>I&&(I=L)}});var _=!1;function k(){_||(_=!0,at({t:\"v\",n:\"cls\",v:Math.round(1e4*I)/1e4,ts:Date.now()}))}var O=!1,U={},P={},N=[],R=0;function H(){return\"interactionCount\"in performance?performance.interactionCount:R}function q(){if(!O&&N.length){O=!0;var t=H(),e=Math.min(N.length-1,Math.floor(t/50));at({t:\"v\",n:\"inp\",v:Math.round(N[e].dur),ts:Date.now()})}}it(\"event\",{durationThreshold:40},function(t){var e=t.interactionId;if(e||\"first-input\"===t.entryType){if(e&&!U[e]&&(U[e]=1,R++),e&&void 0!==P[e]){if(t.duration>P[e]){P[e]=t.duration;for(var n=0;n<N.length;n++)if(N[n].id===e){N[n].dur=t.duration;break}}}else e&&void 0===P[e]?(P[e]=t.duration,N.push({id:e,dur:t.duration})):e||\"first-input\"!==t.entryType||(U.fi||(U.fi=1,R++),N.push({id:-1,dur:t.duration}));if(N.sort(function(t,e){return e.dur-t.dur}),N.length>10)for(var r=N.splice(10),a=0;a<r.length;a++)r[a].id>0&&delete P[r[a].id]}}),p=function(){T(),k(),q()}}if(JSERRORS&&(t.addEventListener(\"error\",function(e){(e.target===t||e.error)&&(e.error||\"Script error.\"!==e.message)&&at({t:\"e\",m:e.message||\"\",s:e.error&&e.error.stack||\"\",y:e.error&&e.error.name||\"\",f:e.filename||\"\",l:e.lineno||0,c:e.colno||0,ts:Date.now()})},!0),t.addEventListener(\"unhandledrejection\",function(t){var e=t.reason;if(null!=e){var n=e.message,r=e.stack||\"\",a=e.name||\"\";if(!n){if(\"string\"==typeof e)n=e;else try{n=JSON.stringify(e).slice(0,512)}catch(t){n=String(e)}a=a||\"UnhandledRejection\"}at({t:\"e\",m:n,s:r,y:a,f:\"\",l:0,c:0,ts:Date.now()})}else at({t:\"e\",m:\"Unhandled rejection: \"+String(e),s:\"\",y:\"UnhandledRejection\",f:\"\",l:0,c:0,ts:Date.now()})})),XHR){var J=t.fetch;J&&(t.fetch=function(e,n){var r=Date.now(),a=\"string\"==typeof e?e:e instanceof Request?e.url:String(e);if(0===a.indexOf(EP))return J.apply(t,arguments);var i=n&&n.method||(e instanceof Request?e.method:\"GET\");return J.apply(t,arguments).then(function(t){return at({t:\"x\",m:i,u:a,st:t.status,dur:Date.now()-r,ts:r}),t},function(t){throw at({t:\"x\",m:i,u:a,st:0,dur:Date.now()-r,ts:r}),t})});var j=XMLHttpRequest.prototype.open,B=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(t,e){return this._hm=t,this._hu=e,j.apply(this,arguments)},XMLHttpRequest.prototype.send=function(){var t=this,e=Date.now();return t._hu&&0===String(t._hu).indexOf(EP)||t.addEventListener(\"loadend\",function(){at({t:\"x\",m:t._hm||\"\",u:t._hu||\"\",st:t.status,dur:Date.now()-e,ts:e})}),B.apply(this,arguments)}}EVENTS&&(t.TPI={track:function(t,e,n){at({t:\"ev\",n:t,cat:e||\"\",p:n||{},ts:Date.now()})}},e.addEventListener(\"click\",function(t){var e=t.target.closest?t.target.closest(\"[data-tpi]\"):null;e&&at({t:\"ev\",n:e.getAttribute(\"data-tpi\"),cat:\"click\",p:{tag:e.tagName,text:(e.textContent||\"\").slice(0,50)},ts:Date.now()})},!0));var C=[],A=0;if(e.addEventListener(\"click\",function(t){var e=Date.now();if(!(e<A)){for(C.push({x:t.clientX,y:t.clientY,ts:e});C.length&&e-C[0].ts>1e3;)C.shift();if(C.length>=3){for(var n=C[0].x,r=C[0].y,a=!0,i=1;i<C.length;i++){var o=C[i].x-n,s=C[i].y-r;if(o*o+s*s>900){a=!1;break}}if(a){var c=t.target;at({t:\"rc\",u:location.href,tg:(c.tagName||\"\").slice(0,20),id:(c.id||\"\").slice(0,60),cl:(c.className&&\"string\"==typeof c.className?c.className:\"\").slice(0,100),tx:(c.textContent||\"\").trim().slice(0,50),cn:C.length,ts:e}),C=[],A=e+2e3}}}},!0),RESOURCES){var X=0,V=\"unknown\",z=0;function G(){var t=null;return performance.memory&&(t={u:Math.round(performance.memory.usedJSHeapSize/1048576),a:Math.round(performance.memory.totalJSHeapSize/1048576),l:Math.round(performance.memory.jsHeapSizeLimit/1048576)}),t}function Y(){try{for(var t=performance.getEntriesByType(\"long-animation-frame\"),e=[],n=performance.now()-5e3,r=0;r<t.length;r++)t[r].startTime>n&&e.push(t[r]);for(var a=0,i=0;i<e.length;i++)a+=e[i].duration;return a>1e3?\"critical\":a>300?\"serious\":\"nominal\"}catch(t){return\"nominal\"}}function F(t,e){var n={t:\"rs\",u:location.href,cs:e,ts:Date.now()};t&&(n.mu=t.u,n.ma=t.a,n.ml=t.l),at(n),t&&(X=t.u),V=e}function K(t){var e=G(),n=e?e.u:0,r=Date.now();(X>0&&n>0&&(n-X)/X>.2||(\"serious\"===t||\"critical\"===t)&&t!==V)&&r>z&&(F(e,t),z=r+5e3)}if(t.PressureObserver)try{new PressureObserver(function(t){K(t[t.length-1].state)},{sampleInterval:1e3}).observe(\"cpu\").catch(function(){})}catch(pt){}setInterval(function(){var e=G(),n=\"nominal\";t.PressureObserver||(n=Y()),F(e,n)},6e4)}var Q,W=location.href;at({t:\"pv\",u:W,ts:Date.now()}),Date.now();var Z=t.history;if(Z&&Z.pushState){var $=Z.pushState;Z.pushState=function(){var t=$.apply(this,arguments);return ot(),t}}if(Z&&Z.replaceState){var tt=Z.replaceState;Z.replaceState=function(){var t=tt.apply(this,arguments);return W=location.href,t}}t.addEventListener(\"popstate\",ot);try{var et=performance.getEntriesByType(\"navigation\");et.length>0&&at({t:\"ev\",n:\"browser:\"+(et[0].type||\"navigate\"),cat:\"browser\",p:{},ts:Date.now()})}catch(vt){}e.addEventListener(\"visibilitychange\",function(){\"hidden\"===e.visibilityState?(at({t:\"ev\",n:\"browser:hidden\",cat:\"browser\",p:{},ts:Date.now()}),p(),rt()):\"visible\"===e.visibilityState&&at({t:\"ev\",n:\"browser:visible\",cat:\"browser\",p:{},ts:Date.now()})}),t.addEventListener(\"pagehide\",function(){clearInterval(d),p(),rt()}),t.addEventListener(\"pageshow\",function(t){t.persisted&&at({t:\"ev\",n:\"browser:visible:instant\",cat:\"browser\",p:{},ts:Date.now()})})}function nt(){return crypto.randomUUID?crypto.randomUUID():(Math.random().toString(36)+\"00000000\").slice(2,10)+(Math.random().toString(36)+\"00000000\").slice(2,10)}function rt(){try{localStorage.setItem(a,JSON.stringify({id:r,ts:Date.now()}))}catch(t){}if(u.length){var t={a:APP,s:r,u:c,p:location.href,r:e.referrer,d:u.splice(0)};f&&(t.dm=f),l&&(t.pv=l);var i=JSON.stringify(t);try{n.sendBeacon(EP,new Blob([i],{type:\"text/plain\"}))}catch(t){try{fetch(EP,{method:\"POST\",body:i,headers:{\"Content-Type\":\"text/plain\"},keepalive:!0})}catch(t){}}}}function at(t){u.push(t),u.length>=20&&rt()}function it(e,n,r){if(t.PerformanceObserver)try{new PerformanceObserver(function(t){t.getEntries().forEach(r)}).observe(Object.assign({type:e,buffered:!0},n))}catch(t){}}function ot(){clearTimeout(Q),Q=setTimeout(function(){var t=location.href;t!==W&&(W=t,at({t:\"pv\",u:t,ts:Date.now()}))},80)}}(window,document,navigator);\n</script>","beforeEndBody":"<script>\n    (async () => {\n        function getSid() {\n            try {\n                return JSON.parse(localStorage.getItem('tpi_sid'))?.id ?? 'unknown';\n            } catch (error) {\n                window.TPI?.track?.('error', 'error', {\n                    message: 'tpi_sid not found'\n                });\n\n                return 'error';\n            }\n        }\n\n        function getUid() {\n            try {\n                return localStorage.getItem('tpi_uid') ?? 'unknown';\n            } catch (error) {\n                window.TPI?.track?.('error', 'error', {\n                    message: 'tpi_uid not found'\n                });\n\n                return 'error';\n            }\n        }\n\n        const { games = {} } = await Playtech.API.game.getGamesConfiguration();\n        const { formFactor = 'mobile' } = Playtech.Data.initialDevice.formFactor;\n\n        const params = new URLSearchParams(location.search);\n        const gameCode = formFactor === 'desktop'\n            ? params.get('gameCode')\n            : params.get('mobileGameCode') || params.get('gameCode');\n\n        const {\n            desktopGameType = '',\n            mobileGameType = ''\n        } = games[gameCode] ?? {};\n        const gameType = formFactor === 'desktop' ? desktopGameType : mobileGameType;\n\n        const product = gameCode.includes('gpas')\n            ? 'GPAS'\n            : gameCode.includes('pop')\n                ? 'POP'\n                : gameType.includes('LIVE')\n                    ? 'LIVE'\n                    : 'OTHER';\n\n        Playtech.API.game.addBeforeGameLaunchHook((launchGameUrl) => {\n            const url = new URL(launchGameUrl, document.baseURI);\n            const tpi_lid = crypto.randomUUID();\n\n            url.searchParams.set('tpi_lid', tpi_lid);\n            url.searchParams.set('tpi_uid', getUid());\n            url.searchParams.set('tpi_sid', getSid());\n\n            window.TPI?.track?.('portal:game:launch', 'game', {\n                product,\n                gameCode,\n                tpi_lid,\n            });\n\n            return url.toString();\n        });\n    })();\n</script>\n"},"conditionIds":["40cfcc31-e547-4be6-9f5b-89e25ee290ca"]},{"tagId":"f191eccf-7f0f-4942-bbd4-90a96e9b3b7b","tagTypeId":"user_flow_builder","name":"Brazilian Onboarding Flow","description":"Brazilian Onboarding Flow","config":{"flows":[{"tagName":"kyc/user_edit","tagValue":"phone","pageUrl":"/onboarding-flow/edit-phone","redirectionCondition":"present"},{"tagName":"kyc/user_edit","tagValue":"email","pageUrl":"/onboarding-flow/edit-email","redirectionCondition":"present"},{"tagName":"kyc/caf_phone_verification","tagValue":"required","pageUrl":"/phone-verification","redirectionCondition":"present"},{"tagName":"kyc/annual_update_details","tagValue":"required","pageUrl":"/onboarding-flow/annual-update-details","redirectionCondition":"present"},{"tagName":"uam/acl/Operations/Migration_message","tagValue":"Declined","pageUrl":"/withdraw","redirectionCondition":"present"},{"tagName":"kyc/selected_verification","tagValue":"select","pageUrl":"/onboarding-flow/select-verification","redirectionCondition":"present"},{"tagName":"kyc/selected_verification","tagValue":"phone","pageUrl":"/onboarding-flow/phone-verification","redirectionCondition":"present"},{"tagName":"kyc/selected_verification","tagValue":"email","pageUrl":"/onboarding-flow/email-verification","redirectionCondition":"present"},{"tagName":"uam/acl/Operations/Migration_message","tagValue":"Declined","pageUrl":"/account/withdraw","redirectionCondition":"present"},{"tagName":"kyc/user_edit","tagValue":"edit","pageUrl":"/onboarding-flow/edit-details","redirectionCondition":"present"},{"tagName":"kyc/email_verification","tagValue":"required","pageUrl":"/onboarding-flow/sms-email-verification","redirectionCondition":"present"},{"tagName":"kyc/sms_verification","tagValue":"required","pageUrl":"/onboarding-flow/sms-email-verification","redirectionCondition":"present"},{"tagName":"kyc/update_details","tagValue":"required","pageUrl":"/onboarding-flow/update-details","redirectionCondition":"present"},{"tagName":"kyc/id_authentication_su","tagValue":"required","pageUrl":"/onboarding-flow/id-authentication","redirectionCondition":"present"},{"tagName":"kyc/only_id_ authentication_su","tagValue":"required","pageUrl":"/onboarding-flow/only-id-authentication-su","redirectionCondition":"present"},{"tagName":"kyc/id_authentication_su","tagValue":"pending","pageUrl":"/onboarding-flow/id-authentication-pending","redirectionCondition":"present"},{"tagName":"kyc/id_reauthentication_wd","tagValue":"required","pageUrl":"/onboarding-flow/id-reauthentication","redirectionCondition":"present"},{"tagName":"kyc/id_annual_revalidation","tagValue":"required","pageUrl":"/onboarding-flow/annual-revalidation","redirectionCondition":"present"},{"tagName":"kyc/sof_upload_requirement","tagValue":"required","pageUrl":"/sof-verification","redirectionCondition":"present"},{"tagName":"kyc/cpf_upload_requirement","tagValue":"required","pageUrl":"/verification-cpf","redirectionCondition":"present"},{"tagName":"kyc/cpf_upload_requirement","tagValue":"pending","pageUrl":"/verification-cpf-pending","redirectionCondition":"present"},{"tagName":"kyc/Force_Cashier","tagValue":"true","pageUrl":"/deposit","redirectionCondition":"present"}]},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"7255cf9e-4c04-4165-9907-4eed42f3321f","tagTypeId":"custom_js","name":"Before Registration Data Change","description":"Victor's request","config":{"code":"Playtech.API.auth.addBeforeRegistrationHook(({ dataMap }) => {\n    function getCookie(name) {\n        const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n        return match ? decodeURIComponent(match[2]) : '';\n    }\n\n    function getGaClientId() {\n        const ga = getCookie('_ga');\n        if (!ga) {\n            return '';\n        }\n\n        return ga.replace(/^GA\\d+\\.\\d+\\./, '');\n    }\n\n    try {\n        const fbc = getCookie('_fbc');\n        const fbp = getCookie('_fbp');\n        const ga_clientid = getGaClientId();\n\n        let { creferer } = Playtech.API.affiliate.getAffiliateData();\n\n        if (creferer != '') {\n            creferer = creferer.replace(/var(7|8|10):[^;]*;?/g, '');\n            dataMap.creferer = creferer + `;var7:${ga_clientid};var8:${fbc};var10:${fbp}`;\n        } else {\n            dataMap.creferer = `var7:${ga_clientid};var8:${fbc};var10:${fbp}`;\n        }\n    } catch (error) {\n        console.log(error);\n    }\n\n    if (dataMap.cellphone != '') {\n        dataMap.phone = dataMap.cellphone;\n    }\n    \n    return { dataMap };\n});\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"927867d5-140a-4368-859b-aeab6e9f44a3","tagTypeId":"custom_css","name":"[pure] Custom style for micon","description":"[pure] Custom style for micon","config":{"style":"[class*='micon-'].cms-menu-desktop-first-level-item,\n[class*='micon-'].cms-menu-desktop-second-level-item,\n[class*='micon-'].cms-navigation-bar-item {\n    background: none;\n    width: auto;\n    height: auto;\n    text-indent: inherit;\n}\n\n.desktop [class*='micon-'].cms-menu-desktop-first-level-item:hover,\n.desktop [class*='micon-'].cms-menu-desktop-second-level-item:hover {\n    background-image: none;\n}\n\n.cms-menu-mobile [class*='MobileSliderView__firstLevelMenuItems--']:has([class*='micon-']) [class*='micon-'],\n.cms-menu-mobile [class*='MobileSliderView__secondLevelMenuItems--']:has([class*='micon-']) [class*='micon-'],\n.cms-menu-mobile .cms-menu-mobile-first-level-item[class*='micon-'],\n.cms-menu-mobile .cms-menu-mobile-second-level-item[class*='micon-'] {\n    background: none;\n    display: block;\n    width: auto;\n    text-indent: inherit;\n}\n\n/*.cms-menu-mobile [class*='MobileSliderView__firstLevelMenuItems--']:has([class*='micon-']) .cms-menu-item-icon,*/\n/*.cms-menu-mobile [class*='MobileSliderView__secondLevelMenuItems--']:has([class*='micon-']:not(.cms-menu-mobile-back-to-item)) .cms-menu-item-icon {*/\n/*    display: block;*/\n/*}*/\n"},"conditionIds":["feea99e9-c324-47d8-b041-7e19f4ef92de"]},{"tagId":"41c1d22a-eb16-4c8e-b28e-55d19d4ddb2e","tagTypeId":"custom_css","name":"[pure] CSS for ALL pages","description":"[pure] CSS for ALL pages","config":{"style":".cms-menu-desktop {\n    display: none;\n}\n\n.slide-menu__header {\n    height: 3.4em;\n    background: transparent;\n    padding: .65em .8em;\n}\n.slide-menu__container {\n    padding: 0;\n    margin: 0;\n    list-style: none;\n}\n.slide-menu__header .main-header__menu {\n    font-size: .914rem;\n    display: inline-block;\n    width: 2.5em;\n    min-width: 2.5em;\n    height: 2.5em;\n    min-height: 2.5em;\n    background-size: 400%;\n    vertical-align: middle;\n    overflow: hidden;\n    text-align: left;\n    text-indent: -3000px;\n    box-shadow: none;\n    float: left;\n    position: relative;\n    margin-right: 1.5em;\n    background-position: -5em -82.5em;\n    cursor: pointer;\n}\n.slide-menu__point-link {\n    display: flex;\n    align-items: center;\n    height: 4.5rem;\n    line-height: initial !important;\n    vertical-align: middle;\n    word-spacing: 0;\n    font-weight: 300;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    text-decoration: none;\n    cursor: pointer;\n}\n.slide-menu__point-link .slide-menu__icon {\n    margin: 0 1.4rem 0 0 !important;\n}"},"conditionIds":["feea99e9-c324-47d8-b041-7e19f4ef92de"]},{"tagId":"5b35b5eb-2b47-4a96-87e3-72734a6b1a9c","tagTypeId":"custom_js","name":"CSS Display helpers","description":"Display CSS helper","config":{"code":"(() => {\r\n  const DEFAULT_VIP_LEVEL = 'unlogged';\r\n\r\n  let vipLevel = DEFAULT_VIP_LEVEL;\r\n  let styleEl = document.createElement('style');\r\n  document.body.appendChild(styleEl);\r\n\r\n  const render = () => {\r\n    const forceDate = new URLSearchParams(window.location.search).get('forceDate');\r\n\r\n    const today = luxon.DateTime.now().setZone('America/Sao_Paulo')\r\n    const todayDayName = (forceDate ? luxon.DateTime.fromISO(forceDate) : today).setLocale(\"en\").toFormat('cccc').toLowerCase();\r\n    const todayDate = forceDate || today.toFormat('yyyy-MM-dd');\r\n\r\n    window.document.documentElement.setAttribute('data-date', todayDate);\r\n    window.document.documentElement.setAttribute('data-day-of-the-week', todayDayName);\r\n    window.document.documentElement.setAttribute('data-vip-level', vipLevel);\r\n    \r\n    styleEl.textContent = `\r\n  /* LEVEL 1 */\r\n  [data-filter-date],\r\n  [data-filter-day-of-the-week],\r\n  [data-filter-vip-levels] {\r\n    --display-applied: none;\r\n    display: none;\r\n  }\r\n\r\n  [data-style-display=\"inline-block\"] {\r\n    --display: inline-block;\r\n  }\r\n\r\n  [data-style-display=\"flex\"] {\r\n    --display: flex;\r\n  }\r\n\r\n  html[data-date=\"${todayDate}\"] [data-filter-date~=\"${todayDate}\"],\r\n  html[data-day-of-the-week=\"${todayDayName}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"],\r\n  html[data-vip-level=\"${vipLevel}\"] [data-filter-vip-levels~=\"${vipLevel}\"] {\r\n    --display-applied: var(--display, block);\r\n    display: var(--display-applied);\r\n  }\r\n\r\n  /* LEVEL 2 */\r\n  html [data-filter-date][data-filter-day-of-the-week],\r\n  html [data-filter-date][data-filter-vip-levels],\r\n  html [data-filter-day-of-the-week][data-filter-vip-levels] {\r\n    --display-applied: none;\r\n    display: none;\r\n  }\r\n\r\n  html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"],\r\n  html[data-date=\"${todayDate}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-vip-levels~=\"${vipLevel}\"],\r\n  html[data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"] {\r\n    --display-applied: var(--display, block);\r\n    display: var(--display-applied);\r\n  }\r\n  /* LEVEL 3 */\r\n  html [data-filter-date][data-filter-vip-levels][data-filter-day-of-the-week] {\r\n    --display-applied: none;\r\n    display: none;\r\n  }\r\n\r\n  html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"] {\r\n    --display-applied: var(--display, block);\r\n    display: var(--display-applied);\r\n  }\r\n\r\n  @media (min-width: 640px) {\r\n    html [data-filter-date][data-desktop-style-display],\r\n    html [data-filter-day-of-the-week][data-desktop-style-display],\r\n    html [data-filter-vip-levels][data-desktop-style-display] {\r\n      display: none;\r\n    }\r\n\r\n    html[data-date=\"${todayDate}\"] [data-filter-date~=\"${todayDate}\"][data-desktop-style-display],\r\n    html[data-vip-level=\"${vipLevel}\"] [data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display],\r\n    html[data-day-of-the-week=\"${todayDayName}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"][data-desktop-style-display] {\r\n      display: attr(data-desktop-style-display);\r\n    }\r\n\r\n    /* LEVEL 2 */\r\n    html [data-filter-date][data-filter-day-of-the-week][data-desktop-style-display],\r\n    html [data-filter-date][data-filter-vip-levels][data-desktop-style-display],\r\n    html [data-filter-day-of-the-week][data-filter-vip-levels][data-desktop-style-display] {\r\n      display: none;\r\n    }\r\n\r\n    html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-desktop-style-display],\r\n    html[data-date=\"${todayDate}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display],\r\n    html[data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-day-of-the-week][data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display] {\r\n      display: attr(data-desktop-style-display);\r\n    }\r\n\r\n    /* LEVEL 3 */\r\n    html [data-filter-date][data-filter-vip-levels][data-filter-day-of-the-week][data-desktop-style-display] {\r\n      display: none;\r\n    }\r\n\r\n    html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display] {\r\n      display: attr(data-desktop-style-display);\r\n    }\r\n  }\r\n    `;\r\n  }\r\n\r\n  const renderFull = () => {\r\n    if (Playtech.API.user.isLoggedIn()) {\r\n      vipLevel = Playtech.fetchUserDetails().vipLevel; \r\n    } else {\r\n      vipLevel = DEFAULT_VIP_LEVEL;\r\n    }\r\n\r\n    render();\r\n  }\r\n\r\n  Playtech.on('auth:generic_login:success', renderFull);\r\n  Playtech.on('LOGGED_OUT', renderFull);\r\n\r\n  Playtech.API.common.getScript('https://cdn.jsdelivr.net/npm/luxon@3.4.2/build/global/luxon.min.js').then(() => {\r\n    renderFull();\r\n  });\r\n})();\r\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"fa30a461-6692-4f2c-9fda-374b32a166c6","tagTypeId":"custom_js","name":"Open Sidebar links on Sidebar automatically","description":"This tag intends to open any sidebar link correctly on sidebar if any sidebar link is opened directly","config":{"code":"(() => {\r\n\t// bail out on admin domain\r\n\tif (window.Playtech?.Variables?.isAdminLoggedIn) return;\r\n\r\n\tconst { API, once, on } = Playtech;\r\n\r\n\t// maps route prefix → action to run after login\r\n\tconst routes = [\r\n\t\t{\r\n\t\t\tprefix: '/sidebar',\r\n\t\t\tlabel: 'sidebar',\r\n\t\t\topen: () => API.sidebar.open(),\r\n\t\t},\r\n\t\t{\r\n\t\t\tprefix: '/minha-conta',\r\n\t\t\tlabel: 'minha-conta',\r\n\t\t\topen: (path) => API.sidebar.openPage(path),\r\n\t\t},\r\n\t];\r\n\r\n\t// runs the action immediately if logged in; otherwise, shows login and runs after LOGGED_IN\r\n\tconst withLogin = (action) => {\r\n\t\tif (API.user.isLoggedIn()) {\r\n\t\t\taction();\r\n\t\t} else {\r\n\t\t\tAPI.popup.showPopup('login');\r\n\t\t\tonce('LOGGED_IN', action);\r\n\t\t}\r\n\t};\r\n\r\n\t// navigates to \"/sportsbook/\" and, when the \"navigate\" event fires, runs the action\r\n\tconst redirectThen = (action) => {\r\n\t\tAPI.common.navigate('/sportsbook/');\r\n\t\tonce('navigate', action);\r\n\t};\r\n\r\n\t// decides what to do based on the current pathname\r\n\tconst handlePath = (pathname) => {\r\n\t\tconst route = routes.find(r => pathname.startsWith(r.prefix));\r\n\t\tif (!route) return;\r\n\r\n\t\tconsole.warn(`Detected ${route.label} path, redirecting...`);\r\n\t\tredirectThen(() => withLogin(() => route.open(pathname)));\r\n\t};\r\n\r\n\t// initial check\r\n\thandlePath(window.location.pathname);\r\n\r\n\t// check on every navigation\r\n\ton('navigate', ({ pathname }) => handlePath(pathname));\r\n})();\r\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"e96e3546-a441-4bcb-9106-681483a3a019","tagTypeId":"custom_js","name":"Sportsbook Home Workaround","description":"Sportsbook Home Workaround","config":{"code":"document.body.addEventListener('click', (e) => {\nconsole.log(e.target.closest('.br-nav-list a[href^=\"/sportsbook\"]'));\n    if (e.target.closest('.br-nav-list a[href^=\"/sportsbook\"]')) {\n        window.Sportsbook?.navigate();\n    }\n    if (e.target.closest('a.br-header-logo-link')) {\n        window.Sportsbook?.navigate();\n    }\n});"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"08cebbbb-f071-44e0-b208-8d01e1b18798","tagTypeId":"custom_js","name":"Sportsbook Live / Home Switch","description":"Temporary Workaround until 26.3.0.0","config":{"code":"Playtech.on('navigate', () => window.Sportsbook?.navigate());"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"a6deb01d-b2d9-4115-9dcd-0814d941eb88","tagTypeId":"geofencing","name":"Geofencing Support for Wrapper","description":"Geofencing Support","config":{"skipBrowserGeolocation":true,"intervalPings":true,"useProviderAutoselection":false,"xpointNative":{"enabled":false},"gcDesktop":{"clientURL":"https://cdn.geocomply.com/plc/4.2.0.0/geocomply-client.min.js","identifierType":"Casino","installerBaseURL":"https://ums.geocomply.com/installer/url","enabled":false,"installerKey":"","installerVersion":"4.2.0.0","environmentID":"production"},"inactiveDetection":true,"playerTag":"kyc/user_verified","xpoint":{"enabled":false,"sdkUrl":"https://cdn.xpoint.tech/4.9.0/xpoint.min.js"},"xpointLite":{"enabled":true,"sdkUrl":"https://cdn.xpoint.tech/5.5.1/xpoint.min.js","geolocationEnabled":false},"useTransparentPopup":false,"gcSolus":{"enabled":false,"solusClientURL":"https://cdn.geocomply.com/244/gc-html5.js ","identifierType":"Casino"},"caf":{"enabled":false,"sdkUrl":"https://repo.combateafraude.com/identity/1.1.1/index.umd.js"}},"conditionIds":["40cfcc31-e547-4be6-9f5b-89e25ee290ca"]},{"tagId":"1042d18d-c435-4803-a49e-6344fe0ac89c","tagTypeId":"geofencing","name":"Geofencing Support","description":"Geofencing Support","config":{"skipBrowserGeolocation":true,"intervalPings":true,"useProviderAutoselection":false,"xpointNative":{"enabled":false},"gcDesktop":{"clientURL":"https://cdn.geocomply.com/plc/4.2.0.0/geocomply-client.min.js","identifierType":"Casino","installerBaseURL":"https://ums.geocomply.com/installer/url","enabled":false,"installerKey":"","installerVersion":"4.2.0.0","environmentID":"production"},"inactiveDetection":true,"playerTag":"kyc/user_verified","xpoint":{"enabled":false,"sdkUrl":"https://cdn.xpoint.tech/4.9.0/xpoint.min.js"},"xpointLite":{"enabled":true,"sdkUrl":"https://cdn.xpoint.tech/5.5.1/xpoint.min.js","geolocationEnabled":false},"useTransparentPopup":false,"gcSolus":{"enabled":false,"solusClientURL":"https://cdn.geocomply.com/244/gc-html5.js ","identifierType":"Casino"},"caf":{"enabled":false,"sdkUrl":"https://repo.combateafraude.com/identity/1.1.1/index.umd.js"}},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"592ff309-bd50-4b24-b74b-f52723d9355e","tagTypeId":"mfa","name":"MFA Configuration","description":"MFA Configuration","config":{"useMobileFlow":false,"caf":{"enabled":true,"sdkUrl":"https://repo.combateafraude.com/identity/1.1.1/index.umd.js"},"unico":{"enabled":false,"sdkUrl":""}},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"545e4902-6822-4779-ba2e-617d20dc6be3","tagTypeId":"custom_tag_type","name":"New-Login-Style","description":"New-Login-Style","config":{"beforeEndHead":"<style>\n    .cms-login [class*='Login__form--'] {\n        /*padding: 2em;*/\n    }\n\n    .cms-login [class*=\"Control__control--\"] [class*='ErrorMessage__error--'],\n    .cms-login [class*='Login__error--'] {\n        color: #f7cf23;\n    }\n\n    .cms-login [class*='Login__form--'] [class*=\"Control__control--\"] {\n        margin: 0 0 16px !important;\n    }\n\n    .cms-login .cms-login-controls,\n    [class*='LoginPopup__loginWc--'] p {\n        margin: 0;\n    }\n\n    .cms-login [class*='Control__control--'][class*='Checkbox__control--'] [class*='Control__content--'] {\n        background: transparent;\n        border-radius: 0;\n        border: 0;\n        color: #fff;\n    }\n\n    .cms-login [class*='Login__form--'] [class*='Login__recaptcha--'] {\n        padding: 0.5em 0;\n    }\n\n    .cms-login [class*='Login__form--'] [class*='Checkbox__control--'] [class*='CheckboxShallow__checkMark--']:before {\n        background-position: -5rem -87.5rem;\n    }\n\n    .cms-login [class*='Login__form--'] [class*='CheckboxShallow__input--']:active ~ [class*='CheckboxShallow__checkMark--']:before {\n        background-position: -5rem -87.5rem;\n    }\n\n    .cms-login [class*='Login__form--'] [class*='CheckboxShallow__input--']:checked ~ [class*='CheckboxShallow__checkMark--']:before {\n        background-position: 0 -90rem;\n    }\n    .cms-login [class*='Login__form--'] [class*='CheckboxShallow__input--']:checked:active ~ [class*='CheckboxShallow__checkMark--']:before {\n        background-position: -2.5rem -90rem;\n    }\n\n    .cms-login [class*='Login__form--'] .cms-login-controls button {\n        width: 100%;\n        font-size: 1.429rem;\n        font-weight: 300;\n        /*font-family: Asap, Helvetica Neue, Helvetica, Arial, sans-serif;*/\n        font-family: \"Gotham Ultra\", sans-serif;\n        border-radius: 0 10px;\n        text-transform: uppercase !important;\n        /*border-radius: 0.4857rem;*/\n        height: 45px;\n    }\n</style>\n","beforeEndBody":""},"conditionIds":["feea99e9-c324-47d8-b041-7e19f4ef92de"]},{"tagId":"dc517e5c-026a-47bb-baf0-d337b8cb681a","tagTypeId":"custom_tag_type","name":"CSS for SpinWheels","description":"CSS for SpinWheels","config":{"beforeEndHead":"<style>\r\n    .promotion-roulette img {\r\n        image-rendering: -webkit-optimize-contrast;\r\n        image-rendering: -o-crisp-edges;\r\n        image-rendering: -moz-crisp-edges;\r\n        width: 100%;\r\n    }\r\n\r\n    .promotion-roulette .eb {\r\n        font-weight: 600;\r\n        display: inline !important;\r\n    }\r\n\r\n    .promotion-roulette .wrapper {\r\n        position: relative;\r\n        background-size: cover;\r\n        background-repeat: no-repeat;\r\n        background-position: center;\r\n        overflow: hidden;\r\n        text-align: center;\r\n    }\r\n\r\n    .promotion-roulette .digitalbeat-roulette {\r\n        height: 100%;\r\n        overflow: hidden;\r\n        text-align: center;\r\n        position: relative;\r\n    }\r\n\r\n    .promo-no-elegible, .promo-custom-message {\r\n        display: none;\r\n    }\r\n\r\n    .promo-no-elegible.active, .promo-custom-message.active {\r\n        position: absolute;\r\n        top: 0;\r\n        display: flex;\r\n        width: 100%;\r\n        height: 100%;\r\n        justify-content: center;\r\n        align-items: center;\r\n    }\r\n\r\n    .promo-no-elegible span, .promo-custom-message span {\r\n        padding: 30px 30px;\r\n        background-color: #083476;\r\n        border-radius: 20px;\r\n        color: white;\r\n        font-size: 18px;\r\n        display: block;\r\n        text-align: center;\r\n        line-height: 1.3;\r\n        text-transform: uppercase;\r\n        font-weight: 700;\r\n        font-family: \"barlow\";\r\n        box-shadow: 0px 0px 20px 0px rgba(255, 255, 255, 0.8);\r\n    }\r\n\r\n    .digitalbeat-roulette-container {\r\n        padding: 100px 0;\r\n        display: flex;\r\n        justify-content: center;\r\n    }\r\n\r\n    .promotion-roulette .digitalbeat-roulette {\r\n        position: relative;\r\n        display: flex;\r\n        overflow: visible;\r\n        justify-content: center;\r\n        align-items: center;\r\n        width: fit-content;\r\n        height: fit-content;\r\n\r\n    }\r\n    \r\n    .promotion-roulette .blur {\r\n        filter: blur(10px);\r\n    }\r\n\r\n    .digitalbeat-roulette .extra-asset {\r\n        position: absolute;\r\n    }\r\n\r\n    .digitalbeat-roulette [data-asset-id=\"wheel-image\"] {\r\n        position: relative;\r\n    }\r\n\r\n    .digitalbeat-roulette [data-asset-id=\"spin-button\"] {\r\n        display: none;\r\n        cursor: pointer;\r\n        position: absolute;\r\n        width: 96px;\r\n        height: 96px;\r\n        left: 0;\r\n        right: 0;\r\n        top: 0;\r\n        bottom: 0;\r\n        margin: auto;\r\n    }\r\n\r\n    [data-roullete-canplay=\"1\"] [data-asset-id=\"spin-button\"] {\r\n        display: inherit;\r\n    }\r\n\r\n    html.mobile .digitalbeat-roulette [data-asset-id=\"wheel-pin\"] {\r\n        top: -50px;\r\n        left: -1.5px;\r\n        width: 48px;\r\n        height: 48px;\r\n    }\r\n\r\n    .digitalbeat-roulette [data-asset-id=\"wheel-pin\"] {\r\n        position: absolute;\r\n        width: 96px;\r\n        height: 96px;\r\n        left: -3px;\r\n        right: 0;\r\n        top: -87px;\r\n        margin: auto;\r\n    }\r\n\r\n    html.desktop .digitalbeat-roulette [data-asset-id=\"wheel-frame\"],\r\n    html.tablet .digitalbeat-roulette [data-asset-id=\"wheel-frame\"],\r\n    html.mobile .digitalbeat-roulette [data-asset-id=\"wheel-frame\"] {\r\n        display: inherit;\r\n        position: absolute;\r\n        height: auto;\r\n        width: 283%;\r\n        top: -18%;\r\n        left: -92%;\r\n    }\r\n</style>","beforeEndBody":""},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"ce600b20-a3e2-4295-a562-c71248937082","tagTypeId":"custom_tag_type","name":"Hide reconnect message","description":"Hide reconnect message","config":{"beforeEndHead":"<style type=\"text/css\">\n  .cms-reconnect{\n    display: none;\n  }\n</style>","beforeEndBody":""},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"bd1752b4-0152-469e-95f0-2f2e186711f5","tagTypeId":"custom_tag_type","name":"adaCustomLauncher","description":"ada Chatbot Custom Launcher","config":{"beforeEndHead":"","beforeEndBody":"<style type=\"text/css\">\r\n  #ada-button-frame {\r\n    display: none;\r\n  }\r\n\r\n  #ada-chat-button {\r\n    display: none;\r\n  }\r\n\r\n  [data-vip-level=\"unlogged\"] .chat-icon-ada {\r\n    display: none !important;\r\n  }\r\n\r\n  #helpButtonContainer {\r\n    background: linear-gradient(180deg,\r\n        var(--verde-escuro) 0%,\r\n        var(--azul-deep-navy) 100%)\r\n    }\r\n</style>\r\n\r\n\r\n<article>\r\n  <div id=\"helpButtonContainer\" class=\"help-button collapsed\">\r\n    <!-- Toggle Menu Button (Question Mark) -->\r\n    <span id=\"toggleButton\" class=\"toggle-icon\" onclick=\"toggleHelpButton()\" style=\"\r\n        font-weight: bold;\r\n        font-size: 1.6em;\r\n        border: solid;\r\n        border-width: 2px;\r\n        border-radius: 50%;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        width: 2.5rem;\r\n        height: 2.5rem;\r\n        cursor: pointer;\r\n        color: var(--amarelo-brand);\r\n        \r\n      \">\r\n      ?\r\n    </span>\r\n\r\n    <!-- Support Button -->\r\n    <span id=\"supportButton\" class=\"support-icon\"\r\n      onclick=\"window.open('https://support.brasil.bet.br/hc/pt-br', '_blank');\" style=\"\r\n        font-weight: bold;\r\n        font-size: 1.6em;\r\n        border: solid;\r\n        border-width: 2px;\r\n        border-radius: 50%;\r\n        \r\n        justify-content: center;\r\n        align-items: center;\r\n        width: 2.5rem;\r\n        height: 2.5rem;\r\n        cursor: pointer;\r\n        color: var(--amarelo-brand);\r\n      \">\r\n      ?\r\n    </span>\r\n\r\n    <!-- Chat Button -->\r\n    <span class=\"chat-icon-ada\" onclick=\"window.adaEmbed.toggle()\" style=\"\r\n        \r\n        justify-content: center;\r\n        align-items: center;\r\n        width: 2.5rem;\r\n        height: 2.5rem;\r\n        border: solid 2px var(--amarelo-brand);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n      \">\r\n      <img src=\"/library/Icons/chat-amarelo.svg\" alt=\"Chat\" style=\"width: 1.5rem; height: 1.5rem;\" />\r\n    </span>\r\n\r\n    <!-- Collapse Button (Cross) -->\r\n    <span id=\"collapseButton\" class=\"collapse-icon\" onclick=\"toggleHelpButton()\" style=\"\r\n        display: none;\r\n        width: 2.5rem;\r\n        height: 2.5rem;\r\n        border: solid 2px var(--amarelo-brand);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n        justify-content: center;\r\n        align-items: center;\r\n      \">\r\n      <img src=\"/library/Icons/cross-amarelo.svg\" alt=\"Close\" style=\"width: 1.5rem;height: 1.5rem;\">\r\n    </span>\r\n  </div>\r\n</article>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<style>\r\n  /* main cointainer */\r\n  .help-button {\r\n    --hot-links-padding-bottom-ios11-3: calc(env(safe-area-inset-bottom)* 2);\r\n    --hot-links-padding-bottom-ios11-2: calc(constant(safe-area-inset-bottom)* 2);\r\n    position: fixed;\r\n    right: 0;\r\n    bottom: 9rem;\r\n    bottom: calc(var(--hot-links-padding-bottom-ios11-2) + 9rem);\r\n    bottom: calc(var(--hot-links-padding-bottom-ios11-3) + 9rem);\r\n\r\n    background: #092c51;\r\n    border-radius: 1.5rem 0 0 1.5rem;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    width: 3rem;\r\n    height: auto;\r\n    transition: height 0.3s ease, transform 0.3s ease;\r\n    z-index: 14;\r\n    overflow: hidden;\r\n  }\r\n\r\n  /* here is collapsed */\r\n  .help-button.collapsed {\r\n    /*height: 4rem;*/\r\n  }\r\n\r\n  /* here is expanded */\r\n  .help-button.expanded {\r\n    /* height: 12rem;*/\r\n    transition: height 0.3s ease-in-out;\r\n    /* padding: 0.5rem; */\r\n  }\r\n\r\n  /* icons */\r\n  .toggle-icon,\r\n  .support-icon,\r\n  .chat-icon-ada,\r\n  .collapse-icon {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    margin: 0.5rem 0;\r\n    width: 2.5rem;\r\n    height: 2.5rem;\r\n    border-radius: 50%;\r\n    transition: transform 0.3s ease;\r\n  }\r\n\r\n  .toggle-icon:hover,\r\n  .support-icon:hover,\r\n  .chat-icon-ada:hover,\r\n  .collapse-icon:hover {\r\n    transform: scale(1.1);\r\n  }\r\n\r\n  /* hide when not used */\r\n  .support-icon,\r\n  .chat-icon-ada {\r\n    display: none;\r\n  }\r\n\r\n  .help-button.expanded .support-icon,\r\n  .help-button.expanded .chat-icon-ada {\r\n    display: flex;\r\n  }\r\n\r\n  :has(.ta-betslipView) #helpButtonContainer {\r\n    z-index: 14 !important;\r\n  }\r\n</style>\r\n<script>\r\n  function toggleHelpButton() {\r\n    const buttonContainer = document.getElementById('helpButtonContainer');\r\n    const toggleButton = document.getElementById('toggleButton');\r\n    const collapseButton = document.getElementById('collapseButton');\r\n\r\n    if (buttonContainer.classList.contains('collapsed')) {\r\n      buttonContainer.classList.remove('collapsed');\r\n      buttonContainer.classList.add('expanded');\r\n      toggleButton.style.display = 'none';\r\n      collapseButton.style.display = 'flex';\r\n    } else {\r\n\r\n      buttonContainer.classList.remove('expanded');\r\n      buttonContainer.classList.add('collapsed');\r\n      toggleButton.style.display = 'flex';\r\n      collapseButton.style.display = 'none';\r\n    }\r\n  }\r\n</script>"},"conditionIds":["da1161bc-63ee-4608-a224-0d2d75f5a355"]},{"tagId":"588f0064-7401-49a8-9208-a2dff4b33dd4","tagTypeId":"google_tag_manager","name":"GTM","description":"P4WCCW9","config":{"gtmId":"GTM-PDZQLPC6"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"94eb6dc2-b2f9-4aec-8434-1f23961993fe","tagTypeId":"custom_js","name":"Fix baseDocumentDomain for cookies","description":"Needed for Cookie Message","config":{"code":"Playtech.Variables.baseDocumentDomain = 'brasil.bet.br';"},"conditionIds":["13d49fc7-2011-4bd2-b108-d66cc0f9ccfc"]},{"tagId":"d63b08d4-494d-49ab-90ed-85c62aa77302","tagTypeId":"custom_js","name":"Question 18 Years","description":"Question 18 Years","config":{"code":"if (!localStorage.getItem('is18anos')) {\n    window.Playtech.API.popup.showPopup('confirmation', {\n        id: 'anos-confirmation',\n        content: '<style>.popup-modal__buttons { flex-direction: row-reverse; } .popup-modal__button:first-child, .popup-modal__button:first-child:hover { background: transparent !important; border: 1px solid #fff; }</style><div style=\"display: flex; flex-direction: column; align-items: center;\"><div style=\"text-align:center;\"><img src=\"/library/Logo/logo-amarelo.svg\" style=\"width: 70%;\"></div><div style=\"font-size: 1.5rem; padding: 2rem 0; font-weight: bold;\">VOCE TEM MAIS DE 18 ANOS?</div></div>',\n        onAccept: () => {\n            localStorage.setItem('is18anos', 'true');\n        },\n        onDecline: () => {\n            window.Playtech.API.popup.showPopup('common', {\n              id: 'anos-alert',\n              isModal: true,\n              buttons: [],\n              content: '<style>#anos-alert { max-width: 42em; }</style><div style=\"display: flex; flex-direction: column; align-items: center; padding: 2em;\"><div style=\"text-align:center;\"><img src=\"/library/Logo/brasilbet-logo-white.png\" style=\"width: 70%; margin:auto;\"></div><div style=\"font-size: 1.5rem; padding: 2rem 0; font-weight: bold;\">Desculpa , você é muito jovem para acessar este site</div></div>'\n            });\n        },\n        acceptBtnText: 'SIM',\n        declineBtnText: 'NÃO'\n    });\n}\n"},"conditionIds":["13d49fc7-2011-4bd2-b108-d66cc0f9ccfc"]},{"tagId":"111742bc-fb97-4bd9-97f4-bad5f7acb907","tagTypeId":"custom_tag_type","name":"Ada Chat Bot","description":"Ada Chat Bot","config":{"beforeEndHead":"<script>\r\n    setTimeout(() => {\r\n    let listenerAdded = false;\r\n    let adaTagName = \"adachatbot/proactive_bubbles\";\r\n    let adaMetaVariable = \"next_answer_to_run\";\r\n      var adaTokenValidationId = \"65aaaa90fcfd4f3607f68748\";\r\n      var resetAda = async (settings) => {\r\n        await window.adaEmbed?.stop();\r\n        await window.adaEmbed?.start(settings);\r\n      };\r\n      var toggledOnce = false;\r\n      var handleDrawerToggleCallback = async (isDrawerOpen) => {\r\n        if (Playtech.API.auth.isLoggedIn) {\r\n          await updateAdaSettings();\r\n          toggledOnce = true;\r\n        }\r\n      };\r\n      var defaultAdaSettings = {\r\n        handle: \"brasilbet\",\r\n        cluster: \"maple\",\r\n        language: \"pt\",\r\n        toggleCallback: handleDrawerToggleCallback,\r\n        conversationEndCallback: (e) => {\r\n            toggledOnce = false;\r\n        },\r\n        metaFields: {},\r\n        sensitiveMetaFields: {},\r\n      };\r\n      window.adaSettings = {\r\n        ...defaultAdaSettings,\r\n      };\r\n  \r\n      var getSettings = async () => {\r\n        let metaFields = {};\r\n        let sensitiveMetaFields = { jwt_token: \"\" };\r\n        if (Playtech.API.auth.isLoggedIn) {\r\n          let { firstName, lastName, email, username, vipLevel } =\r\n            Playtech.fetchUserDetails();\r\n  \r\n          const response = await Playtech.API.server.getJWTToken();\r\n          const jwtToken = response?.data?.jwtToken;\r\n  \r\n          metaFields = {\r\n            name: [firstName, lastName].filter((v) => v).join(\" \"),\r\n            first_name: firstName,\r\n            last_name: lastName,\r\n            email: email,\r\n            user_id: username,\r\n            vip_level: vipLevel,\r\n          };\r\n          sensitiveMetaFields = {\r\n            jwt_token: jwtToken,\r\n          };\r\n        }\r\n  \r\n        return {\r\n          ...defaultAdaSettings,\r\n          metaFields,\r\n          sensitiveMetaFields,\r\n        };\r\n      };\r\n  \r\n      var updateAdaSettings = async () => {\r\n        const settings = await getSettings();\r\n        window.adaSettings = {\r\n          ...window.adaSettings,\r\n          ...settings,\r\n        };\r\n  \r\n      await Promise.all([\r\n        window.adaEmbed?.setMetaFields(settings.metaFields),\r\n        window.adaEmbed?.setSensitiveMetaFields(settings.sensitiveMetaFields),\r\n      ]);\r\n  \r\n        if (!toggledOnce) {\r\n          adaEmbed?.triggerAnswer(adaTokenValidationId);\r\n        }\r\n      };\r\n  \r\n      let script = document.createElement(\"script\");\r\n      script.id = \"__ada\";\r\n      script.setAttribute(\"data-handle\", defaultAdaSettings.handle);\r\n      script.src = \"https://static.ada.support/embed2.js\";\r\n      script.async = true;\r\n      script.onerror = () => {\r\n        console.error(\"Error loading Ada script\");\r\n      };\r\n      document.body.append(script);\r\n  \r\n      const proactiveTrigger = async ({ tag, value }) => {\r\n      const settings = await getSettings();\r\n      let metaFields = {\r\n        ...(window.adaSettings.metaFields || {}),\r\n        ... settings.metaFields,\r\n        [adaMetaVariable]: value,\r\n      };\r\n      window.adaSettings = {\r\n        ...window.adaSettings,\r\n        ...settings,\r\n        metaFields,\r\n      };\r\n      await Promise.all([\r\n        window.adaEmbed?.setMetaFields(metaFields),\r\n        window.adaEmbed?.setSensitiveMetaFields(settings.sensitiveMetaFields),\r\n      ]);\r\n\r\n      await window.adaEmbed.triggerCampaign(\"Galera_Proactive\");\r\n    };\r\n    const adaListener = async ({ tag, value, removed }) => {\r\n      if (!removed && tag === adaTagName) {\r\n        await proactiveTrigger({ tag, value });\r\n      }\r\n    };\r\n    const listenToAdaTag = async () => {\r\n      if (Playtech.API.user.isLoggedIn()) {\r\n        const playerTags = await Playtech.API.user.getPlayerTags();\r\n        const adaTag = playerTags?.data.tags.find(\r\n          (tag) => tag.name === adaTagName\r\n        );\r\n        if (adaTag) {\r\n          await proactiveTrigger({ tag: adaTag.name, value: adaTag.value });\r\n        }\r\n        if (!listenerAdded) {\r\n          Playtech.on(\"player-tag-change\", adaListener);\r\n          listenerAdded = true;\r\n        }\r\n      }\r\n    };\r\n    listenToAdaTag();\r\n      Playtech.on(Playtech.Events.LOGGED_IN, async () => {\r\n        toggledOnce = false;\r\n        await resetAda(await getSettings());\r\n        // adaEmbed?.triggerAnswer(adaTokenValidationId);\r\n        await listenToAdaTag();\r\n      });\r\n      Playtech.on(Playtech.Events.LOGGED_OUT, async () => {\r\n        await resetAda(defaultAdaSettings);\r\n        // adaEmbed?.triggerAnswer(adaTokenValidationId);\r\n      });\r\n    }, 6000);\r\n  </script>","beforeEndBody":""},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a","b537d93c-a5fc-4a21-80b6-6bd6e70920c5"]},{"tagId":"bba14815-4e85-4ecf-9fbb-a2943384d0a9","tagTypeId":"custom_js","name":"Filter by Segmentation URL","description":"Show/Hide elements based on segmentation url","config":{"code":"(() => {\r\n  function getPlayerSegmentationURLs() {\r\n    return Playtech.API.server\r\n      .getURLTemplates({ urlTypeList: ['Segmentation'] })\r\n      .then((response) => response.data.urlList.map((urlTemplate) => urlTemplate.url))\r\n      .catch((error) => { console.error(error); return []; }); // Return an empty array if there's an error\r\n  }\r\n\r\n  function updateElementVisibility(element, segmentationURLs) {\r\n    const elementSegmentationURLs = element.getAttribute(\"data-filter-segmentation-url\")\r\n      .split(\",\")\r\n      .map((url) => url.trim());\r\n    \r\n    const showElement = elementSegmentationURLs.some((url) => segmentationURLs.includes(url));\r\n\r\n    // Apply visibility class based on player tags logic\r\n    if (showElement) {\r\n      element.classList.remove('hidden-by-segmentation-urls');\r\n    } else {\r\n      element.classList.add('hidden-by-segmentation-urls');\r\n    }\r\n  }\r\n\r\n  function updatePromoVisibility(segmentationURLs) {\r\n    document.querySelectorAll(\"[data-filter-segmentation-url]\").forEach((element) => {\r\n      updateElementVisibility(element, segmentationURLs);\r\n    });\r\n  }\r\n\r\n  function initializePromoVisibility() {\r\n    getPlayerSegmentationURLs().then((segmentationURLs) => {\r\n      updatePromoVisibility(segmentationURLs);\r\n    }).catch(() => { });\r\n  }\r\n\r\n  function setupEventListeners() {\r\n    Playtech.on('LOGGED_IN', () => {\r\n      initializePromoVisibility();\r\n    });\r\n\r\n    Playtech.on('LOGGED_OUT', () => {\r\n      initializePromoVisibility();\r\n    });\r\n\r\n    Playtech.on('player-tag-change', () => {\r\n      initializePromoVisibility();\r\n    });\r\n\r\n    window.addEventListener('popstate', () => {\r\n      initializePromoVisibility();\r\n    });\r\n\r\n    document.addEventListener('DOMContentLoaded', () => {\r\n      initializePromoVisibility();\r\n    });\r\n  }\r\n\r\n  // Observe DOM changes to handle navigation and dynamic content loading\r\n  const observer = new MutationObserver(() => {\r\n    initializePromoVisibility();\r\n  });\r\n\r\n  // Start observing the document body for changes\r\n  observer.observe(document.body, { childList: true, subtree: true });\r\n\r\n  // Initialize visibility when the script loads\r\n  initializePromoVisibility();\r\n  setupEventListeners();\r\n\r\n  // Ensure CSS classes are applied correctly\r\n  const styleEl = document.createElement('style');\r\n  document.head.appendChild(styleEl);\r\n  styleEl.textContent = `\r\n  .hidden-by-segmentation-urls {\r\n    display: none !important;\r\n  }\r\n`;\r\n})();\r\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"9e17719b-d64b-4223-acfb-078ebf87b9e2","tagTypeId":"custom_js","name":"Filter by datetime interval","description":"Show/hide elements based on datetime interval","config":{"code":"(() => {\r\n    /**\r\n     * Example usage:\r\n     * isCurrentDateTimeInIntervals(\"2023-10-01T10:00~2023-10-01T12:00,2023-10-01T14:00~2023-10-01T16:00\");\r\n     * Returns true if the current date and time in the \"America/Sao_Paulo\" timezone falls within any of the specified intervals.\r\n     *\r\n     * Checks if the current date and time in the \"America/Sao_Paulo\" timezone falls within any of the specified time intervals.\r\n     *\r\n     * @param {string} intervalString - A comma-separated string of time intervals in the format \"start~end\", \r\n     *                                  where each interval is defined by ISO 8601 date-time strings without seconds.\r\n     *                                  Example: \"2023-10-01T10:00~2023-10-01T12:00,2023-10-01T14:00~2023-10-01T16:00\".\r\n     * @returns {boolean} - Returns `true` if the current date and time falls within any of the specified intervals, otherwise `false`.\r\n     */\r\n    function isCurrentDateTimeInIntervals(intervalString) {\r\n        // Get current time in America/Sao_Paulo timezone\r\n        const dt = new Date().toLocaleString(\"en-US\", { timeZone: \"America/Sao_Paulo\" });\r\n        const currentDateTime = new Date(dt);\r\n        currentDateTime.setSeconds(0, 0);\r\n        \r\n        // Parse interval string into an array of start-end pairs\r\n        const intervals = intervalString.split(\",\").map(range => range.split(\"~\"));\r\n        \r\n        // Iterate over intervals to check if current datetime is within any range\r\n        for (const [start, end] of intervals) {\r\n            const startDt = new Date(start);\r\n            startDt.setSeconds(0, 0);\r\n            \r\n            const endDt = new Date(end);\r\n            endDt.setSeconds(0, 0);\r\n            \r\n            if (currentDateTime >= startDt && currentDateTime <= endDt) {\r\n                return true;\r\n            }\r\n        }\r\n        \r\n        return false;\r\n    }\r\n\r\n    function updateElementVisibility(element) {\r\n        const datetimeIntervals = element.getAttribute(\"data-filter-datetime\");\r\n\r\n        let showElement = isCurrentDateTimeInIntervals(datetimeIntervals);\r\n\r\n        // Apply visibility class based on player tags logic\r\n        if (showElement) {\r\n            element.classList.remove('hidden-by-datetime-interval');\r\n        } else {\r\n            element.classList.add('hidden-by-datetime-interval');\r\n        }\r\n    }\r\n\r\n    function updatePromoVisibility() {\r\n        document.querySelectorAll(\"[data-filter-datetime]\").forEach((element) => {\r\n            updateElementVisibility(element);\r\n        });\r\n    }\r\n\r\n    function initializePromoVisibility() {\r\n        updatePromoVisibility();\r\n    }\r\n\r\n    function setupEventListeners() {\r\n        Playtech.on('LOGGED_IN', () => {\r\n            initializePromoVisibility();\r\n        });\r\n\r\n        Playtech.on('LOGGED_OUT', () => {\r\n            initializePromoVisibility();\r\n        });\r\n\r\n        Playtech.on('player-tag-change', () => {\r\n            initializePromoVisibility();\r\n        });\r\n\r\n        window.addEventListener('popstate', () => {\r\n            initializePromoVisibility();\r\n        });\r\n\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            initializePromoVisibility();\r\n        });\r\n    }\r\n\r\n    // Observe DOM changes to handle navigation and dynamic content loading\r\n    const observer = new MutationObserver(() => {\r\n        initializePromoVisibility();\r\n    });\r\n\r\n    // Start observing the document body for changes\r\n    observer.observe(document.body, { childList: true, subtree: true });\r\n\r\n    // Initialize visibility when the script loads\r\n    initializePromoVisibility();\r\n    setupEventListeners();\r\n\r\n    // Ensure CSS classes are applied correctly\r\n    const styleEl = document.createElement('style');\r\n    document.head.appendChild(styleEl);\r\n    styleEl.textContent = `\r\n        .hidden-by-datetime-interval {\r\n            display: none !important;\r\n        }\r\n    `;\r\n})();\r\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"1f8055fa-f356-47af-9076-6f10ffb5ca03","tagTypeId":"custom_js","name":"documentElement Player Tags","description":"documentElement Player Tags","config":{"code":"(() => {\r\n  const dashToCamelCase = (str) => \r\n    str.replace(/[-\\s]([a-z])/g, (_, letter) => letter.toUpperCase());\r\n\r\n  const capitalizeFirstLetter = (str) =>\r\n    str.length === 0 ? str : str.charAt(0).toUpperCase() + str.slice(1);\r\n\r\n  const setPlayerTags = (tags) => {\r\n    tags.forEach(({ name, value }) => {\r\n      const formattedName = capitalizeFirstLetter(dashToCamelCase(name.replaceAll('/', '-'))).replaceAll(' ', '');\r\n      document.documentElement.dataset[`tag${formattedName}`] = value ?? '';\r\n    });\r\n  };\r\n\r\n  const clearPlayerTags = () => {\r\n    Object.keys(document.documentElement.dataset).forEach((key) => {\r\n      if (key.startsWith('tag')) {\r\n        delete document.documentElement.dataset[key];\r\n      }\r\n    });\r\n  };\r\n\r\n  const render = async () => {\r\n    if (Playtech.API.user.isLoggedIn()) {\r\n      try {\r\n        const response = await Playtech.API.user.getPlayerTags();\r\n        setPlayerTags(response.data.tags);\r\n      } catch (error) {\r\n        console.error('Error fetching player tags:', error);\r\n      }\r\n    } else {\r\n      clearPlayerTags();\r\n    }\r\n  };\r\n\r\n  Playtech.on('LOGGED_IN', render);\r\n  Playtech.on('auth:generic_login:success', render);\r\n  Playtech.on('LOGGED_OUT', render);\r\n  \r\n  setTimeout(() => { render() }, 2000);\r\n})();\r\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"9d7cf1d2-2f8b-4e06-bf83-49224f1697a0","tagTypeId":"custom_js","name":"TAG Service/missing_info_wd_check on withdraw","description":"TAG Service/missing_info_wd_check on withdraw","config":{"code":"Playtech.API.user.setPlayerTags([{ name: 'Customer Service/missing_info_wd_check' }] ); "},"conditionIds":["2cca1c97-039e-4b31-a23b-83c91043e561","feea99e9-c324-47d8-b041-7e19f4ef92de"]},{"tagId":"46dcc523-8795-45a8-9eca-d31f7fe34820","tagTypeId":"custom_js","name":"Signup format CEP number","description":"Signup format CEP number","config":{"code":"Playtech.API.auth.addBeforeRegistrationHook(({ dataMap }) => {\n    dataMap.zip = dataMap.zip.replace('-', '');\n    return { dataMap };\n});"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"fe40f5c2-539a-4d49-9722-b659d3982811","tagTypeId":"custom_js","name":"kyc/id_authentication_su verified check","description":"Direct to deposit page on player tag change.","config":{"code":"(() => {\n    Playtech.on('player-tag-change', async ({\n        tag,\n        value,\n        removed\n    }) => {\n        if (removed || (tag !== 'kyc/id_authentication_su' && tag !== 'kyc/update_details') || value !== 'verified') {\n            return;\n        }\n\n        Playtech.API.common.navigate('/deposit');\n    });\n})();\n"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"3d80fe4d-782e-4130-95d9-1157c7993785","tagTypeId":"custom_js","name":"OnLogin assetLoader","description":"Scripts to run on login","config":{"code":"(() => {\r\n    const baseUrl = \"https://gamelauncher-uu-pop-cf.galera.bet/bootstrap/asset-loader.js\";\r\n\r\n  const handle = () => {\r\n    if (window.location.pathname.startsWith(Playtech.Variables.sportsbookRootURL))\r\n      return;\r\n  \r\n      var script = document.createElement('script');\r\n      script.src = baseUrl;\r\n      script.async = true;\r\n      document.head.appendChild(script);\r\n  }\r\n\r\n  if (Playtech.API.user.isLoggedIn())\r\n    handle();\r\n  Playtech.on('LOGGED_IN', handle);\r\n})();"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"0907bf9c-499a-4b83-9dea-d175286ed0b6","tagTypeId":"custom_js","name":"Survey Form","description":"Survey Form","config":{"code":"Playtech.on('dynamic-custom-form-submit', ({ formValues, formIMSValues, formName, resolve, reject }) => {\n    if (formName !== 'Survey Test') {\n        return;\n    }\n\n    if (Playtech.API.auth.isLoggedIn) {\n      const count = Object.values(formValues).filter((answer) => answer === \"playtech.mobile.system.yes.button.title\").length;\n  \n      Playtech.API.user.setPlayerTags([{ name: 'Operations/RG/self_evaluation', type: 'text', value: String(count) }]);\n      resolve();\n    } else {\n      reject('This form is not available for guests.');\n    }\n});"},"conditionIds":["13d49fc7-2011-4bd2-b108-d66cc0f9ccfc"]},{"tagId":"8954201c-62a7-4856-b704-feae14166e05","tagTypeId":"custom_js","name":"Handle openRegistrationPage param","description":"Handle openRegistrationPage param","config":{"code":"(() => {\n    const searchParams = new URLSearchParams(location.search);\n\n    if (searchParams.get('openRegistrationPage')) {\n        setTimeout(() => Playtech.API.common.navigate('/register'), 1000);\n    }\n})();"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"f99be39f-ab72-47ad-bacc-6b7cf92d58bc","tagTypeId":"custom_js","name":"Handle openLogin param","description":"Handle openLogin param","config":{"code":"(() => {\n    const searchParams = new URLSearchParams(location.search);\n\n    if (searchParams.get('openLogin')) {\n        setTimeout(() => Playtech.API.popup.showPopup('login'), 1000);\n    }\n})();"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"c1a0d650-d793-46b9-b7ef-dad627f1b07e","tagTypeId":"custom_js","name":"On deposit page remove fs_signup param","description":"On deposit remove fs_signup param","config":{"code":"const url = new URL(window.location.href);\r\nif (url.searchParams.has('fs_signup')) {\r\n  url.searchParams.delete('fs_signup');\r\n  const newUrl = url.toString();\r\n  window.history.replaceState(window.history.state, '', url.toString());\r\n}"},"conditionIds":["bdd1ee49-ce20-4009-a72a-66eea2c7748f","da1161bc-63ee-4608-a224-0d2d75f5a355"]},{"tagId":"4fbf63d1-8592-4710-8569-23e3d888ece7","tagTypeId":"custom_js","name":"PLAYTECH API READY dataLayer","description":"PLAYTECH API READY dataLayer","config":{"code":"dataLayer.push({'event': 'PLAYTECH_API_READY'});"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"e2318279-b952-4e10-9057-64e32870400b","tagTypeId":"custom_js","name":"Handle openDeposit param","description":"Handle openDeposit param","config":{"code":"(() => {\n    const searchParams = new URLSearchParams(location.search);\n\n    if (searchParams.get('openDeposit')) {\n        Playtech.API.common.replace(location.pathname, null, { removeParams: ['openDeposit'] });\n\n        if (Playtech.API.auth.isLoggedIn) {\n            Playtech.API.common.navigate('/deposit', null, { removeParams: ['openDeposit'] });\n            return;\n        }\n        \n        setTimeout(() => Playtech.API.auth.showLoginPopup({ onLogin: () => Playtech.API.common.navigate('/deposit') }), 1000);\n    }\n})();"},"conditionIds":["da1161bc-63ee-4608-a224-0d2d75f5a355"]},{"tagId":"56fdbe6d-10d1-4c87-9b4a-a45defd025b3","tagTypeId":"custom_js","name":"ON_DEPOSITWITHDRAW_REDIRECT","description":"ON_DEPOSITWITHDRAW_REDIRECT","config":{"code":"Playtech.on('DEPOSIT_COMPLETED', () => {\r\n  if (window.location.href.includes('/account/deposit')) {\r\n    Playtech.API.common.navigate(sessionStorage?.getItem(\"dynamicClientType\") == '\"casino\"' ? '/cassino' : '/');\r\n  }\r\n});\r\nPlaytech.on('WITHDRAWAL_COMPLETED', () => {\r\n  if (window.location.href.includes('/account/withdraw')) {\r\n    Playtech.API.common.navigate(sessionStorage?.getItem(\"dynamicClientType\") == '\"casino\"' ? '/cassino' : '/');\r\n  }\r\n});"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"89fae7bc-097b-46d7-9eab-acd43f4aeb1b","tagTypeId":"custom_js","name":"Add VIP Level as class","description":"Add VIP Level as class","config":{"code":"(() => {\n   // html tag to attach CSS classes to\n   // needs to be #applicaion, because otherwise classes will get overwritten by Portal\n   const root = document.querySelector('#application');\n   const handler = () => {\n      if (!Playtech.API.auth.isLoggedIn) {\n         // if player is not logged in, do nothing\n         return;\n      }\n\n      const getPlayersLevel = Playtech.fetchUserDetails();\n      const vipLevel  = getPlayersLevel.vipLevel; //get vip status\n      // add viplevel1\n      root.classList.add(`viplevel${vipLevel}`);\n   };\n   // subscribe to login event\n   Playtech.on(Playtech.Events.LOGGED_IN, handler);\n   // subscribe to logout event\n   Playtech.on(Playtech.Events.LOGGED_OUT, () => {\n      Array.from(root.classList)\n         .filter((name) => name.startsWith('vipl'))\n         .forEach((name) => root.classList.remove(name));\n   });\n   // check on app init\n   handler();\n})();"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"34e93bf7-0e6e-4f0f-8b78-6ca083ec1123","tagTypeId":"custom_js","name":"window.loginAndLoadPageForDeposit","description":"Temporal fix for deposit clientType","config":{"code":"    window.loginAndLoadPageForDeposit = function (path) {\r\n        const redirect = async () => {\r\n            if (window.location.pathname !== path) {\r\n                Playtech.API.common.navigate(path, null);\r\n                await new Promise(resolve => setTimeout(resolve, 1000))\r\n            }\r\n            Playtech.API.common.navigate('/deposit');\r\n        }\r\n        if (Playtech.API.auth.isLoggedIn)\r\n            redirect()\r\n        else\r\n            Playtech.API.auth.showLoginPopup({\r\n                onLogin: redirect\r\n            });\r\n    }"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"bb3264b1-cb68-4cd6-9e32-3b82f3f417ed","tagTypeId":"custom_js","name":"Jumio Verification Check Tags ","description":"Jumio Verification Check Tags ","config":{"code":"(async () => {\n    const ID = 'risk/doc/id_upload_requirement';\n    const POA = 'risk/doc/poa_upload_requirement';\n    const SOW = 'risk/doc/sow_upload_requirement';\n    const BS = 'risk/doc/bs_upload_requirement';\n    const DC = 'risk/doc/dc_upload_requirement';\n    const CPF = 'risk/doc/cpf_upload_requirement';\n\n\n    const order = [\n        ID, \n        POA, \n        BS, \n        DC, \n        SOW,\n        CPF\n    ];\n\n    const docType = {\n        [ID]: 'ID_CARD',\n        [POA]: 'UB',\n        [SOW]: 'SOW',\n        [BS]: 'BS',\n        [DC]: 'DC',\n        [CPF]: 'CPF'\n    };\n\n    async function checkTags() {\n        if (!Playtech.API.auth.isLoggedIn) {\n            // player not logged in\n            return;\n        }\n\n        try {\n            const response = await Playtech.API.user.getPlayerTags(order.join(','));\n            const { tags = [] } = response?.data ?? {};\n\n            if (tags.length === 0) {\n                // no tags, all good\n                return;\n            }\n\n            tags.some((tag) => {\n                if (tag.value === 'required') {\n                    // only navigate once\n                    Playtech.API.common.navigate(`/verificacao?docType=${docType[tag.name]}`);\n\n                    Playtech.API.events.addEventListener('player-tag-change', async ({ detail: { tag, removed }}) => {\n                        if (docType[tag]) {\n                            Playtech.API.popup.closePageAsPopup();\n                            checkTags();\n                        }\n                    }, { once: true });\n                    \n                    return true;\n                }\n                \n                return false;\n            });\n        } catch (error) {\n            console.error(error);\n        }\n    }\n\n    // do not run this on /verificacao page\n    if (window.location.pathname.indexOf('/verificacao') > -1) {\n        return;\n    }\n\n    checkTags();\n})();\n"},"conditionIds":["da1161bc-63ee-4608-a224-0d2d75f5a355"]},{"tagId":"f25589ad-c105-42e4-b4de-75bd14389cb5","tagTypeId":"custom_js","name":"Replace + during registration in cellphone","description":"Replace + during registration in cellphone","config":{"code":"Playtech.API.auth.addBeforeRegistrationHook(({ dataMap }) => {\n    dataMap.cellphone = dataMap.cellphone?.replace('+', '') || '';\n\n    return { dataMap };\n});"},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"d3d68471-7b06-4eeb-9dcc-3f8e5f99bf72","tagTypeId":"custom_js","name":"Remove min height","description":"Remove min height #main-content","config":{"code":"if (!window.mainHeightRemoved) {\n  window.mainHeightRemoved = true;\n  setTimeout(() => { document.querySelector(\"#main-content\").style = 'min-height: initial'; }, 2000);\n}"},"conditionIds":["da1161bc-63ee-4608-a224-0d2d75f5a355"]},{"tagId":"5960bdf0-7bb0-4c05-ac28-4c01aa69ac48","tagTypeId":"ucip","name":"UCIP","description":"UCIP","config":{},"conditionIds":["40cfcc31-e547-4be6-9f5b-89e25ee290ca"]},{"tagId":"0f40f12a-3cfd-4939-820e-191efa7c6e65","tagTypeId":"dynamic_client_type","name":"Client Type by Vertical","description":"Client Type by Vertical","config":{"clientTypeQueryStringPages":[{"page":"/withdraw"},{"page":"/deposit"},{"page":"/register"}],"clientTypeGroups":[{"clientType":"live","pages":[{"page":"/cassino-ao-vivo"}]},{"clientType":"casino","pages":[{"page":"/redirect/casino/deposit"},{"page":"/cassino"},{"page":"/promocoes/cassino-primeiro-deposito"}]},{"clientType":"sportsbook","pages":[{"page":"/redirect/sports/deposit"},{"page":"/sportsbook/inplay"},{"page":"/sportsbook"}]}]},"conditionIds":["149f37e4-2a56-445b-9bfa-c1eb991b2a0a"]},{"tagId":"12343787-f2e3-4860-bdaa-c829520a3c3c","tagTypeId":"custom_js","name":"Replace + 55 during registration in cellphone","description":"Replace + during registration in cellphone","config":{"code":"Playtech.API.auth.addBeforeRegistrationHook(({ dataMap }) => {\n    dataMap.cellphone = dataMap.cellphone?.replace('+55', '') || '';\n\n    return { dataMap };\n});"},"conditionIds":["13d49fc7-2011-4bd2-b108-d66cc0f9ccfc"]},{"tagId":"928a2751-711f-42b7-98bd-574d93111cbf","tagTypeId":"custom_js","name":"Survey Form","description":"Survey Form","config":{"code":"Playtech.on('dynamic-custom-form-submit', ({ formValues, formIMSValues, formName, resolve, reject }) => {\n    if (formName !== 'Survey Test') {\n        return;\n    }\n\n    if (Playtech.API.auth.isLoggedIn) {\n      const count = Object.values(formValues).filter((answer) => answer === \"playtech.mobile.system.yes.button.title\").length;\n  \n      Playtech.API.user.setPlayerTags([{ name: 'Operations/RG/self_evaluation', type: 'text', value: String(count) }]);\n      resolve();\n    } else {\n      reject('This form is not available for guests.');\n    }\n});"},"conditionIds":["13d49fc7-2011-4bd2-b108-d66cc0f9ccfc"]},{"tagId":"09ec98a0-15df-47af-8f3a-16e342b519c2","tagTypeId":"dynamic_client_type","name":"Dynamic client type","description":"Dynamic client type","config":{"clientTypeQueryStringPages":[{"page":"/register"}],"clientTypeGroups":[{"clientType":"poker","pages":[{"page":"/poker"}]},{"clientType":"bingo","pages":[{"page":"/header-test"}]}]},"conditionIds":["13d49fc7-2011-4bd2-b108-d66cc0f9ccfc"]}],"conditions":[{"conditionId":"421ff874-9c1b-4cc8-901a-2593ca3b1afd","conditionTypeId":"page_condition","name":"On VIP Especial Pages","description":"Condition to set on page we want to change style","config":{"onPageLaunch":"/galerabet-torne-se-vip"}},{"conditionId":"d3ed7f8d-d187-4c61-b128-ab65fdee579c","conditionTypeId":"page_condition","name":"17+ VIP pages","description":"Redirect user to root when vip level is less than 17","config":{"onPageLaunch":"/promocoes/vip/birthday,/promocoes/vip/cashbacksemanal,/promocoes/vip/upgrade"}},{"conditionId":"2cca1c97-039e-4b31-a23b-83c91043e561","conditionTypeId":"page_condition","name":"On withdraw page","description":"On deposit","config":{"onPageLaunch":"/account/withdraw"}},{"conditionId":"40cfcc31-e547-4be6-9f5b-89e25ee290ca","conditionTypeId":"basic_condition","name":"On wrapper init","description":"On wrapper init","config":{"launch":"onWrapperInit"}},{"conditionId":"b537d93c-a5fc-4a21-80b6-6bd6e70920c5","conditionTypeId":"native_app_condition","name":"Exclude from Native","description":"Exclude from Native","config":{"nativeAppRule":"0"}},{"conditionId":"149f37e4-2a56-445b-9bfa-c1eb991b2a0a","conditionTypeId":"basic_condition","name":"On App Init","description":"On App Init","config":{"launch":"onAppInit"}},{"conditionId":"af9af471-cf39-4c28-acb3-36322492f14b","conditionTypeId":"page_condition","name":"Pages","description":"Pages","config":{"onPageLaunch":"/promotions,/deposit"}},{"conditionId":"9a27b0d3-e2f9-47f5-b63c-70a3d6e0e59c","conditionTypeId":"page_condition","name":"FAQ","description":"FAQ","config":{"onPageLaunch":"/faq, /contact-us"}},{"conditionId":"da1161bc-63ee-4608-a224-0d2d75f5a355","conditionTypeId":"basic_condition","name":"After page rendered","description":"After page rendered","config":{"launch":"afterPageRendered"}},{"conditionId":"bdd1ee49-ce20-4009-a72a-66eea2c7748f","conditionTypeId":"page_condition","name":"On deposit page","description":"On deposit","config":{"onPageLaunch":"/deposit"}},{"conditionId":"5a96988b-8d04-41ea-ad80-849442f64cf4","conditionTypeId":"page_condition","name":"On VIP Pages","description":"On VIP Pages","config":{"onPageLaunch":"/VIP-Lounge-Test-Page, /VIP-Lounge-Test-Page-2"}},{"conditionId":"05ab7b4f-2b43-4aa6-9d2c-230c818087f4","conditionTypeId":"page_condition","name":"On test layout page","description":"On test layout page","config":{"onPageLaunch":"/test-layout,/cassino-test, /game-tag-test"}},{"conditionId":"3a69ba6d-4f9b-46fb-badc-f3ca13a33424","conditionTypeId":"page_condition","name":"On Cassino page","description":"On Cassino page","config":{"onPageLaunch":"/cassino"}},{"conditionId":"2a837ba0-6dd9-4908-bbc7-255823a27688","conditionTypeId":"page_condition","name":"Ao Vivo Page","description":"Ao Vivo Page","config":{"onPageLaunch":"/ao-vivo"}},{"conditionId":"140786a3-0754-4a51-a420-18d1102f657f","conditionTypeId":"page_condition","name":"Virtuals Page","description":"Virtuals Page","config":{"onPageLaunch":"/virtuais"}},{"conditionId":"c24c176c-6fd4-450d-9d84-b6df813911cd","conditionTypeId":"page_condition","name":"Signup page","description":"Signup page","config":{"onPageLaunch":"/register"}},{"conditionId":"160eb1fe-b2f7-4ae4-ab7f-8db19526bc06","conditionTypeId":"page_condition","name":"Add sash category","description":"Adds a custom category attribute to all game sashes on all pages matching these url's","config":{"onPageLaunch":"/cassino"}},{"conditionId":"28a8df8e-2b60-4599-b5e5-7ae5e9f4c748","conditionTypeId":"page_condition","name":"Scroll to top","description":"Scroll to top when user changes game category","config":{"onPageLaunch":"/cassino"}},{"conditionId":"64c5e07d-9c47-4ddc-96b3-0d23552a992e","conditionTypeId":"page_condition","name":"Protect these pages from VIP level 1","description":"Protect these pages from VIP level 1","config":{"onPageLaunch":"/galera-bet-goals, /hide-my-page"}},{"conditionId":"e34d9298-baf1-43b3-b631-18cdfc563de2","conditionTypeId":"page_condition","name":"VIP Level Protected","description":"VIP Level Protected Pages","config":{"onPageLaunch":"/galerabet-vip-lounge, /promocoes/vip"}},{"conditionId":"13d49fc7-2011-4bd2-b108-d66cc0f9ccfc","conditionTypeId":"basic_condition","name":"On application init","description":"On application initialization","config":{"launch":"onAppInit"}},{"conditionId":"036bdbb4-1bc3-47fe-a0ec-b04d34fc2801","conditionTypeId":"basic_condition","name":"After page rendered","description":"After page rendered","config":{"launch":"afterPageRendered"}},{"conditionId":"feea99e9-c324-47d8-b041-7e19f4ef92de","conditionTypeId":"basic_condition","name":"Before page rendered","description":"Before page rendered","config":{"launch":"beforePageRendered"}}]}