1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[432],{4132:(e,t,n)=>{n.d(t,{n:()=>l});var r=n(79490);n(77066);var o=n(39162),a=n(46202),i=n(9313),c=n(8637);function l(e){let{onContinueOnWeb:t}=e,n=(0,o.c)("shareOverlay"),l=(0,a.a8)(),s=["/","/meet-grace","/pricing","/help","/support","/become-a-tutor","/word-maze","/topic-spark","/xpeakai","/career"].some(e=>l===e||(null==l?void 0:l.startsWith("".concat(e,"/")))),u=null==l?void 0:l.startsWith("/auth/");return(0,r.jsxs)("header",{className:"!fixed inset-x-0 top-0 z-[100] w-full shadow-sm md:hidden relative ".concat(s?"bg-cream":u?"bg-cream border-b-2 border-cream":"bg-token-surface border-b"," ").concat(c.nv),children:[u?(0,r.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 opacity-30",style:{backgroundImage:"radial-gradient(circle, #636162 1px, transparent 1px)",backgroundSize:"16px 16px"}}):null,(0,r.jsxs)("div",{className:"relative z-10 flex h-14 items-center justify-between px-4",children:[(0,r.jsx)(i.g,{href:"/",className:"h-6 w-auto"}),(0,r.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),t()},className:"shrink-0 rounded-full border border-[#E8DFD1] bg-white px-3 py-1.5 text-xs font-semibold text-[#85653d] shadow-sm transition-opacity hover:opacity-90",children:n("continueOnWeb")})]})]})}},4236:(e,t,n)=>{n.d(t,{BO:()=>d,nO:()=>s,xA:()=>u});var r=n(41568);let o="wechat-jssdk-script",a="https://res.wx.qq.com/open/js/jweixin-1.6.0.js",i=["checkJsApi"];function c(e,t){"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn("[WechatOpenLaunchApp]",e,null!=t?t:"")}let l=null;function s(e,t){return"xpeak.com.cn"===e&&/MicroMessenger/i.test(t)}function u(e,t){let n=(0,r.MN)(e);if("picture-book"===e.type&&t){let e=new URLSearchParams,r=t.get("lessonId"),o=t.get("module");r&&e.set("lessonId",r),o&&e.set("module",o);let a=e.toString();a&&(n="".concat(n,"&").concat(a))}return n}async function p(e,t){let n=e.replace(/\/+$/,""),r="".concat(n,"/api/v1/auth/wechat/js-sdk-signature?url=").concat(encodeURIComponent(t));try{let e=await fetch(r);if(!e.ok)return c("signature request failed",{status:e.status,url:t}),null;let n=await e.json();if(!n.appId||!n.openAppId||void 0===n.timestamp||!n.nonceStr||!n.signature)return c("signature payload incomplete",{url:t}),null;return{appId:n.appId,openAppId:n.openAppId,timestamp:n.timestamp,nonceStr:n.nonceStr,signature:n.signature}}catch(e){return c("signature request threw",{url:t,message:e instanceof Error?e.message:String(e)}),null}}async function d(e){let t="undefined"!=typeof navigator?navigator.userAgent:"";if(!s(e.host,t))return null;let n=function(e){try{let t=new URL(e);if("xpeak.com.cn"!==t.hostname)return null;return t.hash="",t.toString()}catch(e){return null}}(e.currentUrl);if(!n)return null;try{await (window.wx?Promise.resolve():(!l&&(l=new Promise((e,t)=>{let n=document.getElementById(o);if(n)return"true"===n.dataset.loaded?void e():(n.addEventListener("load",()=>e(),{once:!0}),void n.addEventListener("error",()=>{c("jweixin script load failed",{src:a}),t(Error("WeChat SDK load failed"))},{once:!0}));let r=document.createElement("script");r.id=o,r.src=a,r.async=!0,r.onload=()=>{r.dataset.loaded="true",e()},r.onerror=()=>{c("jweixin script load failed",{src:a}),t(Error("WeChat SDK load failed"))},document.head.appendChild(r)})),l))}catch(e){return c("sdk script load rejected",{message:e instanceof Error?e.message:String(e)}),null}let r=await p(e.apiBaseUrl,n);if(!r)return null;let u=window.wx;return u?new Promise(e=>{let t=!1,n=n=>{t||(t=!0,e(n))};u.error(e=>{c("wx.config error",{appId:r.appId,openAppId:r.openAppId,detail:e}),n(null)}),u.config({debug:!1,appId:r.appId,timestamp:r.timestamp,nonceStr:r.nonceStr,signature:r.signature,jsApiList:[...i],openTagList:["wx-open-launch-app"]}),u.ready(()=>n({appId:r.openAppId}))}):Promise.resolve(null)}},8637:(e,t,n)=>{n.d(t,{$e:()=>o,Qg:()=>r,nv:()=>a});let r="--impersonation-banner-height",o="48px",a="impersonation-offset-top"},9313:(e,t,n)=>{n.d(t,{g:()=>a});var r=n(79490);n(77066);var o=n(46202);function a(e){let{className:t,href:n,"aria-label":a="Xpeak AI"}=e,i=(0,r.jsxs)("svg",{width:"92",height:"28",viewBox:"0 0 396 122",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"h-full w-auto max-w-[92px]","aria-hidden":!0,
1children:[(0,r.jsx)("path",{d:"M101.521 0.467034C117.001 -0.0559935 126.272 18.3011 116.594 30.3899C110.688 37.7664 95.2593 48.4944 93.2254 56.9768C88.5556 76.4677 126.406 85.2871 120.339 107.324C116.605 120.877 100.285 125.533 89.783 116.4C83.4813 110.924 72.3827 100.114 67.2264 93.7473C64.282 90.1129 62.8113 85.3383 62.616 80.7366C62.1861 70.4184 62.9208 58.5216 63.1414 48.0676C63.3026 40.1847 62.2763 33.7667 67.9842 26.9954C73.132 20.8915 84.5138 9.38527 90.6346 4.37329C93.2198 2.2577 98.2094 0.577239 101.524 0.464105L101.521 0.467034ZM0.115996 20.7756C-1.67158 4.21792 17.6008 -6.41691 30.3826 4.35082C36.0112 9.09132 46.3324 19.3619 50.9598 25.0188C54.4555 29.2896 55.2561 33.8685 55.5701 39.1604C56.1301 48.6301 55.4768 59.1663 55.3269 68.718H55.3328C55.1886 78.0491 57.069 88.885 50.49 96.5784C45.7268 102.145 35.9802 112.056 30.3885 116.657C18.8003 126.192 1.21027 118.428 0.160918 103.361C-1.06635 85.7452 27.7216 76.7277 27.8631 60.6565C27.9984 45.2982 1.75654 35.9756 0.115996 20.7756Z",fill:"#FF6B6B"}),(0,r.jsx)("path",{d:"M152.854 51.0507C158.948 41.3926 172.37 40.3136 182.057 44.7216C200.951 53.3183 203.221 82.9489 187.959 96.1366C177.911 104.818 161.315 104.831 152.712 94.1347V114.247C152.711 114.722 151.685 117.194 151.351 117.725C147.767 123.479 137.118 121.942 136.085 114.743L136 49.7548C136.532 41.2125 150.037 40.1624 152.299 48.1825C152.423 48.6219 152.624 51.0421 152.854 51.0507ZM343.079 22.2704C344.89 13.4235 359.654 14.5956 359.654 23.9012V65.3778H359.657L382.246 44.5917C387.659 41.05 395.394 44.7416 394.562 51.5731C394.215 54.4126 392.584 55.7573 390.688 57.5946C386.83 61.3401 382.494 64.7061 378.548 68.3554L394.926 90.705C399.743 100.045 387.151 106.463 381.101 98.9179L366.567 78.6835L359.713 85.1103C359.343 88.7 360.159 92.808 359.296 96.2987C357.237 104.622 343.795 103.962 343 95.2567L343.079 22.2704ZM295.29 43.2157C315.931 38.8785 333.397 49.1144 334.673 71.0731C335.055 77.6415 335.159 87.5819 334.673 94.0878C333.876 104.739 318.222 104.24 317.971 94.1386L317.97 93.6532C314.001 98.7454 308.506 101.783 302.003 102.181C268.093 104.247 261.462 50.3234 295.29 43.2157ZM206.429 66.8886C211.283 34.796 260.551 33.2704 264.751 66.8466C265.157 70.0973 265.467 74.2014 262.292 76.2636C261.848 76.5531 259.858 77.4466 259.463 77.4472H223.332C223.752 81.6393 227.069 85.7179 230.912 87.4228C235.385 89.4083 240.852 89.4741 245.406 87.7099C249.287 86.2065 250.844 83.2365 255.648 84.039C257.473 84.3454 259.581 85.9795 260.338 87.6444C263.878 95.4449 251.477 100.341 245.559 101.476C222.495 105.886 202.822 90.7469 206.429 66.8886ZM168.133 88.1366C186.303 86.5959 184.834 54.1149 164.821 56.5487C147.374 58.6716 148.8 89.7739 168.133 88.1366ZM305.38 87.9735C323.599 86.4351 321.709 54.17 302.07 56.5487C284.66 58.6578 286.439 89.5716 305.38 87.9735ZM236 55.9921C229.373 55.9922 224 60.9171 224 66.9921H248C248 60.917 242.627 55.9921 236 55.9921Z",fill:"black"})]}),c="flex items-center shrink-0 h-[28.25px] w-[92px] ".concat(null!=t?t:"").trim();return n?(0,r.jsx)(o.N_,{href:n,className:c||void 0,"aria-label":a,children:i}):(0,r.jsx)("span",{className:c||void 0,children:i})}},41568:(e,t,n)=>{n.d(t,{Ej:()=>C,Fj:()=>g,G2:()=>c,KT:()=>a,MN:()=>d,Yn:()=>m,er:()=>u,fJ:()=>h,gf:()=>p,lp:()=>s,m3:()=>w,sU:()=>l,td:()=>f});let r=["en","zh","zh-Hant","es","pt-BR","ja","ko","tr","ar","vi","fr","de"],o=/^[A-Z0-9]{8}$/;function a(e){return"string"==typeof e&&r.includes(e)}function i(e){let t=String(e||"").trim();return t.length>0?t:null}function c(e){let t=e.split("/").filter(Boolean);return"share"===t[0]||t.length>=2&&"share"===t[1]&&a(t[0])}function l(e){return"1"===e.get("fromShare")}function s(e){switch(e.type){case"topic":return"/".concat(e.locale,"/student/grace/ai-topic/").concat(encodeURIComponent(e.id),"?mode=share");case"picture-book":return"/".concat(e.locale,"/student/grace/picture-books/").concat(encodeURIComponent(e.id));case"ai-summary":return"/".concat(e.locale,"/student/lessons/").concat(encodeURIComponent(e.id),"/ai-summary");case"tutor":return"/".concat(e.locale,"/student/tutors/").concat(encodeURIComponent(e.id));case"pricing":return"/".concat(e.locale,"/pricing");case"referral":return"/".concat(e.locale,"/auth/signup?ref=").concat(encodeURIComponent(e.code))}}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.origin;return"".concat(t.replace(/\/+$/,"")).concat("pricing"===e.type?"/".concat(e.locale,"/share/pricing"):"referral"===e.type?"/".concat(e.locale,"/share/referral/").concat(encodeURIComponent(e.code)):"/".concat(e.locale,"/share/").concat(e.type,"/").concat(encodeURIComponent(e.id)))}
1function p(e,t){let[n,...r]=e.split("/").filter(Boolean);if(!a(n))return null;if(1===r.length&&"pricing"===r[0])return{locale:n,type:"pricing"};if("student"===r[0]&&"grace"===r[1]&&"ai-topic"===r[2]){let e=i(r[3]?decodeURIComponent(r[3]):void 0);return e?{locale:n,type:"topic",id:e}:null}if("student"===r[0]&&"grace"===r[1]&&"picture-books"===r[2]){let e=i(r[3]?decodeURIComponent(r[3]):void 0);return e?{locale:n,type:"picture-book",id:e}:null}if("student"===r[0]&&"tutors"===r[1]){let e=i(r[2]?decodeURIComponent(r[2]):void 0);return e?{locale:n,type:"tutor",id:e}:null}if("student"===r[0]&&"lessons"===r[1]&&"ai-summary"===r[3]){let e=i(r[2]?decodeURIComponent(r[2]):void 0);return e?{locale:n,type:"ai-summary",id:e}:null}if("auth"===r[0]&&"signup"===r[1]&&t){var c;let e=function(e){let t=String(e||"").trim().toUpperCase();return o.test(t)?t:null}(null!=(c=t.get("ref"))?c:void 0);return e?{locale:n,type:"referral",code:e}:null}return null}function d(e){let t="locale=".concat(encodeURIComponent(e.locale));return"pricing"===e.type?"xpeak://share/pricing?".concat(t):"referral"===e.type?"xpeak://share/referral/".concat(encodeURIComponent(e.code),"?").concat(t):"xpeak://share/".concat(e.type,"/").concat(encodeURIComponent(e.id),"?").concat(t)}function f(e){var t,n,r,o;if("xpeak.com.cn"===e.host)return"cn";let a=(null==(t=e.headers)?void 0:t["cf-ipcountry"])||(null==(n=e.headers)?void 0:n["x-vercel-ip-country"])||(null==(r=e.headers)?void 0:r["x-country"]);if(a&&/^[a-z]{2}$/i.test(a))return a.toLowerCase();let i=null==(o=e.browserLocale)?void 0:o.split("-")[1];return i&&/^[a-z]{2}$/i.test(i)?i.toLowerCase():"us"}function m(e){let t=/^[a-z]{2}$/i.test(e)?e.toLowerCase():"us";return"https://apps.apple.com/".concat(t,"/app/id").concat("6775371322")}function h(e){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e||"")}function g(e){let t=e||"";return/iPhone|iPad|iPod/i.test(t)?"ios":/Android|HarmonyOS|OpenHarmony/i.test(t)?"android":"unknown"}function C(e){let t=e||"";return!!/Android|HarmonyOS|OpenHarmony/i.test(t)&&/Huawei|HarmonyOS|OpenHarmony|HMSCore/i.test(t)}function w(){return"https://appgallery.huawei.com/app/C117952261"}},41616:(e,t,n)=>{n.d(t,{J:()=>a});var r=n(79490),o=n(77066);function a(e){let{appId:t,extInfo:n,label:a,onLaunch:i,onError:c}=e,l=o.useRef(null);return o.useEffect(()=>{let e=l.current;if(!e)return;let t=()=>{null==i||i()},n=()=>{null==c||c()};return e.addEventListener("launch",t),e.addEventListener("error",n),()=>{e.removeEventListener("launch",t),e.removeEventListener("error",n)}},[i,c]),(0,r.jsx)("wx-open-launch-app",{ref:l,appid:t,extinfo:n,className:"block h-11 min-w-[12rem]",dangerouslySetInnerHTML:{__html:function(e){let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");return'<script type="text/wxtag-template"><style>\n .wechat-open-launch-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 2.75rem;\n min-width: 12rem;\n border: none;\n border-radius: 9999px;\n background-color: #FF6B6B;\n padding: 0 1.75rem;\n font-size: 0.875rem;\n font-weight: 700;\n line-height: 1;\n white-space: nowrap;\n text-transform: uppercase;\n letter-spacing: 0;\n color: #ffffff;\n box-shadow: 0 10px 24px rgba(255, 107, 107, 0.38);\n cursor: pointer;\n }\n </style><button type="button" class="wechat-open-launch-btn">'.concat(t,"</button><\/script>")}(a)}})}}}]);
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.