1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8450],{8578:(e,t,o)=>{"use strict";o.d(t,{default:()=>c});var r=o(77066),a=o(38666),n=o(39743),i=o(46202),s=o(43352),l=o(70820),d=o(41568),u=o(68301);function c(){let{user:e,loading:t}=(0,s.As)(),{roles:o,loading:c}=(0,l.z)(),m=(0,a.Ym)(),p=(0,i.a8)(),g=(0,n.useSearchParams)(),h=(0,r.useRef)(0),S=(0,d.G2)(p)||(0,d.sU)(g);return(0,r.useEffect)(()=>{if(!S&&!t){if(!e)return void(0,u.yy)(null,m);(0,u.kj)(e,m)}},[e,m,t,p,S]),(0,r.useEffect)(()=>{if(S||t||c||!e)return;let r=++h.current;(async()=>{let t={roles:o};if((0,u.B0)(o).includes("student"))try{t.billing=await (0,u.yC)()}catch(e){console.warn("[SaleSmartly] Failed to load student billing context:",e)}r===h.current&&(0,u.Ky)(e,m,t)})()},[e,m,t,c,o,p,S]),null}},11714:(e,t,o)=>{"use strict";o.d(t,{ShareRouteOpenInAppOverlay:()=>u});var r=o(79490),a=o(77066),n=o(38666),i=o(39743),s=o(46202),l=o(41568),d=o(12252);function u(){let e=(0,i.useSearchParams)(),t=(0,s.a8)(),o=(0,n.Ym)(),u="1"===e.get("fromShare"),c=a.useMemo(()=>u?(0,l.gf)("/".concat(o).concat(t),e):null,[u,o,t,e]);return u&&c?(0,r.jsx)(d.A,{target:c,continueOnWebHref:(0,l.lp)(c),host:window.location.host}):null}},16032:(e,t,o)=>{Promise.resolve().then(o.bind(o,38642)),Promise.resolve().then(o.bind(o,74312)),Promise.resolve().then(o.bind(o,51313)),Promise.resolve().then(o.bind(o,77182)),Promise.resolve().then(o.bind(o,31313)),Promise.resolve().then(o.bind(o,68576)),Promise.resolve().then(o.bind(o,8578)),Promise.resolve().then(o.bind(o,33586)),Promise.resolve().then(o.bind(o,11714)),Promise.resolve().then(o.bind(o,70820)),Promise.resolve().then(o.bind(o,37694))},31313:(e,t,o)=>{"use strict";o.d(t,{default:()=>s});var r=o(79490),a=o(37694),n=o(74088),i=o(81215);function s(e){let{children:t,locale:o,messages:s}=e;return(0,r.jsx)(a.default,{locale:o,messages:s,timeZone:n.Z$,getMessageFallback:e=>{let{namespace:t,key:o}=e;return(0,i.v)(t,o)},children:t})}},33586:(e,t,o)=>{"use strict";o.d(t,{default:()=>g});var r=o(79490),a=o(77066),n=o(39162),i=o(46202),s=o(43352),l=o(36899),d=o(45339);let u="xpeak-salesmartly-mobile-offset";function c(){var e;return null!=(e=window.__SS_CHAT_SHADOWROOT__)?e:null}function m(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];let r=window.ssq;if(r){if("function"==typeof r.push)return void r.push(...t);r(...t)}}function p(){return window.matchMedia("(max-width: 767px)").matches}function g(){let e=(0,i.a8)(),{user:t,loading:o}=(0,s.As)(),g=(0,l.E)({pathname:e,user:t,loading:o}),h=(0,n.c)("common"),[S,y]=(0,a.useState)(!1),[b,w]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{let e=()=>w(p());e(),window.addEventListener("resize",e);let t=()=>{(()=>{let e=c();if(!e)return;(0,d.tf)(e);let t=p(),o=(0,d.Sv)((0,d.UR)(e));!function(e,t){let o=e.getElementById(u);if(!t){null==o||o.remove();return}let r=o;r||((r=document.createElement("style")).id=u,e.appendChild(r));let a=r.sheet;if(a){for(;a.cssRules.length>0;)a.deleteRule(0);a.insertRule("#ss-chat-wrapper { top: auto !important; left: auto !important; right: 12px !important; bottom: ".concat(t," !important; transition: none !important; }"),0)}}(e,(0,d.Fl)(g,t,o))})(),(()=>{let e=c();if(!e||!p())return y(!1);y((0,d.gt)(e))})()};t(),m("onOpenChat",()=>{p()&&y(!0)}),m("onCloseChat",()=>y(!1)),m("onReady",t);let o=new MutationObserver(t);o.observe(document.documentElement,{childList:!0,subtree:!0});let r=window.setInterval(t,800);return()=>{var t,a;o.disconnect(),window.clearInterval(r),window.removeEventListener("resize",e),null==(a=c())||null==(t=a.getElementById(u))||t.remove()}},[g]),b&&S)?(0,r.jsx)("button",{type:"button",onClick:()=>{m("chatClose"),y(!1)},"aria-label":h("close"),className:"fixed z-[2147483647] flex h-10 w-10 items-center justify-center rounded-full bg-black/55 text-white shadow-lg backdrop-blur-sm print:hidden active:bg-black/70 md:hidden",style:{top:"max(12px, env(safe-area-inset-top))",right:"max(12px, env(safe-area-inset-right))"},children:(0,r.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:(0,r.jsx)("path",{d:"M6 6l12 12M18 6L6 18",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round"})})}):null}},38642:(e,t,o)=>{"use strict";o.d(t,{default:()=>p});var r=o(79490),a=o(77066),n=o(37600),i=o(76907),s=o(82434);let l={token:{colorPrimary:"#FF6B6B",colorPrimaryHover:"#FF8F8F",colorPrimaryActive:"#FF4949",colorPrimaryBorder:"#FFCCCC",colorPrimaryBg:"#FFF5F5",colorPrimaryBgHover:"#FFE5E5",colorSuccess:"#3EE8B5",colorSuccessHover:"#6EE7B7",colorSuccessActive:"#0CB889",colorSuccessBorder:"#A7F3D0",colorSuccessBg:"#ECFDF8",colorSuccessBgHover:"#D1FAE8",colorWarning:"#FFA726",colorWarningHover:"#FCD34D",colorWarningActive:"#F59E0B",colorWarningBorder:"#FDE68A",colorWarningBg:"#FFFBEB",colorWarningBgHover:"#FEF3C7",colorError:"#EF5350",colorErrorHover:"#F87171",colorErrorActive:"#DC2626",colorErrorBorder:"#FECACA",colorErrorBg:"#FEF2F2",colorErrorBgHover:"#FEE2E2",colorInfo:"#6BCEF5",colorInfoHover:"#7DD3FC",colorInfoActive:"#38BDF8",colorInfoBorder:"#BAE6FD",colorInfoBg:"#F0F9FF",colorInfoBgHover:"#E0F2FE",colorLink:"#6BCEF5",colorLinkHover:"#7DD3FC",colorLinkActive:"#38BDF8",colorText:"#1E1E2C",colorTextSecondary:"#4B5563",colorTextTertiary:"#6E6E7E",colorTextQuaternary:"#9CA3AF",colorTextDisabled:"#D1D5DB",colorTextHeading:"#1E1E2C",colorTextLabel:"#4B5563",colorTextDescription:"#6E6E7E",colorTextPlaceholder:"#9CA3AF",colorBgBase:"#FDFDFD",colorBg
1Container:"#FFFFFF",colorBgElevated:"#FFFFFF",colorBgLayout:"#F9FAFB",colorBgSpotlight:"#FFFFFF",colorBgMask:"rgba(0, 0, 0, 0.5)",colorBorder:"#E5E7EB",colorBorderSecondary:"#F3F4F6",colorSplit:"#E5E7EB",colorFill:"#F3F4F6",colorFillSecondary:"#F9FAFB",colorFillTertiary:"#FDFDFD",colorFillQuaternary:"#FFFFFF",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',fontFamilyCode:'"Fira Code", "Courier New", monospace',fontSize:16,fontSizeSM:14,fontSizeLG:18,fontSizeXL:20,fontSizeHeading1:48,fontSizeHeading2:36,fontSizeHeading3:24,fontSizeHeading4:20,fontSizeHeading5:18,fontWeightStrong:600,lineHeight:1.5,lineHeightSM:1.25,lineHeightLG:1.75,lineHeightHeading1:1.25,lineHeightHeading2:1.25,lineHeightHeading3:1.5,lineHeightHeading4:1.5,lineHeightHeading5:1.5,controlHeight:40,controlHeightSM:32,controlHeightLG:48,controlHeightXS:24,padding:16,paddingSM:12,paddingLG:24,paddingXS:8,paddingXXS:4,paddingContentHorizontal:16,paddingContentVertical:12,margin:16,marginSM:12,marginLG:24,marginXS:8,marginXXS:4,borderRadius:8,borderRadiusSM:4,borderRadiusLG:12,borderRadiusXS:2,borderRadiusOuter:8,boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",boxShadowSecondary:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",boxShadowTertiary:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",motionDurationFast:"0.15s",motionDurationMid:"0.25s",motionDurationSlow:"0.4s",motionEaseInOut:"cubic-bezier(0.4, 0, 0.2, 1)",motionEaseOut:"cubic-bezier(0, 0, 0.2, 1)",zIndexBase:0,zIndexPopupBase:1e3,screenXS:480,screenXSMin:480,screenXSMax:639,screenSM:640,screenSMMin:640,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:1023,screenLG:1024,screenLGMin:1024,screenLGMax:1279,screenXL:1280,screenXLMin:1280,screenXLMax:1535,screenXXL:1536,screenXXLMin:1536,opacityLoading:.6},components:{Button:{primaryColor:"#FFFFFF",primaryShadow:"0 4px 6px -1px rgba(255, 107, 107, 0.3)",defaultShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1)",dangerShadow:"0 4px 6px -1px rgba(239, 83, 80, 0.3)",fontWeight:500,fontWeightStrong:600,controlHeight:40,controlHeightLG:48,controlHeightSM:32,borderRadius:8,borderRadiusLG:12,borderRadiusSM:4,paddingContentHorizontal:20,paddingContentHorizontalLG:24,paddingContentHorizontalSM:16},Card:{borderRadius:12,borderRadiusLG:16,boxShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",paddingLG:24,padding:16,paddingSM:12},Input:{borderRadius:8,controlHeight:40,controlHeightLG:48,controlHeightSM:32,paddingBlock:8,paddingBlockLG:12,paddingBlockSM:4,paddingInline:12,paddingInlineLG:16,paddingInlineSM:8},Select:{borderRadius:8,controlHeight:40,controlHeightLG:48,controlHeightSM:32},Modal:{borderRadius:12,borderRadiusLG:16,boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.25)",contentBg:"#FFFFFF",headerBg:"#FFFFFF",footerBg:"#FFFFFF",padding:24,paddingLG:32,paddingMD:20,paddingSM:16},Table:{borderRadius:8,headerBg:"#F9FAFB",headerColor:"#1E1E2C",headerSplitColor:"#E5E7EB",rowHoverBg:"#FFF5F5",padding:16,paddingSM:12,paddingXS:8},Message:{borderRadius:8,contentBg:"#FFFFFF",contentPadding:"12px 16px"},Notification:{borderRadius:8,width:384,paddingContentHorizontal:16},Tabs:{itemActiveColor:"#FF6B6B",itemHoverColor:"#FF8F8F",itemSelectedColor:"#FF6B6B",inkBarColor:"#FF6B6B",titleFontSize:16,titleFontSizeLG:18,titleFontSizeSM:14},Badge:{dotSize:8,fontSize:14,fontSizeSM:12},Tag:{borderRadius:4,borderRadiusSM:2,defaultBg:"#F3F4F6",defaultColor:"#4B5563",fontSizeSM:12},Tooltip:{borderRadius:8,colorBgSpotlight:"#FFFFFF",colorTextLightSolid:"#111827",fontSize:14,paddingSM:12,padding:16,boxShadow:"0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1)"},Dropdown:{borderRadius:8,boxShadow:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",padding:4,paddingBlock:4},Menu:{borderRadius:8,itemBorderRadius:4,itemHeight:40,itemPaddingInline:16,itemSelectedBg:"#FFF5F5",itemSelectedColor:"#FF6B6B",itemHoverBg:"#FFF5F5",itemHoverColor:"#FF6B6B",itemActiveBg:"#FFE5E5"},Pagination:{borderRadius:4,itemSize:32,itemSizeSM:24,itemActiveBg:"#FF6B6B",itemActiveColor:"#FFFFFF",itemLinkBg:"#FFFFFF"},Switch:{trackHeight:24,trackHeightSM:16,trackMinWidth:44,trackMinWidthSM:28,trackPadding:2},Radio:{dotSize:8,radioSize:16,dotColorDisabled:"#D1D5DB"},Checkbox:{borderRadius:2,size:16,borderRadiusSM:2},Progress:{defaultColor:"#FF6B6B",remainingColor:"#F3F4F6",lineBorderRadius:100,circleTextFontSize:"1em"},Spin:{colorPrimary:"#FF6B6B",dotSize:20,dotSizeSM:14,dotSizeLG:32},Alert:{borderRadius:8,borderRadiusLG:12,withDescriptionPadding:"12px 16px",defaultPadding:"8px 12px"},Divider:{colorSplit:"#E5E7EB",fontSize:14,fontSizeLG:16},Steps:{dotSize:8,dotCurrentSize:10,iconSize:32,iconSizeSM:24,titleLineHeight:32},Breadcrumb:{fontSize:14,iconFontSize:14,itemColor:"#6E6E7E",lastItemColor:"#1E1E2C",linkColor:"#6BCEF5",linkHoverColor:"#7DD3FC",separatorColor:"#9
1CA3AF"},Form:{labelFontSize:14,labelColor:"#4B5563",labelHeight:32,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8,itemMarginBottom:24}},algorithm:[],cssVar:{prefix:"antd"},hashed:!0};var d=o(70120),u=o(5198),c=o(36284);let m={en:d.A,zh:u.A,ar:c.A};function p(e){var t;let{children:o,locale:u="en"}=e,[c,p]=(0,a.useState)(!1),g=null!=(t=m[u])?t:d.A;return((0,a.useEffect)(()=>{p(!0)},[]),c)?(0,r.jsx)(s.Z,{children:(0,r.jsx)(n.Ay,{theme:l,locale:g,direction:"ar"===u?"rtl":"ltr",children:(0,r.jsx)(i.A,{children:o})})}):(0,r.jsx)("div",{style:{minHeight:"100vh",display:"contents"},children:o})}},45339:(e,t,o)=>{"use strict";o.d(t,{Fl:()=>i,Sv:()=>n,UR:()=>d,VY:()=>m,gt:()=>l,tf:()=>c});var r=o(49886);let a=null;function n(e){return("number"==typeof e&&Number.isFinite(e)&&e>=36&&e<=80?e:56)+8}function i(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n(null),a=t?"student"===e?"calc(".concat(r.Wx,"px + max(env(safe-area-inset-bottom), ").concat(r.B3,"px) + 12px)"):"marketing"===e?"calc(4rem + max(env(safe-area-inset-bottom), 0px) + 12px)":"calc(12px + max(env(safe-area-inset-bottom), 0px))":null;return a?a.startsWith("calc(")&&a.endsWith(")")?"".concat(a.slice(0,-1)," + ").concat(o,"px)"):"calc(".concat(a," + ").concat(o,"px)"):null}function s(e,t){return t>=36&&t<=80&&e>=36&&e<=80}function l(e){let t=e.querySelector('#ss-chat-wrapper [class*="_chat_"]');if(!t)return!1;let o=t.getAttribute("style")||"";if(/display\s*:\s*none/i.test(o))return!1;let r=window.getComputedStyle(t);if("none"===r.display||"hidden"===r.visibility)return!1;let a=t.getBoundingClientRect();return a.width>80&&a.height>80}function d(e){let t=e.querySelector("#ss-chat-wrapper");if(!t)return null;if(!l(e)){let e=t.getBoundingClientRect();if(s(e.width,e.height))return a=e.height,e.height}for(let e of t.querySelectorAll('button, [role="button"], [class*="icon"], [class*="btn"], [class*="logo"]')){let t=e.getBoundingClientRect();if(!s(t.width,t.height))continue;let o=window.getComputedStyle(e);if("none"!==o.display&&"hidden"!==o.visibility)return a=t.height,t.height}return a}let u="xpeak-salesmartly-print-hide";function c(e){if(e.getElementById(u))return;let t=document.createElement("style");t.id=u,t.textContent="@media print { #ss-chat-wrapper, #ss-chat-wrapper * { display: none !important; visibility: hidden !important; } }",e.appendChild(t)}function m(e){if("undefined"==typeof document)return;let t=window,o=t.__SS_CHAT_SHADOWROOT__;if(o){c(o);let t=o.host;t instanceof HTMLElement&&t.style.setProperty("display",e?"none":"","important")}try{var r;null==(r=t.ssq)||r.push(e?"hideIcon":"showIcon")}catch(e){}["#s-chat-plugin",'[id*="salesmartly"]','[class*="salesmartly"]','iframe[src*="salesmartly"]','iframe[src*="slinkchat"]'].forEach(t=>{document.querySelectorAll(t).forEach(t=>{t instanceof HTMLElement&&(e?(t.dataset.aiSummaryPrintPrevDisplay=t.style.display,t.style.setProperty("display","none","important")):null!=t.dataset.aiSummaryPrintPrevDisplay&&(t.style.display=t.dataset.aiSummaryPrintPrevDisplay,delete t.dataset.aiSummaryPrintPrevDisplay))})})}},51313:(e,t,o)=>{"use strict";o.d(t,{default:()=>l});var r=o(77066),a=o(38666),n=o(34600),i=o(43352),s=o(36046);function l(){let e=(0,a.Ym)(),{user:t,loading:o}=(0,i.As)();return(0,r.useEffect)(()=>{if(o)return;let r=null==t?void 0:t.id;r&&(0,n.iD)()&&(0,s.$C)({storage:sessionStorage,userId:r,locale:e,update:()=>n.HJ.updateDisplayLanguageIfPresent(e)})},[o,null==t?void 0:t.id,e]),null}},68576:(e,t,o)=>{"use strict";o.d(t,{default:()=>p});var r=o(79490),a=o(77066),n=o(35401),i=o(55381),s=o(39162),l=o(46202),d=o(43352);let u=new Set(["password_changed","password_reset","account_secured","account_protection_started"]);function c(){let e=(0,s.c)("auth.forcedLogout"),t=(0,l.rd)(),{forcedLogoutReason:o,acknowledgeForcedLogout:a,protectAccount:c}=(0,d.As)(),m=o?"network_replaced"===o||"unknown_network_replaced"===o?"titleNetworkReplaced":"device_limit_replaced"===o?"titleDeviceLimit":"same_device_relogin"===o?"titleSameDeviceRelogin":u.has(o)?"titleSecurityUpdated":"titleDefault":"titleDefault";return(0,r.jsx)(n.A,{open:null!=o,closable:!1,maskClosable:!1,keyboard:!1,title:e(m),footer:[(0,r.jsx)(i.Ay,{onClick:()=>{c()},children:e("notMe")},"protect"),(0,r.jsx)(i.Ay,{type:"primary",onClick:()=>{a(),t.push("/auth/login")},children:e("relogin")},"relogin")],children:(0,r.jsx)("p",{className:"m-0 text-[15px] leading-6 text-neutral-700",children:e("description")})})}var m=o(70112);function p(e){let{children:t}=e,o=(0,a.useCallback)(()=>{(0,m.FP)()},[]);return(0,r.jsxs)(d.OJ,{onSignOut:o,children:[t,(0,r.jsx)(c,{})]})}},74312:(e,t,o)=>{"use strict";o.d(t,{default:()=>i});var r=o(77066),a=o(38666),n=o(2125);function i(){let e=(0,a.Ym)();return(0,r.useEffect)(()=>{(0,n.R)(e)},[e]),null}},77182:(e,t,o)=>{"use strict";o.d(t,{default:()=>d});var r=o(79490),a=o(43352),n=o(8637),i=o(39162),s=o(77066),l=o(61837);function d(){let{isImpersonating:e,endImpersonation:t,user:o}=(0,a.As)(),d=(0,i.c)("impersonation"),u=(0,s.useRef)(null);if((0,s.useLayoutEffect)(()=>{let t=document.documentElement;if(!e){t.removeAttribute("data-impersonating"),t.style.removeProperty(n.Qg);return}let o=()=>{var e;let o=null==(e=u.current)?void 0:e.offsetHeight;t.setAttribute("data-impersonating","true"),t.style.setProperty(n.Qg,o?"".concat(o,"px"):n.$e)};o();let r=new ResizeObserver(o);return u.current&&r.observe(u.current),()=>{r.disconnect(),t.removeAttribute("data-impersonating"),t.style.removeProperty(n.Qg)}},[e]),!e)return null;
1let c=async()=>{await t(),window.opener?window.close():window.location.href="/auth/login"};return(0,r.jsx)("div",{ref:u,role:"status","aria-live":"polite",className:"fixed top-0 left-0 right-0 z-[9999] bg-amber-400 text-amber-900 px-4 py-2 shadow-md",children:(0,r.jsxs)("div",{className:"flex items-center justify-between max-w-screen-xl mx-auto gap-4",children:[(0,r.jsx)("span",{className:"text-sm font-medium",children:d("banner",{email:(null==o?void 0:o.email)||"-"})}),(0,r.jsx)(l.qg,{variant:"outline",size:"small",onClick:c,className:"shrink-0 border-amber-700 text-amber-900 hover:bg-amber-500",children:d("exit")})]})})}},81215:(e,t,o)=>{"use strict";o.d(t,{v:()=>a});let r={"tutor.earnings.paidOut":"Paid Out","tutor.earnings.pendingPayout":"Pending Payout","tutor.earnings.availableToRequest":"Available to Request","tutor.layout.mainMenu":"Main Menu","tutor.layout.generalSection":"GENERAL","tutor.layout.breadcrumbHome":"Home","tutor.layout.breadcrumbTutorDashboard":"Tutor Dashboard","tutor.layout.breadcrumbAiSummary":"AI Summary","header.breadcrumbAiSummary":"AI Summary","student.lessons.aiSummaryPaceTierTooSlow":"Too slow","student.lessons.aiSummaryPaceTierModerate":"Moderate","student.lessons.aiSummaryPaceTierNativeLike":"Native-like","student.lessons.aiSummaryPaceTierTooFast":"Too fast","student.lessons.aiSummaryHeroSubNewWords":"You nailed {n} key words this lesson â the core points are sticking. \uD83D\uDC4D","student.lessons.aiSummaryHeroSubGrammarScore":"Your grammar score sat around {score} this time â treat it as a baseline and compare next lesson.","student.lessons.aiSummaryHeroSubGrammarUp":"Your grammar score landed at {score} this time, {delta} higher than last lesson â the rules are turning into instinct. Solid lift.","student.lessons.aiSummaryHeroSubGrammarDown":"Your grammar score hovered around {score} this time, {delta} lower than last lesson â don't worry, that little wobble often shows up right before a breakthrough.","student.lessons.aiSummaryHeroSubGrammarStable":"Your grammar score held at {score}, matching last lesson â steady rhythm. Next, try making the phrasing a bit more natural.","student.lessons.aiSummaryHeroSubTalkHealthy":"You spoke for {student}% of class time â right in the {minStudent}%-{maxStudent}% comfort zone. Keep that interaction going.","student.lessons.aiSummaryHeroSubTalkBelow":"You spoke for {student}% of class time. If we can get interaction above {minStudent}%, your feel for the language will settle more.","student.lessons.aiSummaryHeroSubTalkAbove":"You spoke for {student}% of class time, above {maxStudent}% â great energy. Leave a bit more room to catch the tutor's model.","student.lessons.aiSummaryHeroSubPaceWpm":"You're at {wpm} words per minute â right in the moderate {min}â{max} band. Next, try a slightly faster improvised turn.","student.lessons.aiSummaryHeroSubPaceTooSlow":"You're at {wpm} words per minute, below the moderate band of {min}. Try fewer pauses and finishing a thought in one go.","student.lessons.aiSummaryHeroSubPaceModerate":"You're at {wpm} words per minute â right in the moderate {min}â{max} band. Next, try a slightly faster improvised turn.","student.lessons.aiSummaryHeroSubPaceNativeLike":"You're at {wpm} words per minute â in the native-like {min}â{max} band. Keep it clear, then add a bit more improvisation.","student.lessons.aiSummaryHeroSubPaceTooFast":"You're at {wpm} words per minute, above {max} â a bit fast. Slow half a beat and bite the key words so they're easier to follow.","student.lessons.aiSummarySpeakingRangeHint":"speaking range: moderate {moderateMin}â{moderateMax}, native-like {nativeMin}â{nativeMax} wpm","student.lessons.aiSummaryGrammarScoreBreakdownBase":"Base score","student.lessons.aiSummaryGrammarScoreBreakdownAccuracy":"Accuracy","student.lessons.aiSummaryGrammarScoreBreakdownError":"Grammar error","student.lessons.aiSummaryGrammarScoreBreakdownFewErrors":"Fewer errors bonus","student.lessons.aiSummaryGrammarScoreBreakdownSomeErrors":"Some errors bonus","student.lessons.aiSummaryGrammarScoreBreakdownVariety":"Sentence variety","student.lessons.aiSummaryGrammarScoreBreakdownCohesion":"Cohesion","student.lessons.aiSummaryGrammarScoreBreakdownTotal":"Total","student.lessons.aiSummaryGrammarScoreBreakdownTotalPoints":"{n} pts","student.lessons.aiSummaryVocabSynonymHeading":"Synonyms & Alternatives","student.lessons.aiSummaryVocabSynonymSuggestedPrefix":"Alternatives for","student.lessons.aiSummaryVocabCollocationCorrectionsHeading":"Collocation Corrections","student.lessons.aiSummaryVocabExpressionUpgradesHeading":"Expression Upgrades","student.lessons.aiSummaryVocabExpressionUpgradesEmpty":"No expression upgrades for this lesson yet.","student.lessons.aiSummaryDownloadPdf":"Download PDF","student.lessons.aiSummaryPrintTitle":"Xpeak","aiTopic.downloadPdf":"Download PDF","aiTopic.printTitle":"Xpeak","aiTopic.moreActions":"More","student.lessons.aiSummaryVocabMoreActions":"More","student.lessons.aiSummaryVocabRemoveFromList":"Remove","student.lessons.aiSummaryVocabDiscardConfirmTitle":"Remove this word?","student.lessons.aiSummaryVocabDiscardConfirm":"Remove this word from Summary?","student.lessons.aiSummaryVocabDiscardConfirmOk":"Remove","student.lessons.aiSummaryVocabDiscardConfirmCancel":"Cancel","student.lessons.aiSummaryVocabDiscardFailed":"Could not remove this word. Please try again.","student.lessons.aiSummaryVocabSynonymEmpty":"No synonyms or alternatives for this word.","student.lessons.aiSummaryVocabCollocationCorrectionsEmpty":"No collocation corrections for this lesson.","student.lessons.aiSummaryGrammarConnectorsRecommend":"Connectors recommend","student.lessons.aiSummaryGrammarConnectorsRecommendEmpty":"No recommended connectors yet.","student.lessons.aiSummaryGrammarConnectorNoExample":"No example for this connector.","student.lessons.aiSummaryLevelPromptTitle":"Make Summary more accurate","student.lessons.aiSummaryLevelPromptBody":"After you fill in your level, Summary will be more accurate.","student.lessons.aiSummaryLevelPromptCta":"Complete your learning profile","student.lessons.aiSummaryLevelPromptSkip":"Skip","student.lessons.aiSummaryLevelPromptDontRemind":"Don't remind me again","student.lessons.aiSummaryGrammarErrorIndex":"Error {n}","student.lessons.aiSummaryGrammarWhyPrefix":"*whyï¼","student.lessons.aiSummaryGrammarRepeatedLead":"Repeated","student.lessons.aiSummaryGrammarRepeatedTail":"times this lesson.","student.lessons.aiSummarySpeechPronunciationHeading":"Fluency Pronunciation challenge","student.lessons.aiSummarySpeechIntonationStudent":"My intonation","student.lessons.aiSummarySpeechIntonationPlayStudent":"Play my clip","student.lessons.aiSummarySpeechIntonationPlayReference":"Native Standard","student.tutors.filterAcce
1ntEnglish":"Accent (English)","student.tutors.availabilityCalendar.slotNeedsTutorConfirmShort":"Tutor confirm","student.onboarding.goalsSelectedShort":"{n}/3 selected","student.wordMaze.dimensionReaction":"Reaction","student.wordMaze.sourceManual":"Manual","student.wordMaze.sourceAiTopic":"AI Topic","student.wordMaze.sourceLessonSummary":"Lesson summary","student.wordMaze.dimensionPuzzle":"Puzzle","student.wordMaze.dimensionCreation":"Creation","student.wordMaze.share":"Share","student.wordMaze.detailLoading":"Loading word details","student.wordMaze.goToSparkLab":"Go to Spark Lab to Fix","student.wordMaze.memoryTrace":"Memory Trace","student.wordMaze.knowledgeBreakdown":"Knowledge Breakdown","student.wordMaze.extension":"Extension","student.wordMaze.synonyms":"Synonyms","student.wordMaze.antonyms":"Antonyms","student.wordMaze.relationChipHoverManualAdd":"Manual entry \xb7 not in notebook","student.wordMaze.relationChipHoverInNotebook":"Already in your notebook","student.wordMaze.reactionTargeting":"Targeting: {lemma}","student.wordMaze.reactionTime":"Reaction time","student.wordMaze.reactionLoading":"Preparing prompts...","student.wordMaze.sparkSuccessEyebrow":"Spark success","student.wordMaze.sparkSuccessTitleIgnited":"{dimension} Spark Ignited!","student.wordMaze.sparkSuccessTitleEncourageOne":"Nice spark â keep going!","student.wordMaze.sparkSuccessTitleEncourageTwo":"Almost there â one more push!","student.wordMaze.sparkSuccessMastery":"Mastery progress","student.wordMaze.sparkSuccessPrimary":"Return to Ignite All","student.wordMaze.sparkSuccessNext":"Next word","student.wordMaze.sparkSuccessNextRemaining":"{count} left in this run","student.wordMaze.sparkSuccessRetry":"Try again","student.wordMaze.reactionSuccessAvgSpeed":"Avg. speed","student.wordMaze.puzzleSpellingAccuracy":"Spelling accuracy","student.wordMaze.puzzleClearGrid":"Clear grid","student.wordMaze.puzzleSuccessAccuracy":"Accuracy","student.wordMaze.creationAiApplication":"AI application","student.wordMaze.creationAiScenario":"AI scenario","student.wordMaze.creationScenarioDesc":"Create a sentence demonstrating your understanding of this word's meaning in a real-world context.","student.wordMaze.creationInputPlaceholder":'Use "{lemma}" in a sentence...',"student.wordMaze.creationSubmitSpark":"Submit Spark","student.wordMaze.creationAiFeedbackDefault":"Excellent usage! You captured the essence perfectly. Here's a Spark of mastery!","student.wordMaze.creationProceedToSettlement":"View Spark summary","student.wordMaze.creationSuccessEvaluation":"AI evaluation","student.wordMaze.creationMetricAccuracy":"Accuracy","student.wordMaze.creationMetricContext":"Context","student.wordMaze.creationMetricComplexity":"Complexity","tutor.students.viewProfile":"Learning profile","tutor.students.profileTitle":"Student profile","tutor.students.profileSubtitle":"Onboarding preferences and learning background shared by the student.","tutor.students.profileLoadError":"Couldn't load this student's profile.","tutor.students.profileBio":"About","tutor.students.profileBioEmpty":"No introduction yet.","tutor.students.overviewTitle":"Student overview","tutor.students.overviewTagsEmpty":"No tags yet.","tutor.students.overviewEditTagsNotes":"Edit tags & notes","tutor.tutorNotes.pinnedSection":"Pinned Note","tutor.tutorNotes.notesHistory":"Notes History","tutor.tutorNotes.notesLogged":"{count} Notes Logged","tutor.tutorNotes.previousNotes":"Previous notes","tutor.tutorNotes.nextNotes":"Next notes","tutor.tutorNotes.lastEdited":"Last Edited {datetime}","tutor.tutorNotes.relativeToday":"\xb7 Today","tutor.tutorNotes.relativeYesterday":"\xb7 Yesterday","tutor.tutorNotes.relativeDaysAgo":"\xb7 {count} days ago","tutor.tutorNotes.editNote":"Edit Note","tutor.tutorNotes.pinNote":"Pin Note","tutor.tutorNotes.unpinNote":"Unpin Note","tutor.tutorNotes.deleteNote":"Delete Note","tutor.tutorNotes.addNote":"Add Note","tutor.tutorNotes.focus":"Focus","tutor.tutorNotes.cancelEdit":"Cancel","tutor.tutorNotes.createSuccess":"Note created","tutor.tutorNotes.saveSuccess":"Note saved","tutor.tutorNotes.saveError":"Couldn't save. Please try again.","tutor.classReview.tabChat":"Chat","tutor.classReview.tabTranscript":"Transcript","tutor.classReview.tabWhiteboard":"Whiteboard","tutor.classReview.whiteboardLoading":"Loading whiteboardâ¦","tutor.classReview.whiteboardEmpty":"No whiteboard content for this lesson.","tutor.classReview.whiteboardError":"Failed to load whiteboard. Please try again later.","tutor.classReview.whiteboardSnapshotAt":"Final snapshot \xb7 {time}","recordingsDetail.tabChat":"Chat","recordingsDetail.tabTranscript":"Transcript","recordingsDetail.tabWhiteboard":"Whiteboard","recordingsDetail.whiteboardLoading":"Loading whiteboardâ¦","recordingsDetail.whiteboardEmpty":"No whiteboard content for this lesson.","recordingsDetail.whiteboardError":"Failed to load whiteboard. Please try again later.","recordingsDetail.whiteboardSnapshotAt":"Final snapshot \xb7 {time}","recordingsDetail.noLessonLinked":"This recording is not linked to a lesson.","lessons.video.annotationToolbarPen":"Pen","lessons.video.annotationToolbarHighlight":"Highlight","lessons.video.annotationToolbarLine":"Line","lessons.video.annotationToolbarCircle":"Circle","lessons.video.annotationToolbarErase":"Erase","lessons.video.annotationToolbarClear":"Clear","lessons.video.annotationToolbarSyncing":"Syncingâ¦","lessons.video.materialsMirrorAnnotationHint":"Annotation tools appear after you mirror.","lessons.video.materialsMirrorAnnotationHintPictureBook":"Annotation tools appear after you mirror, on the Story tab.","lessons.video.materialsStudentViewLabel":"Student view","lessons.video.materialsStudentViewAuto":"Auto","lessons.video.materialsStudentViewWeb":"Web","lessons.video.materialsStudentViewMobile":"Mobile","lessons.video.materialsStudentViewHint":"Match the canvas to how the student sees this topic. Auto uses their device (App â Mobile, browser â Web). Mobile also uses App compact type and spacing so annotations land closer to what they see.","lessons.video.materialsStudentViewHintAria":"About student view","lessons.video.materialsStudentViewProfileMissing":"No student profile received yet","lessons.video.materialsStudentViewProfileStatus":"Detected: {status}","lessons.video.annotationToolbarShow":"Annotate","lessons.video.annotationToolbarHide":"Exit","lessons.video.annotationToolbarZoomOut":"Zoom out","lessons.video.annotationToolbarZoomIn":"Zoom in","lessons.video.annotationToolbarZoomReset":"Reset zoom","lessons.video.annotationToolbarSizeThin":"Thin","lessons.video.annotationToolbarSizeMedium":"Medium","lessons.video.annotationToolbarSizeThick":"Thick","lessons.video.annotationToolbarColorRed":"Red","lessons.video.annotationToolbarColorYellow":"Yellow","lessons.video.annotationToolbarColorBlue":"Blue","lessons.video.annotationToolbarColorGreen":"Green","lessons.video.annotationToolbarColorBlack":"Black","browserCompat.bannerTitle":"Your browser may be too old for Xpeak","browserCompat.bannerBody":"Detected {browser} {current}. Real-time chat and video need at least version {required}. Please upgrade your browser.","browserCompat.bannerDismiss":"Dismiss","browserCompat.browserFamily.chrome":"Chrome","browserCompat.browserFamily.firefox":"Firefox","browserCompat.browserFamily.safari":"Safari","browserCompat.browserFamily.edge":"Edge","browserCompat.browserFamily.wechat":"WeChat","browserCompat.browserFamily.wecom":"WeCom","browserCompat.browserFamily.unknown":"Unknown browser","grace.chat.suggestions.skills.getNextLesson":"When is my next lesson?","grace.chat.suggestions.skills.getRemainingCredits":"How many lesson credits do I have left?","grace.chat.suggestions.skills.getRecentLessonSummary":"Where is my last lesson Summary?","grace.chat.suggestions.skills.searchTutors":"Help me find a tutor","grace.chat.suggestions.presets.recommendTutors":"Recommend a tutor for me","grace.chat.suggestions.presets.bookNextLesson":"Help me book a new lesson","grace.chat.suggestions.presets.buy
1MoreCredits":"I want to buy more lesson credits","grace.chat.actions.chooseTopic":"Topic courseware","grace.chat.actions.choosePictureBook":"Story picture book","grace.chat.actions.anythingIsFine":"Anything is fine","grace.chat.suggestions.presets.recommendAiTopics":"Recommend some materials for me","grace.chat.suggestions.presets.whatCanIImprove":"What else can I improve?","student.tutors.refinementModal.presets.ielts":"I want a tutor for IELTS","student.tutors.refinementModal.presets.forChild":"Find a tutor for my child","grace.chat.emptyWelcome.greeting":"Hi, I'm Grace.\n\nI help you get better at English and make more of Xpeak â find a tutor, book a lesson, or decide what to practice next.","grace.chat.emptyWelcome.browseTutorsTitle":"Browse tutors","grace.chat.emptyWelcome.browseTutorsDesc":"Pick a tutor and book your next lesson.","grace.chat.emptyWelcome.browseTutorsCta":"Browse tutors","grace.chat.actionAlreadyHandled":"This action was already completed.","grace.stream.traceTitle":"Looked into this","grace.stream.traceTitleLive":"Looking into this"};function a(e,t){var o;return null!=(o=r[e?"".concat(e,".").concat(t):t])?o:t}}},e=>{e.O(0,[8666,9397,186,9330,9654,3948,7169,2575,2224,9272,7211,1221,1837,3352,432,3853,1605,8908,7358],()=>e(e.s=16032)),_N_E=e.O()}]);
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.