1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8420],{1266:(t,e,n)=>{n.d(e,{Mn:()=>l,dK:()=>o,k1:()=>c,kI:()=>s});var r=n(5872);let a="funnudge:name",o="funnudge:name-changed",i="funnudge:name-auto";function l(){try{var t;return(null!=(t=window.localStorage.getItem(a))?t:"").trim().slice(0,20)}catch(t){return""}}function c(t,e){let n=t.trim().slice(0,20);try{n?window.localStorage.setItem(a,n):window.localStorage.removeItem(a),n?window.localStorage.setItem(i,(null==e?void 0:e.auto)?"1":"0"):window.localStorage.removeItem(i),window.dispatchEvent(new CustomEvent(o,{detail:{name:n}}))}catch(t){}return n}function s(t){var e;if(!t||l().length>0&&!function(){let t=l();if(!t)return!1;try{let t=window.localStorage.getItem(i);if(null!==t)return"1"===t}catch(t){}return(0,r.d8)(t)}())return!1;let n=null!=(e=t.trim().split(/\s+/)[0])?e:"";return!!n&&(c(n),!0)}},1927:(t,e,n)=>{n.d(e,{$y:()=>z,EH:()=>p,Gs:()=>y,IT:()=>a.IT,Je:()=>s,Pu:()=>N,RF:()=>w,ZJ:()=>C,Zw:()=>l,dA:()=>m,j0:()=>k,kK:()=>c,sg:()=>D,tj:()=>A,uP:()=>g});var r=n(1266),a=n(3072);n(5704);let o="https://szrhpgweueniopvwutic.supabase.co",i="sb_publishable_f7QNX8Dn4Kw9sm6wtrd31w_ySsgnx9y",l=()=>!!(o&&i),c=t=>a.IT.has(t);async function s(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;if(!l())return[];try{let n="".concat(o,"/rest/v1/").concat("funnudge_scores")+"?select=name,score,country,created_at,pid_pub,supporter"+"&game=eq.".concat(encodeURIComponent(t))+"&order=score.desc,created_at.asc&limit=".concat(e),r=await fetch(n,{headers:{apikey:i,Authorization:"Bearer ".concat(i)},cache:"no-store"});if(!r.ok)return[];return await r.json()}catch(t){return[]}}let u="/api/sync";async function d(t){let e=new TextEncoder,n=await crypto.subtle.digest("SHA-256",e.encode("fn-lb-9f3c2a7e1b6d4085")),r=await crypto.subtle.importKey("raw",n,"AES-GCM",!1,["encrypt"]),a=crypto.getRandomValues(new Uint8Array(12)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:a},r,e.encode(JSON.stringify(t)))),i=new Uint8Array(a.length+o.length);i.set(a,0),i.set(o,a.length);let l="";for(let t=0;t<i.length;t++)l+=String.fromCharCode(i[t]);return btoa(l)}let f=null;async function h(){if(f&&Date.now()-f.at<12e5)return f.token;try{let t=await fetch(u);if(!t.ok)return"";let e=await t.json();if("string"==typeof e.token)return f={token:e.token,at:Date.now()},e.token}catch(t){}return""}function w(){h()}let g=d,y=h;async function m(t,e,r){if(!l())return!1;let a=e.trim().slice(0,20)||"Anonymous",o=await h(),{accessToken:i}=await n.e(2578).then(n.bind(n,2578)),c=await i();try{let e=await d({g:t,n:a,s:Math.max(0,Math.floor(r)),t:o,at:c,pid:k(),ts:Date.now(),r:Math.random().toString(36).slice(2)});return(await fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({p:e})})).ok}catch(t){return!1}}function p(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return!(t<=0)&&(e.length<n||t>e[e.length-1].score)}let S="funnudge:pid";function k(){try{let t=window.localStorage.getItem(S);return t||(t=function(){if("undefined"!=typeof crypto){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return[...crypto.getRandomValues(new Uint8Array(16))].map(t=>t.toString(16).padStart(2,"0")).join("")}return Math.random().toString(36).slice(2)+Date.now().toString(36)}(),window.localStorage.setItem(S,t)),t}catch(t){return""}}let b="funnudge:pids";async function I(t){return[...new Uint8Array(await crypto.subtle.digest("SHA-256",new TextEncoder().encode(t)))].map(t=>t.toString(16).padStart(2,"0")).join("")}async function C(){let t=new Set;try{for(let e of v())t.add(await I(e))}catch(t){}return t}function v(){let t=new Set;try{let e=window.localStorage.getItem(S);e&&t.add(e);let n=window.localStorage.getItem(b);if(n)for(let e of JSON.parse(n))e&&t.add(e)}catch(t){}return t}function A(){try{let t=k();if(!t)return;let e=v();e.add(t),window.localStorage.setItem(b,JSON.stringify([...e]))}catch(t){}}function z(){try{var t;return null!=(t=window.localStorage.getItem("funnudge:name"))?t:""}catch(t){return""}}function N(t){(0,r.k1)(t)}function D(t){return t&&/^[A-Za-z]{2}$/.test(t)?String.fromCodePoint(...[...t.toUpperCase()].map(t=>127462+t.charCodeAt(0)-65)):""}},3072:(t,e,n)=>{n.d(e,{IT:()=>r,SU:()=>a});let r=new Set(["dino-run-3d","dino-dash","snake","snake-3d","flappy-wings","helix-fall","tunnel-rush","slope-run","road-hopper","obby-parkour-3d","physics-car-trial","trapdoor-platformer","traffic-dodge-3d","brick-breaker","sky-hop","stack-tower","stack-3d","2048","knife-throw","fruit-slice","maze-chase","simon-says","ball-sort-3d","bubble-shooter","anagram-blitz","nonogram","block-blast","flow-connect","word-search","typing-race-online","dont-look-online"]),a=new Set(["tic-tac-toe-online","connect-four
1-online","chess-online","checkers-online","8-ball-pool-online","carrom-online","ludo-online","snakes-ladders-online","crazy-eights-online","typing-race-online"])},5202:(t,e,n)=>{n.d(e,{$L:()=>w,EK:()=>u,Se:()=>r,c2:()=>h,fC:()=>s,kX:()=>i,qT:()=>o,tQ:()=>l});let r="funnudge:streak",a="funnudge:daily-streak-data",o=[3,7,14,30,60,100,365];function i(t){return"".concat(t.getFullYear(),"-").concat(String(t.getMonth()+1).padStart(2,"0"),"-").concat(String(t.getDate()).padStart(2,"0"))}function l(){return i(new Date)}function c(t){let e=new Date;return e.setDate(e.getDate()-t),i(e)}function s(t){let e=0;for(let n of o)t>=n&&(e=n);return e}function u(t){for(let e of o)if(t<e)return e;return null}function d(){let t={last:"",streak:0,best:0,history:[],freezes:0};try{let e=window.localStorage.getItem(a);if(!e)return t;let n=JSON.parse(e);return{last:"string"==typeof n.last?n.last:"",streak:Number(n.streak)||0,best:Number(n.best)||Number(n.streak)||0,history:Array.isArray(n.history)?n.history:[],freezes:Number(n.freezes)||0}}catch(e){return t}}function f(t){try{window.localStorage.setItem(a,JSON.stringify(t)),window.dispatchEvent(new CustomEvent(r))}catch(t){}}function h(){let t=d(),e=l(),n=c(1),r=c(2),a=0,o=!1,i=!1,u=!1;return t.last===e?(a=t.streak,o=!0):t.last===n?(a=t.streak,i=!0):t.last===r&&t.freezes>0&&(a=t.streak,i=!0,u=!0),{count:a,best:t.best,doneToday:o,atRisk:i,willUseFreeze:u,freezes:t.freezes,history:new Set(t.history),milestone:s(a)}}function w(){let t,e=d(),n=l();if(e.last===n)return e.history.includes(n)||(e.history=[...e.history,n].slice(-400),f(e)),h();let r=c(1),a=c(2),o=e.freezes;return e.last===r?t=e.streak+1:e.last===a&&o>0?(t=e.streak+1,o-=1):t=1,t>0&&t%7==0&&(o=Math.min(3,o+1)),f({last:n,streak:t,best:Math.max(e.best,t),history:[...e.history.filter(t=>t!==n),n].slice(-400),freezes:o}),h()}},5872:(t,e,n)=>{n.d(e,{Zm:()=>l,aq:()=>a,d8:()=>c,tu:()=>o});let r=["Rahul","Aisha","Leo","Mei","Diego","Sara","Omar","Nina","Kai","Priya","Tom","Zoe","Ivan","Lena","S
1am","Ravi"],a=()=>r[Math.random()*r.length|0];function o(t){let e=[...r],n=[];for(let r=0;r<t&&e.length>0;r++)n.push(e.splice(Math.random()*e.length|0,1)[0]);return n}let i=["Swift Fox","Lucky Panda","Turbo Tiger","Clever Crow","Neon Ninja","Pixel Pirate","Dizzy Dino","Rocket Rhino","Cosmic Cat","Waffle Wizard"],l=()=>i[Math.random()*i.length|0],c=t=>{let e=t.trim().toLowerCase();return!!e&&(i.some(t=>t.toLowerCase()===e)||r.some(t=>t.toLowerCase()===e))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.