1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7615],{51719:(e,s,l)=>{l.d(s,{A:()=>t});let t=(0,l(67401).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},40886:(e,s,l)=>{l.d(s,{A:()=>t});let t=(0,l(67401).A)("circle-play",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polygon",{points:"10 8 16 12 10 16 10 8",key:"1cimsy"}]])},29191:(e,s,l)=>{l.d(s,{A:()=>t});let t=(0,l(67401).A)("play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},27080:(e,s,l)=>{l.r(s),l.d(s,{ExercisesEmbed:()=>x});var t=l(95155);l(12115);var a=l(2178),n=l(98867),r=l(51719),o=l(93467),d=l(29191),c=l(26656),i=l(37879),m=l(81904);function x(e){var s;let{isAuthed:l=!1}=e,{locale:a}=(0,i.Y)(),n=null!==(s=m.W[a])&&void 0!==s?s:m.y;return(0,t.jsx)(c.g,{label:n.levelMap.label,tier:"free",mode:"preview",isAuthed:l,description:n.levelMap.description,children:(0,t.jsx)(u,{})})}let p=[{levels:[{num:1,status:"completed",lessonCompleted:!0},{num:2,status:"completed",lessonCompleted:!0},{num:3,status:"completed",lessonCompleted:!0},{num:4,status:"current",lessonCompleted:!1},{num:5,status:"locked",lessonCompleted:!1},{num:6,status:"locked",lessonCompleted:!1}]},{levels:[{num:14,status:"locked",lessonCompleted:!1},{num:15,status:"locked",lessonCompleted:!1},{num:16,status:"locked",lessonCompleted:!1}]},{levels:[{num:22,status:"locked",lessonCompleted:!1},{num:25,status:"locked",lessonCompleted:!1}]},{levels:[{num:37,status:"pro",lessonCompleted:!1}]}];function u(){var e;let{locale:s}=(0,i.Y)(),l=null!==(e=m.W[s])&&void 0!==e?e:m.y,a=l.levelMap.sections.map((e,s)=>({title:e.title,description:e.description,levels:e.levels.map((e,l)=>({...p[s].levels[l],name:e.name,description:e.description}))}));return(0,t.jsxs)("div",{className:"relative w-full px-3 py-6 sm:px-5 sm:py-8 bg-background overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_30%_15%,rgba(99,102,241,0.06),transparent_50%)] pointer-events-none"}),(0,t.jsx)("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_70%_85%,rgba(168,85,247,0.05),transparent_50%)] pointer-events-none"}),(0,t.jsxs)("div",{className:"relative max-w-3xl mx-auto",children:[(0,t.jsxs)("div",{className:"text-center mb-5",children:[(0,t.jsx)("h3",{className:"text-2xl sm:text-3xl font-bold ear-title",children:l.levelMap.heading}),(0,t.jsx)("p",{className:"mt-1 text-xs sm:text-sm text-muted-foreground",children:l.levelMap.subheading})]}),(0,t.jsx)("div",{className:"space-y-3",children:a.map((e,s)=>(0,t.jsx)(h,{section:e,delay:.08*s},e.title))}),(0,t.jsxs)("div",{className:"text-center mt-6",children:[(0,t.jsx)("div",{className:"text-muted-foreground/50 text-2xl tracking-widest leading-none select-none mb-2",children:"\xb7 \xb7 \xb7"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l.levelMap.continuationHint})]})]})]})}function h(e){var s;let{section:l,delay:o}=e,{locale:d}=(0,i.Y)(),c=null!==(s=m.W[d])&&void 0!==s?s:m.y,x=l.levels.filter(e=>"completed"===e.status).length,p=l.levels.length,u=x===p;return(0,t.jsxs)(a.P.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-40px"},transition:{duration:.4,delay:o},className:"rounded-2xl border border-border/60 bg-background/70 shadow-sm backdrop-blur-md overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex w-full items-center justify-between gap-3 px-4 py-3 text-left",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-full border border-border/70 bg-background text-xs font-semibold text-muted-foreground shrink-0",children:u?(0,t.jsx)(n.A,{className:"h-4 w-4 text-primary"}):"".concat(x,"/").concat(p)}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5 min-w-0",children:[(0,t.jsx)("span",{className:"text-sm font-semibold text-foreground truncate",children:l.title}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:l.description})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,t.jsxs)("span",{className:"text-xs text-muted-foreground sm:text-sm hidden sm:inline",children:[x,"/",p," ",c.levelMap.completeSuffix]}),(0,t.jsx)(r.A,{className:"h-4 w-4 text-muted-foreground"})]})]}),(0,t.jsx)("div",{className:"divide-y divide-border/60 border-t border-border/60",children:l.levels.map(e=>(0,t.jsx)(v,{level:e},e.num))})]})}function v(e){let{level:s}=e,l="locked"===s.status||"pro"===s.status,a=l||!s.lessonCompleted&&"current"!==s.status;return(0,t.jsxs)("div",{className:"flex flex-col gap-3 bg-background/80 px-4 py-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,t.jsx)("span",{className:"text-sm font-semibold text-foreground",children:s.name})}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground sm:text-sm",children:s.description})]}),(0,t.jsxs)("div",{className:"flex flex-row flex-wrap items-center justify-end gap-2 sm:flex-nowrap sm:shrink-0",children:[(0,t.jsx)(b,{lessonCompleted:s.lessonCompleted,disabled:l}),(0,t.jsx)(f,{disabled:a}),(0,t.jsx)(g,{level:s})]})]})}function b(e){var s;let{lessonCompleted:l,disabled:a}=e,{locale:n}=(0,i.Y)(),r=null!==(s=m.W[n])&&void 0!==s?s:m.y,d="h-8 rounded-full px-3 text-xs font-medium inline-flex items-center gap-2 border whitespace-nowrap";return a?(0,t.jsxs)("span",{className:"".concat(d," border-sky-400/15 bg-background/40 text-sky-600/40 dark:text-sky-300/30 opacity-60"),children:[(0,t.jsx)(o.A,{className:"h-4 w-4"}),r.levelMap.lessonPill]}):l?(0,t.jsxs)("span",{className:"".concat(d," border-sky-400/25 bg-background/40 text-sky-600 dark:text-sky-300"),children:[(0,t.jsx)(o.A,{className:"h-4 w-4"}),r.levelMap.lessonPill]}):(0,t.jsxs)("span",{className:"".concat(d," border-sky-400/35 bg-sky-500/8 text-foreground shadow-[0_0_12px_rgba(56,189,248,0.2)]"),children:[(0,t.jsx)(o.A,{className:"h-4 w-4"}),r.levelMap.lessonPill]})}function f(e){var s;let{disabled:l}=e,{locale:a}=(0,i.Y)(),n=null!==(s=m.W[a])&&void 0!==s?s:m.y,r="h-8 rounded-full px-3 text-xs font-medium inline-flex items-center gap-2 border whitespace-nowrap";return l?(0,t.jsxs)("span",{className:"".concat(r," border-amber-400/20 bg-amber-500/5 text-muted-foreground opacity-60"),children:[(0,t.jsx)(d.A,{className:"h-4 w-4"}),n.levelMap.exercisePill]}):(0,t.jsxs)("span",{className:"".concat(r," border-amber-500/30 bg-amber-500/10 text-foreground shadow-[0_0_12px_rgba(245,158,11,0.25)]"),children:[(0,t.jsx)(d.A,{className:"h-4 w-4"}),n.levelMap.exercisePill]})}function g(e){var s;let{level:l}=e,{locale:a}=(0,i.Y)(),n=null!==(s=m.W[a])&&void 0!==s?s:m.y,r=[];return("pro"===l.status?r.push({label:n.levelMap.statusPro,color:"bg-purple-500"}):"locked"!==l.status||l.lessonCompleted?"locked"===l.status?r.push({label:n.levelMap.statusLocked,color:"bg-slate-500/60"}):"completed"===l.status?r.push({label:n.levelMap.statusDone,color:"bg-emerald-500"}):"current"===l.status&&r.push({label:n.levelMap.statusNext,color:"bg-sky-500"}
1):r.push({label:n.levelMap.statusLesson,color:"bg-amber-500"}),0===r.length)?null:(0,t.jsx)("div",{className:"flex flex-col items-start gap-1 text-[11px] text-muted-foreground pl-2",children:r.map(e=>{let{label:s,color:l}=e;return(0,t.jsxs)("span",{className:"flex items-center gap-1 ".concat(s===n.levelMap.statusNext?"text-primary":""),children:[(0,t.jsx)("span",{className:"inline-flex h-2 w-2 rounded-full flex-shrink-0 ".concat(l)}),(0,t.jsx)("span",{className:"whitespace-nowrap",children:s})]},s)})})}}}]);
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.