(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[837],{16645:function(e,t,s){Promise.resolve().then(s.t.bind(s,90413,23)),Promise.resolve().then(s.bind(s,74832)),Promise.resolve().then(s.bind(s,18487)),Promise.resolve().then(s.bind(s,53997)),Promise.resolve().then(s.bind(s,22391)),Promise.resolve().then(s.bind(s,11915))},74006:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return AuthProvider},useAuth:function(){return useAuth}});var r=s(57437),n=s(91837),a=s(38891),l=s(70165),i=s(28285),o=s(55764),c=s(11490),d=s(2265);let u=(0,d.createContext)({user:void 0,ready:!1,authStatus:"loading",hasToken:!1,login:()=>{},logout:()=>{},revalidate:()=>{}});function AuthProvider(e){let{children:t}=e,s=useAuthSetup();return(0,r.jsx)(u.Provider,{value:s,children:t})}let useAuth=()=>(0,d.useContext)(u),useAuthSetup=()=>{let e=(0,l.NL)(),[t,s]=(0,d.useState)({ready:!1,hasToken:!1}),{data:r,status:u}=(0,i.a)({queryKey:["users/me/"],queryFn:()=>a.ZP.get("users/me/").json(),enabled:!!t.hasToken,retry:0}),{mutate:A}=(0,o.D)({mutationFn:()=>{let e=c.Z.get(n.b7);if(e)return a.ZP.post("auth/refresh/",{json:{refresh:e}}).json();throw Error("No token")},onSuccess(t){var r;let{user:a,expiry:l,access:i,refresh:o,onboarding_steps:d,profile_steps:u}=t;c.Z.set(n.xo,null!=i?i:"",{expires:l?l.access/86400:void 0}),c.Z.set(n.b7,null!=o?o:"",{expires:l?l.refresh/86400:void 0}),e.invalidateQueries(),e.setQueryData(["users/me/"],()=>a),e.setQueryData(["users/${user?.username}/profile/steps/"],()=>({steps:u})),e.setQueryData(["users/".concat(null==a?void 0:a.username,"/onboarding/steps/")],()=>({steps:d})),s({hasToken:!0,ready:!0});let m=(null!==(r=null==l?void 0:l.access)&&void 0!==r?r:900)*1e3-12e4;setTimeout(()=>{A()},m=Math.max(3e5,Math.min(m,864e5)))},onError(e,t,s){h()}}),m=(0,d.useCallback)(t=>{let{access:r,refresh:a,user:l,expiry:i,onboarding_steps:o,profile_steps:d}=t;i&&(c.Z.set(n.xo,null!=r?r:"",{expires:i?i.access/86400:void 0}),c.Z.set(n.b7,null!=a?a:"",{expires:i?i.refresh/86400:void 0})),s({hasToken:!0,ready:!0}),l&&(e.removeQueries(),e.setQueryData(["users/me/"],()=>l),e.setQueryData(["users/${user.username}/profile/steps/"],()=>({steps:d})),e.setQueryData(["users/".concat(null==l?void 0:l.username,"/onboarding/steps/")],()=>({steps:o})))},[e]),h=(0,d.useCallback)(()=>{c.Z.remove(n.xo),c.Z.remove(n.b7),window.location.reload()},[]),p=(0,d.useCallback)(()=>{let t=c.Z.get(n.xo),r=c.Z.get(n.b7);r?(t?s(e=>({ready:!1,hasToken:!0})):s({ready:!1,hasToken:!1}),A()):(e.clear(),c.Z.remove(n.xo),s({ready:!0,hasToken:!1}))},[e,A]),x=(0,d.useRef)(!1);(0,d.useEffect)(()=>{let e=c.Z.get(n.b7);e?x.current||(x.current=!0,A()):(c.Z.remove(n.xo),s({ready:!0,hasToken:!1}))},[A]),(0,d.useEffect)(()=>{"error"===u&&h()},[u,h]);let f=(0,d.useMemo)(()=>({...t,user:r,login:m,logout:h,revalidate:p,authStatus:t.ready?r?"authorized":"unauthorized":"loading"}),[t,r,m,h,p]);return f}},22391:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return roadmap_RoadmapContent}});var r=s(57437),n=s(42815),a=s(2265),l=s(74686),i=s(64652),o=s(16914),c=s(62896),d=s(91279),u=s(54440),A=s.n(u),m=s(16691),h=s.n(m),p=s(53966),x=s(69044);let f=(0,a.createContext)({sections:[],steps:[],missions:[]}),useRoadmapContext=()=>(0,a.useContext)(f),useRoadmapCurrentSection=e=>{let{sections:t,steps:s}=useRoadmapContext(),r=t.find(t=>t.id===e),n=s.filter(t=>t.section_id===e);return{section:r,steps:n}},useRoadmapCurrentStep=e=>{let{sections:t,steps:s,missions:r}=useRoadmapContext(),n=s.find(t=>t.id===e),a=t.find(e=>e.id===(null==n?void 0:n.section_id)),l=r.filter(t=>t.step_id===e);return{section:a,step:n,stepMissions:l}};function RoadmapProvider(e){let{children:t,...s}=e;return(0,r.jsx)(f.Provider,{value:s,children:t})}function RoadmapBox(e){let{uiData:t,className:s}=e,{logo:n,logoSecondary:a,bgClass:l,colSpan:i,key:o,id:u}=t,{section:{progress:m=0,steps_count:f=0,duration:g=0,title:v=t.title}={}}=useRoadmapCurrentSection(u);return(0,r.jsxs)(p.default,{href:"#"+o+"-content",onClick:e=>{var t;e.preventDefault(),null===(t=document.querySelector("#".concat(o,"-content")))||void 0===t||t.scrollIntoView({behavior:"smooth",block:"start"})},className:A()("p-2 sm:p-4 rounded-lg border border-body-1 dark:border-body-1/50","flex flex-col items-center",l,{"lg:col-span-2 xl:col-span-4 xl:px-8":2===i,"xl:col-span-2":1===i},s),children:[(0,r.jsx)("h3",{className:"font-bold text-center text-sm text-white lg:text-xl px-2 mb-4 sm:mb-6 lg:mb-4 xl:mb-2 max-w-[240px]",children:v}),(0,r.jsx)("span",{className:"grow"}),(0,r.jsxs)("div",{className:"flex justify-between gap-2 sm:gap-4 items-end w-full",children:[(0,r.jsxs)("ul",{className:"flex flex-col gap-2 text-xs lg:text-sm font-semibold shrink-0",children:[(0,r.jsxs)("li",{className:"flex items-center gap-2 text-white",children:[(0,r.jsx)(d.G,{className:"h-4 w-4 text-white",icon:c.X5b}),1===f&&"1 Step",f>1&&"".concat(f," Steps")]}),(0,r.jsxs)("li",{className:"flex items-center gap-2 text-white",children:[(0,r.jsx)(d.G,{className:"h-4 w-4 text-white",icon:c.SZw}),1===g&&"1 Month",g>1&&"".concat(g," Months")]})]}),(0,r.jsx)("div",{className:"flex-grow"}),(0,r.jsx)("div",{className:"flex justify-end items-center",children:(0,r.jsx)(h(),{src:n,alt:v,width:120,height:120,className:"object-contain"})})]}),(0,r.jsxs)("div",{className:"hidden xl:flex w-full items-center justify-between gap-2 mt-4",children:[(0,r.jsx)(x.Z,{className:"grow w-auto",value:null!=m?m:0,max:100}),(0,r.jsxs)("span",{className:"text-xs text-white",children:[null!=m?m:0,"%"]})]})]})}var g=s(13767);let v=(0,a.memo)(function(){let[e,t]=(0,a.useState)(),s=(0,a.useRef)(e);return(0,a.useEffect)(()=>{let e=[];o.FX.forEach(t=>{let{key:s}=t;e.push(document.querySelector("#".concat(s,"-content")))});let getActiveItem=()=>{let t;for(let{key:s,id:r}of o.FX){let n=e[r-1].getBoundingClientRect();n&&n.top+100<window.innerHeight&&(t=s)}return t},handleScroll=()=>{let e=getActiveItem();e!==s.current&&(s.current=e,t(e))};return handleScroll(),window.addEventListener("scroll",handleScroll),window.addEventListener("resize",handleScroll),()=>{window.removeEventListener("scroll",handleScroll),window.removeEventListener("resize",handleScroll)}},[]),(0,r.jsx)(g.Z,{id:"qucik-sidenav",className:A()("flex xl:flex-col gap-4 max-xl:container p-1","max-w-full whitespace-nowrap"),children:o.FX.map(t=>(0,r.jsx)(RoadMapNavItem,{isActive:t.key===e,uiData:t},t.key))})}),RoadMapNavItem=e=>{let{uiData:t,isActive:s}=e,{bgClass:n,key:a,logo:l,title:i,id:o}=t,{section:{progress:c}={}}=useRoadmapCurrentSection(o);return(0,r.jsxs)(p.default,{id:"".concat(a,"-sidenav"),href:"#"+a+"-content",onClick:e=>{var t;e.preventDefault(),null===(t=document.querySelector("#".concat(a,"-content")))||void 0===t||t.scrollIntoView({behavior:"smooth",block:"start"})},style:{transitionProperty:"width, height",transitionDuration:"200ms",transitionTimingFunction:"linear",transitionDelay:"0"},className:A()("p-2 rounded-md w-14 h-14 flex flex-col shrink-0",n,"border border-body-1 dark:border-body-1/50",{"xl:w-20 xl:h-20 xl:p-4":!s,"xl:w-40 xl:h-40 xl:px-2 xl:pb-1 max-xl:outline-2 max-xl:outline-double max-xl:outline-body-1 dark:max-xl:outline-white":s}),children:[(0,r.jsx)("div",{className:"relative w-full h-full",children:(0,r.jsx)(h(),{src:l,alt:i,sizes:"120px",fill:!0,className:"object-contain"})}),s&&"number"==typeof c&&(0,r.jsxs)("div",{className:"w-full hidden xl:flex items-center justify-between gap-2 mt-2",children:[(0,r.jsx)(x.Z,{className:"grow w-auto",value:c,max:100}),(0,r.jsxs)("span",{className:"text-xs text-white",children:[c,"%"]})]})]})};var b=s(28285),y=s(70165),j=s(55764),w=s(38891),S=s(5925),N=s(68806),R=s(27173);let useRoadmapStepMissions=function(e){let{stepSlug:t}=e,{enabled:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,b.a)({queryKey:["roadmap/".concat(t,"/missions/")],queryFn:e=>{let{queryKey:t}=e;return w.pb.get(t[0]).json()},staleTime:12e4,enabled:s});return r},useRoadmapMissions=function(){let{enabled:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,b.a)({queryKey:["roadmap/missions/"],queryFn:e=>{let{queryKey:t}=e;return w.pb.get(t[0]).json()},staleTime:12e4,enabled:e});return t},useRoadmapSteps=function(){let{enabled:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,b.a)({queryKey:["roadmap/steps/"],queryFn:e=>{let{queryKey:t}=e;return w.pb.get(t[0]).json()},staleTime:12e4,enabled:e});return t},useRoadmapSections=function(){let{enabled:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,b.a)({queryKey:["roadmap/sections/"],queryFn:e=>{let{queryKey:t}=e;return w.pb.get(t[0]).json()},staleTime:12e4,enabled:e});return t},useRoadmapMissionStatusUpdate=function(e){let{onSuccess:t,stepSlug:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,y.NL)();return(0,j.D)({mutationFn:t=>w.pb.post("roadmap/missions/".concat(e,"/"),{json:t}).json(),onSuccess(n,a,l){s&&(r.setQueriesData(["roadmap/".concat(s,"/missions/")],t=>{if(t)return(0,R.Uy)(t,t=>{let s=findMission(e,t);s&&(s.status=n.status)})}),r.invalidateQueries({queryKey:["roadmap/".concat(s,"/missions/")]}),r.invalidateQueries({queryKey:["roadmap/sections/"]})),S.Am.success('Changed status to "'.concat(o.tz[n.status],'" successfully')),null==t||t()},onError(e,t,s){S.Am.error((0,N.Z)(e))}})},findMission=(e,t)=>{for(let s of t){if(s.slug===e)return s;if(s.children&&s.children.length>0){let t=findMission(e,s.children);if(t)return t}}};var k=s(40410);function RoadmapSectionTabs(e){let{activeId:t,onChange:s,steps:n}=e;return(0,r.jsx)(k.Z,{children:(0,r.jsx)("div",{className:"whitespace-nowrap flex gap-2 md:gap-4",children:n.map((e,n)=>{let{id:a,title:l}=e;return(0,r.jsxs)("button",{className:A()("px-4 py-2 border hover:bg-body-1/5 rounded-md","transition-colors duration-300",{"text-body-1/70":a!==t,"border-body-1":a===t}),onClick:()=>s(a),children:[(0,r.jsxs)("span",{className:"mr-2",children:[n+1,"."]}),l]},a+"-r")})})})}var C=s(97758),E=s(74006),M=s(74166),U=s(69089),B=s(85938),T=s(4033);function RoadmapMissionAction(e){let{mission:t,authStatus:s,step:n}=e,{status:a}=t,{icon:l,bgClass:i}=o.Rf[null!=a?a:1],c=Object.entries(o.Rf).map(e=>{let[t,s]=e;return{key:Number(t),...s}}),{mutate:u}=useRoadmapMissionStatusUpdate(t.slug,{stepSlug:n.slug});return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(B.Z,{align:"start",triggerElement:(0,r.jsx)("button",{disabled:"authorized"!==s,className:A()("w-6 h-6 flex items-center justify-center disabled:pointer-events-none","rounded-sm transition-colors disabled:opacity-50",i,{border:!l,"text-white":!!l}),children:l&&(0,r.jsx)(d.G,{icon:l})}),children:c.map(e=>{let{key:t,bgClass:s,icon:n,label:a}=e;return(0,r.jsxs)(T.E,{onClick:()=>u({status:t}),className:"text-sm",children:[(0,r.jsx)("span",{className:A()("me-1 w-6 h-6 flex items-center justify-center rounded-sm","pointer-events-none",s,{border:!n,"text-white":!!n}),children:n&&(0,r.jsx)(d.G,{className:"w-4 h-4",icon:n})}),a]},t)})})})}let X=(0,a.memo)(function(e){let{step:t}=e;return(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold mt-8 mb-4",children:t.title}),(0,r.jsx)("div",{className:"prose dark:prose-invert",children:(0,r.jsx)(C.U,{children:t.description})}),(0,r.jsx)("div",{className:"mt-4",children:(0,r.jsx)(RoadmapStepMissions,{step:t})})]})}),RoadmapStepMissions=e=>{let{step:t}=e,{authStatus:s}=(0,E.useAuth)(),{stepMissions:n}=useRoadmapCurrentStep(t.id),{data:a}=useRoadmapStepMissions({stepSlug:t.slug},{enabled:"authorized"===s}),l=null!=a?a:n;return 0===l.length?(0,r.jsx)("div",{className:"text-center",children:"No Missons Data!"}):(0,r.jsx)("div",{className:"flex flex-col",children:l.map(e=>(0,r.jsx)(RoadmapMissionItem,{mission:e,authStatus:s,step:t},e.id))})},RoadmapMissionItem=e=>{var t,s;let{mission:n,authStatus:l,step:i}=e,[o,u]=(0,a.useState)(!1),m=!!(n.description||(null===(t=n.children)||void 0===t?void 0:t.length));return(0,r.jsxs)("div",{className:"border-b last-of-type:border-b-transparent py-2",children:[(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsx)(RoadmapMissionAction,{authStatus:l,mission:n,step:i}),(0,r.jsxs)("h4",{children:[!n.url&&n.title,n.url&&(0,r.jsx)(p.default,{className:"text-primary",href:n.url,target:"_blank",children:n.title})]})]}),m&&(0,r.jsx)(M.Button,{onClick:()=>u(e=>!e),circle:!0,size:"sm",children:(0,r.jsx)(d.G,{className:A()("mt-1 h-5",{"rotate-180":o}),icon:c.gc2})})]}),m&&(0,r.jsx)(U.Z,{open:o,children:(0,r.jsx)("div",{className:"flex",children:(0,r.jsxs)("div",{className:"border-t px-4 lg:ps-8 lg:pe-6 py-2 mt-2",children:[n.description&&(0,r.jsx)("div",{className:"prose dark:prose-invert",children:(0,r.jsx)(C.U,{children:n.description})}),!!(null===(s=n.children)||void 0===s?void 0:s.length)&&(0,r.jsx)("div",{className:"flex flex-col",children:n.children.map(e=>(0,r.jsx)(RoadmapMissionItem,{mission:e,authStatus:l,step:i},e.id))})]})})})]},n.id)},Z=(0,a.memo)(function(e){var t,s;let{sectionId:n,uiData:l}=e,{section:i,steps:o}=useRoadmapCurrentSection(n),[c,d]=(0,a.useState)(null===(t=o[0])||void 0===t?void 0:t.id),u=o.find(e=>e.id===c),A=null!=i?i:l;return(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("h2",{className:"font-bold text-2xl mb-4",children:A.title}),(0,r.jsx)("div",{className:"prose dark:prose-invert mb-6",children:(0,r.jsx)(C.U,{children:null!==(s=null==A?void 0:A.description)&&void 0!==s?s:""})}),(0,r.jsx)(RoadmapSectionTabs,{steps:o,activeId:c,onChange:e=>d(e)}),u&&(0,r.jsx)(X,{step:u})]})});n.ZP.registerPlugin(l.i);var roadmap_RoadmapContent=e=>{let{authStatus:t}=(0,E.useAuth)(),s="authorized"===t,{data:n}=useRoadmapSections({enabled:s}),{data:a}=useRoadmapSteps({enabled:!1}),{data:l}=useRoadmapMissions({enabled:s}),i=null!=n?n:e.sections,o=null!=a?a:e.steps,c=null!=l?l:e.missions;return i&&o&&c?(0,r.jsx)(RoadmapProvider,{sections:i,steps:o,missions:c,children:(0,r.jsx)(RoadmapContentInner,{})}):(0,r.jsx)("div",{className:"container",children:(0,r.jsx)(RoadmapContentSkeleton,{})})};function RoadmapContentInner(){let e=(0,a.useRef)(null),t=(0,a.useRef)(null),[s,i]=(0,a.useState)(!1);return(0,a.useLayoutEffect)(()=>{let s=n.ZP.context(()=>{let s=n.ZP.timeline({});s.fromTo(t.current,{opacity:1,xPercent:0,yPercent:0},{opacity:0,xPercent:-20,yPercent:20,duration:2e3,scale:.6,ease:"power1.in"},0),s.fromTo("#qucik-sidenav",{opacity:0,scale:.5,x:200,y:-500},{y:0,opacity:1,scale:1,x:0,duration:800,ease:"power1.in"},1200),s.fromTo("#content-wrapper",{opacity:0},{opacity:1,duration:800},1200),l.i.create({animation:s,trigger:e.current,start:"top 80px",end:"+=400px",scrub:.8}),i(!0)},e);return()=>{s.revert()}},[]),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("div",{className:A()("absolute transition-opacity duration-500 inset-0",{hidden:s}),children:(0,r.jsx)("div",{className:"container",children:(0,r.jsx)(RoadmapContentSkeleton,{})})}),(0,r.jsxs)("div",{className:A()("relative transition-opacity duration-500",{"opacity-0":!s}),ref:e,children:[(0,r.jsx)("div",{className:"sticky top-8",children:(0,r.jsx)("div",{className:"container",children:(0,r.jsxs)("section",{ref:t,className:"my-8 relative",children:[(0,r.jsx)(RoadmapGrid,{}),(0,r.jsx)("p",{className:"mt-14 text-center",children:"By progressing through these stages, you'll develop a robust skill set and deep expertise, positioning yourself for success across various data-driven roles and career paths."})]})})}),(0,r.jsxs)("div",{id:"content-wrapper",className:"relative z-10",children:[(0,r.jsx)("div",{className:"h-[25vh]"}),(0,r.jsxs)("div",{className:"xl:container flex max-xl:flex-col pb-24",children:[(0,r.jsx)("div",{className:"xl:pt-24 xl:shrink-0 xl:basis-56 sticky py-1 top-0 bg-background z-10 max-xl:border-b max-xl:-mb-20",children:(0,r.jsx)("div",{className:"w-full xl:max-h-[80vh] overflow-hidden xl:overflow-auto xl:overflow-x-hidden xl:pe-6 xl:border-e xl:sticky xl:top-24 xl:left-0",children:(0,r.jsx)(v,{})})}),(0,r.jsx)("div",{className:"max-xl:container min-w-0 grow bg-background/80 flex flex-col xl:ps-6",children:o.FX.map(e=>{let{id:t,key:s}=e;return(0,r.jsx)("div",{id:s+"-content",className:"pt-24 max-xl:pt-24 min-h-screen",children:(0,r.jsx)("div",{className:"cm-card cm-card-body",children:(0,r.jsx)(Z,{sectionId:t,uiData:e})})},s)})})]})]})]})]})}let RoadmapGrid=()=>(0,r.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-8 gap-4 lg:gap-6",children:o.FX.map(e=>(0,r.jsx)(RoadmapBox,{uiData:e},e.key))}),RoadmapContentSkeleton=()=>(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-6 my-8",children:o.FX.map(e=>(0,r.jsx)(i.Z,{className:"h-52"},e.key))}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"}),(0,r.jsx)(i.Z,{className:"h-[75vh] my-4"})]})},11915:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return RoadmapStartLink}});var r=s(57437),n=s(74166),a=s(53966);function RoadmapStartLink(){return(0,r.jsx)(n.Button,{as:a.default,href:"#research-content",onClick:e=>{var t;e.preventDefault(),null===(t=document.querySelector("#research-content"))||void 0===t||t.scrollIntoView({behavior:"smooth",block:"start"})},color:"primary",variant:"solid",children:"Start Now!"})}},91837:function(e,t,s){"use strict";s.d(t,{Lf:function(){return d},T5:function(){return c},b7:function(){return l},r8:function(){return i},wy:function(){return u},xo:function(){return a},yp:function(){return o}});var r,n=s(62601);let a="accessToken",l="refreshToken",i=!1;n.env.USE_MOCK_DATA;let o=null!==(r=n.env.SITE_ORIGIN)&&void 0!==r?r:"https://pytopia.ai";n.env.HOTJAR_ID;let c="https://api.pytopia.ai/api/v1/",d="wss://api.pytopia.ai/ws/v1/",u="/courses?_s=~%28status~%28~%27is_registration_closed%29%29"},16914:function(e,t,s){"use strict";s.d(t,{tz:function(){return n},Rf:function(){return a},FX:function(){return l}});var r=s(62896);let n={1:"To Do",2:"In Progress",3:"Skipped",4:"Done"},a={1:{label:"To Do",icon:null,bgClass:"hover:bg-body-1/10"},2:{label:"In Progress",icon:r.SZw,bgClass:"bg-yellow hover:bg-yellow-focus"},3:{label:"Skipped",icon:r.ccb,bgClass:"bg-neutral hover:bg-neutral-focus"},4:{label:"Done",icon:r.LEp,bgClass:"bg-green hover:bg-green-focus"}},l=[{id:1,key:"research",title:"Foundational Knowledge",order:1,colSpan:1,steps:4,months:1,logo:{src:"/_next/static/media/research_logo.8d7ea805.png",height:1080,width:1080,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAUVBMVEVMaXG6gjnkskjVmTjou1TgrUnluU+dgWjkuVHis1HepyloXVuUin97cGyxqKfCubLPkS/hsTzSkyLqwWTirDTWoD/SlyPvy0vVoTbXysP0zU22YdeGAAAAGHRSTlMAsHtaJEsOBT816IYw8teMa/m+Y7qR8elAl8xhAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAQElEQVR4nB3GSRKAIAwAwQECSXDBXfT/D7XKPjWQZXegmCeXWCBv9cgCdq73G83QdNW+uIGGHhRA56fxb5hG4ANHCgH33DeXsAAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:8},logoSecondary:void 0,icon:r.YZW,bgClass:"bg-dirty-roadmap_research/[100%]",colorClass:"text-dirty-roadmap_research"},{id:2,key:"apply",title:"Programming Skills",order:2,colSpan:1,steps:6,months:4,logo:{src:"/_next/static/media/apply_logo.77c3be7e.png",height:1080,width:1080,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAeFBMVEWBquSQV4VwneD/k2AlyOPIhnfSlYrrfV9KyuF8y+P/q3SlcWm9kZL/w7hJvuZzisd/jMCojX//zL1+mNdsnN29kqXrVGm6RDf2ZXldWZ/oTW5QY7LXXGJSbLRVeLxbgMJufsJ1oeFQdcjFoJn7WmjhV1WMret6k9fUuccEAAAAInRSTlMB++ecDf4+HFEY3nf3tYfA7HDo/q731EqXukXxgs67g/6UTO2n2AAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAENJREFUeJwVwYURgDAAALGnUMPdtdj+G3IkoP1Q84ukVIGxUJyxMqkBWyYEFsa2ybP6gP7yXPUImG/P7a8A3Q3Tsm58XAQDcVpN99UAAAAASUVORK5CYII=",blurWidth:8,blurHeight:8},logoSecondary:void 0,icon:r.OXK,bgClass:"bg-dirty-roadmap_apply/[100%]",colorClass:"text-dirty-roadmap_apply"},{id:3,key:"admission",title:"Junior Stage",order:3,colSpan:2,steps:5,months:8,logo:{src:"/_next/static/media/admission_logo.95ca66e0.png",height:1080,width:1080,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAVFBMVEVMaXFPV4BUWXIsOX1qaHJSUF3///Z6f5Hs7P9cYoI/S41pYHCyiWxCTpQ3N0JwYls0LzKOi5ElKThKTXpARFxFSFQrMFIdJVNla4ZWX6B9fHVNTlnTPDQwAAAAG3RSTlMAVPL5ucMODgaVxuCg32/07M/Z2NepnfLT0qAfpw3iAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAPklEQVR4nCWLSRaAIBSAUNOvlc0O1f3v2dPYwAaAYeRnnrrELW/wgNvtaltwn5tWgDLlMFGg6pyu0OYHxPMBM4QBt9j9XiAAAAAASUVORK5CYII=",blurWidth:8,blurHeight:8},logoSecondary:void 0,icon:r.mvc,bgClass:"bg-dirty-roadmap_admission/[100%]",colorClass:"text-dirty-roadmap_admission"},{id:4,key:"arrival",title:"Mid-Level Stage",order:4,colSpan:1,steps:5,months:3,logo:{src:"/_next/static/media/arrival_logo.9ee8b4b9.png",height:1080,width:1080,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAeFBMVEVYekshHBUsIT3/UA6+ghZIQTxLR0lZkn9bRjDtmAb/Uhn/QglhoLYA1f9jeYYUsON8q4h7lW6Idk99XC95bGl5jnmwcibBdhV6SApZQiX/zifTnTGPXBFfRzbfvlP/shYAAB2MeG6ufyXAn0xuu6N6VyzUkhPerEHsUWr0AAAAIXRSTlMBHQwj/k78/Pr+UDbSN/FLlp9w+/lU77KM33PhsGvo/RMf8XB/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAARUlEQVR4nBXGVRKAIABAwYcCit0dgxj3v6HDfi2QJiFeWdgs96mj6K6Apn1i2/UwvPJy7lgYL2Pk+a0oPc16i3cQBCoQ/HU5A30v37kFAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:8},logoSecondary:void 0,icon:r.Yif,bgClass:"bg-dirty-roadmap_arrival/[100%]",colorClass:"text-dirty-roadmap_arrival"},{id:5,key:"study",title:"Senior Stage",order:5,colSpan:2,steps:4,months:1,logo:{src:"/_next/static/media/study_logo.c2064dd7.png",height:1080,width:1080,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAY1BMVEXXa3SujZbMIjLWJjTBCCDBV1mLip3t6dPIYIO6UWbNIj/tYIyQe0zvwM3iOJvXeTbiY4jjhB3szGeQhpbCs7jv3+Ph0tXIl5yRjJ2bpbPRSFjRgomDQEuUk6L5smObUFmrq7hw094zAAAAG3RSTlMB/EKDEJEoLi74lEf2wxJBy/SH5/nxVva18qFPAQsrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAQklEQVR4nB2LVw6AIBTAigo+XLgXrvuf0jy+miYtAKU9C+W6RSPqy2sOB3Ub528H6f11Tw66MDQ+13R8bJWlV9L6A1t6AmNANp3jAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:8},logoSecondary:void 0,icon:r.KtD,bgClass:"bg-dirty-roadmap_study/[100%]",colorClass:"text-dirty-roadmap_study"},{id:6,key:"graduation",title:"Leadership Skills",order:6,colSpan:1,steps:4,months:1,logo:{src:"/_next/static/media/graduation_logo.98f86e00.png",height:1080,width:1080,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAb1BMVEW3faqmXdNxTMeidtheSWaGZ80rLjJzVsScZWO0dNKQWt+/bXa3cnbnnK3wprHDfMs7O0SzX1J2X2BcPUG+b9G2Xt1ROj6jbc5xPylLS0I8KSKdcdygg9l9Y4t6W6SUbtWCZ8ueWtOSXNyZe8B2XMCXbFcTAAAAJXRSTlMBxW7WfXySXDH19BxHgVbTr+KxOqPEyPB8G27yfG6k2Ermzn5FiHfhqgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUeJwlxsURgDAAAMGLh+DuTv81Mgz7WoA44aerOksBX1iaHHzZ2bGNgGHSq/iy3acSPWYJKuzXjDvcI500L1INAtlin268AAAAAElFTkSuQmCC",blurWidth:8,blurHeight:8},logoSecondary:void 0,icon:r.Xf_,bgClass:"bg-dirty-roadmap_graduation/[100%]",colorClass:"text-dirty-roadmap_graduation"}]},74166:function(e,t,s){"use strict";s.r(t),s.d(t,{Button:function(){return i}});var r=s(57437),n=s(54440),a=s.n(n),l=s(2265);function setRef(e,t){"function"==typeof e?e(t):e&&(e.current=t)}function useForkRef(e,t){return l.useMemo(()=>null==e&&null==t?null:s=>{setRef(e,s),setRef(t,s)},[e,t])}let i=l.forwardRef(function(e,t){let{as:s,color:n,variant:i,size:o,circle:c,disabled:d,autoFocus:u,square:A,className:m,fullWidth:h,...p}=e,x=(0,l.useRef)(null),f=useForkRef(x,null!=t?t:null),g=null!=s?s:"button";return(0,l.useEffect)(()=>{u&&x.current.focus()},[u]),(0,r.jsx)(g,{className:a()("cm-btn",{"cm-btn-primary":"primary"===n,"cm-btn-secondary":"secondary"===n,"cm-btn-neutral":"neutral"===n,"cm-btn-green":"green"===n,"cm-btn-blue":"blue"===n,"cm-btn-red":"red"===n,"cm-btn-yellow":"yellow"===n,"cm-btn-pink":"pink"===n},{"cm-btn-plain":"plain"===i,"cm-btn-solid":"solid"===i,"cm-btn-outlined":"outlined"===i,"cm-btn-soft":"soft"===i},{"cm-btn-xs":"xs"===o,"cm-btn-sm":"sm"===o,"cm-btn-md":"md"===o,"cm-btn-lg":"lg"===o,"cm-btn-xl":"xl"===o},{"cm-btn-square":A},{"cm-btn-circle":c},{"w-full":h},{"cm-btn-disabled":d},m),disabled:d,...p,ref:f})})},69089:function(e,t,s){"use strict";var r=s(57437),n=s(54440),a=s.n(n),l=s(2265),i=s(9805);let o=l.forwardRef(function(e,t){let{as:s,className:n,children:o,innerClassName:c,open:d,...u}=e,A=null!=s?s:"div";return(0,r.jsx)(i.u,{as:l.Fragment,show:d,enter:"overflow-hidden transition-[grid-template-rows] duration-300",enterFrom:"grid-rows-[0fr]",enterTo:"grid-rows-[1fr]",leave:"transition-[grid-template-rows] duration-300",leaveFrom:"grid-rows-[1fr]",leaveTo:"overflow-hidden grid-rows-[0fr]",unmount:!1,appear:!0,children:(0,r.jsx)(A,{className:a()("grid basis-full",n),...u,ref:t,children:(0,r.jsx)("div",{className:a()("min-h-0 min-w-0",c),children:o})})})});t.Z=o},53966:function(e,t,s){"use strict";s.r(t);var r=s(36775);t.default=r.Z},69044:function(e,t,s){"use strict";var r=s(57437),n=s(54440),a=s.n(n),l=s(2265);let i=l.forwardRef(function(e,t){let{as:s,className:n,value:l,max:i=1,children:o,barClassName:c,...d}=e,u=null!=s?s:"div";return(0,r.jsx)(u,{className:a()("cm-progress",n),...d,ref:t,children:(0,r.jsx)("span",{style:{transform:"translateX(".concat((l/i-1)*100,"%)")},className:a()("cm-progress-bar",c)})})});t.Z=i},85938:function(e,t,s){"use strict";var r=s(57437),n=s(29290),a=s(9805),l=s(2265),i=s(54440),o=s.n(i);let c=(0,l.forwardRef)(function(e,t){let{className:s,as:i,triggerElement:c,align:d,alignOffset:u,...A}=e,[m,h]=(0,l.useState)(!1),p=null!=i?i:"ul";return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)(n.fC,{open:m,onOpenChange:h,children:[(0,r.jsx)(n.xz,{asChild:!0,children:c}),(0,r.jsx)(n.Uv,{forceMount:!0,children:(0,r.jsx)(a.u,{show:m,children:(0,r.jsx)(n.VY,{asChild:!0,forceMount:!0,className:"z-60",alignOffset:u,align:d,sideOffset:4,children:(0,r.jsx)(a.u.Child,{enter:"transition ease-out duration-200",enterFrom:"transform opacity-0 scale-95",enterTo:"transform opacity-100 scale-100",leave:"transition ease-in duration-200",leaveFrom:"transform opacity-100 scale-100",leaveTo:"transform opacity-0 scale-90",children:(0,r.jsx)(p,{className:o()("cm-radixmenu-paper",s),...A})})})})})]})})});t.Z=c},4033:function(e,t,s){"use strict";s.d(t,{E:function(){return o}});var r=s(57437),n=s(54440),a=s.n(n),l=s(2265),i=s(29290);let o=l.forwardRef(function(e,t){let{as:s,className:n,isSelected:l,...o}=e,c=null!=s?s:"li";return(0,r.jsx)(i.Xi,{asChild:!0,children:(0,r.jsx)(c,{className:a()("cm-menu-item",{"bg-body-1/5":l},n),...o,ref:t})})})},13767:function(e,t,s){"use strict";var r=s(57437),n=s(2265),a=s(54440),l=s.n(a);let i=n.forwardRef(function(e,t){let{as:s,className:n,...a}=e,i=null!=s?s:"div";return(0,r.jsx)(i,{className:l()("overflow-x-scroll","overflow-y-visible","[&::-webkit-scrollbar]:hidden",n),...a,ref:t})});t.Z=i},40410:function(e,t,s){"use strict";s.d(t,{Z:function(){return Scroller}});var r=s(57437),n=s(54440),a=s.n(n),l=s(2265),i=s(74166),o=s(91279),c=s(62896),d=s(13767),u=s(16956);function Scroller(e){let{className:t="",children:s=null,scrollerClassName:n="",floatArrowBtns:A=!1,hideSlidersArrows:m,onInit:h,childrenWrapperClassName:p}=e,[x,f]=(0,l.useState)(null),[g,v]=(0,l.useState)(null),{showButtons:b,showStart:y,showEnd:j,handleClick:w}=(0,u.Z)({scrollerElement:x,contentElement:g});return(0,l.useEffect)(()=>{h&&h({isPrevDisabled:!y,isNextDisabled:!j,slidePrev(){y&&w("left")},slideNext(){j&&w("right")}})},[y,j]),(0,r.jsxs)("div",{className:a()("flex items-center gap-2 relative",t),children:[!m&&b&&(0,r.jsx)(i.Button,{onClick:()=>w("left"),disabled:!y,circle:!0,className:a()("transition-opacity duration-300",{"absolute right-0 bg-primary/20":A}),children:(0,r.jsx)(o.G,{className:"h-5",icon:c.EyR})}),(0,r.jsx)(d.Z,{ref:f,className:a()("block grow",n),children:(0,r.jsx)("div",{ref:v,className:a()("inline-flex",p),children:s})}),!m&&b&&(0,r.jsx)(i.Button,{onClick:()=>w("right"),disabled:!j,circle:!0,className:a()("transition-opacity duration-300",{"absolute left-0 bg-primary/20":A}),children:(0,r.jsx)(o.G,{className:"h-5",icon:c.yOZ})})]})}},16956:function(e,t,s){"use strict";var r=s(2265);t.Z=e=>{let{scrollerElement:t,contentElement:s}=e,[n,a]=(0,r.useState)(!1),[l,i]=(0,r.useState)(!1),[o,c]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{if(!t)return;let HandleResize=()=>{var e;let r=t.clientWidth,n=null!==(e=null==s?void 0:s.scrollWidth)&&void 0!==e?e:t.scrollWidth;n>r&&c(!0),(n<=r||window.innerWidth<=576)&&c(!1),handleScroll()},handleScroll=()=>{let{scrollLeft:e,scrollWidth:s,clientWidth:r}=t;0===e?a(!1):a(!0),e>=s-r-2?i(!1):i(!0)};HandleResize(),handleScroll();let e=new ResizeObserver(HandleResize);return e.observe(t),s&&e.observe(s),t.addEventListener("scroll",handleScroll),()=>{e.disconnect(),t.removeEventListener("scroll",handleScroll)}},[t,s]),{showStart:n,showEnd:l,showButtons:o,handleClick:e=>{if(!t)return;let{scrollLeft:s,clientWidth:r}=t,n=.75*r;t.scroll({left:s+("right"===e?n:-n),behavior:"smooth"})}}}},64652:function(e,t,s){"use strict";s.d(t,{Z:function(){return Skeleton}});var r=s(57437),n=s(54440),a=s.n(n);function Skeleton(e){let{className:t=""}=e;return(0,r.jsx)("div",{className:a()("cm-skeleton",t)})}},38891:function(e,t,s){"use strict";s.d(t,{pb:function(){return l}});var r=s(91837),n=s(11490);let getToken=()=>{let e=n.Z.get(r.xo);return e?"Bearer ".concat(e):null};getToken();let a=["get","put","post","patch","delete","head","options"];let HTTPError=class HTTPError extends Error{constructor(e,t){let s=e.status||0===e.status?e.status:"",r=e.statusText||"",n="".concat(s," ").concat(r).trim();super("Request failed with ".concat(n?"status code ".concat(n):"an unknown error")),this.name="HTTPError",this.response=e,this.request=t}};let l=(()=>{let fn=async(e,t)=>{var s,n,a;let l=e;if(l.startsWith("/"))throw Error("request url should not start with /");l=(null!==(s=null==t?void 0:t.prefixUrl)&&void 0!==s?s:r.T5)+l;let i=new Headers(null==t?void 0:t.headers),o=null==t?void 0:t.body;(null==t?void 0:t.json)&&(o=null!==(n=t.body)&&void 0!==n?n:JSON.stringify(t.json),i.set("content-type",null!==(a=i.get("content-type"))&&void 0!==a?a:"application/json"));{let e=getToken();e&&!i.has("Authorization")&&i.set("Authorization",e)}let c=await new Promise((e,s)=>{let r=setTimeout(()=>s("request timeout"),6e4);fetch(l,{...t,headers:i,body:o}).then(t=>{clearTimeout(r),e(t)}).catch(e=>s(e))});if(!c.ok){let e;try{e=await c.clone().json()}catch(e){}throw new HTTPError(Object.assign(c.clone(),{data:e}),new Request(l,{...t,body:o,headers:i}))}return c},fetcher=(e,t)=>{let s=fn(e,t);return Object.assign(s,{json:async()=>s.then(e=>204===e.status?null:e.json()),text:async()=>s.then(e=>204===e.status?"":e.text())})};return a.forEach(e=>{fetcher[e]=(t,s)=>fetcher(t,{method:e.toUpperCase(),...s})}),fetcher})();window.cmFetch=l,t.ZP=l},68806:function(e,t,s){"use strict";let getResponseErrorMsg=e=>{if("string"==typeof e)return e;if("object"==typeof e){var t;if(e.message)return e.message;if(e.detail)return e.detail;if(Array.isArray(e))return getResponseErrorMsg(e[0]);let[[s,r]=[]]=null!==(t=Object.entries(e))&&void 0!==t?t:[];if(s&&r)return s+" : "+getResponseErrorMsg(r)}};t.Z=e=>{var t,s,r;let n=null==e?void 0:null===(t=e.response)||void 0===t?void 0:t.data;if(n&&(null==e?void 0:null===(s=e.response)||void 0===s?void 0:s.status)<500){let e=getResponseErrorMsg(n);if(e)return e}return null!==(r=e.message)&&void 0!==r?r:"An error happended"}},74832:function(e,t,s){"use strict";s.r(t),t.default={src:"/_next/static/media/events-cover.97c5961e.png",height:480,width:1640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAMAAABSSm3fAAAAIVBMVEXQ09GkkJB7YmnXqIdnOTOafoDPvrK2hGfXp4qDWlGqmZtfFSxEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAGklEQVR4nGNgZ+ZgZmNgYGBg4WRiZWLkYgQAAk0APovVss4AAAAASUVORK5CYII=",blurWidth:8,blurHeight:2}},18487:function(e,t,s){"use strict";s.r(t),t.default={src:"/_next/static/media/roadmap-cover-3-secondary.1f7592ba.png",height:1080,width:1080,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAASFBMVEVMaXHiam+lzOu34fPMdn7qiJDmqK2Uv+WKKTiZzc2Sw+eyrb3ccXhzAA/kh4/lmp/ogoz4qrPBXWjhl53ytbr1naXhh4zrmZzmpIenAAAAFXRSTlMAfcUrMU77EwsCbGG4M77Y21Tg+P7zX61KAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAPUlEQVR4nBXLSRKAIAwF0UaB8J1wCt7/pla2/apBEpgAxDwZpKOwLlD8/VL0y5/RG2Cn15oR5Hts8Yi2h/w7ZAHC/O7p/AAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:8}},53997:function(e,t,s){"use strict";s.r(t),t.default={src:"/_next/static/media/roadmap-cover-3.75f129d1.png",height:480,width:1640,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAMAAABSSm3fAAAAFVBMVEUVAQFHBARvBgaEBwczAwNcBQWZCAhkB6CtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAE0lEQVR4nGNgYGBhZGViZmOAMQABVQAr9N6XygAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:2}}},function(e){e.O(0,[4511,922,6072,1620,8285,8326,2327,539,413,7108,9672,7758,9290,3549,9997,2971,2472,1744],function(){return e(e.s=16645)}),_N_E=e.O()}]);