1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[63544],{86835:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(67401).A)("circle-help",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},16972:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(67401).A)("music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]])},57420:(e,t,r)=>{r.r(t),r.d(t,{default:()=>i});var l=r(95155),a=r(12115),s=r(76502),c=r(68308),n=r(25571),o=r(66546);let i=e=>{let{currentLevel:t,handleLevelComplete:r,onEarCoinsEarned:i,setCorrectAnswers:u,setAttempts:d,setProgress:m,setLives:p,correctAnswers:h,lives:k,onBackToMap:y,setShowGameOver:f}=e,v=(0,a.useRef)(!1),w=(0,a.useRef)(Date.now()),C=(0,a.useRef)([]),x=(0,o.P)((e,r)=>{let l=(Date.now()-w.current)/1e3,a=l/Math.max(r,1);return{questType:t.questType,levelId:t.id,totalScore:10*e,correctAnswers:e,totalQuestions:r,averageTime:a,quickestTime:a,slowestTime:a,totalTime:l,timeBonus:0,skipsPenalty:0,attempts:C.current.slice(0,200)}},i),T=(0,a.useCallback)((e,r,l,a)=>{d(r),u(l),C.current.push({isCorrect:e,item:String(null!=a?a:"")}),m(Math.min(100,r/t.attemptsAllowed*100)),e||p(e=>{let t=Math.max(0,e-1);return t<=0&&(v.current=!0,x(l,r),setTimeout(()=>f(!0),1500)),t})},[t.attemptsAllowed,d,u,m,p,f,x]),q=(0,a.useCallback)(e=>{if(u(e.correct),d(e.total),m(100),e.correct>=t.requiredCorrect){let l=(Date.now()-w.current)/1e3,a=l/Math.max(e.total,1),s=l<=60?Math.floor((60-l)*10):0;(0,n.$)({questType:t.questType,levelId:t.id,totalScore:10*e.correct,correctAnswers:e.correct,totalQuestions:e.total,averageTime:a,quickestTime:a,slowestTime:a,totalTime:l,timeBonus:s,skipsPenalty:0,attempts:C.current.slice(0,200)}).then(e=>{e.earCoinsEarned&&(null==i||i(e.earCoinsEarned,e.earCoinsBreakdown))}).catch(()=>{}),r()}else x(e.correct,e.total),f(!0)},[t,r,i,u,d,m,f,x]);return(0,l.jsxs)("div",{className:"flex flex-col w-full",children:[(0,l.jsx)("div",{className:"px-4 pt-4 pb-2 flex items-center",children:(0,l.jsx)(c.$,{onClick:y})}),(0,l.jsx)(s.SlashmasterExercise,{onBack:y,levelId:t.id,levelName:t.name,levelDescription:t.description,onComplete:q,onAnswer:T,attemptsAllowed:t.attemptsAllowed,requiredCorrect:t.requiredCorrect,isGameOver:v.current})]})}},66546:(e,t,r)=>{r.d(t,{P:()=>s});var l=r(12115),a=r(25571);function s(e,t){let r=(0,l.useRef)(!1),s=(0,l.useRef)({buildStats:e,onEarCoinsEarned:t});return s.current={buildStats:e,onEarCoinsEarned:t},(0,l.useCallback)((e,t)=>{if(r.current)return;r.current=!0;let l=s.current.buildStats(e,t);l&&(0,a.$)({...l,totalScore:l.totalScore-l.timeBonus,timeBonus:0},{onError:()=>{}}).then(e=>{if(e.earCoinsEarned){var t,r;null===(t=(r=s.current).onEarCoinsEarned)||void 0===t||t.call(r,e.earCoinsEarned,e.earCoinsBreakdown)}}).catch(()=>{})},[])}},48780:(e,t,r)=>{r.d(t,{qy:()=>l});let l={bassOctave:2,triadOctave:3,spread:!1,playBassFirst:!0}}}]);
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.