dsh-aha-tutor 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -1,4 +1,4 @@
1
- window.__ModuleLoader__.load({id:`dsh-aha-tutor`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("react/jsx-runtime"),a=e("@deepseek-ai/dsh-client-ui-primitives");var o=class extends Error{constructor(e,t){super(t),this.name=`ApiError`,this.code=e}};function s(e){async function t(t,n={}){let r;try{r=await e.call(`/aha-tutor`,t,n??{})}catch(e){throw new o(`network`,e?.message||`Connection to DSH failed`)}if(!r?.ok)throw new o(r?.error?.code??`failed`,r?.error?.message??`Request failed`);return r.value}async function n(e,{onPartial:n,onProgress:r,signal:i}={}){let a=e?.job;if(!a)return e;let s=0,c=a;for(;;){if(c.partial?.length&&(n?.(c.partial,s),s+=c.partial.length),c.progress&&r?.(c.progress),c.status===`done`)return c.result;if(c.status===`cancelled`||i?.aborted)throw new o(`cancelled`,`cancelled`);if(c.status===`failed`)throw new o(c.error?.code??c.status,c.error?.message??c.status);if(c.status===`missing`)throw new o(`missing`,`The task was lost; try again`);await new Promise(e=>{setTimeout(e,650)}),c=await t(`job/get`,{id:a.id,since:s})}}async function r(e,r,i){return n(await t(e,r),i)}function i(e){let n=typeof e==`string`?e:e?.id;return n?t(`job/cancel`,{id:n}).catch(()=>void 0):Promise.resolve()}return{call:t,follow:n,run:r,cancel:i}}function c(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error??Error(`read failed`)),r.onload=()=>{let e=String(r.result??``);t(e.slice(e.indexOf(`,`)+1))},r.readAsDataURL(e)})}function l(e,t,n=`application/json`){let r=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),i=document.createElement(`a`);i.href=r,i.download=e,document.body.append(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(r),5e3)}function u(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,document.body.append(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4)}let d=(0,r.createContext)(null);function f(){let e=(0,r.useContext)(d);if(!e)throw Error(`AppContext missing`);return e}function p(e,t=[]){let[n,i]=(0,r.useState)({loading:!0,error:null,value:void 0}),a=(0,r.useRef)(0),o=(0,r.useCallback)(()=>{let t=++a.current;i(e=>({...e,loading:!0,error:null})),Promise.resolve().then(e).then(e=>{a.current===t&&i({loading:!1,error:null,value:e})}).catch(e=>{a.current===t&&i(t=>({loading:!1,error:e,value:t.value}))})},t);return(0,r.useEffect)(()=>(o(),()=>{a.current+=1}),[o]),{...n,reload:o,setValue:e=>i(t=>({...t,value:typeof e==`function`?e(t.value):e}))}}function m(){let{api:e}=f(),[t,n]=(0,r.useState)({running:!1,progress:null,error:null}),i=(0,r.useRef)(null),a=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>i.current?.abort(),[]);let o=(0,r.useCallback)(async(t,r,{onPartial:o,existing:s}={})=>{i.current?.abort();let c=new AbortController;i.current=c,a.current=s?.id??null,n({running:!0,progress:null,error:null});try{let i={signal:c.signal,onPartial:o,onProgress:e=>{c.signal.aborted||n(t=>({...t,progress:e}))}},l=s?{job:s}:await e.call(t,r);l?.job?.id&&!c.signal.aborted&&(a.current=l.job.id);let u=await e.follow(l,i);return c.signal.aborted||n({running:!1,progress:null,error:null}),u}catch(e){throw c.signal.aborted||n({running:!1,progress:null,error:e}),e}},[e]),s=(0,r.useCallback)(()=>{i.current?.abort(),a.current&&e.cancel(a.current),a.current=null,n({running:!1,progress:null,error:null})},[e]);return{...t,run:o,cancel:s}}function h(e){let[t]=(0,r.useState)(()=>{if(!e)return!1;let t=`aha-tutor:once:${e}`;try{if(window.sessionStorage.getItem(t))return!1;window.sessionStorage.setItem(t,`1`)}catch{}return!0});return t}function g(e,t){let n=`aha-tutor:${e}`,[i,a]=(0,r.useState)(()=>{try{let e=window.localStorage.getItem(n);return e===null?t:JSON.parse(e)}catch{return t}});return(0,r.useEffect)(()=>{try{window.localStorage.setItem(n,JSON.stringify(i))}catch{}},[n,i]),[i,a]}function _(){let e=()=>{if(document.body?.hasAttribute(`data-ds-dark-theme`))return!0;let e=getComputedStyle(document.documentElement).colorScheme;return/dark/iu.test(e)&&!/light/iu.test(e)?!0:!document.body&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches===!0},[t,n]=(0,r.useState)(e);return(0,r.useEffect)(()=>{let t=window.matchMedia?.(`(prefers-color-scheme: dark)`),r=()=>n(e());t?.addEventListener?.(`change`,r);let i=new MutationObserver(r);return i.observe(document.body,{attributes:!0,attributeFilter:[`data-ds-dark-theme`]}),i.observe(document.documentElement,{attributes:!0,attributeFilter:[`style`,`data-ds-theme-source`]}),()=>{t?.removeEventListener?.(`change`,r),i.disconnect()}},[]),t}let v=/[^。!?!?;;\n]+[。!?!?;;]*\s*|\n+/gu;function y(e){let t=[];for(let n of String(e??``).matchAll(v)){let e=n[0].trim();if(e)if(e.length<=160)t.push(e);else for(let n=0;n<e.length;n+=140)t.push(e.slice(n,n+140))}return t}function b(){return typeof window<`u`&&`speechSynthesis`in window&&typeof window.SpeechSynthesisUtterance==`function`}function x(){return b()?window.speechSynthesis.getVoices().map(e=>({id:e.voiceURI,name:e.name,lang:e.lang,local:e.localService,default:e.default})):[]}function S(e){if(!b())return()=>void 0;let t=()=>e(x());return window.speechSynthesis.addEventListener?.(`voiceschanged`,t),()=>window.speechSynthesis.removeEventListener?.(`voiceschanged`,t)}function C(e,t){if(!b())return null;let n=window.speechSynthesis.getVoices();if(t){let e=n.find(e=>e.voiceURI===t);if(e)return e}let r=String(e||`zh-CN`).toLowerCase(),i=r.split(`-`)[0],a=e=>{let t=e.lang.toLowerCase().replace(`_`,`-`),n=0;if(t===r)n+=40;else if(t.startsWith(i))n+=25;else return-1;return i===`zh`&&r===`zh-cn`&&/tw|hk/u.test(t)&&(n-=10),/natural|neural|enhanced|premium|siri/iu.test(e.name)&&(n+=12),e.localService&&(n+=6),/xiaoxiao|tingting|yunxi|xiaoyi|lili|huihui/iu.test(e.name)&&(n+=4),n};return n.map(e=>({voice:e,value:a(e)})).filter(e=>e.value>=0).sort((e,t)=>t.value-e.value)[0]?.voice??null}function w(){let e=null;function t(t,{language:r,voiceId:i,rate:a=1,onSentence:s,sentences:c}={}){o();let l=Array.isArray(c)&&c.length?c.flatMap((e,t)=>y(e).map(e=>({text:e,owner:t}))):y(t).map((e,t)=>({text:e,owner:t})),u=Array.isArray(c)&&c.length?c.length:l.length;if(!b()||!l.length)return{done:Promise.resolve({completed:!0})};let d,f=new Promise(e=>{d=e}),p={sentences:l.map(e=>e.text),owners:l.map(e=>e.owner),total:u,index:0,paused:!1,cancelled:!1,rate:a,language:r,voiceId:i,resolveDone:d,onSentence:s};return e=p,n(p),{done:f}}function n(t){if(t.cancelled||t.paused)return;if(t.index>=t.sentences.length){t.resolveDone({completed:!0}),e===t&&(e=null);return}let r=new window.SpeechSynthesisUtterance(t.sentences[t.index]),i=C(t.language,t.voiceId);i?(r.voice=i,r.lang=i.lang):t.language&&(r.lang=t.language),r.rate=Math.min(2,Math.max(.5,t.rate));let a=t.index;r.onstart=()=>t.onSentence?.(t.owners[a],t.total);let o=()=>{t.cancelled||t.paused||t.index!==a||(t.index+=1,n(t))};r.onend=o,r.onerror=n=>{if(!(n?.error===`interrupted`||n?.error===`canceled`)){if(n?.error===`not-allowed`||n?.error===`synthesis-unavailable`){e===t&&(e=null),t.cancelled=!0,t.resolveDone({completed:!1,error:n.error});return}o()}},t.utterance=r,window.speechSynthesis.speak(r)}function r(){!e||e.paused||(e.paused=!0,window.speechSynthesis.cancel())}function i(){!e||!e.paused||(e.paused=!1,n(e))}function a(t){e&&(e.rate=t)}function o(){if(!e)return;let t=e;e=null,t.cancelled=!0,b()&&window.speechSynthesis.cancel(),t.resolveDone({completed:!1})}return{speak:t,pause:r,resume:i,cancel:o,setRate:a}}function T({fetchAudio:e}){let t=null,n=new Map;async function r(t){if(n.has(t))return n.get(t);let r=e(t).then(({blob:e,base64:t,mime:n})=>{if(e)return URL.createObjectURL(e);let r=Uint8Array.from(atob(t),e=>e.charCodeAt(0));return URL.createObjectURL(new Blob([r],{type:n||`audio/mpeg`}))});if(n.set(t,r),r.catch(()=>n.delete(t)),n.size>40){let[e,t]=n.entries().next().value;n.delete(e),t.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0)}return r}function i(e){e&&r(e).catch(()=>void 0)}function a(e,{rate:n=1}={}){if(cancel(),!String(e??``).trim())return{done:Promise.resolve({completed:!0})};let i,a=new Promise(e=>{i=e}),o=new Audio;o.preservesPitch=!0;let s={audio:o,cancelled:!1,resolveDone:i,rate:n};return t=s,r(e).then(e=>{if(!s.cancelled)return o.src=e,o.playbackRate=Math.min(2,Math.max(.5,n)),o.onended=()=>{t===s&&(t=null),i({completed:!0})},o.onerror=()=>{t===s&&(t=null),i({completed:!1,error:`playback`})},o.play()}).catch(e=>{t===s&&(t=null),i({completed:!1,error:e?.message??`tts`})}),{done:a}}return{speak:a,prefetch:i,pause:()=>t?.audio.pause(),resume:()=>t?.audio.play().catch(()=>void 0),setRate:e=>{t&&(t.audio.playbackRate=Math.min(2,Math.max(.5,e)))},cancel(){if(!t)return;let e=t;t=null,e.cancelled=!0,e.audio.pause(),e.resolveDone({completed:!1})},clear(){for(let e of n.values())e.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0);n.clear()}}}function E({fetchAudio:e}){let t={browser:w(),cloud:T({fetchAudio:e})},n={engine:`browser`,rate:1},r=null;return{configure(e){n={...n,...e}},get settings(){return n},speak(e,i={}){return r?.cancel(),n.engine===`off`?(r=null,{done:Promise.resolve({completed:!0,silent:!0})}):(r=t[n.engine]??t.browser,r.speak(e,{...n,...i}))},prefetch(e){n.engine===`cloud`&&t.cloud.prefetch(e)},pause:()=>r?.pause(),resume:()=>r?.resume(),setRate(e){n={...n,rate:e},r?.setRate(e)},cancel:()=>r?.cancel(),dispose(){t.browser.cancel(),t.cloud.cancel(),t.cloud.clear()}}}let ee=`aha-tutor:navigate`;function D({rpc:e,t,language:n,dsh:i,navigate:a=()=>void 0,back:o=()=>void 0}){let c=(0,r.useMemo)(()=>s(e),[e]),l=(0,r.useMemo)(()=>E({fetchAudio:e=>te(c,e)}),[c]);(0,r.useEffect)(()=>()=>l.dispose(),[l]);let[u,d]=(0,r.useState)({}),[f,p]=g(`voice`,``),[m,h]=(0,r.useState)(null),_=(0,r.useRef)(null),v=(0,r.useCallback)(e=>{h(e),clearTimeout(_.current),_.current=setTimeout(()=>h(null),3600)},[]),y=(0,r.useCallback)(()=>c.call(`settings/get`).then(d).catch(()=>void 0),[c]);(0,r.useEffect)(()=>{y(),c.call(`app/info`,{language:n}).catch(()=>void 0)},[y,n]);let b=(0,r.useMemo)(()=>({...u,voiceId:f}),[u,f]);return{value:(0,r.useMemo)(()=>({api:c,t,language:n,speech:l,settings:b,setVoiceId:p,reloadSettings:y,navigate:a,back:o,toast:v,dsh:i}),[c,t,n,l,b,p,y,a,o,v,i]),toastText:m}}async function te(e,t){try{let e=await fetch(new URL(`api/aha-tutor/tts`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t})});if(e.ok)return{blob:await e.blob()};if(e.status!==404){let t=`tts failed`;try{t=(await e.json())?.error?.message??t}catch{}throw Error(t)}}catch(e){if(e?.message&&e.message!==`Failed to fetch`)throw e}let n=await e.call(`tts/speak`,{text:t});return{base64:n.base64,mime:n.mime}}function O(e,t,n={}){let r={screen:t,params:n};try{window.localStorage.setItem(`aha-tutor:route`,JSON.stringify(r))}catch{}window.dispatchEvent(new CustomEvent(ee,{detail:r})),e?.selectPanel?.()}let ne={logo:`M12 2v1.5M4.5 5l1.1 1.1M19.5 5l-1.1 1.1M9 18v-.6c0-.8-.4-1.5-1-2.1a5.5 5.5 0 1 1 8 0c-.6.6-1 1.3-1 2.1v.6zM9.5 21h5`,home:`M4 11l8-6.5 8 6.5V20h-5v-5h-6v5H4z`,courses:`M4 5.5A1.5 1.5 0 0 1 5.5 4H11v15H5.5A1.5 1.5 0 0 0 4 20.5zM20 5.5A1.5 1.5 0 0 0 18.5 4H13v15h5.5a1.5 1.5 0 0 1 1.5 1.5z`,assist:`M4 5h16v10H9l-5 4zM9 9.5h6M9 12h4`,library:`M5 4h4v16H5zM10 4h4v16h-4zM15.5 5l3.6-.9 2.4 15.6-3.6.9z`,studio:`M5 19l4-1 10-10-3-3L6 15l-1 4zM14 6l3 3M4 21h16`,shorts:`M4 6h16v12H4zM10 9.5v5l4.5-2.5z`,plan:`M5 5h14v15H5zM5 9h14M9 3v4M15 3v4M8.5 13h3M8.5 16h6`,profile:`M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM4.5 20a7.5 7.5 0 0 1 15 0`,settings:`M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM19 12l2-1.5-2-3.5-2.3.7a7 7 0 0 0-1.7-1L14.5 4h-5l-.5 2.7a7 7 0 0 0-1.7 1L5 7 3 10.5 5 12l-2 1.5L5 17l2.3-.7a7 7 0 0 0 1.7 1l.5 2.7h5l.5-2.7a7 7 0 0 0 1.7-1L19 17l2-3.5z`,board:`M3 5h18v11H3zM8 20h8M12 16v4M7 9l3 3 2-2 4 3`,plus:`M12 5v14M5 12h14`,upload:`M12 16V4M7 9l5-5 5 5M5 20h14`,link:`M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1`,trash:`M5 7h14M10 11v6M14 11v6M7 7l1 13h8l1-13M9 7V4h6v3`,play:`M7 5l12 7-12 7z`,folder:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,spark:`M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z`,heart:`M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20z`};function re({name:e,size:t=18}){return(0,i.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,i.jsx)(`path`,{d:ne[e]??ne.spark})})}var ie=`data:image/png;base64,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`,ae=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAAFoCAIAAAD1h/aCAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAARGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAADoAEAAwAAAAEAAQAAoAIABAAAAAEAAAFooAMABAAAAAEAAAFoAAAAAFtdPlUAAAHLaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj42MDA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjAwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cn+u2xMAAEAASURBVHgB7J0JnOVFcfjnzX3P7Cy77KLADqcSj4CiqKAkCoZ4Ee+DeMUbNZpo1L9olIQYj3hEQVSMMWok3leMGg8Eo0SNF4fIjSyw987Ofc//269mamr6+L3fe/Pe7C68B5/Z+lVXVR+/7urq6ur+FRYWFhrqv3oL1Fug3gLltEBjOcR12noL1Fug3gKuBeqKo94P6i1Qb4GyW6CuOMpusjpDvQXqLVBXHPU+UG+BeguU3QJ1xVF2k9UZ6i1Qb4G64qj3gXoL1Fug7BaoK46ym6zOUG+BegvUFUe9D9RboN4CZbdAXXGU3WR1hnoL1FugrjjqfaDeAvUWKLsF6oqj7CarM9RboN4CdcVR7wP1Fqi3QNktUFccZTdZnaHeAvUWqCuOeh+ot0C9BcpugbriKLvJ6gz1Fqi3QF1x1PtAvQXqLVB2C9QVR9lNVmeot0C9BeqKo94H6i1Qb4GyW6CuOMpusjpDvQXqLVBXHPU+UG+BeguU3QJ1xVF2k9UZ6i1Qb4G64qj3gXoL1Fug7BaoK46ym6zOUG+BegvUFUe9D9RboN4CZbdAXXGU3WR1hnoL1Fughooj+oW4KDJ8DVGyKNLjTdGk8JZdaRQg1cKWOAWXS69yKmZcZSErzrdcRktvYW2BDCBKH0V6QiyNhT2y6GOUPor02C1NCvZY9NHSZyM1NQSsEAuHlBVjCvVPQFbcdnXGegvcY1ughhbHPbZN6xWvt8DdvgXqiuNu/4rrFay3QPVboK44ymjT1SwXV8NbRhFXku6XTFcW4SB4qriVKmakUfYXb7XeR93HUa2WrMupt8A9qAVqa3HkUaspmhTevpwoTRQpXDbJwioziiTV4lOwCvEAS69JUaSmKhAliyKVRYAoDcgoPievR5b9aDOycIorShNFpiSAt/QWzmDRpDz0UZooUsWGgKW3cEgpmJI0JQmQk4cmVYAovm5xRJuljqy3QL0FslqgthZHVs71tHoL1FvgoG2BuuI4aF9dpQWfmJjYs2fP1NRUpQKW+UZGRvYODc3OzCyj6tA9owWa7xnVrNeygUi/mZmZ//qv//q3f/u3HTt2HHnkkS95yUtOO+20QqFQQetMTk5eeumln/vc50bHxu5/v/u99KUvfcADHlCBnDrLQdoCVVYc+GAq6YblN57NyMJ5JJWkTxGk8DbTFE0Kr7wlCaBM0eTBoyCuv/76d7/73f/zP/+DqB/96Efj4+P3ve99N2zYoGXID1x55ZXnn3/+Lbfc4kRdcUVnZ+fb3/52/uaUoAVGnVWmuXJmZMk0U4sETuE9svAxD2OKJoUPcwkxJXlLEoQyy8VUeamyNlqDStqMLJyn/iXpUwQpvM00RZPCK29JAq/Wypgff9ddd91xxx3KePvtt+/du1cf8wPz8/M///nPkSYsDP6rr7569+7d+SVoZddMa1A2zdQrZwrvkYWPeRhTNCl8mEuIKclbkiCUWS6myorDyx7NV/KXoknhrcAoTRRpuQSOkkWRHq+lsbBHlv1oGS2cwTU6OsrgXI1voq+vr6enR7Po7e3NbyMoF8Ds7Oxd27bxV5E4O1i86CNAnkopzdjYGFWbnp62ErJh5bVkUaQlAE7RpPCWPUoTRVquDDgPbx6ajCxqlFTlpYpXyjyaL0WTwtssojRRpOUSOEoWRXq8lsbCHln2o2W0cJSLGf7yyy//1Kc+tXPnzvvd734vfvGLBwcHo5TZyOOPP/7Zz372v/7rvw4NDW3cuBH40EMPzWaJpuJe3Xr77XNzc5q6efNmtJI+ApSslNBgrfzgBz/493//d6p2wgkn4HbJWbWo/CjSliqjYBXz5mH0yqCPeXjz0KjANQNqqzjWrBp374xwJfzd3/3d97//far57W9/m6mex7a2tnJrzdg+99xzzzjjjH379h1yyCHHHntsS0tLuUKgR5FRBsa88lKYykSxdPqHf/iH733ve4jCcdvY2Hjeeed1dHSo5DpwYLZAbZcqB2adD7pS/fa3v73qqquk2Njz3/zmN9W/UG5dWKo86EEP+uM//mM2QSoen8PDwxgImjV+ivb29qamJsXkB9CJ11xzjdCz6fPTn/4Uayg/e51yf7VAzRXH8qyUqGJJAvhSNHnweWiiRSuX0dJbOCo8hYwysiiw0/udd965detWkWDpLZySb/Hl0isvLlXKoI+oDJY8ngWUEu7hUV6tra0qCp9Lc3PSCvZ4lUuBFEEKr4wAKRrFK2C5MhgtWcW8KUYrPAWvhjclU/E1VxwlV2glCShriiYPPg+NNocFymW09Ba2MkvCUUbPg8CEr7O0pbdwyYwgKJdeZaLFrCLD4mC0s8pQggzhXqZHHXXUmWeeuW7dOjTIEUcc8ad/+qf9/f1WjoU9XpskcIoghbcSUjSKV8ByAafwlixFk8Irb0kCpQyB1fCG0jxMUrt7dPXH/dgCW7ZsOfroo2+66SYpAwYIDsVzzjmnq6trv5Rq165dbPFo1mgNSlLZxurAwMBb3vKWxzzmMeyqoEQe/vCHV+Yr0cLUgbVpgbriWJt2XlUu69evxyXxne98R6UQRoFb8bjjjlPMWgLbt2/H6tEccXBgE2UsMZQyCmBo8NMkbJnKdFDFjJp1HcjfAivMy/xsdcq1bAGcCPe5z33syGTOZ/SuZRlsXmypsLGiGMZ5Fc2EyrQGhamYUStSB/K3QF1x5G+rCimx6n/3u9+x0CD8oUIRDQ0PfOADmdWVndnVDl3Frw2Aa9ZGf7FTg020Nlln5MJ2DK6f2267jd2ZDLJ7ZlLVHaVrrThsBSyc53WWS29llsVriS1sBaZgj55+/IY3vOHpT3/6M57xjAsuuABLISejkolAYrdwBCiSR06p6aOXqeLzABXwMkSt2kJxlHvgJU+meWi0gr/+9a8JUaGdn/WsZ1188cUcw9EkBcoSqFyrBPJkmocmVYwob4isuqN0rX0ctgIWTrWLxVt6msY+WrIobIlL8lpiC5dkJGtLz+N3v/vdj370ozI/X3vttfj/XvjCF5YsoSUQgQzOl7/85YwHDqqx9/myl73s8MMPVzIvU8VXUGDlTQEYOzZmFDLWCOUuE1IFtpnmoRF6bLoPfvCDhJ/KIwbRQx/60Ic85CFWGnBKYJ5W8kTJYx7GPJmmaKKZgrT5RnmjyJS0yvBrrTgqK2XItZqmqZi3XEamZRYpatWzVPnCF77w+Mc/nnDvsEYlMSeffPIll1xC0CfBDuxZ5hmr5Ra4ZBkgQHnp/o7Qs07x4s3zyKkizf/93/994xvfUIFEx916662h4lACD6i4lSpmpAD7i9ere8WPa71UqbigByMjoQ04JuwI50g7MeMV16W7u/te97oXUQ9WZsXSKmNED3ImzfKypcp5OYtZS5jCYGtYVzHWGQH1a1mGe2BedcVR25dOYMK9731vzYNdTIwOrAbFHHQAMe/8bLHRj/tRkeHd4JCLLc8jH/nIE0880WLqcNVboK44qt6kKwRymPUJT3iCHVcYHURhrCA6qB7wIMj9PVJqtAaasbLj+auvNw6Xr371q1wsoqIwN57znOdglCmmDtSiBfa/4sDTU/GvXF5Lb+GSBbDEKTgqhJDKs88+27oACJHk8r6xmNs/lGDz0tQoUlMFiNKAjOJz8goZqxJbHaK/2N+x503CAqw+U6+E+njDDTf853/+pz4C4NrgCB9AnkwtY7n0ylsuo6W3sAosF8gjJA9NWfnuf8Wxll4im5eFSzaZJU7BKSEPfvCD8WvaVEzrn/7v/1pMCrZ5KU0UqakCRGlARvE5eYUM+8JWh0s0HvGIR1iTKizA6jP1SiiPxGt89rOfZa9KUykGlwZIUEmeTJURoFx65S2X0dJbWAWWC+QRkoemrHyrvKuCYqt6EaP1sRlZOErsIUvSpwhSeCs/pMFsJsSA5Yne08eZ9M9//vMnP+Qh3eawSchoxQqcoikXjzSMfPZHKjgOzynYV77qVZgY7K0wRJ/73Oee+Id/GBY1G5MqcDaXl4rK+OIXv0hFFI9rg1AOffSAVKYpvMcePuZhTNGk8GEuIaYkb0mCUGa5mCorjrXRGlTSZmThPPUvSZ8iSOFtplEapsGHPexh3KOhlNzKc+MNN/yhGXJRRqUXIEVTFp6Rxibxv/zLv3BRKHElL3jBC7ihw8so+/HBD3rQAy+8kO0MlEhll3qkCpydr02lFj/84Q+piCIJzJe70UgKLSDIUpmm8Co5BeRhTNGk8Km8LL4kb0kCK60yuMqKwytEHs2XoknhbRZRmijScgkcJYsiPd48NB4LvkPCN7jnSm8MZbr+yle+8gd/8Aec8qhAoCe/rEc+qvK+972PsDThYuzhc7Hx7HmkUeyM8+9IyFOpPDSpwvCFB7wbdn+HaNozzjwT+qjWUDmryTTKG0VqdtlAHt48NNm51CK1tj6OPJovRZPC21aI0kSRlkvgKFkUSeAWYQJ6kDxKE8r3MLhITzrpJEUSDYGZLdsBlQlUUeUCN9544/8aD8uvfvUrvd2jXFEZ9HkqlYcmmgU2xde+9jUsDk1lc4cW5v4BxaSAVKbIRKWyipSAPR5DCVHeKDLkjWLy8OahiQqvKbKGiiPS8Ct93VECqW00KYr0WidFk8JbdqVRgFRuCWZ777GPfezTnvY0hnrJA1SW1wpnSn/mM59p79fD5WEDOlKMVkgKLot327Zt9sgMt5Mze6ckZ+DLyhQ5lt7CGVlokkePHv/0pz+t5htk7Ow85SlPaVp5mVD+TFEZ73znO7EK/+RP/uT1r389Ch2zxctUChNFajlDGktvYcti8RZWmigyzCtKn8Gr9JUAaNb6L9UCjG1GuzYrny/iBp0UcUk84Q/Wm8Buy+9///uSXFUnwE1L1lopTutzXXDVc6mpQFZ5dkuYurz61a9m2VJZpliUfKeKqFxpExw3H/7whysTdc/hqqHFIa+hpMIrSYCcFE0efB4aKeqKv0VLFcVx8803K55LgzlMpfd9Kl4Am5GFlQxD+q1vfStfXQTAV8rMZoNKQyHKmAHYjCycwUKIlL06jAM11lOQwahJNiMLKwFAuXjLmw3zUvj0pDXWNm3ahLmRcSdIqjCSESF5H/vYx3QpiiFz3XXX6UE+5VXAK14Kb8lSNCm88pYkUMoQWA1vKM3D1NY5SmYlV2glCTKEpHgt3sK28in8Ik3BpTMLeTdN4JDjMi7GfBgraQVa2Gb6xCc+kQgllgYcpvCOsQhZitEKsbClt7Cl8WAGGLuwimSS3L1nD0uwjIGnxALYjCxsycrFW94MmNL+6H/+R74UoWSPe9zjso+0pQqDBELIPvCBD3DmWKVhgvFqdFGpvAoopQApvCVL0aTwyluSQClDYDW8oTQPU0OLI6rwokivTDxGyaJIjzdFk8JbdqVRgONbp556qr16i+mIjUzCnHVGshJSJbc0TI+onsMOO8xbRWumljgFO5M4lZbGCxNxJdbSAXnbrbdWcMlQuQUol97WQ3kxN/7tk5/ETaOptCfLSVGFYasoI/QWFnaieN///vf/93//t0oD4NWccsopFmPhUIhNFdjSpOCQK+RVGitEkRmApbdwBku5STVUHFGFF0WGhY6SRZEeb4omhbfsSqMA0w4BTlzDbclwTHziE5/ghh6QYU9VXsuSgi2xhVP0ikfpCD0GNo49PbmvBFFAmBhjzKhsQyjN4OBgBeEYZRWYvIQeDcVwtX5NLUYWsKQnOUEvH81WYo4RcvuGPC61iiauMHi9AmNkfelLX7r00kvtxytpnJe+9KUqcFnQEuQJWUKv+NfSpOAVDObB0is6itTUELD0Fg4pK8Ys956KRdy9GZmcWZjY23SpL6FTYtyGPXXNWgOThy1Jwre484qLwlOel7A8OP/EzyJJLJo4Tpp/nRIKjGKiE92PfvQjriCiwK95zWvwI0QZo0hpZ24e4wS9/RhVe0fHk570JLw2whXNNCoQ5C9/+UtcG6hdS8CJREoo9ovFVxEuq5DVyrf6mTJn1n/ZLcDUxMhkvOlbZAnD6fhsrjypzL0/+clPLrvsMjZcUAR5WJSGgGsNPMUyevOb38xkrqnZAJRsTDC1vuhFL+JTshz2z6avSiqX6/zRH/2RtiHjE3OpLMm4NjwNzjY5kRdlCRFi3Ex/8Rd/oY4MKRXxeJdfcUUF0u6BLM7YPhh/86sodAW8t9x6K4cg1NmBK+5Xv/51WUUIM6Xv8o1lLBouBDv99NOZjcsSiJ/FXp/DYTM2fTwJYaaWgPUCP4upKcz6zs7k5e5Go+ze+MY32hUWoauf+cxnKigzwfLEznqRrzziJZ2emckvMLt5s+XsL97sUuVPrfmuis4w1QVWs3KrgHfLkUfynWcGJ99wZZxj0B5f/KYJDZ1ztRJm+rOf/YxtRflUKkqEGHDk579Iwl4XTNuyVMH45ysKtp3DTG1qeBbeplYXxmqjvtabQNN5VcjOkSB9vJiWBdXzqEc9KpsrmoqJ9/GPf1xaXggwPf7sz/6MC6Vb0h+gDEVlN29IbzH7i9eWYTVwbRUHK6uSDZSiSeFtbaM0UaRw2SQLq8woUlL5+tGb3vQmOdm1vBe76KNUAREgJZOtgZGREWXgWmM+uYztrRiAFC9JGO0bN2zQDyMB/PjHP2bBL4osygiSX2VvJCqwKC/+x6PHlcBVXZaU9rRa0qMXSkVOTU9jYV31m9+oBJwyHB3Ey6sYAKX3YEuDkcW1BvYwPqmcBiCEjFugLWUIW/maGkVqaghYeguHlIIpSVOSADl5aFIFiOJr6xwt2UcpU4omhbfViNJEkcJlkyysMqNITWWKpq8va4104ZUFICWTkW+tZT7jjIffbjRm8JJ0zDHH3P8BD7AZER2vjsNopiCjeCsklWkeRivHo8caYiWlBCz6cNDapZZHL5SK5PqS//iP/2AdoRLwR2D32ZULSUrvwcoFgGMF48VaLugLbpDnyzWWLApb+UoQRWpqCFh6C4eUgilJU5IAOXloUgWI4murOKJZ1pFY6TQCrk17Iw4YTIZf/OIXOduH4DTuJbTEDE5vIrWpq4el2BXIgfGKK66w+xeoDOL3c4rCRnC3ENx4o9Kjd1hZeOsyTc0G8LPYq4wRhZXHx66x1CquYHaOd8vU2i5V7pZNppVi1pKb+AmjOPbYYwkc0qRsQFYTxKRibDMkNOIbPwUnPtkc1XMTGXKYbAlOg1JjpVn48EFZWBgAJT0vFP52bg+9+WZ2i1g1eAGy0XyRCRdhLIThY3bBxe5SlNJD4uDg8hGLHBwczD/s2Y7BK2G/sYSxRrRoyTraHBUmYuXJT34yMtGz1J17Bl/1qlfJIqUygSr5ngXQyfbvby3dyzYvC5dsAUusMNEcuNO2bNnCt5Ge+tSn8hiVo/Q2VZBY7/asPT2PO6ywGpQyzju/iN65axfX9ml/ZfLEnhfeOCP+yCXRWDfMtOzpcJfPua98pd3UVJol2uV/OY//J2edxSca4HrFK17B8mo5bSVkhbDEgFjLCfCXf/mXK8mXC+bhUTr//M//rJEa8KIx2Y3i0laPkkebqYU9SkwYWp7TA2htDtpKaga9x+49lsto6S3sic3/mEdIHpr8OUJ5sG7HllXJKDGTZxSfE0nYxYc+9CENuMQt//d///f08pzsQgY9H4i0C3WOhxPZkVMIVWCPUz/vhKnCrTzwlqwaI4d8dSTjuOGDRiUzRSzuYeXifOqXv/zlklxCgGtT49y5M5Hgq5yM1Ii9as0UADX9rW99Kyd7SBZtHJBRfMhex0gLVHmpUnXnre0xFrYZWdjSpGCht3apGPlyiQuDimUwTnuWHvxs3JfNaG5+nj1UiCUX9AjTL4qAaT+ar+VVAohZreATlQB28IzGPOsUKJ3AQgEHIfspbMcwJ7PsP/roo0nSqkUzhYATH/byHk6aYuZg/JOU8aOO9rtHBFbQAhn0NonQr/POO49YFdqWk36c1rGpKZg+itMHU84SEA/umWk2NQOW1tDGUUppSX0UgFblVg4uLkGh8Fpb6QetrZhaLGq0S6Sa14pK0aTwljcFr4Y3JbNcfLyXlytF6avuvFXJHmAzsrBHFn1UepwLONgZdZisRBmgOIoTzzwmAIqDhTROBJz/xAswW9LhlBGxzU1NIBmucr6bNT/bHBmB25bXlgozgfjrf/nEJ3bt3Imj4dnPfjbrf0uQgkUgLOwjor+kzB5xKlNGgg2poNa4HkFmlB/JWFWUDRooecTBYb9f62XtPdJQBKo+73nPo5z540dwIRGha68dor4sD8v9xrUUJtUaFk9Lcl72yiuvxKvCuRhdwUnzsixlbYgSZEUZPdzs1ZpHK9ympvCWJgWvhjcls2x8rU2vVa0HKi1cRqZqkeKJfMc73kEMqL2cImw+hge3QnFEgnghrzg42P7mb/6GQ1YI4TxLxbfy4PZjXiW4gL9MdF4u2Y8ZNc1gxJ9KwLWtLIMBMySDRZI4oUOoOJoUffqud70rD0tJmSGBvCMMHALkvEgNrCr1SoSMKUx2K0l2/GUWueCCCzBndAVqm0hh1Nbjn/AE7ESCelI53u3x91AfB9Yvc3t2/9COAsDZ7f/3//4fE6B0CO1qrHE4ZkKHK/fYxf7tWJgbnrcSw4ft0jylQoGiPlhbISQPfcU0aCU+K8FUry8Cc+Ozl15ascBsRkxOtFL+LsEylpvTOG2ULfbumlpDxRFV8xZpYa99o0lRZB5GaCwvIYxnnXWWdkcFWG4QkYWvEUeDPVUhBKxsCRPCTvFy9B5tRl5S7R7LzZS1BnrQrr2Ip2K1UrsSepLzFBifEXtV+nYAHvOYx2y94w4nqujYziPE0ljYlodpgLVJNHoda5QuQdwHgSfhCotUfMyh7rAZpeAVBTAPll7RUaSkRpMs0sIqcPVAlX0c9jVHV2IWaWHLCBxNiiLzMFqBOAV52bjllZGlO7468WWwv0D/YC7FuODeB2Ix1W3J6pctDNyZDDkMEGXnHegItLASrAGQp2VsMagFy3X+ireCJJZINv7dEtcCzlNgJn/xI9CqlKGru5vLhDdLyxfdTXmEWBoL20rh5KJL2DvT8ePc//73R5UQoYd3hobi7TNnsIeNf5c1qbCzVGFnDZjTdzYI2GaUgm0BStJYAssIHE2ySAt7vKt6XL3uyZZQUuGVJEB+iiYP3tLgJ+cyCNterFdf+cpXYnuHtWBQ4TRl0rMx5tgdGKiMsZBeMmJlTi6cheMvcEiWjbGlzaaUVKVng4NraTj0yfXfeWyH73znO9bFiI8DH2SeHKHRTD3YsgsNbUjox8UXX3zhhRcSPIpGtryWPoSh/N73v8+uE1vUfDMF30pG2Iiwp4Sn8HBdf8MNxIPZLsHWCYog2oZUh4N2hJlagxQY9YGjKqyCYlIFSOFLMipBBlBSeAZvyaQaLlVK5r3GBPRavKF2EUuP/OQnPynXWKRameHEVRdWd7CZwheMZmNKAaOXgAj8BeywYMIQjiXekFrXlA79t3/7t3L0g9kSZScexIzc8WiwzSH1YmK/5JJLMogrLj8xKYSWi0VGzBijrixRhOQyz3MtOz4pdq/K4s1DjBuF5adur6I+6BJ4Pe2F6WGz0LZ/9Vd/ZTsSccOcUcyT492G5h6kOAhVYPtD5xbmW7RGHqMAM55IR9u98KIR3B12AqZE9IVmwXKAXb2QrOqYvUNDdomOImCeL5kLB+owUrAFsNJFe5ZkKZeAGy60NQAOtO8w8G09NIWWkCmBCz7ydAnULoYqi1zhRTOyKZ5tdJTbdAc4/bLLWpvv7gqwlNVQIl454QDczWOd9qmKs8pFcWBHqC8DXxqxjyE9Ow5yWkSS2K9lew9tElJWGWP8LCIZA6pkFsQyoQHZXqFq1vYuyZifgN5vib1Hm7T2MBYoGlPfDsYX96FhrOXpEvjCiL7hGxdSbOqFxUEACI8HVB1r16r7X3Gs6FllVjQ/L14Jphc9KIU3lCkie7RY4QQ+McPIUSjKiEMBP5keTtNS05+8uAO65kc+8hEmMaWpBYBqI9iEvwhHJ+KwOO7YYyvOyFa8YiHCiP2lR3hZvp162qkpgVXJtCwhqHg8nazypEjEdP35n/95uHUSFhjVQEYE6bLM0ZsB8ImIdamzS8goGFtIC6foq4KvekY13FWJVpgKqJtXYH2M0mcj8/OyVCYQUKUxx7Iu1UcB6EN4SVn3EhBJ2KjXA5heUDdyXwaKgD1d9uE8NcFW7jOe+UwyYjYTmSgX3Ad4+AhC9bLzHm3LSBKrawrDBNjX399Y3EfwWPQRZYHvEO123e9+R5Eee+aZOc+tIiHMN2erhoxaHgW4OoCvSbA5RYvRgPwkKeQNMw1pVGwKQAjTPl5YnCNsiJC7fYmeQOxBsRGQRgM++tGPpgE9yWymoBFwr7CKoUuQitJQmVSHM75YsuB50fhimJm8eEIvUyhtTQUOabxiZDxGeUOkzTRDWhlJTn0ehL+ULzNVFWZ+vYUBoxTvpkfJi7/ooovw3mNWEAz6n9/8pkdA1yc8VDsNH3O0x1iVeNv27XjdvRfAd8bK9e2xDcypuceccQZHSPh8XLnsUp5yW0lrcZACDHKOybN7iiLgYh4icTMqQjSwfkcSgCvjIbYtht8Hb/p9jj+e3ffTHvlItuc9aUwPnNPVd830oCHqHmX4aDMKU7Mxq+HNlpw/da0tDm3lVQLlalCGPRO4ZIqbkzWFVwBsDTx5nMUEj9v8ogsvPOWhD7XzNjM/XPRI+YgJAgXw5By6cePrXvc6dAoTmiahtggwzXPHlLBg+3D5uBy3BcOMzcm35z//+SrQA3jfqtFsUnYr6byUYreiqgLXOiM5KS9FxST8+te/zgIkVXJeH+WRVLqEBGLYFvvNb36DyhYnCJYmliOzhfWRs4FFD6HlRY7tY6lMFW8zUmROYDW8ObMoSbb/fRwli1gVAmxOVRzMSItL2aV+QxYsCuzttUwdhPd4WdNpUByCZGzresQjY2HPTqddLae0jMeoj1i8qDBdfuOgITqDIimBB0S1hkcTeVxY4DKbf/qnf0LTMSpkFRYhqx6qwnLmLoDndfIePTG2S6AC+HkELEX1kiSSaB9YPBreslaK96WvzCO7+z1WWXEsKvDat5PNyMKpnBnz6i2nPy2OeeM4wK9x9DHHKDsh2NbcEDy2q1oZ9Bi7k6+MFAbFhOLgU0kAgmevNFw/K4sAthYIV6+bpOKL/dpXv+qx6KPlVWRJAJuIxRfBTu9973txFfMxxHBgICQlPIW3+aZoUnjlLUmglBZgnYILVjD4m3i0qZ5MXp9OA3QJqbvaIDDyyuzxXwxGG84jkukSOiHx1vjZHIG9TDU1hVeCDKAkb0mCDOE5k6q8VFkzI0oyktesKj+jzigOnVLQGkSUe8S4vs5785sJaiDii88UMJA8Lxd9Cy7bS1SgFSUFY1FDRBaeM26a4jQU4aqhGrJcwLbp2O7BfcuqWzcL6aDEXDzp7LPVU2PZLS/WDUstYk8oA4Mno3EInf7Vr34lqhD57DETnuC5e72CpTK1eAvbguXBK02KUQmiAAuTD3/4w8TgMfNz/Y+9Hg16TyavTxUHXUIMLttcuM95ibjDsPXYG3rhC1+oM4Hkjk1qOxJaQycnLZ6XqeLxsnJvyvJjOVBJtpIE5eSWoGXs7d/f2nh6br75Znsz8DnnnEPf0oprGbBOCRWPHnXFSWE/KUoYSHi6SQUqIPawPiqgOSrGAxjD3tlQvLbf/va3PTLvES1AR2fAoLMwc77y5S971bT54nmxMyqbuAweBFoalR9FamoIWHoLh5SCidJEkSkJikfF89PHFMBX73VnDX1BPAsvKyTevWcPW3LSJZg2LAFuFHtzKhtb6F9LUBJeIa4kdYIgj5A8NAnxcXSVlyoJ7ZSFrlg74pJgMMsJi6wMimlM+3ZDlB07fsqlZcAuYOPNszUgo8cwj+kF/8wt+MnUJ69yQgBKO4kpgeaoGA/AXuBMl0aOkErwyOc///noakJ5mQAJG8H/j/MCvfDOd71L3L1CQKY2X4YN501xuzKRcmKdE8P8hdLSqOQoUlNDwNJbOKQUTJQmikxJUDymBD99TAFHDQ5ykk1SGRw/+MEPokF9A+vWcXpFuoS8Sojh4i9HJZmQRALNiL7OjgwSSpQamghzb2JysrIKihz9m0dIHhoVmAuI65NKsVVXbKmCEGzDnE8IOaOLIyF2Xk2xfPGLX7TrBWIEUyZDWAsua7DX1RH8w7CMZhTyClkKr0JCAmyfs88+275FDAT6t7IooLyEkMjtgcKFatPri5VYAbQhbg7i7vGPsg7KPuQGMVEP3/zmN1G4csZPM1WB+YHV8ObPxaP0MkUFU3F1W6Br2FvFR+5xpR5Z2dkvPJxyyilsBqeIFY8hyScBcZ+z5f+6178eDaJJ+QGvIvkZq0jpFOdB92NtSay0jijisrhKp2Qt0PGEVyoXPYbTa3niIxCOetLlKwtjYpPz97CSBUsRMFZtrIGUnEUW1U+xYDzz1QKtIzMklwDk0aopgYpHYaGm2bMkqIFdGAaAJh28ACFbanTQaDik+bp4dKHq1ZHtdnulC0rn/PPPz9POKGi9UxYutns9yQfLY80VRy20I0txlIUOD46reWe6opniNeQIk71KA93BIRSszdTbggVbgwuB7XIDXwmjiFHtcfnPXnJFjyw9CCvSmgIMDg7+5MorVZiXKS1DBKSlP+PMM+WkrLIo4PEqPgTYHn7uc5+rYvG5EiIRtoAykoR2iw6kMFNmfmwrbJ+SDoKQV3PMBlKM+ETf85732OsFujo73/DGN2YYAnQJVoJnnnmm7RK4hwj6yC6DpHLfojYjAJ90ycN1ANLUXHHUos6YytZ2YI5lJZ8nI9wizMB2zwyYkcnl/XgQ6BMqhN6MA4UJAUe92hq8aZwOhFREh4TyVhGgSNz1YFfO+CO4dSZVANbPnKmxfRrnDouLVRYJfWRdy0yV//iP/5hyQLIHQbtx7oNvKWABZWfN9M7QJXabbyZQL95CNn3VU1mgcVyNGul4ZjrhE7y4tKiIVY5oGeYYNq3tCgUu9qHY/5JwspLFw4TU7sdreve7312S5cAkqPJ2rLY+AB6k0CVjkRa2jCV5MfYIlEB9MFPhRGThoIejUzIFz5qfccUqg7u86AdkRO/nkgju3cGEYaMeJwgbt0ywTPXYsXhD2dfUsjE1cTsxt/t723JKkCq5JUjB0ZKjs9BrJ5500k9+/GNhpIP+93e+Qy1w4qoo5WUAyF27VEFSGYr4/PDbWW2i9NBYWAV6AMPbtgOpomQ9Mh7JF+8s8yr0tBIm/Uc/+lEsFJJsRgpzYQdRJLLrfO011xDyT4CsLapkofRhjtkYy2hh5cIfzH4KKy+GtOxMUwUmEixNugSnXegztCpIDsURw84UZZsCv+lb3/pWDBDd2UVyNCPJEduEa6K5RQmVhFsEDeXRR3mjSBEYTbJICwtLdf4emPqsZKmYcvFFERZF10QFlKS3BPQABp6dxqUp6a/0dRseapuYNQ6+NDqNFVUxjCXPxgcKq6STBdXGnGyDzXCRcj9AKmvUBPeA2JK/+MUvXnRn0luDFZbISeEllZWgjR/BF/CpT30qykJgiN2hRNVm2zvYU9ag44KcPG9TxjDHeXLO86m2UjymBAF7vHrbbsCUjS6BjWD1gtIwXRFxGy0wipWuwssNWwklhVaiSVNLSC3VgQzU0OKQ9i2p8EoSICek4XWyfWB3EPR1evQhL9Y7blH+Eiwkq9nFoi4s0BH5WVHA5MWCBYMWZwdH10OBi+zGwkrRCCUmDzYqm3koBWwBTHRuxwqFCIbpjnUZnxfBjS8YPJTqYLMZCYwoHH64DISYv+hW7A7HsjLiSOhpAcxy/jLbk5Fd8KsEej8/fWQUYc+LXWALgCuBOZnxrJQ0pto+grT0YNBH6ETUKDACWQnS2soeAkwYBLNceNFFN990E2sEDE8211T1eMKVPYVXAjxHxHrRJTBFNeiOVK/iSi+WHWsxPqMZqht267BfOGFEjYim8cL/sJH5voSKygZKljyDfTW8GWIXkw5krVaLstEVRCyTMLFS7HfS/7Tnee3FVEMIM0shvKGMgWqVh6tMdWOYQci3UVM+C8mRrDmczsBGZRDh+va3vz3bj8jpOBnVUh0slNSdfTQCiy8JUqBDY1JF68hVJjYEHkr2tkNKJljvqwtkzQ5xSKkYHElPfdrTUB80CGY8y0NNigIsbeyoQ+0yzqOU+ZHaJbAFOFvIDhprq1SXQE1gUnETB3ohlQVfxtSFJKowY0c8JeHAx2dpd28UHbyPvAbGHrMEVdARxQz8nOc8hz0IbHuWPHjF8WtgYTKGoaR/YPAT5fWQhz70Afe/P0PFqz4ymdUxOBl7RFIRVGpXEx6x98gia9/QkCDJkWUzpkfGTIty4bKy+55wwu9vu40xxsI7XGfZLCBgnDOMBYm5wQriUaef3hJM5oRmsEEoEz52EAFmfG7GbjyJBHxJQiOP6K8wMp2kO++6iwtBhEb+MpPLNRYWaWGs/Xe+853XXH01zU6kv540sTQKY9uztLH3qrBTDjJaGOUqCWiX4C2z280JF7LgzdIlEM4Lks5Dl8Caw4VECAZFxfcRlUxFYFezBQ8r2pD7kDPeb1TOAY68mysOrAtcbkSLMXiY/eT+Hp1MALBO+eGAxLxk5NBL2E9hWKI7MNrpHNHFLS+VqfJtb3sb57ihZ2ywrfvnz31uZ0dHnvfNyOzs6kLjQCxlKNmrMAo45s//eeSjyJjxVHFQQi4NGBsdZcB77Og+dkwUySPug1BxIIGWUTKaRfydihHg1ltu2Xr77YpkQKJ5Q52rBADQEMHJ/xYZhRm9LKn43h0qWwlwbaYGsNKUBfC66Sf8uFSFDRe24ag4al26BLVmrZrqEpIRL5QphL+yuKOC8lhWMQ584porjqostMoVovTb7rrr7y+44Otf+xrvnmU5234YmaxLvRmbJQmzVlkTF/c+0Y/RNbxjNl+4W3RmdvYFz39+GK4edgLc6ewdMAYYkATCE8wm1lBIWRKjNbWUqEIOZdnPSuPmIP4tVBx2ECIBXYazg9FupQF7ZDpFWzLGCfYLE6wisekwxLxhFi2wsmQAGE3s17CaUBq0LVFY94rtLimNABVkSpdwU8phh3mi9JE2ibYD9cWvwe61WEZ4x4jrR48o490DqLniCHdkK2i4coUoPVPolT/5ifjn8HKz1MdSwHtHOFM4isoqGGOMYa8sGPP/9J73ED6ErVtSC2DL4J3lWjAksGBmfot2QRWeAVDTsAejvFit4IZglhZeLA4Gno2aEzwDgxmb3VZ5pKHUxtZM0QhsOugjAE2HFrYYYIQQtWG3Kqlm6L3WV6PsYfk1SQEWSngKvLMkbJ/jd2w1IRihcJGQwqv8CoCMV4bm5eowFAdVY5KwITAVZHRgstRccWRUu4J5IENaNGlmelosRkkFZggRHczcyJwfTq1ClqdgLAdYobClqvmipDiGwITzzGc+k/lK8QChQHxm/LJpJDXkFTx14cesSw/2aMDgSUV96GqFiZpRjZ7ytgAwCmxR6ej8bKmAsdUxQyyS4IVwAQINQ8WuaHASqY/QsgOTC0pNCp8agbZSeIVYb6oeRAJLBgIi0I+e5IxHKzCDbPVJ2LMYHfxyilpNwaK8UWTOwuQk25+KoxbzgFftY487jhMW9Gk7HnBncL0ooRAEOOod3JYxT8Ewwl/72teyf4GtobyYM+zqsRK2ga2k5hGYognxDE42F9jpYJLHiGCTOLSeiG5keKvigIWYESru2d4MWm8pYZ2gWi/beq46xZ+mCsDY9vQLujXULxCjtYmwwhWN5mULI7RKRKCtuHigNEfyx92Igi5rCWAFqqgDAVhNwaK8UWSVa0qfqN0vdUbA5piiSeFL8nqMuMeJ9bS7idKC9DlMD0ZUSYEQWJkKY9jj5PeirRCOo3RyavlmB6XPk5Gl8fLVJAYeK2epBfWiDJgemioA4/9pT3ua7SuUM9xBZGHiTYxM4/iDrDR8hFyKY0XhJ/JoaEY+tmTXaNg7BEeJHFs4rrdgNSfSeAWIohkhszSauyLRSmc+9rFaBrY2WLYomQJKrxgBLN7CliyFtzRRuFxGS2/hqHCQJWlKEuQRkso9ha+tzyaP5kvRpPDaewCiNB4Si4Mvqp533nkali4SGGzsIFjrNyXQw6t8vOWsd4g41vAtkUyQxbzZg1B6SZW/UaQlyCDD08mCSwjwKRAVYr0tgscHgXKx1gSU4sq1uXR0dnoqVSJELA1mC45Vi8GWsTqCJDatiIZkJ1LJaBP2sOTRVpbYeQ7ICZ5XgOnEliePlkaFKBKt99d/9VdYGbgMuA8BV3Tor0kJUWkCqMyceEuG/xsHGY1vXTkpgZbRwpbewpbGwiVpShIgLQ+NzbQkXOWlyhosrqRKNiMLRytMJ2ZZQVfjaBbf4BFlwdqeqAFvAITCrcAwI+ZVTnOxVuc4tkRMMg5xnXi7NggJea3kPAQevTxitHPGr7XNj5UmlTHGbiVDWijZZGXAe0LoT0iwSJYPVMdioLCPqCRoLAaYwW8dqMjE+xBmByXeFjklJBKY0DxRi/iVfR0NyHkQNsWwpGhzHBxRLkXiuibQFrcOjmf2raQkqVdg8RZWaQJgGXGzJAesEU7gGVORvcEgxVgu3ss0+piSqcQlCZSyciBlitwt8cwV+C+JUKQLokqYSKtSTSZ89lZZoXATDGe6WJBXRWxKCPusBJUzvDF5uIWUlUuUkgANPAiMc1QkrpyPf/zj4akKbAQGAzoFBcqAZDJn/HvSGCccIWHzBRp8FsBhBbFKCKLHFUpelIpBLnsKnigeUTHEiTPyocQ1w23J6IKQbJUYzrCKewUNzsqI9dEqBcJOqLt12bAvRuutXuxBKmHxkxCVK55Vc65GO1bAi7nBJMxfYpzd8Y18P5tRCp5iB2dujp7qzeGWXnOLIjVVgSgZhcdbwQhnqD/8EY84Mpj/hZ0eiUOU8Ef6N5e2s3nJlkookHHLBRO4eGkN9GloTSCNgXf5D3+IsUDcKhO43DCohRQATy2xLZhdaASiwtnWUQIvU9qfk2+sm/AiE4WJTCg9GuGNIlVsCAg96wi2uvmYqxBQWnyx2AghvcWUzAuXDQH1NKZwYWkySfC6SzLaXIAtvYU9svyPeYTkocmfo6M8SBVevdgVtAA+BX4VMB5cLKgkwsZ1GGAmhF7h7BpFG4pDidbi4ITb2lgcB+YrayJuWpt4DYD8mo9Xm2fqzlnm/Pki0BJbOE9e5dKrzIoZvQKrwBCgPaVJbV4WDlkyMOUyWnoLZ2ShSfnp6TaslVhM4XZl64eNG84x4sMGmV+INpQWAIAFHctDFmWs2ghI507zMDZf6G1GFrbSUrDSi2qTkoRjIcUeFiCbsuLU/b9UCYtOJBV2Jv4IXgwWJk5N3npIVsfUWyBsARljrFa4lYuzi4ODg2xLsykTUmZgEMI8b/ekhBhrbfeuXegjlj+h/ztDYFlJ5M65OAwc3LEs5dgLL+kMLkt+VYhrrjhUg+YsLktuDnqzepS9D7ziBDgxaRC3G4Y5pWSWm2lKTln4gy7TigtcMSPtuZa8OlGXlSkRIlzmjuphI59APhxJZXWD1RNz9AmHLjebIAoHENc4cUJCTMXVC6+aBBr3gPoRxB1u0aMy5GbQWnjgD6jq1wuzf1uAc/r62S2WJFzPsfbl4e4VuyNOgCwbW2tfjOwcaxgAhpoPfxZpYaWkycLYCk43cz6NlSpm58UXXxwexFL2qExSU3hltDSW2MKWOAWXRS/E9m9KbDZeM1Uggx4aS2Zh5YoiNVUApVFACaIYiwS2j55AlaNASEySIKNJUcZsSmG55tprOQ0oMO4Mvp7DmkWlAeQRYmlSsJXpwWxL2VD6cJ/O0lv5irdICyvB6oEaKo4VYUNLJbVICy+lNxCrg30YdWrgLceGJFwC9cGtWbhClEuBqExSU3hltDSWWGDWnNw3QwwIPYklruXyYMvrJYWPQmz/hjR5MJqpAhlc0FgyCytXFKmpAiiNAkoQxVgksH30BKocBTxiJkOSilMiI5n/+K0Y3lFGT4jSWKCpsdEuCuwAFrI8QixNCmYlzmkdTveEUb98romgW8kaHw23LoRnkbXMVn4UGSVQysqBYusfWH+404E9c65a8KKhbSVpVoIFcICtwWbVVVdfrWdDiFsn06q2FzWYn53lHO+0HJzBAyf/Z+cCMX1uemYmZwu4bFxGs8RNA2QLt6lsOlK2slgoGyxl7VYivwIWspianpqb5cBRGTWytfNgRjIdD5sX9UE8W/SGRI+l3EcCXjigyJkgImu4SYyrpAl+8YSwM4Cb7wMf+AD+Xd6yl3ogPB64cRyEGHInKOfT9HpOqzgEJhgJtV27dpTR8rGPfcyuOQk5req7nGco79y54447tmIbk6PTGvOlxwHeOzoc4aHogpwtQOQorbpt+3Y5kJIx1DQJFQALGWUss5VYAGrA2CCijLKFGkeJtcyCwXvFoCU2TLSnpmYAaMDtO7azbs2+gTVDQjQJLxu3WBMIy0cMwljbKEtOJCtuIoz56r2EwGt/1u+5SX/LKW3/kq08laBVOQAAwgoJzkNxsExAg9Di9nYpKaB0tdR2+uorIVYrf3lJKs2asopcBVDAap+d5WLLOfrNopx89iUqI/QHZZSEWogVACNkGZnYJEYyXPxNSVZiBSAmi6biXSEel9IoXjCoD3JhB9Q2tdLEATTsnLOhltstTlcelphXG/ZaHnOCmrgSrAw+08sJGnuJmZDL58ToV9XuWonSVANdc8XBgAv7Sv6S49nmPmFCoTkdj91I63M0QzsxKkMClj2Bq8zUk8a2HFYlPjP6NGtO1p+4rzya1TwyWtavH6BS+IXzdx3WvVQfxRGGG6QKQ8i5fP3AGlApYsGzJCRmgbeQP2yBKnATGqWilfJnhFeLm43g4pddJE1FONYo7VbydaymP6yGl6JyAhvL5XOf+xynKzHEtPAW4BBm/vduGfcjvGIu3S/lyP9iaHe0BucO0CBY9fQzjkhxLiv0YEUr4qYy837y58ucxpEt5goMbxwr6BH29mViNPKieTqkl5H3aAnCpKjQBBlo/ueHohZg2fOdYFkUH6aGmEXSfP+E7KvEhOxaEJJYb/MiHLCKWSoji6Lg5J+Qkb5BeVjifeUrX7n00ks5pBteaCDiUMePe9zj+PCddzNDMrNKE8JCVippkW9/Ko7KKsMw5lQrigNbg/CwVdY/yl6yYKI14KV/cM8NIUMszjFGMEyi8UKeQO8xWoZsZEwCOPnfKo681l4osDIMxQ4Zw7oITTal0sDuVcNjzKnEPa6wVFXE0EW5qIUZLmVl0Hs5pc0nIAlQYlVecdbRSkWRFWcRZaz5UiWaqyC93pBBKUmiyDFQ86tnWFD8jGosYZzk0V3eMN88BRNbA88cN19xjy6+PRYOHDnnSqvQ2PYEeo8UIPtNZ6euLD+yIY//JCHMPU5dPWz+8lvK8sq58tKQaNnLExgVkRvJQWE+nRHVGiz9uO4AS5lw8gzHf86sopWKInMKzEm2PxVHziIqmYxVfQSw/cziBWb1S9gY7vGbb74ZlcGxF0J3WWvkVB+hQMVoSbA12J3F6CDplltuYRnFB41y9gYtfAhoRgKE/SDEGBZJRKr/0wQPgG4Rs3SwMFokobFCPYxwgfTYLWaRXSaB4oNHDE4xwKksFuUs/eORLaH3278cM2Fh62XPha/YF9xjxvGTjFADj+vAfDyYFEfYgtndBff1Zz/7WW7WE0b2xrl4go9csFFPWHHO4R1majEYGjaAh0e2BiyBB6PL+GE04ZfRwoeAcMn4YYixOoOen/podGgpsJSRhEa5q8kllAkd59FEs4OGjRCEYC7BYmmUPQTIhR0Nx0LZlgZ5SKZJAMvVKTpBhVj+2kyh1B8sZMRf2s0UTdMdoJmuwNb+gTdOkcIALS5A4ccJXYoAAafsUBlsEWJl2LP5tS9grXKosuJYs/dnM7KwbSdCD/BpK4bOx/Ehtr5YebIzcu6552KDRDtiSmCIJ4CH/sFSiFzo1lwa2Bd8LU0LwPhnR5m/HL3Jc96RgcRowdzFocPGAZqOLERaYoxRQKbowvjEOCyNhcaB9Ye4WCYtQRogdAQWlCBl84aBsnsAKgOfHzEUuHUYDNqSHpmXJ/TsTVIdFvlO4xSTlcUjlkd0MXMA2ZFLylq0EsLXJHLy4FM0SOBd8FeqCYyfnm/E4vgEw4XPXB3EGkQz4oq2d77rXd/+1reIM8ITx/0g8l1OIXDSlvSsYvIDJXlLEuTPK0VZZcVh318qy6rgbUYWtsK50sr7GgCp9D8cE/i66fQcYYrGgKQEhng+p8SFJlzMR7ATXyTgY7Ttses/F0tVtB3QX7MrYyL0NSugtaBTomgIQ9JhCQ2/sCTKAkAWDLZCQ+NSWMiKbhrmIrxkhOKA14pSOMoFCwY5WwMMJEqoNAqE7MKC9WRrJNVJcSEcLgoWLRtc7iclKIKpxsmDT9EgWApMw6IyOPP+hS98gQOsYm9yCwSNQNiR0CAEzXjaqac+9CEPgR44DLfJyKhYiaw/JXlLEmRJz5dWZcWRL9MVVGF3WZGc+ZDNywTFepJAQEIweH+eJEyP6HdSPTJ5tBlZGBOAcwVMJqxpWbV6c7XHS0AUVgMjwJs2ec0iM/q+ZeuXEAzYESg0tgwmF5fIyQ06MZEXlI0YD0lVLpEQsrPWQM/C2L509YlHgwQPw+DHbnIs7e1uGVWibIvsENMIjCVYRKCWLcxCkhh1tC2Lorb2dqmOLYlwyaVPFm9h4cr+m4eeKYfTUgRlEFVE5K4KxOTkMz2iIxQJQDX5WQywzcjCHln+xzxC8tDkzxHK/a84pHOUVWglzualw7FJzmYKLxtPBxGorEiVFzs5nAc01QNsRhaGjEe6NT+PRR+VnukoulkrQpTeA+h5oTtGZSpxEUP3cOVpaWmmPIUCg3kFoT4oYNm9skVplF4APp3NVO8hU4yCpzo0u87MyiupIS8EqBiqY0yKlbWikks+GctuYc0lA8imZ8VB7PLnP/95wnmIHA/loKa1GGGqxdiMLGxpyoLzCMlDU1am+19xlFXcconpo2yjcMEHB2rlW+fsg7DMZs4nIDW8mJdJA9uBrw10LE1u5eZ4gNAvDaXaFsd1x/JzyjnAvKJXxuUJqeCRiIwf/OAHdB6ilqNxXMxAxO9wbCr/PFRBMQ40lrUOAFuNyZSH19K4qXBpfxEQpcC+LHYHHkqiTnnTXvwYXeQTn/gES5hDN2165jOeQYQondUKzPPyStKHBCEmO6MEPWj5n+EMwG/Z4rAsFpaMKsMIb/RvZQIzuMKkaL4h0jJaOKQMMfgv2F9PHTAReuYejr0//elP5/y0rkBtRhYOswgx5dKHEsBURUhU8jISC7B2v/AoZJhXiiaFtxKiNFGk5cLHZh8Fxv3Gh2Dlm8zYxsTnEDcWkoEpKT/KZZGhhBBTLn3xPC314qSs/AVYIZUH+T9aBUsqsMVIYfJgMoRb9jCLDIxlzC5JSCn09m+KJsSzeZ9x2o0TrnQSXKSsXKz8suAw05A9D03IVWtMbZcqMvdlr69SqSn8ss7zVvBLCSUzFU/eEvniv7x+LukRJzk7L3i/tt5++8YNGzwyHlMFy6/mQwkhxuYbpiYwFIGf/LUCHGxZLCx0FiOwxYQ0KYyXkSWzAsMs8mBEWs4slBjAvhpbDEsT4on+JPbH0gjMThzR4mgNbtyRQ4MhTU5MmGnImIcm5Ko1praKg9Lvl2pXkCnaxK5RgVm7ltX6FWRq5TNFlLuMr4yFUcReqM06GyYXCCooW7lcdnhnF8mmouWjM4GlKaO2hg1/J5J1DxiY2BM20V70ohc9/GEPy3CHGxl3W7C2sAFXAABAAElEQVTmiiPVcnRHPA7sleJ6wONw9NFHEz9T7lhNCa8ATz8gohTrlDgotgyJ2Aldp8MjI3t272b3gaKW7Kz5y0DXZ7uHYA23IdrRob08HEgWg3E0Mjzc0trKnuhSYXBqCAl/+S1KUi6WYwTFkdDd09OyFEtWpFz+o8SKgoW8aB9Zx4EPaZRYAOjZrYSesmVrHBVFPAihbozVDBYlllzoQuQCY29fX1uw6+kVKfVIs8sXLTlp5m2dEuV50kknybcs2drnWypEeWFlaKBXSmbt8GgxRg03KtO2RA+t0t5ZTTn3m+JgXXD++efzGVSGDZ2S7z+z90EMFZsgKBFva3A1NczJi84igGfT5s2/u+46bFEi0+krlpdonw996EMUmGmHDvSMZzyjWoVkADBm+JEdHULCt4FVg2gxFAMLe0N7hoa4+QJ1UySQRPt3kU+5UBxoKBqcXFKKQ4mF2Sm10dHxiQmGNFyC9GgWszH/QM8GBO3DL3syUFEMYFaL+BczWJRYsmIU0WguAq2jozLFwc1mF110ETusVJM3zkdtefVaD8JzLrzooisuv5wscHYQHhruiyvxGgC8dD6d+fa3v50AaHQcH+jlAG44va1BSVwWlGbtf0xiXKAW1pDeeeyxx+Kjxk/5pS99CWXP/jmvbe1L6OVIn+aWei0w3Yje5tFU/EivZebkFK+M6pxyUBywwAh7ThaMO2ZXNpXyN6mUjQAndqlz5gIZioOy0Wj5y0Z1yAVzLz8LlGQBF0onf9mUktbgg9u6FYKlc8kll2hqCshfvJSEivFoSW7q1k5IgdkErFjaKhlraHF4hqVUWJCYsuE9gBAwJRLPy49IGyZS5vbBwUHMRXZGMcyIHycgUhsuCkQzhTKFt0KiNILkq8vWT8aoYLLSD3BYIRXAGPN0An4pXi2YBVzApgk20aSUEPDEnvZjRuFMKQZ6WkplB+DH3C4YWzalUUbFKBdJwETB2EAYIVNiodEs5JGoUH6WRnIBw09sDU0VgLKpo0GThEv/Mjx0reTR0Amx+fkrxGiuG2+8kR7I7CUYj35RZg73kGVMwVpCBRgRsgzBWGM1RO+i89uSoO7ttYMoPvuocgDyZ2q5yoJrqDjkZXulESRKgbNhBPxTeY9AHnnfWCX8OKtO0Ceh3Js3b2arnGUnwTaYZ6xItdNYCdFMIUjhS/IKY093N44YJSZrlJo+1hrQwoeAZq1JigkBaNwoinV9ZQ8BlaNJIcYmWVgoBWPxKzELmuTuX135s88KLwOxulgBqjVAKpcQYO3zTlETDEgwuMN5XPIWORKPXriiSEnSv5YmBQsxdhwWE/rrZz/72WWXXcbZCGwoUV543FhG0e2hFCGMguOOO45iS4FRLizwNVMLZGdqKSuGa6g4pExW+WkpWS2/5CUvof5cZsHsjYLQpChA+9K4/Ng2p72IIqcFTznlFE6jDg4OMoa9QyLRTKOScyLJ4pWvehUFxhrC6mErjgWw5RWvFYtPkLxOiqcTlyXLhqte7NVnl6dISqNARr4BDQfxwOmPPk/QXSl9oOSlAMbhtddeyxkTPFY40aw3EU3xJ2edheuKmEAmKlwYHFCwikNkBwUulWWpdC5n37F9O9sCnKzlB4Cl49kOdCemVZbDRJepPEaNfNWNAmOdPfFJT2JXWFPXGFjryFFbPZamGPz8+HgEF7qyFkCDiDa1ZCkYrxuG9+ZNm7Zs2YIlwovnkDu2QPjuUxLKwtOBeN/c2YP3Dhcab86y47Vi/YlaAUl5+CIG+zKWIA3bYeMZmf740U4cAmn5K2QKmTPgmcZcWGxx1Dpxi3mFknNiEMWgdxKLAH+VsYhb8ae4ghBiSuL2e5cmSac4+F8xUYE2VRgVY7PhdbzxjW+kd+EJ4n099rGPfd/73mctR4jRLKwR8Fwwt0dtWCtw9TCT3/vf/356C5+PwKGDgkjJpBtzuT/nrT0CjHScHaRS2qWX5pGsySOvcL//eG0cS+cFf+pTn3rd617HlSeMPfXh52wGOsTpp5/+mte8BiG4VFdTqdDZmO0S48Dr377tbVpOXiqfYrEFsAIDUXPzLtzT/k/op/y/KAMWlaCAlV8WjATE0f8m941MsclSvIxHclDhCpQlWYlDdg9TrJFGuC7WvdgOIOM/0wZxghD77W9/2/Yi9kSYxkOymmJsxTF8uGRU+0k2gEl71VVXZZfNNeNy11imtZkuY6sK1Xypkt06koriZNjz4zMIXL2H55/PO15z9dW/ZM33q19hasrdfNmiWPLwY6GIA+VZz3oW+zL2DlgaLb96Xpr9ljP0eD1pjD32LJWaVShWiT4CiEBe5/C+fZhUzBUrDRaboUyxytQwRYDDyAgDQLZdIY3OrjY7lAIbNFhkXd3d0Viv2emZ3b+9dfz3ewotzX3Hbu4/anOhsSCxJJTNBsKp2DBTMNiM09NTnR0dsPANRhRS0XpoKPB5lKUbzjAolhrACWMBz4QJfWdn+5KZIXWSrCBepheIaRlTlBGC/zhaNuW07QiSBSybJur+pOVLLopF1Cr/Wg+ra5AlwxFFwEcSSgrnCBUWNF94w4LOJva6pRJ77aD4KgK1VRzLXSBdZI+G6ZqFKL+TTz75+Q0NdDIUB4s6fr/5zW9QKNiWGQYe+cDC2STiLDj/qtmmmlgJBPAKo6kW7+ClriB4evMDHvhAurX0S759y91iIS/6BeuUUQ27URxuhFn5ygiAhkLX4GaHnp/4TaL0VgIbBChfSsXmRmPL8isWmoW5+ZGbto//+o7GmYb5QsOeoXE+mNp95AbseXxJcPHTLGBZ1AVL3x+QUvExyZmJqaE79s4Nj0/NFxb4YNPUzDyfYpydYwnU3NrS1N/TefhAxyHdDRw3Lw4dyZ0sWBpQl7a2TU3Nol2KmRS1S3GQLXd7gfiWJC8dtStlcwWwqojnJYyH5xouTkVzSk3Wv8QH4Xsqkkf+eLwRiqVcwiQanLtdcFXgs2B9hArmPu0nnX32SSeeaF1dvHdeaMiOimfWpHjEMbEDwPFL9vuprFCWLFhJAuTkoQkLloFZ7lUZRBUnLXeBtIhsGqZZ9mL5ocWx9Hg3qA8cWgRicZg1ZYkwyaA+vDwZtJdffjmLTHQT71X2d7EOLFmqMBbvwWJ9POHxj2eEswHEKydExYblKD39A+WC4gh3XpXGFgaYrkYLUHcsDoqtqSG9xVCp7u4uJltipm2fEZq58enR23YWpgrtvR0ojsmxiZFrt7Zv6EPNdDc2qm2vboaiknRP8zOz8zNzU/vGxncMTe8dnx+Zmt43gaaYnJ8vzDl7Y6HgzDpuRp0Gnr9r9MbOzqM39x93r7b+DleXYukpG7cTkktTk2gNQRd9Lg2yveJ38uamJuqC4lgumzbEEiBS5O8SrgE3Nvez4avm+ya4MLiAPmMO93hViAUsDX2M9bUoCzokKoMOifJVehwZfBqdFYfapygy3JkURmY+iseniCHAx880SQQTiyn7loXRZqrCLVCSAOI8NFZmSTiuAkuypQj8d56iWx2escckjI7nKBqX0KNKcEpbTcEb+vSnP40XXfOB5T3veQ+fMmA2ACn7u5ARL/iQhz706KOOyojCViHZteM105m4yyO6OhBeaPjZzqHCMwBYSGVMZtBokvt6e0OByd+ZCKxAXGkWGRncJE3tGt5+xe8adk31H9rf3Ny0b/fuydmp9aed0H3MJsY/2k1EsdsBG99YnB+dHt+xd3znvtmhiYYJzP1x7AunIQpYM2ibVm45npycwDAhTqSzt6u1vbUwX5gYGx8ZGUNI64b+gRMHe48YELHFBoCbYnn7KVoDlJ1fU9YpJLs8czSCNLWKI0dsHN64rPUUr4Clt7ASWID+g7Ig7pnrAtlEYzMVM1NekCUDZh8HxXHOOedYPN43bvcgXoNUVAYTGBt2alxYygy4ZCFLEmQIz5lUZcWRM9cqkqHjnSVy001X/eY3XNLDI64NbgzkZIG1JnBis3iRW6dt7liSLIuwYLk9lJAbFD9TE4o/Twe1cmoB53n9Hg2PrESGb9s+evtuPmbf2N7atXGg54j1TZ1tjMXi7kVhcue+HVfcML9rfP2hA61tLZOjo7uH9jQdOXDEH/1hwRmgjQ1zDbOT0xNDo3MjE5M7RqZ3DgM0zBA2xum4xhauNGclwuzf1t7Y2jQ7NTO8e9fM1ExLa0tvf19LZ/tCY0MTQgqNk+OTY/uGpyammwe6+h50ZP8RG5FQXPKLXnCFFQdAsRb84UeSrzWKePenSKZP+wFg4++CCy5AZaAvMAOzS8DWGx+vPvvss7PJDtLU2i5V8jTKKnsDzjx+DPs/PessjA5Ws6yfw7mFKUudZLZUvH4mAX7MIRgpBKdiPXJeBu8UBgsBIzoDK5ctsIWVwAPy0Hgs8pgcQIbao+Fx+K49d/3k2sLYDPky0Mdu3j66Y+PGk45p6+6Ujc9G51oo4Micm59bIO6ptYVDoFOoiVmOmRam79o7fNvOyd3DMyOThZn5+ZlpDBaatLWrrbWttQlaHJ9OrXJjqNtJnZ4Yx5pDZE9/b6sL/XRLFZf1wkIrJ0ja1o/uGx7bs2/Pz67nBtTuex1iLAYKu/hUrIVXFVPJJbAkhW1qCy8JWNW/VJPdXLZI80hhNcrJiZKxxVUpZB4heWjy1Etp9r/iKNkbtKzZAPY/GiRFg1mBrxS3Nq8/RYMVimeLH1MKqgdnFYtPljPEqrI2xgwRk3JFgRenzJRIh19Bn0VYhTT6x9i23YXR6e6uno7Ojumpafx2kzds37NQWH/iMS29ztfQ2NTY1Noy11CgKdAIbqg3tTROzO/75a34O8fu3D0/MYNl0d7S2tze2dzdzfmx5o42JDs9gacBlYAHo2HOrYT4xPzEZMP8QktHW3NLq6ySoCj+3D/Etnf29TTgB9k7PnLN1o51fc2diz4/IaruX9vUFs6ZC23FooYfzSKGJ2sQtT2ZlnBkZIjCeqWTMPdgt9LZOITmnZMMeSsoZGVCqpKRzbqGioOOExY3irQFEjhKFkV6vCkalrivfvWreZHcHMnrT3lVVZr0EijRRygdPKksZ+57wgkPftCDUCJ6ZEZ7lTKmCqAEFQChTMFY/CLMYHZfSGKN0kqY/GznPOpjeGjf+M07+Hj8ISce1dTe0tzd0rqxc+rOvXNTc7Nt87NsheDWnJ0buuo2Kss1JC09PZw0WbQpCmyRtLqzLcQLoDWc3ijWoJjfLJspM2gQjBi3/zovzbGAobNIBWlLU3N3Xx9rn/E79gzfumPgvvdy+qZoa9jyS7NEMSR5HSlK5tGEAkMuaDBFWXcQvsmJSvb+8V+wqc8yjA2ON7/5zcwcIoe/aBMsUH1UgO6BX5PZhVMUuMaxWHGNqx83mqnyhkC59KEEMFUREpWsyIPex6E1yQOwMMGNik+Ly53whNNR8LCiI6LOrVAgvYFegg3Cj1mFv0wvqViJkL3qmGj/2HP1bXt++ruejp51AwNsjbIkmRwb38up07bmQ046qve4wwpNhbHb9+y6/LqG8TncmQsM/flZrInWljY8xG3tbYWmxn0j3D0yPL+At6LACqWzG9diF9nRUCgQBnIx64X5qZmhHbvYmu1a19fe043eYPS6vwW3kEE7zM1Mz+wbbensQDnt27W7caDrsMc8sKWXRZP/i9bFJ4o9L767Ytax9AiObsD+7tatW9EX9AR+6Avc7bJrqwznnXfe288/37q62TUDycYcNBgXzCVoFsIOURzMSXSPckqh+RyUQM0VR8UdYjXNmSdT7FKiQggSYVOG2QZHN05Wtmxz5staZsuWLcwwzDO4x+k6xO2oJZJTiJDR9YluwAXDpiPTWsnOJ0OF3s/aCvOYYDPLMrZ9347v/7p5emH9hg2F5kZnJrhj+yNk0by5b+D+W1AW49v2jVy9dW5smoZqa2HtUpiamSV+v6u3j+E+Ojq0cy+DvHPdEZsXZnC13tU4NdPNV2NYCTp9IFYHvowGYjeGt+2cmZvpPaS/vbsHacUtVkwOtzMyMzmz9Xc3Tty5q2/9wKYHHjs6PDwxOdn/kGPWnXBEIxu3K80I1k1SndA/lWpMaTcYMSetIzxKDzHKgjGPsmDFii2JpxPjgmaJ0oN8wQtecPHFF3uSi2ckbqNRNx16KNeOhjvrKWl3M3wNlyrSUuHcsgYtmCdTRinmKD/83uzFsLKlVxHYh5cUNwfzT4Y3hCpgp/ANHn5sy9PXsUQQReQrR+9QJeyx5d9zZVcfOwjFIQEOVgtE20oI6PFEeaFoqIj14LYNdLdu7p+6YcfUxFRnT6dzTLiPLXURhTG1fd/Q1E04RWdGZxpnOCXhvKHd/f1EYxGfyghBx8zOuqMQMw0Lhz1wcOCIQz/w/vf/9Ls/fOqpZ51w+NFoha6ubv4ujXnWKCiARV3idn4XChO79+24466Ovt4NWzbj/pjcsbdhbn5yYoIJipP2kyPj09uGCvc5vGHx24/L9UOP0wiUgRrZoKlligAS+5G/VN8b3kpLqxJegZpgQ42XxRX2rFJpOqf9Mn808uDgYLhRykqEXybrPSKxhoqDNxMOYIu0sNfY0aQoMg8jNCGvdB36B90OO5MflucZZ565fds2rA8WMgSJYI+wj+vCFotxBF5e8siwx07hh7nLl5+wYPGls2lno0iijIpExci1Vx2dnXnUjZScoQIXf+3lGlSziaDNYw67azurkyFWJZ3t7UR0YGXg45wampjegUlVaCaotKtjZnoaBwee0UJjc3t7C2KdccLSZXqmtbtj4IiNl/3osvPeet7E5MTWW2//h3Pf0E7QBluwEtHoGnSh0MxHrVr5DCRfteRlT06O33nzVkye2f7Jdez1Eh3a2z2+e19TWyu6prmpmbae3js2Oz7Z2tPhvRGGKJ934mNNJfXmcrs1NWFroN9RNBQ9ZGSz7N3vfjdeLUxLG5qlEqIA0tD7LECIOg1l2mJb2Iqy+BSch15prBBFChBNskgLe7yreayh4gi1BgW1SAt7dYgmRZF5GL18hSXsE+AJUsT+5Ift8JxzzrmzGEfMNOUi3n/+cyIFvWWwlztKBMvlu9/7HsefU4ojfJEoC2wNun4eraE5MjPLNGsX4W76LzS0bxroPfaw4V/eOjY8wjBobG6aYvJ3MVrz+Cz42FRHT09raxtzNTuyLcSkozB4Nc5nWXRqFvguvPsAPbupjMxxFMfIrklizDkQPjfH2HZlKL4M1jjN7W0N46NE05PzLIpoaroZ3wY+k5mF1t7WzcdvmRgea+/qxOnagI5qbJoaG58eHkNxaEUEoDrcn0pdbCNoWylguYiUR91Lu/E2QxosRz4PjPFouVIwNWWxyVvDe4XNiLOTbhAS205oYUtp8Sk4D73SWCGKFCCaZJEW9nhX81hDxbGaYu13XjftrF/P//QkzA0MCtQHce4YvRgjWL8sE7Cu6bVhUYmkzFjm8CLDLm5HSyjQo9dBYlcoizTFVQRRFb1HHzZxx9DUtn2EUTBox8fGWaoQgsG839nb09rRTiGI+2xeaJ7FOcpQb2Sqb3KrjsZmEmbGJodu2UZM7YUXXci5wdNOefi92g8nxtwtTIgPKzoonJuCmI2OlobmZvTF/PQsCmLdvTYOze/o6O9rIqK0saFjXU97v7vZzAV+wsbSiNCQMVSYUz22XlQKrW3rLqn85ef1fmXUdlOMlcBbyHoRxS9y4t6W8wdoCnxV6I4ebmZYjC9xwqK2jM3lngnX3Dl6N2tWlAU+VDxk+Nj44VhlXYOPzVoi7N1+/OMf53xNzrprp1cgJ2OKTLwOI1v37P3f6xuGJpyq4oRYRzu2Bl4J50Ro5OTZAkbI2Oj45DTftW9oaevo7MIMaWWMDu3bM7xvqGN974aTj+oY6OWM2eyesTuuuKZ5vuGQzRvRNk5xOAvFaSn00ciuvZOj4139vd0DfZguM5NTrIwa21BD7ie6lVhSgKEde6dmxgZOPX7g2MO1sgoUyYssgabQpLKAW2655XnPex5nRiwXex8oCyIGcWyzs46+QFlwO5SYb5ZS4LriCNsETN3iiDZLEoknksAwftwbxC4Aq2j8IGzKcPUbPg7ciiyPX/va19IdkyKCBJ1OFQhIykMwoBmNXev7Jnq6pvZiFrmgr+7OruaujtmFxa+QEBe2F4/s9IwLtCg0zo+PTc/MDgys56RJT0/3LP6P3cM7f3xd80Avxtf0rpHC5Gznut6WJlwhRZVBiYrFbWxu7ujunJ6YZA3S0dXZ3MkF6h0MNhcpJsql+A/WBSgXONbYSDjZEjf/+tZEFOPoyv+x7fXXf/3XGB28I7hRELixMCu4xZbFCEcTeJtqs6TEO/1Y/wUtUHOLw84nuO5vvOEGpmgGGNsQ6H5+LFOdY6wT15jbVkTx01ODcpaHsJmWx1kRNeYGvnrWL5x3wjlKp2RWT85UJOiIysxOamHlhPWKYIri56Zn9l516+jVd3J2Hr8Ba4qe/p7W7naCMGjkBeJZdu0en5ps3dg/29t6/Q3Xj+8aGuzdfOj6Q1mfsTsyMzM9MrQXdcCNQo6/UGjr6uju70FNyEB3w2mxfByEmxvds3dqdByPSNdAH/5StITWzK1oeCwUZmdm927btdDTtPmMEzt6O6VeSzIi6kMlCOCazWUacYJ6lPYRPw6ejl/88pesH1l1ojvYMi+rg4UtbOVb2L4pi189zN4Q7jNMv31FPz1mLw57qobHl0U0h2JQiASnraWOW1PFwTUZHFFFcdAQhIfz/hhgWIkA/OVKApqYVmC7i2Unw++g3iSPdiNUJz0YdWndE6mOJV2W/sGaAn3KL+zEMcwC12yM3HDnzp/d0DAx19vdy2YIMZ1NrcX4Tjf8GmaKW7mFvq5NJ9/ni9/9z3945z8Wpmde8KgnPeHUs9YfcoiLpCjMYHTMEFQ6RxAZOyJsn3BKpbj2FweHKg5Kv9DAhuvYzj3srXR0d3UP9ONkdtjir+h1cZqSOLShnbtbjli37uRjOFxHdZjtpfxhLWyb4GMSd5IYCNUaHlK+kuZEdtlsOaNv3BKUhJmB0AVMQvxFGiFqTEUgWRoz146Nj+Ot55HWwONLxwBgaxlVyLqY762w+CqZRbUIVju3lyyHvhgqyQEhvQEJ56LHKx0CJUL/wIzkKrDXv/71XjgQrcluv8QF4/RGs0DPJM845EdfRAjdsVp9yythWY9hGdyey44dvHi0JC9be2QISEbSdCyIaCvMMWy00K7W5tWyMVAn9uwbufb2xrHZ5p7O1n4u2ShunOCWXHBB4bQQuyk8dK3vbjuk+/Y7bsfiQA9ctfWmszgWOzGO9YdyYS+mjW1O/Bnu2JoLzZYp39kGRScKdohkyhOqsKGvZ3RoZGp8nEJ29PWgaIp2hzSDOxczOTo2j+rp79qzdy9mJa/YvamighFBqXaAFxbsGtrN6w9a6wqAxdKX4sxJhhipalSe6hTqQo8NKak7x7svvfRSvGY40TAoYEF9MGcA0GeK7Q9V5MeIwNplH/BupTi0oigODgXoYwjQQCBpWX402Wc+85knPvGJ9rAAqfgjueuVGGG0MrYJwwmb5d6HH853yYCx1tg46OvtRaccwZGBww8nNcxoP2Kooeo17ZEh4JUQFn4gYVdioQkwC8R3Dd+0bWr3aEtbSzdh4M1N6As5PIKvo8jPvq/zXLL3Qw9+zJlnfvO/vrVz185THnVqW1fr3PTE/NwMUV5k6PQDeogsMVOKzy5TyZK/Jm+UCCEbrGsmhkcnRkZm59hh6XIbvXAV3HWBYyNjUxMTTet7ew7bMDrvlItI4m9RvPurVVPAZVf8uamAEzhFriVc1f419ahEJuYzXZcRTqdlJsOUZg7zBFF83GHcxIERgWv29NNPp69aGvzr73jHO774xS/S+S0+J8ychHyKEaqknBLKJau5xaEFYh5jDaIWh+JTAMYYqtcqDpQun6766Ec/Kiy8A8tLk2FxgGH2Y17ioNHjH//45z//+eFuPGKxWXCsoKGxVqyQmsL0p40bNlALNz+v/GX0XeoCPdOUHTZKH4wxzI2xyVt3MvI7OT/S1j7tBr8L0+DnepVbYiywM8LaY/yufbuu//0D/+D+H/7wRftGR07YeMTQz290O6eNhIyxhi3K5g+ZyahemRlqxfkvBFkU3dbf3dDaPDU0PD06MT0+iaFDmcmQA/tcK7jQ3jLwB4f3HtrfMeNckrSGypNM9K/Lb+lH5rxWXM4gNI5Tq79EZZWY4vICWoxsBhYFrBeY/PjL8CYykLkQe5ClNxYBNgIdks5GGAhfz7BXwCEWer4fyvUc8DLD8dlqQgSlu0qmN1x/PYFqlWkNJCBqy5Yt7iWs1a+2isO+YCZ/vqVCQ3PGDN3MDzXJXMQvWlnsUo422yTeE1HDFmNh1C26Hwx/EY52wCuG3cEVTK5HLiljzim85S1v4UZ12voJT3gCV8uJb0VEuTGysMCSkvDzHTt38mVW0Sy8bGK0SGQZJfv8dP1w/IsQ769thCiLELiszayrQhhg/PQRwAq0eJc0Nz9607bZMXcpSTt36hAUTs3dJouILw5zJu+21o6+rtk9Q3t/ftP0HcNbjj60cWDTyE13zk9MtXV3FZrRNNAXWfiDcSBPMrJdlsUO6oI6Fmkc4HyXje09XYSlTo2O4crD7kBLcu+H00WcLj1yQ9+WDY1NDe1NzgwscjpZ8hPZRblLqCKNw+CaXalqPTJHsiRQk5Cv8LLENJRBz3jGWOBsAV2XiZ3eRa3wPoB31Vv5iQM+XcragZO1dBXNjbBAooolFA0Vw7V1nNXGU2sztRODMkYBFAQ6FHr6MGteuugjH/lIpkmItZ97jDYjL6myx9oqDu/NUT32z1mPEYLJ4ERPA6CnATDVaFaqTaPzMtDc+Djwj9pa0XtwmlpMNox233r77bxYBp4oY3TK5z73OXy0wsg1tlyaYL95Q4F/d/31fKKBKC96BjmiMiBm2mf3BwB1xvtGIHgus8SMAkbBia+XVGHBQNCyeY2geAUgyH6vXmqUXnrM1MgYh8rcKO1oZ/nglIZLWBxVMtJpCizaLtxDDYWRoeGJ3++YvHNbU1Pzwux8a2txdcPE5fZMyLb40+wFcOgiJBVbRgrxAkuk5uY+mt15RRbmx/bum56caj6sd/0Jh+NeFVZlEhlLEiWxKKf4Z6ngvgoQ9mW6WAOqZLqBTE5sQDDm4QLD+GdgczQRK1gMGaW3YgUm6u9Vr3oVh+LCpBBDZ+awAktp+ommuhdhfvRwfiA0U/oSJxX4PpmhcnYEheR9MWlxCJtDAyxz6HIgCQigT9LrBgcH8RZhbvBoeT1YM/LwFT8u9++KRVjG8I3aVGAqyU+RvFFR27xRDApak3Pu/KU5aCMaTikBGI0vfOELieDkikBUAKtK1/zpUyRMuoxkq8jJC0tEZZIjHUgfBWA2YHIQsegOeoBHII+8ToqH1kA+K1veJY8sXFEoKCPijkTjKG92y2S/1zA1xNAHiejkZtD50SkGLuFeaAd308ZicRcL4hRJ8Vw85e/s7cOfjHXAYRMemzuaO9c5pyakbgNWlyo8F6UUVdDKnLVWoBfhIhUB603N3Hs6vW9sFq2xoXPDKce3rusmc1scK0tgi7GUAuvfbDItFL3r61//Ol//E33BKkPepvgj6E4oDj6j9eSnPEW/dKu8mhcA1y/k1BrCRcfzVlX0Q/QCBgv9lqmF++U2mFEAF3MPF+IS/kNMkE6QqB4GAh0Mo3iAzUf8d/39hPyLrWE7tpaW9wgcrYXSVAWosuII32h2KXl5/KDRYYbqzWAhdIetGUK/6QRis2Ch3HLLLZiL9Alguq3sYOFNeMwZZ3CptDSlyGR4I+Gzn/0sKgMMb4s7NWx2sKNZMpSREkNJJ5BHZjAB8N0C4LulFqgPJQbI0zKred+M8/mG+dnh8YaZ+Za+blwIrhZu8MtfWxZK4+wJ6DmLSkApdXFnXrk+2MlgyWG6npSpiHHbKDzyE9eGwO6xiBQu9+REo6NHhvZxsWDbpv4NJx9LHKpqjSL18h/JYfnZZG6R+WEKIj9ex5ve9CZmmiWE/y9he8QHcKyZXiFpymtJGck0jmulUj/0BZMH563FKQO5CESVvOENbyCQhL6K+4MLcTEbPGHY1+effz46Do2QbT54jOFjtBYh2WowVVYcqymKvBg7zqPSGO38NIkOihaAF30hAxgNAob3x8+LBMFA4PgZayLMCkw+vtuEK0tFAZA7iyn0i2gWm5QfpgB4zvLTKyXv244iCwuNYhRQXueo5GTZnnFWZe4yHhSGLDbYTBVq/spPulUxM2eAFGuNeVJc0RSJlFIAR1H8XwCEFJmcMBG1CDg3Eqj5aXZe8SSOTc/PtG/u3Xjy8R0buOaDxEVqkcqDBVSSCFvOymWzmI9FWnoINKlIvvgHc7Lki1AzxDJ68GmnncYMhF+fzsaolqmOToJCAcY0BmbmI4AdE4YPozAbCY2VMzg4+IpXvIIZjk5o8R7M6sNitN1kdJCkzWjJ1h4+gBRHZS2CjudHw+ElytN8GI1vfNObcNPy/oBDFr48zJ6L3GSNHwuzFhp6TEiZwlAeT2GlKAVPn6A/sTZmsWM7nDc2IFYMAAYFJg95Kcv8JOdG3PkxOrdzLziGIoewLdkL4IvuzmJ6ccA5iF8RsTichUX+SnKRcmmALost2jUNNKb7oCOfdWMJuW+EINGFrtaewSMOecCRrV0uiFZykL8iFdgCUh3kyPrUJilviGQxQtPRCFG7nXmb6QEdphJCAK8ZIz/EW8yWLVs+8pGPcP0XCxZcXcQB0Ffhov/Q+DyiOCgAL71kH87WGjZTgVWgAiHNfsHkMsAqK5n0NI83ivRoeIySRZEeb4omhbfsSkPvx2WL4YDDBd0BDY84xgHw5gIwEjApmazotdgmsoRWUezGvfe977W+MU0C0FwUiRBkoqGYbXCDRceAEqsEzCtKyMDAKhaWkW1DO777i6bphnWHbuTWjOKSw5G7hcVCYW56nhBUvmOAMmHDpbm91X3HgDT2XRiRYF1fkH3bRe2xmKmMV8otv8XhC0PjxPjEyD7XPtxUPD/nYk1nuDm9tal780Dzxr62jT39G9bh7ljkg8P8vHZgeFMdVAAuMB1dSqOAEeDCQ2DhLwOYoRvS4A1lqXLJJZd4eh/5DHJaG5/Cy172skc/+tHYDlaywKFAtFvJtwOvZbRwmEWIKZc+lOAVIEqwemQNLQ66SdgKK/pOsfghDeiKeaOMItBrrDBf5aUb4bXm57HwSBdkhKP+6ZQoDnoSY56FKwAqBlOF+QdzJqU1pCRe1khjyKI+3My8cnRJAZReAGlDmYLI13EVf5xt50aMlkZiy7EuilOCkM7MT49MzExMF2bmuI8D3NT4zGwb30Fpb+hogc5toix6IFyUhxPmEEsmgQKSzWKy+1bT+L7hac7IE6DeODnPV+O6O7o29vZt2dzU2z40NjyHz0R4i2W1YgTmLz8pI7WQishf8BEaJVag2G40gsixWYDBCGW7fcuWLYRj8si2Jb4ntAYeBzZTWPDiblDb0OMVgfy1v6jWyGaU2lkhFs7mFcqQxkqIwtmZRlnKRRa7V7lM5dBXUO1yxMdp90umFAW1Qr+ke1EAN9PHtEBYYoYKjG6p0sZoXv56QFgLi0FhcEKE7HS23Hvrtl3fu6q9uXVg08Z5TqqhAhobuW1jcu/IwuQs9/oV+5OTsTg4mwst67pbOvn0nMNRYKI+losnIEmSa/CXDdehnXsmRyfYg2nf2Nt9/L35jmR7XyffWuDGH1YtXNtD2bIbQaSSKXoTQ4/qsFRJsSixFhIWLA5y0fWaJlmAI0LUDhrkW3weOMw0D9fdnqaGFoe03Roov/Al7ZdMKQaW9nKtS2mN5R5Z3NmVtb2tS1gLi2EbhHXKCnp39KPAWsFpgKbCwlwDro6J0bGFiRliv8luUV+44yfwuXhSLvJzsRVt7huzDof24B9IXXoREFgfBelIUUruysXhhsbxMe4xb+q99/rmrkU14faDi5tlyg1QZFrUQrALRuUxpLU6SuyyMT8lVhwqg58+pgAiIFJJJfFS7JJk9zSCxfXnPa3aB0J9ZRhQEts1daSBt7AU2KmEpR/JECw9OVoOpRXanN+TH/ZGEzec8wXZiTkcGUVzwi1JGt39wlzD5W4ZbsQsmV7gi7Akc/qND1Avaw2k8MiGjPy/tA/riiHlnp1HLIO2p7cbLTG1Z2JmeJwdYXwpWmwArZoFXLGXxBQ1Ffs/rDX0f1uKYh2l8ktcPNksJFExS7T1f2vbAnXFUdv2zZauw0n7vWJgVNhPJcHtniraZcIDR9q5vM/pCD4f71yjGB3cPezivZbcIJC5YbnI4DwqBT6AgJ/EZcb/K0QK3dJfQ0AGN/72uuuvuQaHKPZ/a2vb9MS0+2RkUcqi/KD8KlsJEF3USE5HUbClYrp0S7NUgggySqb0daB2LVBXHLVr27ySGTHZA2A5tehGnRoan9rjPvVKqAYjnx85MZjZKGnodsdA5t2nD0CxbHF/Hexy4F1DuizMoYsawyUUYYdZmW4MgaUNl0KBL0vuunPbnu07OA7LEoNVCSdw8aS4b9G6XHz9syRSVYfLxFk5BLsu0RYxkvkymbTMErsrnfyimGW2JbL6v7VrgRr6OOSte0WPIj0aHqNkUaTHm6JJ4S270iiQKonlApbdPjZl2VjBM8rFGanIP85vMMQ9F50ZM55g98i6A8chx9z5wJp7nJyZvGXH7FRD1+EDjYf1iCIQ3cH6o6Wvc/q2XZwNcdcRF6fxRZfokmBbNXCic7A4nGgZjlAUYZcja5riyqNoDii+sOeObeNDw8ef+AC+QYuLlNwpJLcir5+b5xS/lwVJfNGeyA6+Qc0dH1hDNIJzILNaWtJqS3nKe19WC65lisaSbDlxfE7LuExULJeXaRHn/vBSCAMT1yk+FDZWXMbE15vDRJCRi7ShMqaAVEaW3tKkYEtvYUuv+ChSU0PA0ls4pKwYU0PF4b1aKWIUGZY+ShZFerwpmhTesiuNAqQKTLAG+69ypw6WPUEHhCTi0ge++eabCfeg5xHiwfk9WLhGhMORYXQZvZ+9W7QM3VdD7KUANkdbJGDiNciaTxr0r+vHh8BJEwIouBhnevdIy/rOxnY35PnRPyhrc3fbQlOBD6wxnjnV3tLWNMnVwu6bJ3g9IpnA5TQLI3+pposVbmjYtfUuxtjA5o0udWHxBDOY8ZHRrTfewo4mpycQ6uJTm4hUX5iemZZBbrMhEa0xfMuO6dHJ7i2HdG/op+m4lwjnyIaNh7hd4+JPWWTlomWRVPabYEE4TUq+xYpKyvJflbCMauA7L5Mf+MAH+EICSNh1OxYNwl47gcUEmxPuSQxITq2BnGhGNlOPxtJb2GPRxyhNFKksIWDpLRxSVoypoeKQMi33yIrLuGpGOk12z2BI06HpQDoRKQvAZZddRueT2wA4DgMxW4AoEYBo0bjinHPAHFgIU9Ea8PILk8CEbUXu5DI1O9M81zy9Z2RyxwjbFY1tLbg858b5TvRk8yYCvVxvbmQzpanQfkgfH2qd5bq5yak2voDEh5fa2yenx9yyIPFz86/cjCGCWLw0Ns5MTf32F7/mOq8jjjvm8OMGu/p7RGFNjIzdfNV13HR51HHHdfR2c2yeQiMAFj7CUlRAzjpZam10Fd92G53dO8XHF5pRM3yldhYmWUktVjeotdFixaphodBqDH3UdKIScTRXKPANRz3WSLgNR8iUFLuPQ9gEgL385S+XOxM0iTYnSJSrFfiYLvHj69fw0hYtwwEO1FxxJDvsGjbMUj+OZ0nU1gc/+EF3eccRR3CagJNI0CkLqUQfclA6zhzDyqQaptBTN23ejC2gu7YeDW1lR5GDCwVWPdCj0eZ3js7tnXD3DjMK4eTTinfu5Sqvpu7OhlYJ7Gpo6+1q6m+fHZ3k84ttBFM2Fdp6OpyyGp8qejMWM3RDk5/LYKGpg4/HulWDTqaMUNTTpiPvfevV1912zXW7tm/bsOnQjZs2jY9P3HXLbXt37l63fuBeR2/BokGv4apAF3DPV9+6fkJYQKAsnDSnPvgq9fzsnonCbIO72XxyYeiGOxvaCoduPLS5tYXWcERONTh6/i7VXiQsFgeVzwfhOLJILmJuLBbcVcDxSwdToIhe/MOhJAn8tUiF0Q5YiJyZ5D4u7t1TPMA3vvGNt771rZyiJLLmqU95CudWPc1iibNhlB1mWjbNwZhac8WR0SjRl51BnycJs5Yjj1yggDnKATbu+FIjIsqO4fC+973voosuklSWG1zSYY+9oDgyjldGZTLU9XCkEGhNXXTDytW1J0GGgSAFpvyYDszs8+t72qbn5neNcp1WcbwszE/MjN20k08fNfa0N/e2t3S179qz+6e33XBs40DDzHTb9HQzgaEtTR193WP03ymO3TvBiF0cbE0N+FOb+9xGjEvQUgI0Ng6ecBw533bDjSM794zu2nPXjbc2OH9H4bAjD99yv/t09HS7+R/dMMeV6bMNTY3t63txcGAXgHR/MS4mWE+NFYanWkBNzs1s3VuYm13ob20/vKPRBY6oFYSmkOzlrxtmUkIBMGcwBoH1Z1MFqRilAWBtQqQJetwiPZiVIH3AIjkryUl8CTYF/+Uvf5mrYU499VRLUxJGLJ/+w8DhsAJ2DcVAUQ4ODhKo6pZpGza419rcTC/lb0lpGQT60ixNFGkJVg+vqtCrzD76slUmTc+cgCKg6WlugrhLhvow3XFN09ve9jZGO7M0ioML2h7xiEeozBBg8XzllVcqnpsX8KVZxSFvWglKAnRxLg3xMrU1DV9qiPFzcdNxoamjtePQ/lHCLtxH5p0bkpGHOpifmljgDo4dI9PtLcN7h6bHCvtaFpjgx/eNcoSEy76aOps6G7smR/gW0oz73IHTEO7W4qaOtub+joL7mIFM+aiB4i6vS0e/tR55n2PXbdo4tmvP6PDI5NTUut7+rnV9fRsGUDdc00MhsXNmJ/ns48xk4/x00YnCDYEzY+PEdDSMz8yPzWBxFKB0voz5JmSu62nc5D5bLarKNgvSyLaIWfp3GaNJfsPY52W2JSwH1c8991zODXGkZQnn/4uBuWXLFoslhleu6hIkaiXDbLGMCtNpMWQ4sI8jDK2KakBr8MNsoQ/TQziPAxI/FwCn7J785CfzfQNlLwvw2lB4o8iyxJYkrq3iCN8lBWJ4cxiKe92ZsjgLLxd/8Wq5BAwXACtS3hPNzQqTuQIHJEtTWvzBD34wtzDZK0idKDM18YgLkzt4cEYAI4p7MVhinPKwh+HDdyY048LQC8yLtAeZmQG8yY3v93D54Kc//Wm57AMCegDyKZLTL4XCuv5+phSEo2IA/j97ZwJnWVEd/Lf33j3T3bNv3ayyimIAMRoYieCHkUSjJC5RUcOnX2KMJib6MzFxiVvMYhYTjTFuRL4E8plEEAR3GHFBcVgdmR2me2Z6X9/S733/U+e+6np3e+/1woDhMrw+99Q5p+rWrTr31KlTVbrbAt86aPRyMwUTfKlgfDRV1hoJeBlmj04W5oosG8utaW/b0EPvL0zOyorY+XKlsJCYzG9Idz73qRflZ/NJOSFpAuXbnZONy1K5bMfadKmtVMzLdn7El/IUBJtzIBdDJymUeFzRGtUCYjQQDJJM9fSuZWs6luJKgrhYcYfio6C80KZw9szOzBSTlaH5Qnl4jAOZSqOzpckZ9gShrkUYVnoujWsjySrW1lzbpp7M2pyJR5PRloxJoDGX1oAxVyxOUsFzLaIcYgN6P1X2RUowvEp26MMD+pM9e5CAOakahKkW/Nm86fOe9rSXv/zldF2kqAQADEa0yS233CKWVCJBql21ZGm8XM2fIJIG/OUvf5l2q2TIUVHW9tEDoqwQGi1+MZbkWwwAX02sHhow2gcDFscwQx7W19C0+ChyigUjOLQPw7eoka8rLVhIN3UJ8OoqDt/7xsu9a9cu7De+6rw5FDOzDMD0apo4r5M2SRVLy669IGbzHjo5O7661eSTjxz0hWWVW+NUA0PHll+bVoV5DRxKjids5Pjx7p6el770pbrIWhUN5DQjpkjYjoHtTikYeoHmiDReoW5lhipBg/BSuWzZLLsvUyf/GtAtWE2CudHUBR5mciZdwqmRad3al+7M4dPEZCgXxFFami8c+Onh0lxqXWcXcWCVUnt5uDg/McFpjO2dnRJJSkdv46RHguIF1k7JBuhEmYp8/lezg79ef3anOGSzchofoxUZi0h1yhQsC1Uk9CuV3l8s771vf28y11GEu4K3NdWWkwj09pZkS3phKp9/dBxdPndsrKNrXSprxvyO1tD8zS+Z1DRyfXaS3CuIVEwQz1fdeqlN/y1Rdtb4MFFFjD9vP2jGgsdm5AHxrfIxYGdJ26WD8ilVEKnN2C1wPMwhlbfeeqvNRYkxhNmdDN1Bk1abhQbGR44noszbtm8H6DaWONNDjKR8+2z6cgwW0kfQ7O0KK46ad15bFpI4NuI973kPNgV1QeVKG2zmYgCC3ahuKjcjC9OlqcGvfOUr6CMEDwwMnHP22WoguPlYepB09Ve+8pV8lNDr6AJGN2CEwCga5WKAyiYd7OgFHqOT9+dKC4VddiVwMw1lqYtkU69UZytB5G2b12Q6zKIY+jBL4zkKtjUzN5O4fejYgeHpbd3dp/T2be9ZQ/+VEcWoLHtv7WrXBzINSLqs1D6vgHvvSeWFGFjeCraGh+fGXiaBUQwOF/iK+cL8dL6QSA+VUw/lK52c25JMZXqyma7WdEeOgVWSXQgxzvB79LQje/6R0eTYTHG2u2VNhwyOApeoJKfaA+mNIqSY5p+Pge7HBZJvtbYiJXDpFWYRLV8LPmY0BnSHcvmkcavErhCFEc5GgWz8g0Ed5ArFYFm7cng5bI/MxrfaRzyVZ2xqJVOzmqZI2dB02MUf/ehH2UPIFRKa0UohV1hxmHYZXrbpqSk2Ct67d294cgNYrDX7fXAzsjD1yAZf2Aj4pVAizIlywmtQsKXXJFoGBoVL5iPQJGtNuJSNw6EyLTt2KR1XGqjTddx2CSUOxe7t/ax2ZY6FcRcGPyYb2oTNf+huR0Ym9h6fHikiKTE2M3fvbL57YeHUXPvmhWJyYpLxCLOnkBJxIQ0e64PwDhSIzUPMDAK+pJimqPws2n1QwSSNWDq8LP7Nz+U5QoUQ1ZFs9sFyeaLCSvr2tm1rO9a2J3PiymUUgysDrS0is8m2rT1yqNP8AgtbkGOyQAzSgI0WqbC/BvtroZmlTS6Wi5uqFnCRSEAOlcYDU2+uNjfCDVtjPy69hTEkueIFWGJbQqVn+PD617+eDRawGvDQ6ZnkfCwZlVNaAN/+cmw6Z52vKpNH4xspFR578fi0AS6UFIMjqzjcgsUKWHriCiuOmIJQZT73dQyxm0SbQAtgFGAaALhJtiVZJNYBo9YXv/jFcOnsnUsTBVv2KCCK0cU3whtKw+unSdGY+FKh9bxPfbW3wGJzSWb5wqSkRycTDJgZsdO4Gf8S4zkyNY/rsz2bY+jOBOB0pTKbThVasvlSbkepkJiaQeNw+Gs21yo6Q7qrGBXSdc1NVV2YJkd+cnk9WgjENkEDSIenqxZxPbENR6E0ksk+lM4dS5SIamUtXbGFSs/yODiwJiYnctnc2t5eNAGyKDehriKGcYpkq21bZJIRN3Pz82Njoyx74eBr3p0mm2Is/viQWm98q3np2sltRcHjwosioqFm6a2kUEYGvByecvXVV6sXD5OBcqJBAPDHY97SHdApvEGGGGxB+vTzz7cCAagB3HmMpPCsufgYGPsoJjW0kDH0dZMeO8VBlzj77LPvuOMOqswtFp8L2iSfJpQC9QWZeiuxL7iYitu2dSueBeYprEK17L6WpHiEuN8KlyYKtgKjgChGF98ILzTBV8iHhValF7vgB2VaDGaGibgSu4QPl17mu1SenJljOVs2l6XGyES0S7Iymko+kE2mE+iOZHq6MFMYa1+zJsv2Xybiy6y/N/4kyiR6gnyqVoZmyS99nO8exgO/6I8iJ70VCjNyGPV4MvdgOnskmaVI1HmpUi6UPAcT3YPNwRJtsr8h2wqKcKQTumHkyZ0qDMnWG/eZrlXEFoEFaZLi1JWv0rR0oqHm5mDkcokNqzxMU1ez9FZ4FCNNmi8BV3BXJ7oA9YlOofxoBxufYmUC7Ny5kwAifLQ4AdE1vGuel68Fv1y+TkQuT2wfh/vkvpeNgmBrLLQDXkaqDIcCMFXGnDajADw9KGloUBY4HeGVSQuzjWhbezv7KUhba+DyZWo5ovCWAMDSWMBFupShMK8Tw4HXjJpzZ2p8xMHH4NF4UpQdlw4WfCy2PGInmBvGKdQYZFQdThfGOccmaVIMDTIoDkhkDx/zXZ9KJu7PVGaS2W2JZD9zt8fHifjKUaE5rBe21EAXqd0h4xfKBq/WhCln1SQpcLgSm/MsLMxzJFt5rpIcTqf2pVuPpNN5ieRIMOqh5MiDV8MusAI4V1rns5DIM+pTmEy8qlaMZJjg/L1WYeFxjKJRZLU8nhaw9ApACQtdiIZkk5TR/mLI/HTPHkajtDc7zrWp8UCozFCkT45L48KWTJ+RwnNZpAKWHoWCcxSbBYcdFgoqgyEJE0MAWO6YKqgSpm8wSeg4fFbxwSEBfWSr2id5ZW8fO4uDcrPFI24nHpXpFbqKthKaMPXI06I14p/N1mk82WOZirLgo8Eegvv37ycGhDHtw3v3/trVVxPILIOOxi4+sKoFGiM3VBU5rcerMZngSM0xzyomLn4KlqpSVWY0InZEYjydmE2lWXlycrq8baHUMT+fn53j489xYC1tbD7aiteVPX/Yp0O8DTKIkD/SBpmWyhMmkq/kC2ZRSrKYTE0k0/sy6YPpzEQmhekIuezvgQrjtPCcTNmgGuiiFE8bcSMPRXHZ+izb00MzaIReaSC2lSwPHLjQddd/4QtE90GGt5KLuVW+/6h17boBjtVFaIU0Xi1UCaXl0tMbYERL6oUS0ban0wUoIIhXt/S10uv01Vri5u70c+FrCPSQBjtJUE34RFGaUJogEsqmeF1iF7bPz2vDsiAkmQl5JsyYt8Ppiz3JcAMahrK8aUxNS+8CweIJRjq/Tmq4tB5sywDABwWsYuDiUiLzxyiM6r00UPlPiEvJxLFMaiqVfLSc3LKQ4gDbnlIhw6LVfCmVYhOwNOFkmAtQqkSMlxLRFwRsML0qqiSRz6QmU8lHUplH06lj6XSBuRL+E+FyXqTom1TRLF4VYp6IC4VoH9YHQOTDmOGLYXN+XBrQItpcCthnB6cCFVAafllGQBQWE/nA3/zmN9EXfJz5el1wwQXEmDPypbPZbmzzsuw2O4sJ0pAURLqMNbC+u+orq8tr81WA5+VToV8LjFNfqqUBcDMNJVs+chUVxzIfoJGHD6UJRQZrKpQsFKm8tDAsQ/QFkWmMtjAu9u3bh+mIAcVHwJV/dHhYl8m6SAsHswAjjc9pT5ZYAbdpKrtiLAu+RE4CIHiCr5CaG9p3ZbW8kvKbSM6nkodSyePs8V2ubEyn+iuJjnIiW1nAS5Fhs+FEWaI9mPwwk7Vwym5hyTQntYwmk0dTyZFkZjKdns1gnHhSSeZizTx7jfX3dKF8tNFKIbWTmAewRQDvlt97igCNQcgPxFLwKpcB5UcZ7W0oBiQT//ZF8I4YSHKh6wm4QmtwhDCzabYOtWCuzCAcShOKDPKGYpbDGyrwMUOuruJ4zB5jlTJCWWAKohoYZHLuJJNefL6IRiNWzacs3AJgBjdrN9oG5HYJC4ekmg+l163Ed5nY1NvFYAHjnO+/+dSLDoBKCiaWAU5IujKOhuRMsjKdSR7NZFvLSY48yZXTCrRV2A3QyxNGtvctJhP5FHZKajKdKInp4JWgygAAQABJREFUwtSJVxZjnYBgw44yQx9cJWcMbOYUTMmx2hd95bdP4daV0vgoTZFDPpuWzEoIYmwSAG9Bv88ukhLyASBKglEzYTt2sOPSPAnXrYEnFUdkFfF1Ym4cZcFIBBeGzsZHUlcT6DXEjxAgX0V4f20PoeHShSCzjT4IKI/tadIbDQsYIO5YaV8m9ipRybDEnpmUZGp9V2trLj3DStiFIgtURIIweZdwCeihsBhQLzPM6YJjSWtaXByoATNTin4xDg6mWLSgqBspimgOcZYKUiRJ1IcxN+YLhf6uti1rmQ+S/zSbKpXX/8nYpJgSiE6Le3xLjCjlEpmmEoTTQdpUC0j21YsljldcccUNN9zA0LKKW/zL0BJf25OKY7FGmoFWXXG4jSC0YHUJ4IqiaQTfCE2wYLisCcVjGxjURzA1FMMMER8xbOA3v/nNwTVL2rInJyZoxDiG8R3ath4EXPnQy0Y+5pBBoWQcUViY3j9UmZVNhlPtbR07NqTac9vW92zta33w8NTM9GxuLUdA8p/2clEDNgsjgAo10x+mYrFFRFUYdwSTI3KpZ0QzMwiDlt2M9UK0iRUTDUNFlcqlbevXrluDM9ijqBJW720CMeulEhYcdWUnnmKINTuMO2oAY2rN2rXu8RFeaZw/vnfNWc2seGTa7vbbb0f1Mx+h2gcOjDJWoLjuNh+vlao+SOh5BRbpAlGMjdDU5a1LoLmEkrlIF3YLtmR41RWHbRZRRaxLAGMUTSP4RmiCZWN4zELbulqD6QMWIOH3Jj4NK+OSSy7Bbx86LU8WNH06AN0AExrF4WYa815p7nDRPxGL4c3jFKfmSuOz0vXZ7GtsbjYz1jm4rruj9cLTthwc3sMEZNv8fCvLY41Q+U7Dw5fazU/S5JIvv4ImXQgFK/9btAB6AwCH4RIQLcDS+bn5XCqxtY85cyZq8PWggXx5aUG8Xz7yPA6/dFp3aoMcNHfJ3FyKAWRJJNFN1BseQVUcNskjNQWUgtl7MMauQYN/6EMfwtOhmy3gycbQoP4JKWLtoqsLXF4rhmOrb7zxRuK7yZpACZaTcJITHlZUvzF9hDCU0UpQIIomCm/Z6xLEyHd5XdgKXw6wiooj+HYpaCgy+AChZKFIH28UTRTeZXdpaNlcbqqFae7Mfg0MDLDrHP55VlISuEHsidsKLbEL8NWit/AF82kWN1+XXmH9OBNSaZOYH2Wn4hxhoGs7Zw4dK4xMLmxYk+3OXXj2wE+OTHz7/iOM4dem1qLUzAcWgwNWLxODsW1eRNb2ctEk1SAwSRVWLtPuSONSBL/InZ6epZZ29LacO7iBncnQQbAbU6emO8Fjn5FNyYiqoK6oDStKc7A0irdcxJ7Sbym5PlFNIaoiLHEVQUm8osJFh+diOQLGDjFEKA7eoGtuWC4XmJ2b++AHP6g7D4LnvWMlEQ/CCOjiiy8mOnlwcNClt7D7IFGwJfYBLr1NCkXa1CDg0rtwkHLJmFVUHN57qy1aKLKWRO5CyUKRLq9+ZFyMhevy+jLFvuWjxBY+pqdxNmqWgDQaDe3vwgsu+LkLLuBTBo3PcLDZhQJ0FcLbgknxZUNxtLS2zhwdHd9zuHVNT/v6tbnWFg6h5MwUplFpzqxYN+eSJFEtP7e9b8/+Y0fm8uPjE+xiI65B04Eki4rsHDbQ3ZlLpfZOTM1UWDXveS9skWqGNBYbBiAwX8hjCPS2pi45ZzsDpapTdNF54fLZZ2SBGSMI7dW+Nm1pLCMYaHgKoqFEX1Bi9XQEWohPlJXgAtQ/5iGXi4yBWTBNbI4lwOTBAuViXuaLX/wii7w/9rGPEbJpCSzgPkgUbIl9gEtvk0KRNjUIuPQuHKRcMmYVFYeWqZE3uuTSxzPS57HwaS5B13o8I6m0VNZHYkoQoIFr/oyzznr6057GpwbdgZkayr7iT2oFEuidH5lYODo5O0bgVirb2cauX+wPOHvweIqDkTiHCSfl5Nz80dGNM3OXD667af/xo9NzY6OJ7p5uQrFkRZt0uEpHKnVue0tXOj02xYny5TTB6LUXOUZdptsuNkI8G+NjE8ly/oIztl1w1g7iPSUD4y6xRLb8PpnS/83FH6WJooRKSE3e/BUyw2uzMGLkJ4ixSQAx8l0yH8xXISpcArPxG9/4BhPzvg1ifBJ+hm9XXXHEv9GVrVltVSgLAnLZPZBhLa8WixTXOstkrTeuwUxZqozRQWAoqocGZJt7FHuzT2pbcxDQLKxATmnM9fUUJ2ZShfLU/uGWnk7Wq5cqBTZEEgdoMTm376jsbD43n02lLjhla//Jm6+/876Dx6YWSvn2jm426GBXDpaAZBPlTKWQ5AAWpkTog2Rce5FjACcU8uy2NDhrisWJsQlO3z7/9PWXPv0UZnPULmN/INOFPaNDpSlf8BkVE09TWzopgpXjS4q/1TLE0wRTsU1+/dd/nc0cCPr2HtAhwgDhchD/s8BVVxyrVJ2hDWjf/v0333QTDjC0BgEXjGY19//8z/985zvfee211+ptKK+vnDQUegumCgNym9QIoyX2AUFe25qDgPIusiQT7f1rKsWFOba0wL9xfFJnJb3WvFAuTnOKWiLd2ZHr7WzduObc1kx7R+7L33v43v1HJ6YmC4UiG5tJfHl7ri2N+khlWdKyEDJDKUbDYq61TwBevKEL8/Nzk5MzbBl4zkl9Vz7z9P7udta+MclCqsyyyOVZFK6k4DMqRmn0N0hjpC3+uAIXscuGosTi1GB1Fbuc33nnnTQqLtaz0qi0bRB7iiO8bub4YnHNIgpid+o3KtO6AiFYDm8j8huhqcYINUL7+KYh4OJd73oXv6GT9rjQP/GJT/i8ko+fB6rbFCAgBHx+ZDI/PFaeYzFoMtnCsSk5tgVjvTz9NtfX1drXxap2bAlaFp1wai5/14OHvvLD/UPjcnB8JpU9r7fnhVvXZzPpb41P756Zk+VwyHUucWwSvmFK49kjYMQ6kaEO245OTY5j0LF27aKzNlzxjJPWd3WCrzVd6syqaG76vPobhbF4AKtTLLIuRil9v9rnfchGbokDJAiQcSszLET0MI/23Oc+F+94PC8Rxn/6p3/KfjwYrb/4i7/4jne8g926fCyq/evasz6uE367uhaH2zKiHjWKJgrvyrE0zFmiF7761a+6qS6MG18WYziX5XVwkbrcJY6CR8fGdt15J377yy+/XHcVVMkuPRjfbSjGLZLC0k8462B9T25NZ3mekM6EnK6SZT6W81tZh842pPhBZQ5SMjC5dLW1XHreySdtWrPr/sM/3jcyOp6fn5mqLPRzkv38HOBUmk0r07IaVSwE/uGikHCOqvkggWpJ9nEsLeTRxQVZ2DJXXiis78lcdPa6i88a7DVxDaJWFi95OCmqKYj8NR3CyPY6vz5+KEbIhWeximxdWcCke2QKWww0XCoBQFmI8b3l1luHh4Yuuugixp6YkD5Rhkl+ovBKwICX7Xa42DvDsigQxcjsO7HthJ+paiDgmFV2r3rVq3zsdVVGlHwrpy4BlI3QWIGNAKurOOxbjClKKI3vy4AvihWorFkijAffJB4ptgVGpuVlUpBVJFG5MGn6S7/0S8ROuASWty7SzSgKpmx8WziPg5K8+tWvfve73211hy8j363kztYM09P0TYZFzBTWtiTeuPfWUQvSR3PpDDoCz0apOMPedmw53NFmDAVpG4ZXGqrpvmz9mTxp0zr+XTo6vfunR+YOH+OsJZwdqI2J42MJltemszJpwYQnNgnqhyhSZloII6dMLHphC+RiAZuGxW4tiYWWxEy2PNo9P338wXtvP3hXV1d3NtvGLEl3d09HR09razsYTpzLZnLsNoFvCIumvbWdPXwoNU+tbVcfX2EXQzdjFEBRsOdtDSiXsvNrL4+dzYpm2W211N7RgQPbV7HckvrhD3+YQD7UByMFduVi03N37GkFAvjY3aR4OIqRF0qjVa2BBMqJqeITRSpxyUzeMd1G6CCTxD4CbqPkW8q6BI0IsdIaBFZYcegbbTDvGDJtOsz2YRxi77H9D4vK6JxYjLRx9ln75099amDHDiuBDwKBgOw2ajGQoWLQLxD/5rXXnnvOOTapbiGjCCLxlQrzc5///Oc1CwDsUub5bY4AUbwkoRaJvKCnAdN0bLepsmjEpjYPnTBlGJGcm50fHRmj3zL+ots7edFt2VFuYW5uBq/IxPj49AzrWit92VJqTSWbkg1hsoXx9sp0cSHHArdiKV2S6AuZYZEIDnVUoHsoMzO4qYW1mfQmTnSZOFwuDqVT04nZwvHp0lFOo5QSyXZBqB2GShw4ybxxrqV9w4aNfX3rOzp6e7r7Wzduty3Mtm8RXb2qz5ggaAJjjZgLHgftafFVQvnrQzJoot7wUEKP4rCUlow+iR2K1iCJhoQGIf6CBQGWUgFLz60L+8iCty6xCyslz8KIhqJRTjA0USbprBCl/9JNN/3W//k/OEGwiF/zmtcQNgKZpYkCgnn5KOsS+OiXcLtY3UtgDrLYxhFMahbDhAjfbXQBatt1X9PNWKF06y234LiyMnlJ7HqC/mZ2nd/BwUGaCCqcsAu2fkSJWEqAuoWMIojC0zJce4fF9cz2uzmGwvbtoin4zNLC6DOyXqR6mez4UQzkiyUHy2RhR3s7XFbR0OyHjx149Mi+o8ND45Ns8XK0VJ4v5PNz83NGVPrcdU/dMbgBX2p76ciG5NACpzImc4VMVynRUmC+hcWwJo6UGBFEcZQ8RyGcuW7Dhdu2tWaKt/3g2xPlUcbqVCWbq5dk8yATp06xCAmpFEr5wtT8FAdfDx/fzwRwW2vXhvVbzzzj6ScNnM3MTtUIWuyZ9vEVICSUPsND6csyBZaKsIDCSqxIzBNmu/iSAwhp9bIshKhaBzmJwKxmrlIt/rX0oFx4kSICcoldWMl5EHZIx5+K3w2YE4UZw1pJ0GMQffpf/oXNGUACE6L62te+lkZraaKAYF4+yroEPvol3NbU+BL4V4+FiO/Pfe5zqInQLNwGoQSMPz/ykY/gxEZxEJYTFW0RKm2ZSHqv+zGhNdtxipUcfJeKobT0fC2towKEr9q1IAR0MXKPlpHwM101Iseyj33v7q89uOf7c/NTJULCqqMVxiyZLHMeWBQZPmsYBpgjqeR0a3m8MF+eIRhkLl9OZ9f09ncw5ElxegCycY/yiw6rnNrTvaO7dXoOZZJiUQpb7c7MzOXnC/TztX2dbIAqfpVyVdmh9igP24olUmyBfujwT48MHbp3w90X/txzBwfO0EewD+MDUP1UGjWglUD2Xv0YNgu7AFpM6w3A0msu+st8KhYcfVJvQ3fxc+lXHKZVsK0/lhQPRWFoJ24WfG/cZsz3xhbVJVNY20kQf6Iwj7XisM8PgLsInwUdgPEnAVduFfAZwbaM0hoQM0nm0ivMJ4sriF8RDC+VaTmGowSM4jRhzYI2cYQD4EPhcBYIeC42cfOdRRpTAHhhoekHabSTgLe9wmKU2HIdGzn8jW/998P77mPdrDhK3XkOmJFgfkfGR74396OHHv7Jnfd+5+FD+4+PYsVPTc3M4NoY2LHtqhdetmFDlyoc6MvYHenEo8ePzo78YM/DD99+97f3HjlAQ5+YmkbdMKVz6mmDV/yvC3vXtlM+Hd9ITiZrzBUWylUqGfwjBw49TC6XPy+zY9upQmA0gimOBxuc1CGXwkpjYQssJldRtgaqiJq/zHow0cZ5jrQ0tMav/uqvhjabGp6VvqF5s7YlVCptFW8dNrW2c6xj9/PjslCVWjlQ8iwMbfhmQB8at+oyrh68itOxtrm7pbdIZkA4yxf/BZ8aehq7qri1Rk1xpOtb3/pWl5dWwjvAN05YDqfm8UrcVIWtfF9SFN4lszQWIFVhvgacBUWRGJLw3ca1/oEPfAB9JwTVl8oonS18wKBZYvSXK1xztxgLKN75JQXLi44D4J/vnJ2duvG/Pnn4kT186yWcwuzIRalkYRuXKR9bA5YK5Vv/89sPPXBgYnZmPi+jbrFK+DUbBqJrXvTC5/78c57KuEMykoFKkpmUG/71KwcOHJmZn83DT+b8M1dlgV1Cs6989ZVnnLmdmR1PcaBu8LZgnWCFiBz2Q2WLLQyghS0bT/qVq17d2UFkumTKFQOY9HAamxQErEBN0vfCL0YorhDMQAat8YrGJ9Mn0BNbLb+P2L11GaNgpWctJWY1vQDnKGMZwhRDS6hCeJavf/3r733ve4l5R3HQawhuHhgYcLNWOD7TIP0SMKtocUijDNSyNhp8nNdddx2LnbXETFlddtllruKgwfMNx2HBCSk4OEhibQgqAw3NkMQ6xkPlB5Hkovm6FRQkswV2iRXGz6IfLiRQeLQeL1sVB0VVsZxLEPoW3UyBJZeqrtEkwRi8J8jHIPRwmWAKcT0YCd4TCd9De378yKM/ZVJV9vNR4UagJ0Z0h9gB/Jucmx0eG5exn2apZHIvHpPWzpZkmrGI7Bgu1wIcC9PTE6PT49Xl9uo+1eSEeEIZBVUyC4miCOQhRCzqRawnQcgNGgq/R2V0bGho+JFTTuJ0FZNgaoDScwmTAygBCK2TxSSpBa+uNckweT+W2LIrLb+MEbgscZBXk4J4KyqeN57RFeLCKpMP4dve9jZauM8NZ3MEsPJxnxPKaGMOOKUIx39ok3MzcmFX7DLhVVQclIxC28d2C8qc5XFz2JoiuWUc6BIAY4nxkcd1xLCFyRGGJ9gmPprQSonKtEFeH5neYiK6Dlp6PqXyUYY+qY+GW3iDyNAHsQKl70uvVEZBV+lZ4FY4cOghikdQuddZlc3QYjlwmVFQMptLXrLzwi3bN7MQfn6+MDM9w8m8DCXwbGazqZMGt5xy+uaFBR5K+z9aqNLakn7BVc956OHD+XlZPs9aWNouJBQm15o97bRtmzdxrOyC2Dj6SKgoIHMnZcbyMGUSR2u5yBDefXypB/scnqLRJ/CqR5+x+qRWaUiqRXqkVUwQrwRaJQpH0UThbRYAoTShSJerLhyjNdxMMXtHR0asNKZ7g73Gpq42sLqKw31s90mYRDjjzDOZi9Luh1dMv94uDTCeLS4fspHb5b9LXy4s6Ny5cycmIuYGxiQb3rIBh4+mkUyZYOaRGcjgJ7OtOQioZBWIC41MsQgYIlWjrbx+SkuenZ0eHTsuuqGavfRYc3wSvg4OkOeqJiW3bOvbvK0XzcCECIpQXKhGv2CpYDwwWmGmBHMhbZD8EEu+Zcu6LVvXUx5YUJ38wm76PEYKzhTGTVaBmiRyN6VHzclgSXSDlIxKa2sV9xOPTyXwOLL8x1BCHwWYdDl+mRpAOWJpyr7Kim3mdwksVjxuHZ63k6wdNWdTVwRAvrymehc1dsqpp9JydH6XTykhCPWYVit91RVHaMGxHZhMpTFxoDzVgcugcW9iqMDVRuJPweHC6lhGKKg5wo1PPe20ZjOlz/CJ4LsBI24t21KCgJVMk6LhMrmLqqXSTLeRHl0lkOYm7FbEYoIEiptOS5qlNyMdHB6oikxW4+FMqxU2lIZ0fUNtm7FMmchClCTTsBlzOKOke/+p2jFZoi5sJgahggQrRz9W1vRQbRtJIW6dSkBx8DhMo0Km5ePXPoQFjKQEn1ZqAMVBn4lxHinxCv4SlffZz3zm5ptvRnNdeumltNhVmqprRGvwXNQY3j10KDHsNEjG8pfu3LmCz9uUqFV0jtYtB3YvDYKATuZOaRN16R8PBHR7ihrqwapbPJo+z4sEtAbq0qXX/uNiFKZX01CIRyA4kloyLQxacVOqUmDB/S1f+b/33HeHHG+QMjEd8kolnQX4tgcajCPe5sc0jB1noBLESpAOjOIwMkRLkKk56151A4n6eUSE0SFmV3RRSEabQE4CJg+zKvIHbCLV0dpz2SUvOuvMpwPPzRfGRkepQz6YromuJdJfp6AC8oGl3ui9HChJwJvJdlHLKHEooyYt+fdLX/rSNddcg3sLCaiMT33qU8RlLFnaSjHSa2gPvGwq0BfAslJZNCLnxFgcWjJsby6FabIN6t1GnqpBGmZY2RuORdN8z9kYrpHJLbR+g8KDZPqyg08a0+ipE1SG2BoSISF6AGIugeSqZNO588595rHjj4yOHzGjCQnlJJVDNS0RdDV1a3q4DDqMMMYjRpTRFkIqWMlF8zB5CkZeEEhRCJouXEoj94I1VEDJjs6uns4+tkkFhdf11JPOPe20c9EaMNDzNV6DJ3KrAkmIqMozwqoYtIxugGSfwkcGdSi7J2WpfxiZqtZAAH0VY/MEKg5bVye812h1rqLiCLYDsgxFgrdtQosVShaKVHr7G0XjwzNF961vfYtpHea3UBy8jJe+9KV/8Ad/gBZHlEvswjaXGCCensf0PSmi4hs9qfQc2o1mqn2mmov83br5pCsvf8WjQ/snpo5z2jNr0Tgk8Pjx4XniOGWgwWXco7bQRgQ/RndYbDgg+TK9aswbfj3t5dHiV5W64iJdDAwZTbScfPI5Z57+jP4+jvhk5yCsHjZS4gRPL0YL7aPfSZXsSarWefW5PDSFVIxrm5DmIwvFWMkWCHLZpFAA/xpFVTccBNo2Qil9SDejKNjHYm9d+hqk+WxYjALBtqR4V4gL+9iXc3sihyrLKfeSefmGsOzlX//1X9EaDLYxgFUUn0FmiHFeLFnyY8VIS6jaCHQh7ozarejxgGVclWUCJ0ZGj+7bf//Q8KGR0SPzc7P0avq2bXvKxUhC/lNbzygI5xGkvRkyk0G1/yIkLQfFkii+QnOCk/RjEZJI9/Vtfsrp55xz9kUdbWySZvSTpxUR4vhvnWxWG1Q/Ipp3CRmx6OEtb3kLAeMoRI7mY44v6BFfgtifDZZVtDi0gqQBPuZVFZopjZsNflj19F//9V+E39Ea3HLh6l/m5FZopm4WdeGGJdg+iUiY6LeMUBLMyLIzGLfMd3S092zbcvLExPGDhx/ef/ChI0MH8/kZjo0WYiwNHVqo/qiaHlXrwSgjMTJEFJKTsrw1lWM6N8k/FIBsVsosLKciMNMCBWZFR1vn5o2D557zzC2bT2K1m2E0QxsgucQeMVaLp4HE3FjmRSGMEKsOPQ1YFYsvgGMf2X0Ha4VIX/agD40YrJKH/GXOgjC/O+68kyMdWBGPazyEKAIlD2hLFkHzhEb/D7I4cLAxGMHFZY1P981xJAoWB0d7uciVhbW3+Nq3ZqFtTAncTC0mthHSCUUXoDuMcH6laxsW3m+ZKduRsaMokfGJkbmZmalpzijJS082+ocfJmtaW8WTAlzkRPpZjliaMyEZ7IHG1t79ba2dOCaZT/VGHMlEgX3AJsbni3PkyBTJ+vVbNqzb2t7eJb6VxU+FageTjVgc9S9Tfu8xlK0+j0Ph1tItt9zypje9iehskEz2cww4UxKhm0U7AsJBr1Thif9DsatucTx+6hWDgu9PUGvg4CDYjI0FV3UhA41Pr5oKcVt6NQEyBS3ArcJK7sKoByHWWCsZMojCEAKZBBXTACXS1t69vWNNYutpbMqD0VEozLPBBilIq4oSNwRL05GEOSKnwRHeJoJl1Ror3dNmzsZwYDJ4WRLVIZYEekcQ6AtyNfute8VXK4N0vRgSQmZKW0WF/tUi6a8QmNxgW8Q4sFaI2DLyyGrTCBPEDEhZPSQ3iQT7SLJbCs7ON77xjSxgwURSfIO/YW/Jz8pkGVuic5E165g4NIPYnxM46+Ev30rfP1EVh3SQJuuCD6MvCgAjllCul7zkJWyfgdaAIF7kEjL1CfQ3QdPcaWrY1fRpVJjPC+hjdzsP9MzUMnqHS8i05ywyaPWYHkfYqww9ZKNAXDqZDHuPogmI8/K6uACIlrsk25Xj4AQwC+gFTdny+XkOaRBPp9FEJhNTGaJ80DX0WXEVVXWKhGzJgbJp9hgzVSo9mpIwNqwutDG5aW1orWpGzCkT4KFFEbzJT28Xn6wKQVCYnyeSjX1AyMs8sD61FNv3hWD/akape/fuZf8+IrVd3aEFqEpt4q/LuGvXrt///d9HN5E1dg2mKwtPWEfPColQiS5vKEEMcjm8MWKbSkr/yZ/8SVMMjxNir4E0Uxr0AkYHk2o0azob869sf4D3i8VFrIWJ77GazxIydQtIk/JdpIIhHpNZHib8TE+T6V46DHhNVQnaxzyM6U7MJdMZ6B6EhJguLaWzjMpV+1vRIGUWt5IRJ8VgMrjlMcSSrYtEPmWbmppEQ+XkkFopCP+4BKqqHs1ISmyu6Wk5qZvYVDN7LdRVscIh8g2ZZiRpiQTqicfBl8mrMZINRewPZhHDT9b3Yiy15LKinKqmBBJY+Xvbbbch1srABGM1NpuG4ryoWdxsKZoETDUID5Kvv/56hrrUMDVG1qyivuuuu7BwJfxk7VrCQHwPZXmbzFPIl8O7hOxCWVbX4qBF1H3IKJoovPsYoTShSLhokWwexxcAbzlHJfBNQHe4Xx5oonhdfBTsFsyFld7rJNrVvI4jXUgyrbppaX9ctDAPr6lm1kPZqUzzjeePMGpbVOKaHKss1cbKpx5WeRWqKkxTl1BxxPBPyVQdgBBRplwCmEtizcWlapJktgVAykKiRdbyKL105erjCLGdlPX4PYGaidgpjkAPKWzmktL7LlNRFMBk4aVZMqzIt7/97R//+MftgAUKssA04HA2BiwMJVx5WiQXE4SjaHhaDYq3LJQKpXbrrbey0wJRpzjXnvWsZ2mqK8SFLa8PqEtTlwCBjdD48o2/XV2Lw77FmEJE0UThXVGhNKFI5cKvjm+cfWvZZ4l2U+1XiyKjeF18FLwopRZSeulJRinorfY3fgVgx/KWFvQaF0XSUnlJtaL0TiWoeYK5wUBaiWt+TZfGwcnYotq7GYak2WKvzewAZNREtSyGhl5OUVS/mF8lkTMiOF2BqiMkA1nVS0FtkJJFFS8SyIcHomwyIJJ+DVIIPIlA5qn5a5y6wkouDFIYS8rjmOx5HGFU5WIAbt0k7Atsjfa2drwwRivKihgFEIiByWQK3wmWrrNUEmmSjbkwAZh3d5fMgta68Cgi/kTRkO/4xASRQawP8LFig+iWlwxbjP1Vk1GUQFdIXZq6BEhrhMbNtC68uoqjbvb/cwjoIbLnb/XSB5fWbDoTLU9iDQwsSNPKAaSrOC1eCLg3FxIYbsDIHTD/yz9zQysxvYQZ0MUgLxUDC/+8aq/SaYc0SG1g0j/tP7YUZW5FcjY931BINqZosEqmpuCm1HKPYZFuybJ/OvaskMNoFIRwSeCIKaZMhhspmiV3FAwfB0QyYSyJzqW3KsdBiyokF4NBAk5cfu1F5TBZhvpgGMi5ShrTQSreBxZ6EC5sKZcPMNpFEzHNz+CI1cc+gagMdpBp9kgwn5DH1e2TiuMxeh2yHpUhCR0i9nLTtYPUkNPT3AsK6XYSZA5oOqIqH68zYkSYrmuIgLV/e4WwSYZYOjzpojK8/qx5GRYozB1aTLLToRX2k6GVnPknDwfg9HBRAEYWZKDN/0a+uRFZonbMpX/BKLsIEnjxUh1q76t8IKCT4snDiUllNJWlE4B9lbAx6bS4HlAWP//sZ7PXOZaIzbyGeqk3GDg42p/9nOecfc45aCjCkV318exnPxsfvFocS83h8cVX+0F7fJUtvDSyhd+uXfv37UPHa4MIp1tRLGNjBrF0EbWllyC7yERoqbSE8Enpl9Ft3HRe09sgqvYigczAw/TWJRS2hkUzN4qpBh96Qzc22oMS6CWF186NzrDKAGAJVVGVGf6Xcsb0THyW7FRM41m3fv3asJOiw4UuCYvWwJPCprlMCdNsOEgUH0dwd/UlyX68MD3BFAev/2/+5m/e97734epnTdpv/dZvsXtasxGB+o1q/A0wcMWdxs5LfEmIIOTYFLa9b5xdKQtFTigp0Lj1u2/7ofS06teVRAvD5d2a0EzFY3sLUr+xBgXMxbddkGJ3KJs4JWVZvVE6Qij5Ll7KtXgvkPZ3FWGKZFhEnpZQpTtyLGjLDDGWh5ZBQONGhcwUQDwoUkSDJwMpXk2haoujzyGyvMuTU70N/oUAxREvM8gFRsoVmlAPGc/ImIXwM1QV23z5HLHLyXSZvPWeqdH0mpbaKFNjdKHVGooMyosi46Pxy7/8y0x0KQtrB9hMjXGslRDFGIW3jACWxgKayqoWgg75jHCLkvrzP/9z4oiiGqiP18pHa3AgmuyEwx6+admZE0o+u9I1TFcTStNHvVYsxrcpE86RUgkjXIIoyLWqXMSksFtvCbPmLP0fPbFQKuKYxGUgUi2L6aiSoXQUpfcASiUDi3IFfwag5mx/LfUijxk7qMdXBgiai0iGRO7Mr/1RPvklF8w3NCDFEzrVHbUKArxIqSIpj064LGZUTVJ2KTy1msnwdjyB1Zw1Y72DRqvCR1Ol9f91eW1aKNKmKhBFE4V32UNpQpEulw926V3YR7ac21WcjnWbnS2ir0GBD30wl0zft0rgm+8OHXFZ6744rvy6ApU4SGYL7OYOMXPyGDjKRe4EApBvlFXs47UFo4ugNdgwkY23envXGisJ36Xp1UIkxREDga5leoW5kRaOrTsyOtrZ3sHqTITTVz2ZnnGgvPwaRWN6bH5+bnRsNJfJ9fX20kWlByJOCM2PyUxuFjsSW/uVx0ZHSoVib18f8VT4MK1cmLV4apPoL6l0ZrwG1D+zJ56jUfolTyJ14I1PhFMytbd8h8fGxrO5bH9fv6hCLYwpGIX0SqjlNL+I5KUTFYKxSWBVa1ub1g+MwquMyFcFpL+aZn4lg+oVRaPpUvVVSv3ruwUZpAlFBhkbFxjk1dekEhr8dYW4cIPsjZA1F3vbiESXppFCh9LQKBkg0FaQ5r1vIxdHlztWxGEeHDWECnRLpXAoWSgSb7kbVEoZ+LgFBcZjpJPwUWdmhYhuNu0zTZwTCJhr4Ttv/pmlquazL/a+DD7kL9T0HJaQLDiLYkmSPkPPl3/GejHrXEGCRbmQBbUnd6a5K7HeSjmBTMrin0oFi4jtuSig+HH5yEsRzC9lBDa/7PqDRhGXp+EnCw15EplckrloPtGAyJdfWzzvFqHwyJbIIsNcVhUamaBUGO9dXz2PQwWQlyjNaqrS2F8oZRxn76OBKJoovCsplCYU6XLFwDG8jHFYeAmvVkKMkBOS9HicVWEN61/91V8RuvPDH/5wE+PD9bLnpV70WGLDe9asAf/LV1315je/OerQiirHCvxFcRw6dIj1+MRZoLbe8MY3bok4KSMmM14/fYi4g1Y+mmpRex3EMJFsLmkmeslHWoYrRF5gnnR2dWCoe53KZaxmKf20CrPyhE86VkB1s79qgnReoTJDFYuU1kufQznK+Yty6AQYyZrCkBRs3GD4J8ONTAbLS0NXrbh4AC4mnqVsJl6D0gTl+yTAosMQMvIl2V6F2kAslH6CJ+A93wgOIf7Qhz7EPuYMkAcHB31LJR4Pz+QZxo+HomgZOAKD2TKid/WW+XbWswYXNfL9WcJnf8mPyVCFMB6+eyyH43iOpcnhA47xQLNYHG5UBaErAKN6EZ3YdHfzQ4+Vv/5LdYFKQDuIQB1jKGzIbS5VxaHknigvlVJWFQtl8gRCYkrIvaaKmWMuUoKP40kM/aPZILlqO9QUIoxFOfgNZqRJqlkey/YQVswVw3EkyK/92q8R34xEvlXvf//7mQRQ/86K5bFsQU2b3M3mWLdZ+AgIoWGJoc2FfVlxTbuKQ+m1lfh4LZeLd2FLABDE7927F02P7b1z505CS7VRaiekALYMMIotoB3JkegKdGFLwmiFr7rtMBZ/ooDQQjZbmCghUfhm5bv0UTLtu4giiMI3ItzyWsDlAo7Cu2RRNKF4FMe+ffuUHZcQu4q85jWvWULwmCvchd2CLRledcVR1xD1EWDEuntJc2uPX9KHdOld2K0CF+/CUTTgMSjYskFPu2Ga5mMf+xhnRIG3jdLyisCA1hCcpXBg7+PvJoXxOumPHegWeMm5RgmJwi85IxjryowiiMK7hXFoTC9b/PGoLAGmkvsOBQ8xP+qe9shr/ljeGmzEE6lPzU4CsDedRBU3f7mZunDzkkI4VnFMaCrTn2Uo0iXCZ8HcJy5PKguYPelZyKgEdXkhi6KJwtusWWjwjW98Q28JT8b0YDQUI9AyhgJMNzDmIimod0LpQdYtYRTjEnjdvFw4JotgUrOMLr0LByUHMaH0oUgfr0vjwj6y2lvTy7wffMGcIzXj/JtlzFRLbxSAozXcjKJgvwTnnoh4dsDlk4n/iBDHl73sZQxYnPT64BIyrS+0lmIVLY5QJReKdIuEvnjd615HfTFwIDaUvR6tuq3Li5womii8zRo14Q4i7G1dRitBAVTGP//zP7OzPtI4L4ZnadDIbCojnyHTFK+vlprltc/bLKNL78JWYAwQSh+K9AlxaVzYJaObOUmVUn58fvLRwtSR4tRwcW50bvyQanVoxL+TzLb2bM22r8l1bch1b2np2pzJddcIqL1xJLu5uPn7YabtPvKRj1x99dWMUwhjZ/syP0W9+yVkWk+kP/1x5xz1F3BJ97VNoSERzOAwkmRCB2qMw7/7u7/jcPOGOGuJOHycV86SatA4w//hH/7hFa94RS3J4+VuCbWkRW+Q0afdmuINraMG8w3yNsJYyo/NjTw8e+zBycM/mh39aWJutLJQkD3NmAd3OyJBudwT85ZpTbb0dfSf0rX53Pb1Z7T1npxpWUPWjeQVLOETDrOKFscJrIuaF91YOTjRmukb4lBxjrLm2u6e0Bi3R0VXQfWo1gBF7BbbMWBqrvg0IR4Z/GdMT8rkdA9biodfR44cYTcKrCe+Woz4fMXQWiKVw2WgRM2xQUmoNMbb7EnD4IsgNGhCLWfkUCrWsOO3JqJXD08JFotMiVDYvXs30vi0QhkqLcgIZgmvVeXEMlaKc0OTh+4evv+m4uieSnGKOBPRDezBzMQUAxAnZseoQpkPInSvUpxNFGampg5OH/hWKted7X/K+rOe37Pl/ExrHxNfoeX/WUI+URXH0vQ6r5ygdWZtiHRiYw6WSGrwojTKZJKZFK6Yt1s3U4Rs3bqVqRO0D3LoqPRY7a51eWPy9SXR8f74j/+YNVR0OcwidtPctGmTj4ZbyN7znvd84QtfoEujFjnC8sorr/TNWVIh7PnOhjeHDx9GDb34xS9mRzjfwgoM5r/8y7/8+7//exQiO1kwNfjbv/3bvsgCTqO+/gtfwMBmCowsrrjiCkrF1HWwVKxw//CHP/xP//RPBPihhthG/OUvf3mQbIUxtf5M+y6Kc0fHD9w58pOvzA3tThZnOfuF9mA0Bi9PjXH5xRWqAsQnKnfmjwFlNW6lWMmPzB++4+Dwjzo3n7/m5EvW7Lg429avjyB52fxAVeHq37gHNVmHKL1GeOPkrkTa4zEArJHnCqnOWDZ9B3g9//AP//Av/uIvvvj//t9377qLbaDo57F8NYmNZErX4uvNh5dIqquuuoqNtvWAuEZ4azKLvsGooe8RhY0hwE6IOOE5eTfohcUk+eAHP0joGlqM/syueey1yUfeFUxsIoFGnEpFiAqKBrOC8l988cWuNJ6F3TSRBg29ndxZ7onOdeWgi9/5zndiR5AXpcLMQbMQLKdK06VET0FJ4ZGGP4jQDLSMiTpzqVYOppNxSe3zv0ah6JRIafLI9x/5zidH7/tiaezhVKWIfSFnP5gty/iM0GCEB6SQ82NeoAgwcgwGpCAEAxvbDRQLEwenHr1nduxAS1dfrpMdxgybYZVi6GVufbhqWs1fL9ManNw0whtgWmHE6tpU+tbiixxFE4V3pYXShCLlHVcqTIl/8YtfJBqPhss0CgMTieR2rlBe0l18JEwGlcqWLVv++q//GnOAiyN8GCC49DYri6Qw9Nubbr4ZO99XGF++yku3xIgg2kVv6agcLoVS0Fv3l1GSi2cfXfXguDT0W3qvxSDtx7t3Y6FYDAC37oIgdgZ9qLp7uCVzQ/JBIof9PoeHh5XAPiy3LPxxc+TZ7WSWlWYBl9EiYwCXfhGWfqZ9jeBd6cnF6UeP3P3ZA7d/cHrf7YniuHZuhh+LLMaugMtoD4tW0wFC9IFBSrL2biDEoD14+PHpvbfv/+oHH737s4Vp7zWBFgZlAqheBlG9ifhbl6YuAYIboYnIPxy9uopDX1d4zlVsFE0Uvsonf0NpQpEQ06vZ2NbtFRPmi1dXoC8jV34NTBMybRALHBcJe7cA+HhtXspIdCAjCMIEX/Hyl7NanygSCmlpQnnRL0wVu2RYHMFTb3lMNoPAiLDS6Nu+7k2SK0cp3SdSDAMizBArBwDd4dNxjMhYN6SPr5Q8GqpKYVcmNeMOrPB0/Pu//zva0JVvYZfRImMAl96DXZQ0mPLUkR8e+PZfD//gXxam9rPiWMYk0o5kwsQ0KKqEy1MZhltTiaiVxURmXRH6llUzcgiW6BZ5Y+bVi16SwQ7LCktjPx3+/icPfPtvZ48/oAU2osReUZ3jIGMeSJIMYxxNXYJGhMRlEJa2woqjptWH5bdSODcjF46Rj9n8lNNPtwN45snPPecc35hf2aMERuHdTKNoLB5AYT7LhJkRXM+XGfcBBsINN9yAC8CV5oPprnyimai2eKb6cXOohrJIAAwZBg4uhr7N3J6LAabfWrtAkxDli24mZPbU005zGYeHhlz9SxJBerhR3BXDPNH3vvc97VUuLxuasHmvi8EMJD7YxQDb6vLhG7kN8C4iZo7ee/jOv5/e97XUwrR1b5GsKs9YpfZOkKJMQKAvUtlM92D7tmd2Dl7SvvmCTNe2cpIg4LJqAb4Xom2gRP8Y5SDqg72f9n1VdMeIp0DFPcJlfqBd8lWXty7BkrO2jCvsHDV1YoWvIuBm5MLxWTLIx1948803Y3uzyzmHj7sfScsbJTAKbxkBomgs3gLEeqA13E83nc0dFLhiFcZ3wJZCeAdsEi7eSy65xN5aAEpXv4CHkpkOS6AAPgu7Y4BiiJr1KQ4Uru7rYXlNJ/E3TrweqBg7huK5OAYJx6pvZRq3hLdgZaA3VSD+l8997nMoNdfhamvJZto4EODVIUZ5enj3I9/5eP7Ybs/XKVoB7WA6vKc6VFHIo4kuMG8TVZBq6+s75bK+U3bmujdxhDbTLvPjB8b2fmt879cq86OanfkV28XmjvGByskP/eDwnf+w+cLXd64/xyaJ/MafJ0BZl7cuQUBk04gVVhxN5786DHQ/3H58AGmLrmrgw/jKV76Sg1Ro1sCr6JOr91zMgDJVgRvVJWQaIiZajAbOsYb4L10WtjXilBAXozCjCXecwiQrn3pf8H6QC4xPa4ChAn2dn2JjGflqD4sGpWMVB4yMVlhSPDAwAOxeHFxAcCQBLxb55S9/mbmVRqbAqQR9oZg8odailekCdKSpoXsO3fH3hWO7UxUOqWMwYXSDIVI7AGtBZctgwkCiOrAfUq29p1++8emvSrcy8PS6ZLZzc3v/aYSBHf3xv1UKGIkyG1OVAA8KSMQggOzmHvne4TsK25/zu+19p7ulekLDKzxUeTzUBSY6+wmiIN7whjfgCrVfNi0bHQNrnMkFX7t/LEvOd/6jH/2o3cdMs2aTWz7FMUENPAgODneMQEgF/S3Y1RGI0nQ1Jl0axeFiNFPUq+tfQFSwWuifTKO49YNWIkTFxQBjzuDmcNmZ0OFcAh+ZUrKSwFVG6BfXjxtksRgegQl1Im6YmmGG2GdVWTIfgDd0+EfX54/ek+SUbOn8ZjzhEKEpQMlIw7ggyMW752Tc7s29J+9MS3RGYiE/Xpx6pFzgDIRkum1d/xlXdm46r8JxucIsOsXoIKNwRA1JBjJwkUiRu4d/dF1xdkhQPxPXKlocXl3WVlMospZE7kLJQpE+XmzjT37yk/gOVF/QcDGhuXxkesu7DfalUMrGkY0UEsPBtdURjnfzN1//euLrYzKiqL5vLIrmNON9CGbK9x9LRH0HKBFC2lzDxNIz1erOceD3CRoIFMnt5NyGVhoqA0XGg9Cx9SkYBGFYYVzorc2U24uf9SxOV8V9q0nBR1O8/bW8mFG8X9QuygsD6rvf/S5jz+BmTpbRAKVjD90yfWhXKrFgHJfgjDlgunq1g1eRNAkvVbQB3T7btTHXJWEy5cLEsfu/NHfsgba+U/pPvzzTuSnbsbFn+wUzj/6oUhTPlLQmoyhUljFcAEVcKlGe2PvN1t5TNp53dTIZd9KofVLhrF6hyGpiyF+X3oVDSJeKWkXFIYpdaq3m8t2SFqQBuWRe5ll/8IMfWCuDbf4wmKMUh3YAdA39hy8eDkXcBwxz6AN0NiZW6UXYJnaxjD5JaIHtQwYf0CYpwHwku5aSl8VTjBe84AUEqrufa5tqAeZEcCsSB0GwFki0DNMxmhrMFIVCKNd//Md/oBfoz7/xG7/BzIh+BMnO0qMRXGVEt9fdRnwqFTsIMmvsYKdQz+gmWzYApILB7rCKg5pks28C+XU2x2YK8cYNG6655hq8G7hmkcwgJT70zvJCjxWJhYIQhkuf//zn0Rp2w+rQVzP16N0jD/xXsjQtGkGqQLq3uD1VqFcbJMhmZcZmUDHG38EJMa1rU1lZY1acOTa65yuF4/dNHPxOpqWj/6yrEslce//pmfbeIi5tkSuMJgOAak5GGNlVSlOjD/131+azOjcsfh40J4Tbyz6pxQRpbFIU4Apx4Sj6JeBXUXEsoTTLZ6GTuz42umKM8c+cAt9k4gi+/e1vExtGQ+RtM9Mm7sB0mmlOArpp03wz6XvxvbrBkmPhY2az4YJLT9g1vSvouXRpFMY7wN5od333u2x3jBERnCWxLPRG9kDCb4oO1XWWNskF8KpwMf2hSKyA0K83SGrVzvigNVBez3jGM1xRwAStoGpdLwzDRrp6UCY1jKJEJpFj+F845YzBlE9a6C1vx+ovCIA/85nPMETiYUPpiQ0d+vGNpclDacJCzQcplCwayVktLcmUdJOF4hwB6VgeifwYUV69p+5MtfRlO/oz7f2F8X2LyjhclqQXx/YN33ND6y8MZlpqprfDOR7f2NVVHI1ouyiaKLxbn0EaHPv4C4kgoL2iMmiR9HmXxcL4CwghxS2HuWEtFJsKwBwHNBBg5L/qVa8izkL38glm6nLFw3wtP/3pT7szKfRqgrgb8QsimZ6GZ5dQS2AblCGfykCzVaTPGxoko6v/zu/8DhYQ3/DBwUF2JFHvrI8Spel6UiSMwW4U6jwwU92oWmwi+dqaC18po8Wg4iCRjNg/gSB3JLtWjyMvBCQL6gp1Y7PAbCHUnXzRWYFXUyaifObw9wkfV6XhFcv4Lasmh+Si5a1qFqE21on8JuU8OtmQnf3bEuWSqZlKcfpoaX4i19KHMZJu7TF2iuGpMkJW9ZMYlGSGoVOePPid8f139p/+v7Q8gQJD7L8aofHzrP79KiqO6muoeQgX6cI1RBHjlyA9PdBt0Ajhlk8ZG3kwH4nJQPQ0X3JtZOaVSz7cMjYmapsmHqoy3MIwqOazSew231j2NNQPIxKsNJdYhGuLqMUqkibOYllryUPCh5eTAbkYGYUy1orx7qzK0HtpoYFMo4qnLJYeA43cGcrhMmBoph6TYKbUKpfF852nWoiIsqEQmsRTYIagEaxtQvUyEvRlyq0WgELCYsXGALbA6Fne79e+9jXmei09AyLU8Tve8Q47qFT64uzw6EO3JYoTro6wXA4A+eIlvEaRAMjxL+mcRoRi6rDTtIxE2Le5NFMu5eFJprOpTAvI6tCnKkr8I7WXMCaThanRn97eve38XDsbULKvB2qh5vVJ7rV83IUilSo0yUW6cEDw0hGrqDiCz08xXaQL+54gNMlFMnQncAh/AYtNMMhtWBdyGMzzWXYF+vo50xmsWPFFOtMx+D7TJ2l8NHfmGpj7sEJwSbDQHm8fa7cGBwdjuqVbSMuuSAJDaeIWCcBsBR98LXwoo0scAzfL69Jjl51//vkxwkliHgpry/plqBxmTNhGnQ2CfYwMdnioO+64Q/GYSDbq1M3UhX0SQm9degYm+EeYVbEqifd1/fXXo1AWnVnSv5MTj/xgdni3Tr3S+8xbM24Ooxe8jMxXxSRpFzM9nvzExSGxoegFz+JYyFfKRfhhrJTZpV2280kmiXHJYfDxT5qZYPhfYJMqggQvbEKFl3R26MfTR3b3nozi8OY0IbKXC8cjNbUufSiBlbxkYBUVh5aprsKrS4AcHw12MlNxGKgMtmma+AhZqRUMu7YFsLXDK8R1ynl8KB2LxEGIo3Hnzp18LRGC2UxDxC6Ahi8bvg8NuOKXVSGkvutd78LCt+wWcAvpwpYAN607PufjiQlDwKUlAAhldAl8sEtvYWmq5vw3H7Hv1tKDB6aFRylEhir4iiw7hh66gyyU0W2a1Axbz2NxoFmoWAYjeHAsY5DeJiGNakdyFt3trGS3BJYX5c7IkTU1n/n0p7UMJDEyJbrEKg4epJQfPXbfzcnijARtGF+oUSamhqVze5c8g1wiyR1cqMWAdyPTuga7AopyfrqygOIwA5mFkpxrwZXMVFLsPi9HRqjD1ciRDESLiFzEmsldY1hwV8mPj+756prtF6eyHe4rEOrAVZcgwLGIWA7vopQIaNUVx+IriihBXQL4fDS0S9anYV2ThF1ACCY9MEpxCG+1obDE88/+7M9crYHBwiZdBH0MDg76ug1xpbhOidREX+icJd2eWE/GQSwwsR9S+1huIV3YErChGXaNOjjIi+E90eKMViyBlNS9aQB26RVGmWJS0ZHIjuhYn5vDFennrdaSS6MwhfSNSujk6uZwhdD5eEDMPbJmqIiRgnWAZncFuvQunolb3inF5kXg6RwYGHBTFba8SP6dN73px/fcw/ZLmoSHVT1QVvXOju4tjPxEnon/pRN7HVl6vjEBjLKUCje6Q4gQJaly2g23dPRyunVNW++AZFEpF6aPYXF4FAuFcknWAaFZ2tbumO7eUS5MEupVXsjLKVvSZSVnAPPXZG/6MVj02OzQ7vnJg+19ZwhN7FWXIIZ7ObwxYjVpFRWHqSh/AUKRfiLzLoOPbXnpwG5oNre0YxViaYIyocGgJd7cJg0MDLz3ve+l94aOtPmysYMhw35mZIny1JAn8kWVgGRfL1+fr1sAwi6I17r99ttpTMzUvO1tb3PXmMSU3BY4CrC8FI8luYSxoOkQ/tbf+71rf/M3GYyYrrJYo5Y+SqAPT+dHw9oVJagMPMrsaeKbadLOQr2hL7h8QtxMXRgylB02I3OrmHWUFmsFs87VOD56WJhR+qM/+iMcVcSA8c1g8ML0kJNjee7oAyyDNZpYyoUE+fqbQQP3boVQL9wKr/Rz0QxKWk5kezaf39Ev63TKC3Ozx/cysyIUkBdn8uOHO7b8XCWZIhS9vX9wYW50fvzw1NB988d/ujB3nEgzo3pEppEoRRArRnRIsjR3fPbI3e19hBdxW3MFn5TkUGQNW+2NS+/CtVTLultFxeGvElPOUGTwCULJLJKGQsdj6gSDmU8cMZF27GBpgjL5BroLMTEccHmyK2yQ0sXQ/XCI0KA57FqDuJkp+Ld/+zdCKkInC2IKgPcRRwlWDw13YGCAoYqbUQyjSxYKW178rzyj+l8p7b9ed90Vl1+OAa9d2vJaejAEZaBu6KU+LWCJAVCsvlh4tLA51M2lqgO7mbowbMy8YAbqkBDPBbPjOstjJfrowaO1MQnZiIQRCuYGDYCWYOilp7BvKDsAsvcfBzWpEFUImBqm7xoNwUJX5Hqi4ZLLaBCjVbIdXZufvv68l6Tb+sDnx/bNHt3NybeidDAqCtPjB3d177gg07kt07Ghq4OtN2Au9s+OzB699+i9X5x59O5KGe+p0ULer9gwgJQhVS4ce/iu3tNfmMp2+dRC8EkRHIqUHCMul96FI8iXgl5FxdFgcZagEfFf/u7v/i6ffZyj9Ea+5L79aUKzJk6ReDBNQvp05KsAACxRSURBVAIxUbS8UEofkk712296k9rS+mki8AFfSaji8PFy6z4gyoKJwyBNFMbltTShSE2l71njCwyw9kZNhZHLtiROVfzG17/Od55eyueaIZuGlgfl01u4VIj+IlbHXC7ShV0hLuzSWJg+bydEQOJICrXmLL0FCFfTiDXFSEammPNTR9g3FO+GufSlSYL57PNGzPdfzBA6dlZclvYibiPbmuva2rPjot6TL82tHSCFwNCRh24pTD3KgM08C6Iq04e+d+T7n1131gtb1gwkMzmcHXLqXsfG7sENmfa+w7vyc0M/UiNDiiRFMCUzpg3b/hSnDs9NPdrRy+oVg7cFaB6oW73yCMvPprZgJ15xLK3a6LQEHdB2q9+Z2scK3GG64+m0fnh672tf9zq3sQY4ahCc+Ui/YhKX7xsJzC/gR3j+858fOsap4VzeCwutnFCkZkovYlszbCvz0Uwyx+HON/kY9z788Lvf/W42NFJe7A78zXg0fWSk0pNxW6A7tAuCwbQhfI4Jb+UN/rpCXDhICWZgYIB4NuwONB1DFd80WShLKNJmVJgcqsyPcWvLbFRF9V4fI7ema8NZHf0nJzNtZlhB106l0Bod61p6B1q6t7IcRXIpz43uuW10z61s8OWtZZMBD5GgMyMPfWn2+J6ODWdmOtbnujZ2rjst1701QWjHujPXDj5nbmRvsjBBj+Uyv4bLU1oJXKQEgyREcSz3sk8dI6gRmhj2YNIKK44VV2zBEitGM2pQa8BCFIYdovPWGemcElhUysCHqEfmXHWhp084/g7G1ao4GOSzm5bGPkSV0Idf1ZqxwhlYMU9JzBs+CHoj7psYW4w6Yc7IlpN5CnwNKA6LsQDff3bfQX1Y+4U65LIEzQK2wMrIOIh9TxlyUvl8Eng7MeOmenlJqYpTQ4kF3F7AZMUlgCkvHVcGK+mODf1nv6jvtMuzHeuqFod9HBuxUlmYGTr+k1uP3XtjBbeF2d8LSepalccv5+eO7p47eh/yUrmOtr7TNz79Zd1bnpFMt3RsOCvXubkwMiFzOsKwqHNNadA7eVEcS7p8tbckGctlWmHFYet+ueWqx99sRnRyG4ZA32C6wZcD31u2/MORwZiftstuwPQ6t2/gtGfq9NZbb9XZBPz/TO4wUPLJibpttsBRckLxrnCmlln3wRClJRe3mAo51IPbP7u7ukINKG33jGVwJehMFrwEwqGkQgvTCNItsNLjfGXw2AhvAzTl4twYUVrkIiMEzUx6myAkOCOd69l+0bozX5Bu9W9QYoRDUyznJ1iJf+z+m2eO3F0pTNqhkydQ1JG2DhBEiRUThdHZI9+bODDQ3n9qpn19rnN9S9f6/OiDKAylU91BESiRlKu8UJobp5AoHS1gA8/lkTRL37jkxilXWHH4Mm5ENUbRROHdLEJpQpHMvFgzG7e/z9WHTL69rCLR7STQCEQiYjy7fYMXDxcNSBUHv8h0CxMFh5YnFBmUEEoWinR5KaqrNfTBpeEaItvscBIRNPXZz36WcRyuYvzEOqPpkw8jfAS5QMAeZfhcschwD8VM9ELvCnFht5x14WYZq/T5+bFDch6KuEvB4cIQ/SEaEEjcGu2tfSenW0TxleaOzXPkUikPndgGC8VSfqIwfWT22E9mhh9YmDsGm6s10BdSnzK2kUiObPeWzrVbp4cfXMhPSkDp9HApP4XiSGfbMxKKTohHyVa4yUF+KAx6g1kYzCIGSpK1MYrMX/9P9aH8eHtflwDKRmiswEaA1VUcbpVFlSaKJgrvygmlCUW6ioMxiG8YgkxG7FxWOJ9W6xCxSDSObUMItHa7JQgFQssTigyyh5KFIoO8FqM9n1sfI2qCdaUETWCLDQwM4BzRp/ORqRx0KCEwxNqhVVEcGCCMXGwWQcAV4sJByhhMs4xVeroJUybSW+ShjZFgYNN/6LbpTDLTKgqlUp45cu/h73+mNDMkK+5JJx50Yb5cmjfLUqAg7oLVcV5wl5FlJJWxZzLtW5++4fTnFicfmRp+UC2JheJsmfNWJFu2NunC38EMrugJQWkRAGVqx2AwfgRZLbYQBa/4VOjrEjRIE8w6BhP37mPYnnBJbp/HA8fAhEeQT5C+00SC4Qmb6zEA0UdjfiEYUcbH1k4l4Fh17fwnXIVogZnlYTlPg4VnqMIOzA0Sn1gyuqO+WCwD07HEzlAkagR1oFjpzAtz+C8IyRJPB13Q9G5RIlCIkQKbTMEaISYRDVGupFr7+k6+dOPZz588cv/Q/beU85NCQ+QXgR5lE1KEDs6wrJY9QJSV+hASY/VINiafE1tJy8r9xCsOeZ1LfYTGeVEcdg5FllqYLS3kTVYvFMf73/9+DgoiCILJCOZQ3AAkqNA1DGR0nMIt7gArsCpD/mKnME/BBAHTEPTJKHu+wZKHkoUiyRoLCAcNsxJRGg1GrsVnNrfBn1D5ocggr8W49C5sCXxAKE0o0sfo3lp62zXFWJAn9oZp0l8lDSb+9/5IjxZNYZyfMjNL7zZJ/AqkzUQwRmlkWtefsfHcF3dtPuf4nq8eveffCDXz9IrmanihNSYMRo1kYxqaSqUkMmIyV/Wvd7vEPyK/HmsjNPVk1KSfeMVR95lrylt70zgvvjdihDQyCotj1513/u9rr3WNbd4z/RzPIqmojOBYhnkK5mX05VMKzPXghAUmCbGMeFix51EZnGNEeGhQFOwNljyULBRJSAtbdTArxJNee+21xKdpe3crLJTRJVA4lCwUGeS1GJfehS2BDwilCUX6GN1bH73zXTB9VZIxIMwaE96AJOuYQTq+IV4UgLWRbOkl5LwgEzQz2vsr6Y6eHT+/+Rkvy/VsPnbvfw//8Avl+eMSjK+ixIBF+5g+Jd7Pogx8RLZ2W14IQPUS2Lmtopfwd7HQ0cyN0ERzh6SceMURUqhVQBHOwBbnBGJozyc2kXMGLrvsMrICY/sY3+rQzzUjFNbg0zm1aJgbqBifhxVjhKhN9vjQhS1s53HjjTe+9rWv1R16tO3EPJk0IqckMZTBpHyhQFD8P/7jP2oSIdusqRkYGKibaVDUzwSGzko4lnZY0Q5iNvBg2r3lCWt6rKl5SRXjwKQYntTa7ReuO+dFDEbGHv763MieXOfGvqc8v+/UX8y0dgzf+8Wj9/zfcn5UBiO4LHhxRihH2SeyOpnF4bJz4igxmsMUgRw8Km7F7DD7Ay2hwh8Pr9WJmVvCEzxxWOjqfIRtwBLxS/Q0O0Fb9zkI96JbqkaAeHBwEPPEZ0oQmUoAlaWBjOUt2C8qXBpu7AWB1V+xhCGJ01NT7r5bzBAdOHgQurqZQkP8aIjEWJR19MRSnZhE82FoaV2zJWW2/FKtIUURh4X2OK0VoyHA61+TKp3ckJrfyvTxfaXC3Pqn/urAzrdvv+TtO3a+fcN5v06IxqN3Xzd09+dYHi+vTFjQAcaWYJ/BtjXpFllJgHuVMxRYFGdU0aKlYcYxRm2ws1j3Ztnso/lLS9k830pyrK7iqL6cuBJH0UThXVmhNKFIuIhuIIjLsrM7BmtVCHlyu2soL3vGsH+nDVdngIMOYg5CRZnmmGAgg63h9l5SCRjzlmzaXFcHQC26M8eMktauWROfFfYRvhiWwHOIHNMlOGXi6UnlSZWFxcSwsOgmhiW0JmPoVySJTM3bJHhzbSLlxXGZvl3ta6ZYZtxiVMZiKTXBsEMrpkEiP/qTg7v+cfLAXS1rdvSeennHhqeWS5xO/e8SDybHqUAkZCpDoGQ2297HRCxgaX6qOMskHcMiUhZNWnNLOjGo6Wxbj+70IffR12IZo2ke+5TVHapIbda7omii8K68UJpQJFzEPrI4lf0+NfoTFymbevDLshe7A3iQF1uDzXvcQ0DY9oZtJphi0JLQUvFKsvSekxndspEd20bgqnSRMTAlYQCFksLnSgwlwWY+iyaGF6cMnRnfLYMU1vsTSVV3C09dgUoYPmIZUjGwet/73ocLOSYX6o1Fq8pC2fDjUDOhIzuEBGsyRnJUEkd23nnHHawS4gFZbovT2tXyQS6baa57YzLdmihN6+APPFrPDBQ8BVEtoIxhhAu0jGzEdhBiL7lcOP7AI9/9J1K6djx7YX782L2iNRLzY94mA2rEYG7IKKfMNEpLz9ZUTiyO0uxIaW4MtEzymhwouZRBSiIFJ3xDT6W2mQk27JLiPf6uVVQc1dqveWgX6cI1RItvrgYdQ2/pomgEn0wSs8AqbGZPdHcvZkDYy48NLN/4xjdijBAERc/RF4ybE0rOMSAqzNoa5IKH9Q/f/nbcJTZHAIYGLNjXKV7F06/QGjt37tTbqFJZIXz/kUC0OO5bCkAnIYy17sZclh0W9vYgHBbdwXBscHAwqj9bFnZ156R7vSUmBZ2F7nAXtlhKC/CY9jhYRis4jNAddTOy7G4luLAl8AGU6sYbbmDtPAqL+uTp2C7AXSIYI6SlZ3OytbcyNUXNGLHyzdd+y63TFY22kL4rSPnDRW+XsYUoEX7zxx84vOvjm+ZGZkb3H7//S4mimXk1Ys0wxBABVRLZjg3tfackUy3sDzY/fhDdQZqoiWRZduHwZOufSqJlLQcvyI0UQYTo5cJVXA2BRTZIHyrQJ2QJt6uoOGxduMVykS7s0gCHJoUiG2G0AgmyZmkcbggmPnR/DToA+9zRhQji4COPwY/uQKHQWLFNsMZddYBmoW+zUL3aHL3MWV2qVowtzFVXXcXeQvYDXrfkjBQ4LoTFIyqB6RtyZ2xl482s5FCAxsG+50z0cIUSBJF8w90+jwHFeCdI5mII+nBZ8A2HTki7LC7sVoILuzQKG+sgySiS4aTWCa8J/c7xuq7iiBAiPaWlc1N7/ynTUwfo4EhDLIDp7NzrrIr6S7WpGRXBT9UgEL0hnNIO+Zcf33Pozo+xSL9SmpVMjSAVa2D1jmbbN5zdsmY7yeXi1MyxhwhUN8QUQEQbDYI0cASCVFrXbGsxx7WIPH1s8+vCFh2K1NTQJBfpwlbg8oFVVBxaOHkFscWsSwB3FE0jeB8NljyzpLxGu78G8vly8v3kQiNw2WANt+BoDQx1RgTBDsZHnqlZ2+1ZY/Z7v/d7TIu67PEwG6C6/hGKx/CHksRzkapPV58uIAhFyYCLuBVsKx7tmmuusYOvAK2HYBPAl7zkJSg4FCuLdGAPxshZXl+118VbAgB9cCoBo8PieSnurcW7gMlUKiOd6ybOYubAtzg3vkogXdcoA9N5PawMMvSSVK97iwSoKYb5xVpgbw1Za0uwB1hFGg3gKQReQ7ZnW9+pl6ZbxLVUmjk6P7qXdygKg3vRQZqNx8tMb9+OC9KZTh0caQFCf80ThabURy6Ht670VVccddt0XQKeIYqmEXyQBrOCvXmI+GI4wAEIbh3RJrhcDDDfVcYm+BE5bCGoNSDAocARB4x6CFRH7Fve8hacFD4hMbcYLPhHUF6WBjWE7dCI4gg+nRUSD+BAZe9VJqSZWkKJ1HUfIA1/DSHqVAJrWHlkPv4xBlFUwaLwwdKi4glUZcM06oeMUMfBpYk+LhHudZdU+/qzErnuyvxxYsal3xoXh6GvjjCEsqo3RGtUhcn7F9vD+zXNwXsXqnokRfWGtBX+T7Vv7D/zlzo3PRWJ6JjJR+7Ojx8QCUb3qPaQO8kxgQZMdazr2CLHMtk8gUOvugShXIpcDm+MWE1aRcVhaslfgFCkn0jeS0idhiJ9vFE0PrxuNkeHITqDpskGFqELTzDOiT1noyCGHjTcKG8l2oTPL44JrGuiNnC1xvQoX4G5xb/AcMniaWwcHUKciMWsOKC1gQLlhCdbMxaIyY560+AXpUHJNqLdggIbyYuB3i//yq9QtzhWGFihu5va2Lm9d7Cl/ylzh+6QhW6iFdSc4I9jcVAO6fllxg4mYtz0NVEskqDKw+t+BqVqxggQdIVVdK1rOtafvvakS3sGnpXM4BYt50f2jD38Tda8iXlS/QiRP7zef5VU16Zz2e9D8g4089CaCUUa9vAfl96Fw6mXhF1FxeHVeG2xQpG1JHIXShaK9PFG0QTxfD/pA3RRjA5mCtjRi4UqGMNoEJosF35QUtmcDsCNMfXlqLdI0+2zQlNjkASJc1CjXSMDJV9avurxfkpXIE5NJoMpAMOHUIPIJVbYrQ0LWyBIH4VpSmuwhhDfLRWLUeb6SqKEg9+0cSNn3PFGUMTBVxBaYKsW0i1r1591xcEhNhCcEVUBtfkR40MUBadPi5mR7drcPfDshbkR0S10Mi7p7ayR4z9QsljO6BrtgELB1n+yhi2dY8sfPCmdm87i8HrZSSxRmR/ZM3zvDeweaAcnJlNTUqQYRZJqXdt76iWpTM0eziZj+TGk9s4DQpF+IufepXdhh2S54CoqjgaLpi+kQWIfWbO8Lr3C9DesdKxuhvoM3TEjVXHQUn3uQ1/Wjd+6mVoui7zppps4LM5+miBgATsmuvZJS2YZAVzkffff//4/+zM2++ZB2EAEj6yujnFpLC9IrrotKYq3LqPNCMAnBDcz+0ITI4fi4Kg93Ey+HYN89FYU9QCLvY0HfEK6tz6DEcHMwW97XCRz0acXCqWZ44wpkun29vVnbu8dNHrEFtqoDGMhGJRPqqkGeT0os9ZEik0DzYxJpTB77IGhH35h+tBdyYV5UUNoIFSPcPO/JwRMx5bzuzYyqJHLJ1qRzf42IqQRmqbyPfGKo6nm6Hu2Znld+ho4mURNcPnkx9yiX2g8wc9gkMXNyKYqkpkddl23u+OQSv9/3vOexwI5pYzhVYKbvvQl5nHVa4gv4DnPeY6udq3LaEsSBJbDa6X5hHCEBZub6hQV9hETRr5Ds3z0Vk5TgE9IpqVvzSmXzg7dmyiMVeUICXFc7LVRmDjc0ntakuOUGlZMVSE1fzk4YWF+dGZo9/GHbpl+5PtsgC5RHvIpsEaMDnGMAsn2rD35FzJtshUInVl/fcU26CZ+GmFvhKaJLJnFa4q6LvGKK7aoHJeT0ZJ5lRHXIFty60eeTe6ItmhkgBCaKYtf+Ai7z4g0XCoNTnPSOJlItnMNTOtw5pMqDpUZmqnNjmlpBkqMGvBcNO6UIYieQQfzo3Ch5qy0GAAWRoJ2YhsFh7Jjx9YGHzNGcr0k1ptcPLF119Te25wwUno1+2/8aPiH1/U95Ypc12ZZMyJdXcI5RaCMUMQuAyHeTRmpyChDTBVQgjWplVKlOF+aH50+tmd6aPfc8AOlmWH2NWYYA5FHJYMj3pJ4gvhdSKa7B565duCZTPtAYDITac1ey+FtNq8o+hVWHEuui6jyReGXk9GSeWFkLEOQ6Ac+8AEitehs9HPi1vnOR5XT4oOZ0vc4g5qubmmIjEBr1A36tPQ0R/wa9pb5VJ9nJJipEtOIiRNhLpYwMOaSiVXD3dOI7kDRcDo8Yyu0FTNHr3/965nKtQWIAXymGbmTde1JKDHcXhIKiylzYl7xkpB73flj2DJt/RvPe+n86L7S+E/FWyndVVylHBs99vBtM0fvz3WslwUj6v7QMC2pNc9YEL1hdIWtSaMSZATCdl8LxRnCSYuzo+U8kWZEeUElwxbVFKo+PGGgEomW/tM2Pe2l6axM2VqBwM1ey+FtNq8o+hVWHFHZ/MzgGVxgbuDk44no+XxIOSqhEcURrIG9+/Yxp8OQxyYxy8MqmKa+w/gLmJTB7sDqeenVVwePQbLCXYAeyOQxQbGmPSdGRkdx9LjnDLjELszDsm8AfR4k+RJWz/LfqMkmy4iTgoKRHTWmSCqQeNymFAfnP33+uuv+/MMfxuJjPuhNb3oTx+7WzRoDoXPDub2nXzH8/U8ZL6nmL2YEO33lx/YWxveJNnE+4urhMHT0UBLs5d4qg8aSmVMTxNMhpsmiLB2reMYMkR5da099njmEyQp8AgNPKo7mXp72NMujXyR72xSw+8c/tuv0YURfMJnS7NQMs7Yf/ehH77v33o7OzgsvuojhQ0wZtBPQ/PGq7N692z7LQw8+CKYRxUFvV6VJLoTts7KGAYjPzRlaAAwEbBOMBU3FFY2yu/LKK+n5FKORajx29Oh/3Hij6iyy/sQnPoG+xpEcmt0iUr7O6b7TfnH22ENTe7+akskUQYl1wH9GFYj5oCWQFE9XmBQZtIiG8P5Q0moVghIQb4amCRuJbHMscvmrhAYmoZxM9wz8Qt+plzH5UhUhWT1xL+MQXrnie9W1cgKjJLkZuXAUvYuvSx9DQGQHfg36GIY95jdOPl+sVxRvEE/El110T/EwNzhNFvluUX2wTwgtkjIQ3fDyV7wC04PJy3h6WjT/uDABXPcE1kqMmeNmio5wBx3cxg9wLC/uXgJhbPEoOcGyhL2ACdUaltGyMEpyJ60JvSFqzvp3LBmAy6twS+eWzef/RuumZ5TZp8MMVYwykPowBFIEpTSagVtjghik1BhpoiC40BTiCDGWhUGQKJziA1Ei0R9GrBkRiTqpsFh3yzO3/Nyrch2bhMj8E/KlXnV56xIsNedFvjQLxhfvlg1p7S5bTH0BbkYuXJ/TvLZ4shiBNCl8EHTygYGBnTt3vuENb8AIdw3mKN4gnm/17bffThQGhaEbs20XEw0xHRgynxBp79JwI7/YPnr71GTHmItVp/Cy8J8tiF/wghdEzXq6QtAULHXDPMGlyuiGMscPNywvwjGvGN3YMnR1d7/oxS+OMpEso6VHyRJuY11ClBxVwry17pNkyQBcXgtn29d19A/OTwwVp44Q3Vm1IqC2JAKaO61XT5JJNmaEEQyBKAYIFxkF9CgMVvyoIglC3k2mY9vF2575m21rTzWMXkkXc3WL3hhcl7cuQWP5xFGd+KGKW5txJQ1La5bXpXfhMNk1OJeYATYHBbzoRS/iYxv/vVURLq8rFEuBCG626qIP0wGIdHKtgBhen0CnBS+K99FYaQC0KkyMV7/61Wefc84jhw+jOAjldqeio3hhRGni4+AwKlwzLF1BdyxmWQv5hFBRDCtwZ+JeUUJZMteyuKzOR680LpIwfDy4X//61+3sDKMtjI4aQ8Y8XZBXMe39Z26+8LUH78jnh+5OMXow3Z8kKhA1xJ35keo0utj7rYqUsiihUMrUC7fCaMg9PYGmEH0iSKEp45zdcuGWC1/HwfSSkSmH+1AurIVcwm8jQhqhaSprU2VNcTxJvHI1QLPDXMfeJlo06oO/crmdMEmmHyZRGayOIZoD2wE99Y53vIPlP/EWlq/EaAoWGaK2LJ7IPbZr5IAYiwkF3G4zO/LQ0I+um9j7zWRJFt1LZ8anya9C8kfUwqKXwpCoWB5EAeUT1hqM5gPOYDNd3YO/wAilpWdQuX6Wfp9UHD9Lb9P/LG6H8act+57eYftPg8JwrN522224KnB5XHHFFVHjlChp2BrspUIEqp2dYZDI0VnszxTFIsMFowogECPB0BXNwY6jD/53cXw/5xewSM1YH0Ji/jNkYkgY40NVyqIQQYpYoZaLShBNI0rEMIorNJXtP7331Of1nXJZrlP8GsFrOa9mObzBkiwN86TiqFNvfCfZFWLv3r1ETDBX2sjUQx2JTyYvowYwN/DI4J2xMphe4SwLexsOVLua19Wlkxdnju0evueGyQPfSbI3j3R6GXxI7zeqQBFGN1omT7ZqTLUqRGvIwSuGjzAfVEe2p3vHxZue9pL2foYnJ94VEF4hy8ausHM0WJ7qKwumNIFpVohL78JNZGlIMarZ05jNNYiY5mIW8JkXXxz0RKjY5WTUbMEs/XIyXQ6vLUAUsErCMVJYUkS4rca/DA4Osnub3fokLlM1NtR8EN2QZo6jZ+vTcz3bSgsLxfmJSjFPEJfoDs8uEZD/RKaaGyLB/V8eHcUhSkPOXEgmW9d0bn/WhvNetum8q1u6thtDJqp6nvD4Jy2OuFdIEPfLXvYyduhVItbLf+H6659x/vlxPLFpTATQ6JkaYMUtseG+AxZiWZ9M9GqAOR2GJ4Th4V7FRV13KsqtuDDNwjEGR6cevWdkz9dmh3YvzI6kEvOiMUQnwGrMECsCfh3PyDAFjSEBYOVES6qjn804ek+5pGvzeZnWPkn6Wb9W0ZQKe0la316lhhJoWmhSKNL3gqJoovAuu6WxAAHmdjgNJbfcuyxB2PK6SYrkw/S3f/u3H/rQhxj+sIaV2Ec2IrTrXEIZXSExcLO8Lr0Lx2Rhk6iQO3ft+vLNN+NxYDKImQ53RsaSBQE3IxcOUgYxLj0x8m9961sxNFKcMFBvfZrL6MJOFsls24bek5/Xs/1Z+cmDs4/+6Pi+XYXJQxVskNI8geW8cmN1GI+GEcEG5RyEwG7Dyda1Ld3begcvbN/ytNaubamM7G/O5WYUBSul/talcQlcRl9eNsmld2FLsHxgFRVHqNZ1kS7se5LQpFBkI4zQNMVriYkRYEsOFlYwZuEDxIbGAwMDvhx9t5bXxSuSxV1MAWjgBgvMWOiFV+8pT3mKUoYyukJi4GZ5XXoXjsnCJmExvfaaa3TntM997nPsosaR9zY1BnAzcuEYFpsUpI8aMFoWBVxGF3bJxFtBXFe2g0lT/vU+5cq5qSOlqaOFmaPF+XHOlJc9fow6YFCSZC/z7i3Z1jW5zvXZnk2tHRtS2a4aabWNzc3UhV0WF+/CliYUqamhSS7Sha3A5QOrqDi0cHUVXl0C5ETRNIJvhCa0HmEkzIkFEUwB0E9YWMU+YMFwI8vrZuTCloBhOaHW9paxug1JsMhQRpsaBFx6Fw5SBjHN0qsEFIdqDW6ZH9m1axfVEtyYJ0p4FD5YvCCmLm8UQRRes9AxCTSqHFLZ7o7e7kTv6Sa1xKp5xiTyn+mCMopJEX7irbZVHl/nDGYXxBjhkQ1bU0OF26S6QFSmdRkbIVh1xeGr02CZ6hLAEkXTCL4RmmCpbKZMprCfaCiBD+lm5MKWDKWDba/xmiCB8XTYVAVCGX007q1L78IuTRTcLL3K8UVeEH6iHc+XS5TwKLyPPfS2Lm8UQRTezcXQLBJWe10GE0PJFtP0vkrhx4c11yBNuEy3QAaOYgwQhiCWwxsirha16oqjNrv/0Xf0MUJFWcbGF3twcJAPdbOBDI+H6mMlHqvL8E1SGIJHCcewbprGi8foIFTdNC5htSnr97oIigj0apf3sZb/5KzKY13j5Heiuo0M5vkeJpNsJqLDDULIWRrfbBXAe+utt3L0HBsIE0juLtVpUNSJqoEGi/ckWd0aOPGKo2rx1S1qCEGzvC69C4eIrkW5xFFwLcfinUu/iG0McnktTK/jil8mY4ndfBRJ4DYnv7K+Dg2Cu5eTH31r+WN4XWnxsCvEhZWL8qvFQbi9LrcN0kAZiozJ16V34RgWm9Qs/ZIZ3Yxc2ApsFmhESCM0TeV7Iocq+jDLMe2a5XXpXdhXZcFadomj4P/f3vnrWHUkYVzyA5jED+CZlQggWSfEPAAEhMQk65CQAJ6AmJCEBAkJodkA8QC25AQhArRGtiVIvNHCegNvuD/cVu2nPtXd1efcO3eAmgDVqf6quvu7nDr9v4uTvi0Ye2eGmQIoeRUTZF4zdnk9efKE9SD0FzidmJUgpP655kA8aiFNjZIB2ocPHzK5Uzakn5ycsNeuChwtW/MTEdSJysWWqMEu2wcPHrCkhdUxLJZhw/HS7dJwiVGN4lUumOVP07JV/VBeZqQmy0wVX+QlRj30Zdd2qdRM+w6DqTsOHMsSd8qxpTKakcqd7CxpFr/d0DwglC+taoaymXz3/fd/+/bbn3/6CRMuVWCckk1fHfNlTTkEhFXbJWoUQyabmRtesRRt6bxTkiqJ2SV2ndy/f7/oCSJcrMe24wp2Oo+rKxIxbP0nV9sWplX9oe2sw1ZGHf2OA8cplLhURjNSuVNVSxriW4CW3jwjVBiWjP3jxx9/+ONaAEYEltMoZlsZmt4EGgt/PzkpUQMlbztToQQOCyuGNGHpk3vbOGTcAAgM2fZ7PQpWeelcU/sye4I5PdQwnEjI4WBbAgfL0jg+miDI8jBOWmIPvjk3oVXglt4MW8JqQxweyrZVl1n9jgPHbPafPJ7/ylxzzTF5vJzMv967d69/8k2HEF54IoUCyn4N1QxlttvYiRgFTE+hf+xYxydhcV3QIVrp0g9Wc+ljJ8dWEtfT3Lx5k4MFmeKhB3f37l03drTMUz/LwI6PDpzN/tPG8149e/aMLyFvOGu9GI9khGJ1ld++fcsmXTOnoVGuX/kwxhH+AzyFdx3zeefOSra3M7v86NGjcgKgi2wpaVxwfzWtA+IO/yKXurTwfT1L6SgGwyUUjE7Q48ePacL0TTJ1IwPZ4thI4MBcl4ryxjKFOTBoJxM1ynL1AqGZwDE2bbifwrY9vd2a7zMrYn1oW/vy5UsW1D5//pwaEQJu3brFvhsaEW2LOoWZFJbVMZX75s2bo6MjjiALLiGvHf3xTIBmtNiS2B+gtJs+hR0ycPgWx8TnclHvWVvFq7xwXCsU3JJrG062/eILtrpYm5k3hHtYCkydLA1NYzD2WjGNqkvUORmEXgZId4zDDM1VERgZUSd0ECgVSdoMcW1VyfAEsaOY0NygVaXHCJeMFK+ylYfjSzm0lQMTL1++zDY5F+MqzYMJxRX/Fg0nv1fXUxuyIwTzWnqYNVS8ykvPQU3ESQQTzK7ADt/iOM1RIs1L5SFlCm7JrhMG6uhvc4MR3/Zr167Zcf7qxDUsSoP9+/173lVFXrhwodNYMEM1Qdb5FB4JOmWQQqOPa6tKOk06vMJyMsZcq8IoXuWqPPboYlylmZhA4Tndh3YH61kJ00zuHh8fW2pQCOa19DZrqHiVl56DmoiTCCaYXYEdPnBMFfejA7N9nomPcrKxfRJX1ILFmq9evTJDXhW+q8MV63xn9H8MbQ26BtriwEN1+Ztl0REYlaCvYTGIAzKYE6E8HZNWEs0WjVkt2FBPkej7cCUdPabZXk/F0jAvA6w2xMOhbK3wG4UMHBsJHJvzYqyetjDv7Enlw26PvBt//eYbe2wJGjXAMHbIrApfZsNTME45t8eggAnLzC1w0Po4C2MKNJ0il0Iu61ixtAS0NKsNcXgo21ZdZvX7HeMgrA7/WpiWXh26GFepVkV2Ya6yso1gKpONjwypMqHLa29+GJI8+vprewwKZdRQhzP4Pq/YaYIJPRzLlEhEEFG3JAVZKs0NLohg3FebQuZ8Sohk2sK09FoAF+Mq1aojR2wjmE4We0rab4sjElZbmJZeiXAxrlKtiuzCXGVlG8FUJhsf//nrr1y2qE4Y/Fsxf8nIqF3gWLxxLeOKrzS9m3Nffvnf338vTpgNZY0JcU0veQuyRNDhSjdWvjPIyo6769ev86/WdEqOZNrCtPRaABfjKtWqI0dsI5hOFntK2m/g2FOhPze3P//yi926St35SjPmuuKF593WQU1cMZ0xNY1amKerouM1uKWrUrU4gr8RgYz1IFzRhjnjxzQ97ty5o86DfhJ2ygz8v8G584zdJpYqVa5yd5NcZcQQzJStglWu8nIfXbyrrMw7GBYp6AIQRjRZ+KDmHVuF0TSoBiMYKymzKgobyuyR0QFIWg288FVIWjrRQppMQGTQtwQduiqsDdFlJubE8KZBcJUKqDARvJq7eFepVp1MW7aqV9ncusqS6iapUmVzuF3YY+Bwm1iqVLmqiZvkKiOGYKZsFaxylZf76OJdZWXewbADTVdkM9d4dHSk5h1bhb17/16XkNHWwNWaFsdXX+nkKy0OJlaGgUMLaTIxiD8rJNXU/o7pDW8aBFepgAoTwau5i3eVatXJtGWrepXNrassqW6SKlU2h9uFPQaO7YVLD4UBtr1z0FYJHxxleOPGDf5dQQ5DmPyZIW0NZotXtDi487U62Ry3OlljWQwFdu5wpFipGgMuV69e5TbMoVUCDs5AjnEc/CcYF4BFTbdv32YR6r/evfvL8TELLldMhZDNf377jd6K5ceYword9JjTKGAel4hjwYKGDL2VFe883S42vFA1PLAQlrvy3BaHlTmFM8JABo4z8kMMisEcCvfLD0CjZIYPdIyDqFF1eUYO/kxngIOuCm8487tFxZyIeg76KTBunNhetakcE7ydgeyqbOfwo/HwYRr13DkrLotBbB+NKSMC7R0Chw6O0MsYLmMtnreM1a22XW1ImbfYRsj8SDGHDxxbfphZW8WrPPzxFNySW04UbxhXaakmuDBXaSZFcDHnz5+/dOlS6ebQT2FO171fyrVVJfPBHErEWpKyfIuQQV+j6qcoXuXWWJ1irC6VsmXr4tV2aIgHxZtDhKFty1CdqKx4lRUzJUecRDBTmR7ysGIqM/xVpiqzK/CWgq22XW1IrYO2zHq+fv366dOnrF6nk3LlyhUGWYO2Fbe4evHiBZv3mCq+ePEiA5xTS9fXZVqVYfbxzGa6pWCuraucpauPP2Tg6JcsU5OBZODMMnD4rsqZpSYLlgwkAy0GMnC0mEl9MpAMNBnYceCgc3U6f5qRypHch/gWoKXXTFuYlt5shwCQLcys3jLt+DTMPpy3fA4zNUBHaDmP6FsYNzsFq6zgWb3atuSWT8MPAYZcLeQYx2rq0jAZ+HwZ2HGLYwWRW6LjrK3iVR4WW8EtueVE8YZxlZZqggtzlWZSBBeD0tUHbStY/1EzUrll5WJcZcsDesWr3DGxpFn8akPNSGVzOCtEnEQwU/lmi2OKrgQnA8nABwYO3+LI3yEZOCwDq7/Gqw2p76Fsd0V1tjh2xWT6SQY+Iwb23uIYRtYhgF+jhYnoIxj3B581VLzKrvNdKbdktNo2YtjCtPQRQoa2LUBLr5m2MC292Q4BhlwKW2yX3k5Tky2O02Q780oGPhEG9t7i+ER4ymokA8mAMJCBQ8hIMRlIBmIMZOCI8ZSoZCAZEAYycAgZKSYDyUCMgQwcMZ4SlQwkA8JABg4hI8VkIBmIMZCBI8ZTopKBZEAYyMAhZKSYDCQDMQYycMR4SlQykAwIAxk4hIwUk4FkIMZABo4YT4lKBpIBYSADh5CRYjKQDMQYyMAR4ylRyUAyIAxk4BAyUkwGkoEYAxk4YjwlKhlIBoSBDBxCRorJQDIQYyADR4ynRCUDyYAwkIFDyEgxGUgGYgxk4IjxlKhkIBkQBjJwCBkpJgPJQIyBDBwxnhKVDCQDwkAGDiEjxWQgGYgxkIEjxlOikoFkQBjIwCFkpJgMJAMxBjJwxHhKVDKQDAgD/wPehChkWg4JjgAAAABJRU5ErkJggg==`;let oe=`https://github.com/BaronCyrus/dsh-aha-tutor`;function se(){let{t:e}=f();return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:e(`aboutTitle`)}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-aboutHead`,children:[(0,i.jsx)(`span`,{className:`aha-aboutLogo`,children:(0,i.jsx)(re,{name:`logo`,size:28})}),(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:`BaronCyrus`}),(0,i.jsx)(`div`,{className:`aha-hint`,children:e(`aboutRole`)})]})]}),(0,i.jsx)(`p`,{className:`aha-aboutIntro`,children:e(`aboutIntro`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`a`,{className:`aha-btn`,href:oe,target:`_blank`,rel:`noopener noreferrer`,children:e(`aboutRepo`)}),(0,i.jsx)(`a`,{className:`aha-btn`,href:`${oe}/issues`,target:`_blank`,rel:`noopener noreferrer`,children:e(`aboutIssues`)})]})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:e(`aboutSupport`)}),(0,i.jsxs)(`div`,{className:`aha-sponsors`,children:[(0,i.jsxs)(`figure`,{children:[(0,i.jsx)(`img`,{src:ae,width:`180`,height:`180`,alt:e(`aboutWechat`)}),(0,i.jsx)(`figcaption`,{children:e(`aboutWechat`)})]}),(0,i.jsxs)(`figure`,{children:[(0,i.jsx)(`img`,{src:ie,width:`180`,height:`180`,alt:e(`aboutAlipay`)}),(0,i.jsx)(`figcaption`,{children:e(`aboutAlipay`)})]})]}),(0,i.jsx)(`p`,{className:`aha-hint`,style:{textAlign:`center`},children:e(`aboutScan`)})]})]})}let ce=Object.freeze([`#2f6fde`,`#d64545`,`#2f9e6e`,`#e08a1e`,`#7a4fd6`,`#1f9bb4`]),k=`#2b2b2b`;function le(e){return String(e??``).replace(/[&<>"']/gu,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e])}function ue(e,t,n=5){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e===t){let n=Math.abs(e)||1;e-=n/2,t+=n/2}let r=(t-e)/Math.max(1,n),i=10**Math.floor(Math.log10(r)),a=r/i,o=(a>=7.5?10:a>=3.5?5:a>=1.5?2:1)*i,s=Math.floor(e/o)*o,c=[];for(let e=s;e<=t+o*.5;e+=o)c.push(Number(e.toPrecision(12)));return c}function de(e){let t=Math.abs(e);return t>=1e6||t>0&&t<.001?e.toExponential(1):Number(e.toPrecision(6)).toString()}function fe({width:e,height:t,title:n,xLabel:r,yLabel:i}){let a={top:n?34:16,right:18,bottom:r?50:34,left:i?62:48};return{margin:a,plotW:e-a.left-a.right,plotH:t-a.top-a.bottom}}function pe(e,t){return e.length<2?``:e.map((e,n)=>{let r=t-150,i=14+n*18;return`<rect x="${r}" y="${i-9}" width="14" height="4" rx="2" fill="${ce[n%ce.length]}"/><text x="${r+20}" y="${i-3}" font-size="12" fill="${k}">${le(e)}</text>`}).join(``)}function me({margin:e,plotW:t,plotH:n,width:r,height:i,xTicks:a,yTicks:o,xScale:s,yScale:c,xLabel:l,yLabel:u,xFormat:d=de}){let f=[];f.push(`<line x1="${e.left}" y1="${e.top+n}" x2="${e.left+t}" y2="${e.top+n}" stroke="${k}" stroke-width="1.6" stroke-linecap="round"/>`),f.push(`<line x1="${e.left}" y1="${e.top}" x2="${e.left}" y2="${e.top+n}" stroke="${k}" stroke-width="1.6" stroke-linecap="round"/>`);for(let r of o){let i=c(r);i<e.top-1||i>e.top+n+1||(f.push(`<line x1="${e.left}" y1="${i}" x2="${e.left+t}" y2="${i}" stroke="${k}" stroke-opacity="0.08"/>`),f.push(`<text x="${e.left-6}" y="${i+4}" font-size="11" text-anchor="end" fill="${k}">${le(de(r))}</text>`))}for(let r of a){let i=s(r);i<e.left-1||i>e.left+t+1||f.push(`<text x="${i}" y="${e.top+n+16}" font-size="11" text-anchor="middle" fill="${k}">${le(d(r))}</text>`)}return l&&f.push(`<text x="${e.left+t/2}" y="${i-10}" font-size="13" text-anchor="middle" fill="${k}">${le(l)}</text>`),u&&f.push(`<text transform="translate(16 ${e.top+n/2}) rotate(-90)" font-size="13" text-anchor="middle" fill="${k}">${le(u)}</text>`),f.join(``)}function he(e,t){let{width:n,height:r}=t,i=fe({width:n,height:r,...e}),{margin:a,plotW:o,plotH:s}=i,c=e.series.flatMap(e=>e.points),l=c.map(e=>e[0]),u=c.map(e=>e[1]),d=ue(Math.min(...l),Math.max(...l)),f=ue(Math.min(e.kind===`area`?0:Math.min(...u),Math.min(...u)),Math.max(...u)),[p,m]=[d[0],d[d.length-1]],[h,g]=[f[0],f[f.length-1]],_=e=>a.left+(e-p)/(m-p||1)*o,v=e=>a.top+s-(e-h)/(g-h||1)*s,y=[me({...i,width:n,height:r,xTicks:d,yTicks:f,xScale:_,yScale:v,xLabel:e.xLabel,yLabel:e.yLabel})];return e.series.forEach((t,n)=>{let r=ce[n%ce.length],i=e.kind===`scatter`?t.points:[...t.points].sort((e,t)=>e[0]-t[0]);if(e.kind===`scatter`){for(let[e,t]of i)y.push(`<circle cx="${_(e).toFixed(1)}" cy="${v(t).toFixed(1)}" r="3.6" fill="${r}" fill-opacity="0.8"/>`);return}let a=i.map(([e,t],n)=>`${n?`L`:`M`}${_(e).toFixed(1)} ${v(t).toFixed(1)}`).join(` `);if(e.kind===`area`){let e=v(Math.max(h,Math.min(0,g)));y.push(`<path d="${a} L${_(i[i.length-1][0]).toFixed(1)} ${e} L${_(i[0][0]).toFixed(1)} ${e} Z" fill="${r}" fill-opacity="0.15" stroke="none"/>`)}y.push(`<path d="${a}" fill="none" stroke="${r}" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>`)}),y.push(pe(e.series.map(e=>e.name||``),n)),y.join(``)}function ge(e,t){let{width:n,height:r}=t,i=e.data.length?e.data:(e.series[0]?.points??[]).map(([e,t])=>({label:de(e),value:t})),a=fe({width:n,height:r,...e}),{margin:o,plotW:s,plotH:c}=a,l=i.map(e=>e.value),u=ue(Math.min(0,...l),Math.max(0,...l)),[d,f]=[u[0],u[u.length-1]],p=e=>o.top+c-(e-d)/(f-d||1)*c,m=s/Math.max(1,i.length),h=[me({...a,width:n,height:r,xTicks:[],yTicks:u,xScale:()=>0,yScale:p,xLabel:e.xLabel,yLabel:e.yLabel})];return i.forEach((e,t)=>{let n=o.left+t*m+m*.18,r=p(Math.max(0,e.value)),i=p(Math.min(0,e.value)),a=ce[t%ce.length];h.push(`<rect x="${n.toFixed(1)}" y="${r.toFixed(1)}" width="${(m*.64).toFixed(1)}" height="${Math.max(1,i-r).toFixed(1)}" rx="3" fill="${a}" fill-opacity="0.78" stroke="${a}" stroke-width="1.4"/>`);let s=e.label.length>10?`${e.label.slice(0,9)}…`:e.label;h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${o.top+c+16}" font-size="11" text-anchor="middle" fill="${k}">${le(s)}</text>`),h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${(r-5).toFixed(1)}" font-size="11" text-anchor="middle" fill="${k}">${le(de(e.value))}</text>`)}),h.join(``)}function _e(e,t){let{width:n,height:r}=t,i=(e.data.length?e.data:[]).filter(e=>e.value>0),a=i.reduce((e,t)=>e+t.value,0);if(!a)return``;let o=n*.36,s=(r+(e.title?20:0))/2,c=Math.min(n*.3,r*.38),l=-Math.PI/2,u=[];return i.forEach((e,t)=>{let r=e.value/a*Math.PI*2,d=l+r,f=+(r>Math.PI),[p,m]=[o+c*Math.cos(l),s+c*Math.sin(l)],[h,g]=[o+c*Math.cos(d),s+c*Math.sin(d)],_=ce[t%ce.length],v=i.length===1?`M${o-c} ${s} a${c} ${c} 0 1 0 ${c*2} 0 a${c} ${c} 0 1 0 ${-c*2} 0`:`M${o} ${s} L${p.toFixed(1)} ${m.toFixed(1)} A${c} ${c} 0 ${f} 1 ${h.toFixed(1)} ${g.toFixed(1)} Z`;u.push(`<path d="${v}" fill="${_}" fill-opacity="0.75" stroke="#fff" stroke-width="2"/>`);let y=30+t*20;u.push(`<rect x="${n*.7}" y="${y-10}" width="12" height="12" rx="2" fill="${_}"/>`),u.push(`<text x="${n*.7+18}" y="${y}" font-size="12" fill="${k}">${le(e.label)} ${Math.round(e.value/a*100)}%</text>`),l=d}),u.join(``)}function ve(e,t={width:480,height:300}){let n=``;try{n=e.kind===`pie`?_e(e,t):e.kind===`bar`?ge(e,t):e.series.length?he(e,t):ge({...e,kind:`bar`},t)}catch{n=``}let r=e.title?`<text x="${t.width/2}" y="20" font-size="15" text-anchor="middle" fill="${k}" font-weight="600">${le(e.title)}</text>`:``;return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${t.width} ${t.height}" width="${t.width}" height="${t.height}" font-family="${le(`'Segoe Print','Bradley Hand','Comic Sans MS','Kaiti SC','STKaiti','KaiTi',cursive`)}">${r}${n}</svg>`}var A=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},ye=/([A-Z])/g,be=e=>e.replace(ye,`-$1`).toLowerCase(),xe={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},Se=/[&><"']/g,Ce=e=>String(e).replace(Se,e=>xe[e]),we=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?we(e.body[0]):e:e.type===`font`?we(e.body):e,j=new Set([`mathord`,`textord`,`atom`]),Te=e=>j.has(we(e).type),Ee=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},M={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function De(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function Oe(e){return e.default===void 0?De(Array.isArray(e.type)?e.type[0]:e.type):e.default}function ke(e,t,n,r){var i=n[t];e[t]=i===void 0?Oe(r):r.processor?r.processor(i):i}var Ae=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(M)){var n=M[t];n&&ke(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new A(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=Ee(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},je=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return Be[Ve[this.id]]}sub(){return Be[He[this.id]]}fracNum(){return Be[Ue[this.id]]}fracDen(){return Be[We[this.id]]}cramp(){return Be[Ge[this.id]]}text(){return Be[Ke[this.id]]}isTight(){return this.size>=2}},Me=0,Ne=1,Pe=2,Fe=3,Ie=4,Le=5,Re=6,ze=7,Be=[new je(Me,0,!1),new je(Ne,0,!0),new je(Pe,1,!1),new je(Fe,1,!0),new je(Ie,2,!1),new je(Le,2,!0),new je(Re,3,!1),new je(ze,3,!0)],Ve=[Ie,Le,Ie,Le,Re,ze,Re,ze],He=[Le,Le,Le,Le,ze,ze,ze,ze],Ue=[Pe,Fe,Ie,Le,Re,ze,Re,ze],We=[Fe,Fe,Le,Le,ze,ze,ze,ze],Ge=[Ne,Ne,Fe,Fe,Le,Le,ze,ze],Ke=[Me,Ne,Pe,Fe,Pe,Fe,Pe,Fe],N={DISPLAY:Be[Me],TEXT:Be[Pe],SCRIPT:Be[Ie],SCRIPTSCRIPT:Be[Re]},qe=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function Je(e){for(var t=0;t<qe.length;t++)for(var n=qe[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Ye=[];qe.forEach(e=>e.blocks.forEach(e=>Ye.push(...e)));function Xe(e){for(var t=0;t<Ye.length;t+=2)if(e>=Ye[t]&&e<=Ye[t+1])return!0;return!1}var Ze=e=>e+` `+e,Qe=80,$e=function(e,t){return`M95,`+(622+e+t)+`
1
+ window.__ModuleLoader__.load({id:`dsh-aha-tutor`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("react/jsx-runtime"),a=e("@deepseek-ai/dsh-client-ui-primitives"),o=e("react-dom");var s=class extends r.Component{constructor(e){super(e),this.state={failed:!1,error:null,resetKey:e.resetKey},this.retry=()=>this.setState({failed:!1,error:null})}static getDerivedStateFromError(e){return{failed:!0,error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{failed:!1,error:null,resetKey:e.resetKey}}componentDidCatch(e){this.props.onError?.(e)}render(){return this.state.failed?this.props.fallback({error:this.state.error,retry:this.retry}):this.props.children}};function c(e){return String(e?.message??e).slice(0,300)}function l({t:e,error:t,place:n=`page`,onRetry:i,onHome:a}){let o=i?(0,r.createElement)(`button`,{type:`button`,className:`aha-btn`,"data-size":n===`page`?void 0:`sm`,onClick:i},e(`retry`)):null;return n===`card`?(0,r.createElement)(`div`,{className:`aha-spread`,role:`alert`},(0,r.createElement)(`span`,{className:`aha-error`,title:c(t)},e(`crashPart`)),o):n===`tab`?(0,r.createElement)(`div`,{className:`aha-col`,role:`alert`,style:{gap:8}},(0,r.createElement)(`p`,{className:`aha-error`,title:c(t)},e(`crashPart`)),o?(0,r.createElement)(`div`,null,o):null):(0,r.createElement)(`div`,{className:`aha-page`},(0,r.createElement)(`div`,{className:`aha-card`,role:`alert`,style:{alignItems:`center`,textAlign:`center`,gap:12,padding:`28px 16px`}},(0,r.createElement)(`p`,{className:`aha-cardTitle`,title:c(t)},e(`crashPage`)),o?(0,r.createElement)(`p`,{className:`aha-hint`},e(`crashPageHint`)):null,(0,r.createElement)(`div`,{className:`aha-row`,style:{justifyContent:`center`}},o,(0,r.createElement)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:a},e(`backHome`)))))}var u=class extends Error{constructor(e,t){super(t),this.name=`ApiError`,this.code=e}};function d(e){async function t(t,n={}){let r;try{r=await e.call(`/aha-tutor`,t,n??{})}catch(e){throw new u(`connection`,e?.message||`Connection to DSH failed`)}if(!r?.ok)throw new u(r?.error?.code??`failed`,r?.error?.message??`Request failed`);return r.value}async function n(e,{onPartial:n,onProgress:r,onPreview:i,signal:a}={}){let o=e?.job;if(!o)return e;let s=0,c=o;for(;;){if(c.partial?.length&&(n?.(c.partial,s),s+=c.partial.length),c.progress&&r?.(c.progress),c.preview&&i?.(c.preview,c),c.status===`done`)return c.result;if(c.status===`cancelled`||a?.aborted)throw new u(`cancelled`,`cancelled`);if(c.status===`failed`)throw new u(c.error?.code??c.status,c.error?.message??c.status);if(c.status===`missing`)throw new u(`missing`,`The task was lost; try again`);await new Promise(e=>{setTimeout(e,650)}),c=await t(`job/get`,{id:o.id,since:s})}}async function r(e,r,i){return n(await t(e,r),i)}function i(e){let n=typeof e==`string`?e:e?.id;return n?t(`job/cancel`,{id:n}).catch(()=>void 0):Promise.resolve()}return{call:t,follow:n,run:r,cancel:i}}function f(e,t){return t?.id?{...e,jobId:t.id}:e}function p(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error??Error(`read failed`)),r.onload=()=>{let e=String(r.result??``);t(e.slice(e.indexOf(`,`)+1))},r.readAsDataURL(e)})}function m(e,t=`aha`){return String(e??``).replace(/[<>:"/\\|?*\u0000-\u001f]/gu,` `).replace(/\s+/gu,` `).trim().slice(0,60).trim()||t}function h(e,t,n=`application/json`){let r=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),i=document.createElement(`a`);i.href=r,i.download=e,document.body.append(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(r),5e3)}function g(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,document.body.append(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4)}let _=(0,r.createContext)(null);function v(){let e=(0,r.useContext)(_);if(!e)throw Error(`AppContext missing`);return e}function y(e,t=[]){let[n,i]=(0,r.useState)({loading:!0,error:null,value:void 0}),a=(0,r.useRef)(0),o=(0,r.useCallback)(()=>{let t=++a.current;i(e=>({...e,loading:!0,error:null})),Promise.resolve().then(e).then(e=>{a.current===t&&i({loading:!1,error:null,value:e})}).catch(e=>{a.current===t&&i(t=>({loading:!1,error:e,value:t.value}))})},t);return(0,r.useEffect)(()=>(o(),()=>{a.current+=1}),[o]),{...n,reload:o,setValue:e=>i(t=>({...t,value:typeof e==`function`?e(t.value):e}))}}function b(){let{api:e}=v(),[t,n]=(0,r.useState)({running:!1,progress:null,preview:null,error:null}),i=(0,r.useRef)(null),a=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>i.current?.abort(),[]);let o=(0,r.useCallback)(async(t,r,{onPartial:o,existing:s}={})=>{i.current?.abort();let c=new AbortController;i.current=c,a.current=s?.id??null,n({running:!0,progress:null,preview:null,error:null});try{let i={signal:c.signal,onPartial:o,onProgress:e=>{c.signal.aborted||n(t=>({...t,progress:e}))},onPreview:e=>{c.signal.aborted||n(t=>({...t,preview:e}))}},l=s?{job:s}:await e.call(t,r);l?.job?.id&&!c.signal.aborted&&(a.current=l.job.id);let u=await e.follow(l,i);return c.signal.aborted||n({running:!1,progress:null,preview:null,error:null}),u}catch(e){throw c.signal.aborted||n({running:!1,progress:null,preview:null,error:e}),e}},[e]),s=(0,r.useCallback)(()=>{i.current?.abort(),a.current&&e.cancel(a.current),a.current=null,n({running:!1,progress:null,preview:null,error:null})},[e]);return{...t,run:o,cancel:s}}function x(e){let[t]=(0,r.useState)(()=>{if(!e)return!1;let t=`aha-tutor:once:${e}`;try{if(window.sessionStorage.getItem(t))return!1;window.sessionStorage.setItem(t,`1`)}catch{}return!0});return t}function S(e,t){let[n,i]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{if(i(!1),!e)return;let n=setTimeout(()=>i(!0),t);return()=>clearTimeout(n)},[e,t]),e&&n}function C(e,t){let n=`aha-tutor:${e}`,[i,a]=(0,r.useState)(()=>{try{let e=window.localStorage.getItem(n);return e===null?t:JSON.parse(e)}catch{return t}});return(0,r.useEffect)(()=>{try{window.localStorage.setItem(n,JSON.stringify(i))}catch{}},[n,i]),[i,a]}function w(){let e=()=>{if(document.body?.hasAttribute(`data-ds-dark-theme`))return!0;let e=getComputedStyle(document.documentElement).colorScheme;return/dark/iu.test(e)&&!/light/iu.test(e)?!0:!document.body&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches===!0},[t,n]=(0,r.useState)(e);return(0,r.useEffect)(()=>{let t=window.matchMedia?.(`(prefers-color-scheme: dark)`),r=()=>n(e());t?.addEventListener?.(`change`,r);let i=new MutationObserver(r);return i.observe(document.body,{attributes:!0,attributeFilter:[`data-ds-dark-theme`]}),i.observe(document.documentElement,{attributes:!0,attributeFilter:[`style`,`data-ds-theme-source`]}),()=>{t?.removeEventListener?.(`change`,r),i.disconnect()}},[]),t}let T=/[^。!?!?;;\n]+[。!?!?;;]*\s*|\n+/gu;function E(e){let t=[];for(let n of String(e??``).matchAll(T)){let e=n[0].trim();if(e)if(e.length<=160)t.push(e);else for(let n=0;n<e.length;n+=140)t.push(e.slice(n,n+140))}return t}function D(){return typeof window<`u`&&`speechSynthesis`in window&&typeof window.SpeechSynthesisUtterance==`function`}function ee(){return D()?window.speechSynthesis.getVoices().map(e=>({id:e.voiceURI,name:e.name,lang:e.lang,local:e.localService,default:e.default})):[]}function te(e){if(!D())return()=>void 0;let t=()=>e(ee());return window.speechSynthesis.addEventListener?.(`voiceschanged`,t),()=>window.speechSynthesis.removeEventListener?.(`voiceschanged`,t)}function ne(e,t){if(!D())return null;let n=window.speechSynthesis.getVoices();if(t){let e=n.find(e=>e.voiceURI===t);if(e)return e}let r=String(e||`zh-CN`).toLowerCase(),i=r.split(`-`)[0],a=e=>{let t=e.lang.toLowerCase().replace(`_`,`-`),n=0;if(t===r)n+=40;else if(t.startsWith(i))n+=25;else return-1;return i===`zh`&&r===`zh-cn`&&/tw|hk/u.test(t)&&(n-=10),/natural|neural|enhanced|premium|siri/iu.test(e.name)&&(n+=12),e.localService&&(n+=6),/xiaoxiao|tingting|yunxi|xiaoyi|lili|huihui/iu.test(e.name)&&(n+=4),n};return n.map(e=>({voice:e,value:a(e)})).filter(e=>e.value>=0).sort((e,t)=>t.value-e.value)[0]?.voice??null}function re(){let e=null;function t(t,{language:r,voiceId:i,rate:a=1,onSentence:s,sentences:c}={}){o();let l=Array.isArray(c)&&c.length?c.flatMap((e,t)=>E(e).map(e=>({text:e,owner:t}))):E(t).map((e,t)=>({text:e,owner:t})),u=Array.isArray(c)&&c.length?c.length:l.length;if(!D()||!l.length)return{done:Promise.resolve({completed:!0})};let d,f=new Promise(e=>{d=e}),p={sentences:l.map(e=>e.text),owners:l.map(e=>e.owner),total:u,index:0,paused:!1,cancelled:!1,rate:a,language:r,voiceId:i,resolveDone:d,onSentence:s};return e=p,n(p),{done:f}}function n(t){if(t.cancelled||t.paused)return;if(t.index>=t.sentences.length){t.resolveDone({completed:!0}),e===t&&(e=null);return}let r=new window.SpeechSynthesisUtterance(t.sentences[t.index]),i=ne(t.language,t.voiceId);i?(r.voice=i,r.lang=i.lang):t.language&&(r.lang=t.language),r.rate=Math.min(2,Math.max(.5,t.rate));let a=t.index;r.onstart=()=>t.onSentence?.(t.owners[a],t.total);let o=()=>{t.cancelled||t.paused||t.index!==a||(t.index+=1,n(t))};r.onend=o,r.onerror=n=>{if(!(n?.error===`interrupted`||n?.error===`canceled`)){if(n?.error===`not-allowed`||n?.error===`synthesis-unavailable`){e===t&&(e=null),t.cancelled=!0,t.resolveDone({completed:!1,error:n.error});return}o()}},t.utterance=r,window.speechSynthesis.speak(r)}function r(){!e||e.paused||(e.paused=!0,window.speechSynthesis.cancel())}function i(){!e||!e.paused||(e.paused=!1,n(e))}function a(t){e&&(e.rate=t)}function o(){if(!e)return;let t=e;e=null,t.cancelled=!0,D()&&window.speechSynthesis.cancel(),t.resolveDone({completed:!1})}return{speak:t,pause:r,resume:i,cancel:o,setRate:a}}function ie({fetchAudio:e}){let t=null,n=new Map;async function r(t){if(n.has(t))return n.get(t);let r=e(t).then(({blob:e,base64:t,mime:n})=>{if(e)return URL.createObjectURL(e);let r=Uint8Array.from(atob(t),e=>e.charCodeAt(0));return URL.createObjectURL(new Blob([r],{type:n||`audio/mpeg`}))});if(n.set(t,r),r.catch(()=>n.delete(t)),n.size>40){let[e,t]=n.entries().next().value;n.delete(e),t.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0)}return r}function i(e){e&&r(e).catch(()=>void 0)}function a(e,{rate:n=1}={}){if(o(),!String(e??``).trim())return{done:Promise.resolve({completed:!0})};let i,a=new Promise(e=>{i=e}),s=new Audio;s.preservesPitch=!0;let c={audio:s,cancelled:!1,resolveDone:i,rate:n};t=c;let l=(e,n)=>{t===c&&(t=null);let r=typeof e?.code==`string`&&e.code?e.code:n.code;i({completed:!1,error:e?.message??n.code,code:r})};return r(e).then(e=>{if(!c.cancelled)return s.src=e,s.playbackRate=Math.min(2,Math.max(.5,n)),s.onended=()=>{t===c&&(t=null),i({completed:!0})},s.onerror=()=>l(null,{code:`playback`}),s.play().catch(e=>l(e,{code:`playback`}))}).catch(e=>l(e,{code:`tts-failed`})),{done:a}}function o(){if(!t)return;let e=t;t=null,e.cancelled=!0,e.audio.pause(),e.resolveDone({completed:!1})}return{speak:a,prefetch:i,pause:()=>t?.audio.pause(),resume:()=>t?.audio.play().catch(()=>void 0),setRate:e=>{t&&(t.audio.playbackRate=Math.min(2,Math.max(.5,e)))},cancel:o,clear(){for(let e of n.values())e.then(e=>URL.revokeObjectURL(e)).catch(()=>void 0);n.clear()}}}function O({fetchAudio:e}){let t={browser:re(),cloud:ie({fetchAudio:e})},n={engine:`browser`,rate:1},r=null;return{configure(e){n={...n,...e}},get settings(){return n},speak(e,i={}){if(r?.cancel(),n.engine===`off`)return r=null,{done:Promise.resolve({completed:!0,silent:!0})};r=t[n.engine]??t.browser;try{return r.speak(e,{...n,...i})}catch(e){return console.error(e),{done:Promise.resolve({completed:!1,error:e?.message??`speech`})}}},prefetch(e){n.engine===`cloud`&&t.cloud.prefetch(e)},pause:()=>r?.pause(),resume:()=>r?.resume(),setRate(e){n={...n,rate:e},r?.setRate(e)},cancel:()=>r?.cancel(),dispose(){t.browser.cancel(),t.cloud.cancel(),t.cloud.clear()}}}let k=new Set([`tts-no-key`,`tts-auth`,`tts-address`,`tts-app-id`,`tts-azure`,`tts-config`,`tts-request`,`tts-timeout`,`no-credentials`,`speech`]);function ae(e,t){if(!t?.error)return{failures:t?.completed&&!t.silent?0:e,stop:null};let n=(typeof t.code==`string`&&t.code?t.code:`speech`).replace(/^aha-tutor\//u,``),r=e+1;return{failures:r,stop:k.has(n)||r>=2?{code:n,message:String(t.error)}:null}}let oe=`aha-tutor:navigate`,se=`aha-tutor:route`;function ce({rpc:e,t,language:n,dsh:i,navigate:a=()=>void 0,back:o=()=>void 0}){let s=(0,r.useMemo)(()=>d(e),[e]),c=(0,r.useMemo)(()=>O({fetchAudio:e=>le(s,e)}),[s]);(0,r.useEffect)(()=>()=>c.dispose(),[c]);let[l,u]=(0,r.useState)({}),[f,p]=C(`voice`,``),[m,h]=(0,r.useState)(null),g=(0,r.useRef)(null),_=(0,r.useCallback)(e=>{h(e),clearTimeout(g.current),g.current=setTimeout(()=>h(null),3600)},[]),v=(0,r.useCallback)(()=>s.call(`settings/get`).then(u).catch(()=>void 0),[s]);(0,r.useEffect)(()=>{v(),s.call(`app/info`,{language:n}).catch(()=>void 0)},[v,n]);let y=(0,r.useMemo)(()=>({...l,voiceId:f}),[l,f]);return{value:(0,r.useMemo)(()=>({api:s,t,language:n,speech:c,settings:y,setVoiceId:p,reloadSettings:v,navigate:a,back:o,toast:_,dsh:i}),[s,t,n,c,y,p,v,a,o,_,i]),toastText:m}}async function le(e,t){try{let e=await fetch(new URL(`api/aha-tutor/tts`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t})});if(e.ok)return{blob:await e.blob()};if(e.status!==404){let t=null;try{t=(await e.json())?.error??null}catch{}throw new u(t?.code??`tts-failed`,t?.message??`tts failed`)}}catch(e){if(e?.message&&e.message!==`Failed to fetch`)throw e}let n=await e.call(`tts/speak`,{text:t});return{base64:n.base64,mime:n.mime}}function ue(){let[e,t]=C(`route`,{screen:`home`,params:{}}),[n,i]=(0,r.useState)(null);return(0,r.useEffect)(()=>{n===e&&de()},[n,e]),{route:e,setRoute:t,crashed:(0,r.useCallback)(()=>i(e),[e])}}function de(){try{window.localStorage.removeItem(se)}catch{}}function fe(e,t,n={}){let r={screen:t,params:n};try{window.localStorage.setItem(se,JSON.stringify(r))}catch{}window.dispatchEvent(new CustomEvent(oe,{detail:r})),e?.selectPanel?.()}let pe={logo:`M12 2v1.5M4.5 5l1.1 1.1M19.5 5l-1.1 1.1M9 18v-.6c0-.8-.4-1.5-1-2.1a5.5 5.5 0 1 1 8 0c-.6.6-1 1.3-1 2.1v.6zM9.5 21h5`,home:`M4 11l8-6.5 8 6.5V20h-5v-5h-6v5H4z`,courses:`M4 5.5A1.5 1.5 0 0 1 5.5 4H11v15H5.5A1.5 1.5 0 0 0 4 20.5zM20 5.5A1.5 1.5 0 0 0 18.5 4H13v15h5.5a1.5 1.5 0 0 1 1.5 1.5z`,assist:`M4 5h16v10H9l-5 4zM9 9.5h6M9 12h4`,library:`M5 4h4v16H5zM10 4h4v16h-4zM15.5 5l3.6-.9 2.4 15.6-3.6.9z`,studio:`M5 19l4-1 10-10-3-3L6 15l-1 4zM14 6l3 3M4 21h16`,shorts:`M4 6h16v12H4zM10 9.5v5l4.5-2.5z`,plan:`M5 5h14v15H5zM5 9h14M9 3v4M15 3v4M8.5 13h3M8.5 16h6`,profile:`M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM4.5 20a7.5 7.5 0 0 1 15 0`,settings:`M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM19 12l2-1.5-2-3.5-2.3.7a7 7 0 0 0-1.7-1L14.5 4h-5l-.5 2.7a7 7 0 0 0-1.7 1L5 7 3 10.5 5 12l-2 1.5L5 17l2.3-.7a7 7 0 0 0 1.7 1l.5 2.7h5l.5-2.7a7 7 0 0 0 1.7-1L19 17l2-3.5z`,board:`M3 5h18v11H3zM8 20h8M12 16v4M7 9l3 3 2-2 4 3`,plus:`M12 5v14M5 12h14`,upload:`M12 16V4M7 9l5-5 5 5M5 20h14`,link:`M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1`,trash:`M5 7h14M10 11v6M14 11v6M7 7l1 13h8l1-13M9 7V4h6v3`,play:`M7 5l12 7-12 7z`,folder:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,spark:`M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z`,heart:`M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.5 2.6C19.5 15.4 12 20 12 20z`};function me({name:e,size:t=18}){return(0,i.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,i.jsx)(`path`,{d:pe[e]??pe.spark})})}var he=`data:image/png;base64,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`,ge=`data:image/png;base64,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`;let _e=`https://github.com/BaronCyrus/dsh-aha-tutor`;function ve(){let{t:e}=v();return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:e(`aboutTitle`)}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-aboutHead`,children:[(0,i.jsx)(`span`,{className:`aha-aboutLogo`,children:(0,i.jsx)(me,{name:`logo`,size:28})}),(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:`BaronCyrus`}),(0,i.jsx)(`div`,{className:`aha-hint`,children:e(`aboutRole`)})]})]}),(0,i.jsx)(`p`,{className:`aha-aboutIntro`,children:e(`aboutIntro`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`a`,{className:`aha-btn`,href:_e,target:`_blank`,rel:`noopener noreferrer`,children:e(`aboutRepo`)}),(0,i.jsx)(`a`,{className:`aha-btn`,href:`${_e}/issues`,target:`_blank`,rel:`noopener noreferrer`,children:e(`aboutIssues`)})]})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:e(`aboutSupport`)}),(0,i.jsxs)(`div`,{className:`aha-sponsors`,children:[(0,i.jsxs)(`figure`,{children:[(0,i.jsx)(`img`,{src:ge,width:`180`,height:`180`,alt:e(`aboutWechat`)}),(0,i.jsx)(`figcaption`,{children:e(`aboutWechat`)})]}),(0,i.jsxs)(`figure`,{children:[(0,i.jsx)(`img`,{src:he,width:`180`,height:`180`,alt:e(`aboutAlipay`)}),(0,i.jsx)(`figcaption`,{children:e(`aboutAlipay`)})]})]}),(0,i.jsx)(`p`,{className:`aha-hint`,style:{textAlign:`center`},children:e(`aboutScan`)})]})]})}let ye=Object.freeze([`#2f6fde`,`#d64545`,`#2f9e6e`,`#e08a1e`,`#7a4fd6`,`#1f9bb4`]),be=`#2b2b2b`;function xe(e){return String(e??``).replace(/[&<>"']/gu,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e])}function Se(e,t,n=5){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e===t){let n=Math.abs(e)||1;e-=n/2,t+=n/2}let r=(t-e)/Math.max(1,n),i=10**Math.floor(Math.log10(r)),a=r/i,o=(a>=7.5?10:a>=3.5?5:a>=1.5?2:1)*i,s=Math.floor(e/o)*o,c=[];for(let e=s;e<=t+o*.5;e+=o)c.push(Number(e.toPrecision(12)));return c}function Ce(e){let t=Math.abs(e);return t>=1e6||t>0&&t<.001?e.toExponential(1):Number(e.toPrecision(6)).toString()}function we({width:e,height:t,title:n,xLabel:r,yLabel:i}){let a={top:n?34:16,right:18,bottom:r?50:34,left:i?62:48};return{margin:a,plotW:e-a.left-a.right,plotH:t-a.top-a.bottom}}function Te(e,t){return e.length<2?``:e.map((e,n)=>{let r=t-150,i=14+n*18;return`<rect x="${r}" y="${i-9}" width="14" height="4" rx="2" fill="${ye[n%ye.length]}"/><text x="${r+20}" y="${i-3}" font-size="12" fill="${be}">${xe(e)}</text>`}).join(``)}function Ee({margin:e,plotW:t,plotH:n,width:r,height:i,xTicks:a,yTicks:o,xScale:s,yScale:c,xLabel:l,yLabel:u,xFormat:d=Ce}){let f=[];f.push(`<line x1="${e.left}" y1="${e.top+n}" x2="${e.left+t}" y2="${e.top+n}" stroke="${be}" stroke-width="1.6" stroke-linecap="round"/>`),f.push(`<line x1="${e.left}" y1="${e.top}" x2="${e.left}" y2="${e.top+n}" stroke="${be}" stroke-width="1.6" stroke-linecap="round"/>`);for(let r of o){let i=c(r);i<e.top-1||i>e.top+n+1||(f.push(`<line x1="${e.left}" y1="${i}" x2="${e.left+t}" y2="${i}" stroke="${be}" stroke-opacity="0.08"/>`),f.push(`<text x="${e.left-6}" y="${i+4}" font-size="11" text-anchor="end" fill="${be}">${xe(Ce(r))}</text>`))}for(let r of a){let i=s(r);i<e.left-1||i>e.left+t+1||f.push(`<text x="${i}" y="${e.top+n+16}" font-size="11" text-anchor="middle" fill="${be}">${xe(d(r))}</text>`)}return l&&f.push(`<text x="${e.left+t/2}" y="${i-10}" font-size="13" text-anchor="middle" fill="${be}">${xe(l)}</text>`),u&&f.push(`<text transform="translate(16 ${e.top+n/2}) rotate(-90)" font-size="13" text-anchor="middle" fill="${be}">${xe(u)}</text>`),f.join(``)}function De(e,t){let{width:n,height:r}=t,i=we({width:n,height:r,...e}),{margin:a,plotW:o,plotH:s}=i,c=e.series.flatMap(e=>e.points),l=c.map(e=>e[0]),u=c.map(e=>e[1]),d=Se(Math.min(...l),Math.max(...l)),f=Se(Math.min(e.kind===`area`?0:Math.min(...u),Math.min(...u)),Math.max(...u)),[p,m]=[d[0],d[d.length-1]],[h,g]=[f[0],f[f.length-1]],_=e=>a.left+(e-p)/(m-p||1)*o,v=e=>a.top+s-(e-h)/(g-h||1)*s,y=[Ee({...i,width:n,height:r,xTicks:d,yTicks:f,xScale:_,yScale:v,xLabel:e.xLabel,yLabel:e.yLabel})];return e.series.forEach((t,n)=>{let r=ye[n%ye.length],i=e.kind===`scatter`?t.points:[...t.points].sort((e,t)=>e[0]-t[0]);if(e.kind===`scatter`){for(let[e,t]of i)y.push(`<circle cx="${_(e).toFixed(1)}" cy="${v(t).toFixed(1)}" r="3.6" fill="${r}" fill-opacity="0.8"/>`);return}let a=i.map(([e,t],n)=>`${n?`L`:`M`}${_(e).toFixed(1)} ${v(t).toFixed(1)}`).join(` `);if(e.kind===`area`){let e=v(Math.max(h,Math.min(0,g)));y.push(`<path d="${a} L${_(i[i.length-1][0]).toFixed(1)} ${e} L${_(i[0][0]).toFixed(1)} ${e} Z" fill="${r}" fill-opacity="0.15" stroke="none"/>`)}y.push(`<path d="${a}" fill="none" stroke="${r}" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>`)}),y.push(Te(e.series.map(e=>e.name||``),n)),y.join(``)}function Oe(e,t){let{width:n,height:r}=t,i=e.data.length?e.data:(e.series[0]?.points??[]).map(([e,t])=>({label:Ce(e),value:t})),a=we({width:n,height:r,...e}),{margin:o,plotW:s,plotH:c}=a,l=i.map(e=>e.value),u=Se(Math.min(0,...l),Math.max(0,...l)),[d,f]=[u[0],u[u.length-1]],p=e=>o.top+c-(e-d)/(f-d||1)*c,m=s/Math.max(1,i.length),h=[Ee({...a,width:n,height:r,xTicks:[],yTicks:u,xScale:()=>0,yScale:p,xLabel:e.xLabel,yLabel:e.yLabel})];return i.forEach((e,t)=>{let n=o.left+t*m+m*.18,r=p(Math.max(0,e.value)),i=p(Math.min(0,e.value)),a=ye[t%ye.length];h.push(`<rect x="${n.toFixed(1)}" y="${r.toFixed(1)}" width="${(m*.64).toFixed(1)}" height="${Math.max(1,i-r).toFixed(1)}" rx="3" fill="${a}" fill-opacity="0.78" stroke="${a}" stroke-width="1.4"/>`);let s=e.label.length>10?`${e.label.slice(0,9)}…`:e.label;h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${o.top+c+16}" font-size="11" text-anchor="middle" fill="${be}">${xe(s)}</text>`),h.push(`<text x="${(n+m*.32).toFixed(1)}" y="${(r-5).toFixed(1)}" font-size="11" text-anchor="middle" fill="${be}">${xe(Ce(e.value))}</text>`)}),h.join(``)}function ke(e,t){let{width:n,height:r}=t,i=(e.data.length?e.data:[]).filter(e=>e.value>0),a=i.reduce((e,t)=>e+t.value,0);if(!a)return``;let o=n*.36,s=(r+(e.title?20:0))/2,c=Math.min(n*.3,r*.38),l=-Math.PI/2,u=[];return i.forEach((e,t)=>{let r=e.value/a*Math.PI*2,d=l+r,f=+(r>Math.PI),[p,m]=[o+c*Math.cos(l),s+c*Math.sin(l)],[h,g]=[o+c*Math.cos(d),s+c*Math.sin(d)],_=ye[t%ye.length],v=i.length===1?`M${o-c} ${s} a${c} ${c} 0 1 0 ${c*2} 0 a${c} ${c} 0 1 0 ${-c*2} 0`:`M${o} ${s} L${p.toFixed(1)} ${m.toFixed(1)} A${c} ${c} 0 ${f} 1 ${h.toFixed(1)} ${g.toFixed(1)} Z`;u.push(`<path d="${v}" fill="${_}" fill-opacity="0.75" stroke="#fff" stroke-width="2"/>`);let y=30+t*20;u.push(`<rect x="${n*.7}" y="${y-10}" width="12" height="12" rx="2" fill="${_}"/>`),u.push(`<text x="${n*.7+18}" y="${y}" font-size="12" fill="${be}">${xe(e.label)} ${Math.round(e.value/a*100)}%</text>`),l=d}),u.join(``)}function Ae(e,t={width:480,height:300}){let n=``;try{n=e.kind===`pie`?ke(e,t):e.kind===`bar`?Oe(e,t):e.series.length?De(e,t):Oe({...e,kind:`bar`},t)}catch{n=``}let r=e.title?`<text x="${t.width/2}" y="20" font-size="15" text-anchor="middle" fill="${be}" font-weight="600">${xe(e.title)}</text>`:``;return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${t.width} ${t.height}" width="${t.width}" height="${t.height}" font-family="${xe(`'Segoe Print','Bradley Hand','Comic Sans MS','Kaiti SC','STKaiti','KaiTi',cursive`)}">${r}${n}</svg>`}var A=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},je=/([A-Z])/g,Me=e=>e.replace(je,`-$1`).toLowerCase(),Ne={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},Pe=/[&><"']/g,Fe=e=>String(e).replace(Pe,e=>Ne[e]),Ie=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?Ie(e.body[0]):e:e.type===`font`?Ie(e.body):e,Le=new Set([`mathord`,`textord`,`atom`]),Re=e=>Le.has(Ie(e).type),ze=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},Be={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function j(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function Ve(e){return Object.prototype.hasOwnProperty.call(e,`default`)&&e.default!==void 0?e.default:j(Array.isArray(e.type)?e.type[0]:e.type)}function He(e,t,n,r){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,a=Object.prototype.hasOwnProperty.call(r,`processor`)?r.processor:void 0;e[t]=i===void 0?Ve(r):a?a(i):i}var Ue=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(Be)){var n=Be[t];n&&He(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new A(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=ze(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},M=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return Qe[$e[this.id]]}sub(){return Qe[et[this.id]]}fracNum(){return Qe[tt[this.id]]}fracDen(){return Qe[nt[this.id]]}cramp(){return Qe[rt[this.id]]}text(){return Qe[it[this.id]]}isTight(){return this.size>=2}},We=0,Ge=1,Ke=2,qe=3,Je=4,Ye=5,Xe=6,Ze=7,Qe=[new M(We,0,!1),new M(Ge,0,!0),new M(Ke,1,!1),new M(qe,1,!0),new M(Je,2,!1),new M(Ye,2,!0),new M(Xe,3,!1),new M(Ze,3,!0)],$e=[Je,Ye,Je,Ye,Xe,Ze,Xe,Ze],et=[Ye,Ye,Ye,Ye,Ze,Ze,Ze,Ze],tt=[Ke,qe,Je,Ye,Xe,Ze,Xe,Ze],nt=[qe,qe,Ye,Ye,Ze,Ze,Ze,Ze],rt=[Ge,Ge,qe,qe,Ye,Ye,Ze,Ze],it=[We,Ge,Ke,qe,Ke,qe,Ke,qe],N={DISPLAY:Qe[We],TEXT:Qe[Ke],SCRIPT:Qe[Je],SCRIPTSCRIPT:Qe[Xe]},at=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function ot(e){for(var t=0;t<at.length;t++)for(var n=at[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var st=[];at.forEach(e=>e.blocks.forEach(e=>st.push(...e)));function ct(e){for(var t=0;t<st.length;t+=2)if(e>=st[t]&&e<=st[t+1])return!0;return!1}var P=e=>e+` `+e,lt=80,ut=function(e,t){return`M95,`+(622+e+t)+`
2
2
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
3
3
  c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
4
4
  c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -9,7 +9,7 @@ c5.3,-9.3,12,-14,20,-14
9
9
  H400000v`+(40+e)+`H845.2724
10
10
  s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
11
11
  c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
12
- M`+(834+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},et=function(e,t){return`M263,`+(601+e+t)+`c0.7,0,18,39.7,52,119
12
+ M`+(834+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},dt=function(e,t){return`M263,`+(601+e+t)+`c0.7,0,18,39.7,52,119
13
13
  c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
14
14
  c340,-704.7,510.7,-1060.3,512,-1067
15
15
  l`+e/2.084+` -`+e+`
@@ -19,7 +19,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,
19
19
  c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
20
20
  s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
21
21
  c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
22
- M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},tt=function(e,t){return`M983 `+(10+e+t)+`
22
+ M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},ft=function(e,t){return`M983 `+(10+e+t)+`
23
23
  l`+e/3.13+` -`+e+`
24
24
  c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+`
25
25
  H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
@@ -28,7 +28,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
28
28
  c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
29
29
  c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
30
30
  c53.7,-170.3,84.5,-266.8,92.5,-289.5z
31
- M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},nt=function(e,t){return`M424,`+(2398+e+t)+`
31
+ M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},pt=function(e,t){return`M424,`+(2398+e+t)+`
32
32
  c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
33
33
  c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
34
34
  s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
@@ -38,18 +38,18 @@ v`+(40+e)+`H1014.6
38
38
  s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
39
39
  c-2,6,-10,9,-24,9
40
40
  c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+` `+t+`
41
- h400000v`+(40+e)+`h-400000z`},rt=function(e,t){return`M473,`+(2713+e+t)+`
41
+ h400000v`+(40+e)+`h-400000z`},mt=function(e,t){return`M473,`+(2713+e+t)+`
42
42
  c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+` -`+e+`
43
43
  c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7
44
44
  s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
45
45
  c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
46
46
  c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
47
47
  s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
48
- 606zM`+(1001+e)+` `+t+`h400000v`+(40+e)+`H1017.7z`},it=function(e){var t=e/2;return`M400000 `+e+` H0 L`+t+` 0 l65 45 L145 `+(e-80)+` H400000z`},at=function(e,t,n){var r=n-54-t-e;return`M702 `+(e+t)+`H400000`+(40+e)+`
48
+ 606zM`+(1001+e)+` `+t+`h400000v`+(40+e)+`H1017.7z`},ht=function(e){var t=e/2;return`M400000 `+e+` H0 L`+t+` 0 l65 45 L145 `+(e-80)+` H400000z`},gt=function(e,t,n){var r=n-54-t-e;return`M702 `+(e+t)+`H400000`+(40+e)+`
49
49
  H742v`+r+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
50
50
  h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
51
51
  c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
52
- 219 661 l218 661zM702 `+t+`H400000v`+(40+e)+`H742z`},ot=function(e,t,n){t=1e3*t;var r=``;switch(e){case`sqrtMain`:r=$e(t,Qe);break;case`sqrtSize1`:r=et(t,Qe);break;case`sqrtSize2`:r=tt(t,Qe);break;case`sqrtSize3`:r=nt(t,Qe);break;case`sqrtSize4`:r=rt(t,Qe);break;case`sqrtTall`:r=at(t,Qe,n)}return r},st=function(e,t){switch(e){case`⎜`:return Ze(`M291 0 H417 V`+t+` H291z`);case`∣`:return Ze(`M145 0 H188 V`+t+` H145z`);case`∥`:return Ze(`M145 0 H188 V`+t+` H145z`)+Ze(`M367 0 H410 V`+t+` H367z`);case`⎟`:return Ze(`M457 0 H583 V`+t+` H457z`);case`⎢`:return Ze(`M319 0 H403 V`+t+` H319z`);case`⎥`:return Ze(`M263 0 H347 V`+t+` H263z`);case`⎪`:return Ze(`M384 0 H504 V`+t+` H384z`);case`⏐`:return Ze(`M312 0 H355 V`+t+` H312z`);case`‖`:return Ze(`M257 0 H300 V`+t+` H257z`)+Ze(`M478 0 H521 V`+t+` H478z`);default:return``}},ct={doubleleftarrow:`M262 157
52
+ 219 661 l218 661zM702 `+t+`H400000v`+(40+e)+`H742z`},_t=function(e,t,n){t=1e3*t;var r=``;switch(e){case`sqrtMain`:r=ut(t,lt);break;case`sqrtSize1`:r=dt(t,lt);break;case`sqrtSize2`:r=ft(t,lt);break;case`sqrtSize3`:r=pt(t,lt);break;case`sqrtSize4`:r=mt(t,lt);break;case`sqrtTall`:r=gt(t,lt,n)}return r},vt=function(e,t){switch(e){case`⎜`:return P(`M291 0 H417 V`+t+` H291z`);case`∣`:return P(`M145 0 H188 V`+t+` H145z`);case`∥`:return P(`M145 0 H188 V`+t+` H145z`)+P(`M367 0 H410 V`+t+` H367z`);case`⎟`:return P(`M457 0 H583 V`+t+` H457z`);case`⎢`:return P(`M319 0 H403 V`+t+` H319z`);case`⎥`:return P(`M263 0 H347 V`+t+` H263z`);case`⎪`:return P(`M384 0 H504 V`+t+` H384z`);case`⏐`:return P(`M312 0 H355 V`+t+` H312z`);case`‖`:return P(`M257 0 H300 V`+t+` H257z`)+P(`M478 0 H521 V`+t+` H478z`);default:return``}},yt={doubleleftarrow:`M262 157
53
53
  l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
54
54
  0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
55
55
  14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
@@ -95,10 +95,10 @@ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9
95
95
  v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
96
96
  -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
97
97
  -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
98
- 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:Ze(`M40 281 V428 H0 V94 H40 V241 H400000 v40z`),leftbracketunder:Ze(`M0 0 h120 V290 H399995 v120 H0z`),leftbracketover:Ze(`M0 440 h120 V150 H399995 v-120 H0z`),leftmapsto:Ze(`M40 281 V448H0V74H40V241H400000v40z`),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
98
+ 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:P(`M40 281 V428 H0 V94 H40 V241 H400000 v40z`),leftbracketunder:P(`M0 0 h120 V290 H399995 v120 H0z`),leftbracketover:P(`M0 440 h120 V150 H399995 v-120 H0z`),leftmapsto:P(`M40 281 V448H0V74H40V241H400000v40z`),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
99
99
  -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
100
100
  c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
101
- 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:Ze(`M0 50 h400000 v40H0z m0 194h40000v40H0z`),midbrace:`M200428 334
101
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:P(`M0 50 h400000 v40H0z m0 194h40000v40H0z`),midbrace:`M200428 334
102
102
  c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
103
103
  -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
104
104
  311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
@@ -147,7 +147,7 @@ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown
147
147
  m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
148
148
  15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
149
149
  -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
150
- 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:Ze(`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`),rightbracketunder:Ze(`M399995 0 h-120 V290 H0 v120 H400000z`),rightbracketover:Ze(`M399995 440 h-120 V150 H0 v-120 H399995z`),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
150
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:P(`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`),rightbracketunder:P(`M399995 0 h-120 V290 H0 v120 H400000z`),rightbracketover:P(`M399995 440 h-120 V150 H0 v-120 H399995z`),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
151
151
  1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
152
152
  -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
153
153
  -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
@@ -220,7 +220,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`
220
220
  c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
221
221
  -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
222
222
  c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
223
- M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},lt=function(e,t){switch(e){case`lbrack`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v1759 v84 h347 v-84
223
+ M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},bt=function(e,t){switch(e){case`lbrack`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v1759 v84 h347 v-84
224
224
  H403z M403 1759 V0 H319 V1759 v`+t+` v1759 v84 h84z`;case`rbrack`:return`M347 1759 V0 H0 V84 H263 V1759 v`+t+` v1759 H0 v84 H347z
225
225
  M347 1759 V0 H263 V1759 v`+t+` v1759 h84z`;case`vert`:return`M145 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
226
226
  c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
@@ -248,22 +248,29 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6
248
248
  c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
249
249
  c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
250
250
  l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
251
- -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw Error(`Unknown stretchy delimiter.`)}};function ut(e){return`toText`in e}var dt=class{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e=``,t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if(ut(e))return e.toText();throw Error(`Expected MathDomNode with toText, got `+e.constructor.name)}).join(``)}},ft={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},pt={ex:!0,em:!0,mu:!0},mt=function(e){return typeof e!=`string`&&(e=e.unit),e in ft||e in pt||e===`ex`},ht=function(e,t){var n;if(e.unit in ft)n=ft[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit===`mu`)n=t.fontMetrics().cssEmPerMu;else{var r=t.style.isTight()?t.havingStyle(t.style.text()):t;if(e.unit===`ex`)n=r.fontMetrics().xHeight;else if(e.unit===`em`)n=r.fontMetrics().quad;else throw new A(`Invalid unit: '`+e.unit+`'`);r!==t&&(n*=r.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},P=function(e){return+e.toFixed(4)+`em`},gt=function(e){return e.filter(e=>e).join(` `)},_t=function(e){var t=``;for(var n of Object.keys(e)){var r=e[n];r!==void 0&&(t+=be(n)+`:`+r+`;`)}return t},vt=function(e,t,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},t){t.style.isTight()&&this.classes.push(`mtight`);var r=t.getColor();r&&(this.style.color=r)}},yt=function(e){var t=document.createElement(e);t.className=gt(this.classes),Object.assign(t.style,this.style);for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},bt=/[\s"'>/=\x00-\x1f]/,xt=function(e){var t=`<`+e;this.classes.length&&(t+=` class="`+Ce(gt(this.classes))+`"`);var n=_t(this.style);n&&(t+=` style="`+Ce(n)+`"`);for(var r of Object.keys(this.attributes)){if(bt.test(r))throw new A(`Invalid attribute name '`+r+`'`);t+=` `+r+`="`+Ce(this.attributes[r])+`"`}t+=`>`;for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+=`</`+e+`>`,t},St=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,vt.call(this,e,n,r),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return yt.call(this,`span`)}toMarkup(){return xt.call(this,`span`)}},Ct=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,vt.call(this,t,r),this.children=n||[],this.setAttribute(`href`,e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return yt.call(this,`a`)}toMarkup(){return xt.call(this,`a`)}},wt=class{constructor(e,t,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=[`mord`],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement(`img`);return e.src=this.src,e.alt=this.alt,e.className=`mord`,Object.assign(e.style,this.style),e}toMarkup(){var e=`<img src="`+Ce(this.src)+`"`+(` alt="`+Ce(this.alt)+`"`),t=_t(this.style);return t&&(e+=` style="`+Ce(t)+`"`),e+=`'/>`,e}},Tt={î:`ı̂`,ï:`ı̈`,í:`ı́`,ì:`ı̀`},Et=class{constructor(e,t,n,r,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=n||0,this.italic=r||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var c=Je(this.text.charCodeAt(0));c&&this.classes.push(c+`_fallback`),/[îïíì]/.test(this.text)&&(this.text=Tt[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement(`span`),t.style.marginRight=P(this.italic)),this.classes.length>0&&(t||=document.createElement(`span`),t.className=gt(this.classes)),Object.keys(this.style).length>0&&(t||=document.createElement(`span`),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t=`<span`;this.classes.length&&(e=!0,t+=` class="`,t+=Ce(gt(this.classes)),t+=`"`);var n=``;this.italic>0&&(n+=`margin-right:`+P(this.italic)+`;`),n+=_t(this.style),n&&(e=!0,t+=` style="`+Ce(n)+`"`);var r=Ce(this.text);return e?(t+=`>`,t+=r,t+=`</span>`,t):r}},Dt=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var n=0;n<this.children.length;n++)e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<svg xmlns="http://www.w3.org/2000/svg"`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+Ce(this.attributes[t])+`"`;e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</svg>`,e}},Ot=class{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return this.alternate?e.setAttribute(`d`,this.alternate):e.setAttribute(`d`,ct[this.pathName]),e}toMarkup(){return this.alternate?`<path d="`+Ce(this.alternate)+`"/>`:`<path d="`+Ce(ct[this.pathName])+`"/>`}},kt=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`line`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=`<line`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+Ce(this.attributes[t])+`"`;return e+=`/>`,e}};function At(e){if(e instanceof Et)return e;throw Error(`Expected symbolNode but got `+String(e)+`.`)}function jt(e){if(e instanceof St)return e;throw Error(`Expected span<HtmlDomNode> but got `+String(e)+`.`)}var Mt=e=>e instanceof St||e instanceof Ct||e instanceof dt,Nt={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Pt={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Ft={Å:`A`,Ð:`D`,Þ:`o`,å:`a`,ð:`d`,þ:`o`,А:`A`,Б:`B`,В:`B`,Г:`F`,Д:`A`,Е:`E`,Ж:`K`,З:`3`,И:`N`,Й:`N`,К:`K`,Л:`N`,М:`M`,Н:`H`,О:`O`,П:`N`,Р:`P`,С:`C`,Т:`T`,У:`y`,Ф:`O`,Х:`X`,Ц:`U`,Ч:`h`,Ш:`W`,Щ:`W`,Ъ:`B`,Ы:`X`,Ь:`B`,Э:`3`,Ю:`X`,Я:`R`,а:`a`,б:`b`,в:`a`,г:`r`,д:`y`,е:`e`,ж:`m`,з:`e`,и:`n`,й:`n`,к:`n`,л:`n`,м:`m`,н:`n`,о:`o`,п:`n`,р:`p`,с:`c`,т:`o`,у:`y`,ф:`b`,х:`x`,ц:`n`,ч:`n`,ш:`w`,щ:`w`,ъ:`a`,ы:`m`,ь:`a`,э:`e`,ю:`m`,я:`r`};function It(e,t){Nt[e]=t}function Lt(e,t,n){if(!Nt[t])throw Error(`Font metrics not found for font: `+t+`.`);var r=e.charCodeAt(0),i=Nt[t][r];if(!i&&e[0]in Ft&&(r=Ft[e[0]].charCodeAt(0),i=Nt[t][r]),!i&&n===`text`&&Xe(r)&&(i=Nt[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Rt={};function zt(e){var t=e>=5?0:e>=3?1:2;if(!Rt[t]){var n=Rt[t]={cssEmPerMu:Pt.quad[t]/18};for(var r in Pt)Pt.hasOwnProperty(r)&&(n[r]=Pt[r][t])}return Rt[t]}var Bt={math:{},text:{}};function F(e,t,n,r,i,a){Bt[e][i]={font:t,group:n,replace:r},a&&r&&(Bt[e][r]=Bt[e][i])}var I=`math`,L=`text`,R=`main`,z=`ams`,Vt=`accent-token`,B=`bin`,Ht=`close`,Ut=`inner`,V=`mathord`,Wt=`op-token`,Gt=`open`,Kt=`punct`,H=`rel`,qt=`spacing`,U=`textord`;F(I,R,H,`≡`,`\\equiv`,!0),F(I,R,H,`≺`,`\\prec`,!0),F(I,R,H,`≻`,`\\succ`,!0),F(I,R,H,`∼`,`\\sim`,!0),F(I,R,H,`⊥`,`\\perp`),F(I,R,H,`⪯`,`\\preceq`,!0),F(I,R,H,`⪰`,`\\succeq`,!0),F(I,R,H,`≃`,`\\simeq`,!0),F(I,R,H,`∣`,`\\mid`,!0),F(I,R,H,`≪`,`\\ll`,!0),F(I,R,H,`≫`,`\\gg`,!0),F(I,R,H,`≍`,`\\asymp`,!0),F(I,R,H,`∥`,`\\parallel`),F(I,R,H,`⋈`,`\\bowtie`,!0),F(I,R,H,`⌣`,`\\smile`,!0),F(I,R,H,`⊑`,`\\sqsubseteq`,!0),F(I,R,H,`⊒`,`\\sqsupseteq`,!0),F(I,R,H,`≐`,`\\doteq`,!0),F(I,R,H,`⌢`,`\\frown`,!0),F(I,R,H,`∋`,`\\ni`,!0),F(I,R,H,`∝`,`\\propto`,!0),F(I,R,H,`⊢`,`\\vdash`,!0),F(I,R,H,`⊣`,`\\dashv`,!0),F(I,R,H,`∋`,`\\owns`),F(I,R,Kt,`.`,`\\ldotp`),F(I,R,Kt,`⋅`,`\\cdotp`),F(I,R,Kt,`⋅`,`·`),F(L,R,U,`⋅`,`·`),F(I,R,U,`#`,`\\#`),F(L,R,U,`#`,`\\#`),F(I,R,U,`&`,`\\&`),F(L,R,U,`&`,`\\&`),F(I,R,U,`ℵ`,`\\aleph`,!0),F(I,R,U,`∀`,`\\forall`,!0),F(I,R,U,`ℏ`,`\\hbar`,!0),F(I,R,U,`∃`,`\\exists`,!0),F(I,R,U,`∇`,`\\nabla`,!0),F(I,R,U,`♭`,`\\flat`,!0),F(I,R,U,`ℓ`,`\\ell`,!0),F(I,R,U,`♮`,`\\natural`,!0),F(I,R,U,`♣`,`\\clubsuit`,!0),F(I,R,U,`℘`,`\\wp`,!0),F(I,R,U,`♯`,`\\sharp`,!0),F(I,R,U,`♢`,`\\diamondsuit`,!0),F(I,R,U,`ℜ`,`\\Re`,!0),F(I,R,U,`♡`,`\\heartsuit`,!0),F(I,R,U,`ℑ`,`\\Im`,!0),F(I,R,U,`♠`,`\\spadesuit`,!0),F(I,R,U,`§`,`\\S`,!0),F(L,R,U,`§`,`\\S`),F(I,R,U,`¶`,`\\P`,!0),F(L,R,U,`¶`,`\\P`),F(I,R,U,`†`,`\\dag`),F(L,R,U,`†`,`\\dag`),F(L,R,U,`†`,`\\textdagger`),F(I,R,U,`‡`,`\\ddag`),F(L,R,U,`‡`,`\\ddag`),F(L,R,U,`‡`,`\\textdaggerdbl`),F(I,R,Ht,`⎱`,`\\rmoustache`,!0),F(I,R,Gt,`⎰`,`\\lmoustache`,!0),F(I,R,Ht,`⟯`,`\\rgroup`,!0),F(I,R,Gt,`⟮`,`\\lgroup`,!0),F(I,R,B,`∓`,`\\mp`,!0),F(I,R,B,`⊖`,`\\ominus`,!0),F(I,R,B,`⊎`,`\\uplus`,!0),F(I,R,B,`⊓`,`\\sqcap`,!0),F(I,R,B,`∗`,`\\ast`),F(I,R,B,`⊔`,`\\sqcup`,!0),F(I,R,B,`◯`,`\\bigcirc`,!0),F(I,R,B,`∙`,`\\bullet`,!0),F(I,R,B,`‡`,`\\ddagger`),F(I,R,B,`≀`,`\\wr`,!0),F(I,R,B,`⨿`,`\\amalg`),F(I,R,B,`&`,`\\And`),F(I,R,H,`⟵`,`\\longleftarrow`,!0),F(I,R,H,`⇐`,`\\Leftarrow`,!0),F(I,R,H,`⟸`,`\\Longleftarrow`,!0),F(I,R,H,`⟶`,`\\longrightarrow`,!0),F(I,R,H,`⇒`,`\\Rightarrow`,!0),F(I,R,H,`⟹`,`\\Longrightarrow`,!0),F(I,R,H,`↔`,`\\leftrightarrow`,!0),F(I,R,H,`⟷`,`\\longleftrightarrow`,!0),F(I,R,H,`⇔`,`\\Leftrightarrow`,!0),F(I,R,H,`⟺`,`\\Longleftrightarrow`,!0),F(I,R,H,`↦`,`\\mapsto`,!0),F(I,R,H,`⟼`,`\\longmapsto`,!0),F(I,R,H,`↗`,`\\nearrow`,!0),F(I,R,H,`↩`,`\\hookleftarrow`,!0),F(I,R,H,`↪`,`\\hookrightarrow`,!0),F(I,R,H,`↘`,`\\searrow`,!0),F(I,R,H,`↼`,`\\leftharpoonup`,!0),F(I,R,H,`⇀`,`\\rightharpoonup`,!0),F(I,R,H,`↙`,`\\swarrow`,!0),F(I,R,H,`↽`,`\\leftharpoondown`,!0),F(I,R,H,`⇁`,`\\rightharpoondown`,!0),F(I,R,H,`↖`,`\\nwarrow`,!0),F(I,R,H,`⇌`,`\\rightleftharpoons`,!0),F(I,z,H,`≮`,`\\nless`,!0),F(I,z,H,``,`\\@nleqslant`),F(I,z,H,``,`\\@nleqq`),F(I,z,H,`⪇`,`\\lneq`,!0),F(I,z,H,`≨`,`\\lneqq`,!0),F(I,z,H,``,`\\@lvertneqq`),F(I,z,H,`⋦`,`\\lnsim`,!0),F(I,z,H,`⪉`,`\\lnapprox`,!0),F(I,z,H,`⊀`,`\\nprec`,!0),F(I,z,H,`⋠`,`\\npreceq`,!0),F(I,z,H,`⋨`,`\\precnsim`,!0),F(I,z,H,`⪹`,`\\precnapprox`,!0),F(I,z,H,`≁`,`\\nsim`,!0),F(I,z,H,``,`\\@nshortmid`),F(I,z,H,`∤`,`\\nmid`,!0),F(I,z,H,`⊬`,`\\nvdash`,!0),F(I,z,H,`⊭`,`\\nvDash`,!0),F(I,z,H,`⋪`,`\\ntriangleleft`),F(I,z,H,`⋬`,`\\ntrianglelefteq`,!0),F(I,z,H,`⊊`,`\\subsetneq`,!0),F(I,z,H,``,`\\@varsubsetneq`),F(I,z,H,`⫋`,`\\subsetneqq`,!0),F(I,z,H,``,`\\@varsubsetneqq`),F(I,z,H,`≯`,`\\ngtr`,!0),F(I,z,H,``,`\\@ngeqslant`),F(I,z,H,``,`\\@ngeqq`),F(I,z,H,`⪈`,`\\gneq`,!0),F(I,z,H,`≩`,`\\gneqq`,!0),F(I,z,H,``,`\\@gvertneqq`),F(I,z,H,`⋧`,`\\gnsim`,!0),F(I,z,H,`⪊`,`\\gnapprox`,!0),F(I,z,H,`⊁`,`\\nsucc`,!0),F(I,z,H,`⋡`,`\\nsucceq`,!0),F(I,z,H,`⋩`,`\\succnsim`,!0),F(I,z,H,`⪺`,`\\succnapprox`,!0),F(I,z,H,`≆`,`\\ncong`,!0),F(I,z,H,``,`\\@nshortparallel`),F(I,z,H,`∦`,`\\nparallel`,!0),F(I,z,H,`⊯`,`\\nVDash`,!0),F(I,z,H,`⋫`,`\\ntriangleright`),F(I,z,H,`⋭`,`\\ntrianglerighteq`,!0),F(I,z,H,``,`\\@nsupseteqq`),F(I,z,H,`⊋`,`\\supsetneq`,!0),F(I,z,H,``,`\\@varsupsetneq`),F(I,z,H,`⫌`,`\\supsetneqq`,!0),F(I,z,H,``,`\\@varsupsetneqq`),F(I,z,H,`⊮`,`\\nVdash`,!0),F(I,z,H,`⪵`,`\\precneqq`,!0),F(I,z,H,`⪶`,`\\succneqq`,!0),F(I,z,H,``,`\\@nsubseteqq`),F(I,z,B,`⊴`,`\\unlhd`),F(I,z,B,`⊵`,`\\unrhd`),F(I,z,H,`↚`,`\\nleftarrow`,!0),F(I,z,H,`↛`,`\\nrightarrow`,!0),F(I,z,H,`⇍`,`\\nLeftarrow`,!0),F(I,z,H,`⇏`,`\\nRightarrow`,!0),F(I,z,H,`↮`,`\\nleftrightarrow`,!0),F(I,z,H,`⇎`,`\\nLeftrightarrow`,!0),F(I,z,H,`△`,`\\vartriangle`),F(I,z,U,`ℏ`,`\\hslash`),F(I,z,U,`▽`,`\\triangledown`),F(I,z,U,`◊`,`\\lozenge`),F(I,z,U,`Ⓢ`,`\\circledS`),F(I,z,U,`®`,`\\circledR`),F(L,z,U,`®`,`\\circledR`),F(I,z,U,`∡`,`\\measuredangle`,!0),F(I,z,U,`∄`,`\\nexists`),F(I,z,U,`℧`,`\\mho`),F(I,z,U,`Ⅎ`,`\\Finv`,!0),F(I,z,U,`⅁`,`\\Game`,!0),F(I,z,U,`‵`,`\\backprime`),F(I,z,U,`▲`,`\\blacktriangle`),F(I,z,U,`▼`,`\\blacktriangledown`),F(I,z,U,`■`,`\\blacksquare`),F(I,z,U,`⧫`,`\\blacklozenge`),F(I,z,U,`★`,`\\bigstar`),F(I,z,U,`∢`,`\\sphericalangle`,!0),F(I,z,U,`∁`,`\\complement`,!0),F(I,z,U,`ð`,`\\eth`,!0),F(L,R,U,`ð`,`ð`),F(I,z,U,`╱`,`\\diagup`),F(I,z,U,`╲`,`\\diagdown`),F(I,z,U,`□`,`\\square`),F(I,z,U,`□`,`\\Box`),F(I,z,U,`◊`,`\\Diamond`),F(I,z,U,`¥`,`\\yen`,!0),F(L,z,U,`¥`,`\\yen`,!0),F(I,z,U,`✓`,`\\checkmark`,!0),F(L,z,U,`✓`,`\\checkmark`),F(I,z,U,`ℶ`,`\\beth`,!0),F(I,z,U,`ℸ`,`\\daleth`,!0),F(I,z,U,`ℷ`,`\\gimel`,!0),F(I,z,U,`ϝ`,`\\digamma`,!0),F(I,z,U,`ϰ`,`\\varkappa`),F(I,z,Gt,`┌`,`\\@ulcorner`,!0),F(I,z,Ht,`┐`,`\\@urcorner`,!0),F(I,z,Gt,`└`,`\\@llcorner`,!0),F(I,z,Ht,`┘`,`\\@lrcorner`,!0),F(I,z,H,`≦`,`\\leqq`,!0),F(I,z,H,`⩽`,`\\leqslant`,!0),F(I,z,H,`⪕`,`\\eqslantless`,!0),F(I,z,H,`≲`,`\\lesssim`,!0),F(I,z,H,`⪅`,`\\lessapprox`,!0),F(I,z,H,`≊`,`\\approxeq`,!0),F(I,z,B,`⋖`,`\\lessdot`),F(I,z,H,`⋘`,`\\lll`,!0),F(I,z,H,`≶`,`\\lessgtr`,!0),F(I,z,H,`⋚`,`\\lesseqgtr`,!0),F(I,z,H,`⪋`,`\\lesseqqgtr`,!0),F(I,z,H,`≑`,`\\doteqdot`),F(I,z,H,`≓`,`\\risingdotseq`,!0),F(I,z,H,`≒`,`\\fallingdotseq`,!0),F(I,z,H,`∽`,`\\backsim`,!0),F(I,z,H,`⋍`,`\\backsimeq`,!0),F(I,z,H,`⫅`,`\\subseteqq`,!0),F(I,z,H,`⋐`,`\\Subset`,!0),F(I,z,H,`⊏`,`\\sqsubset`,!0),F(I,z,H,`≼`,`\\preccurlyeq`,!0),F(I,z,H,`⋞`,`\\curlyeqprec`,!0),F(I,z,H,`≾`,`\\precsim`,!0),F(I,z,H,`⪷`,`\\precapprox`,!0),F(I,z,H,`⊲`,`\\vartriangleleft`),F(I,z,H,`⊴`,`\\trianglelefteq`),F(I,z,H,`⊨`,`\\vDash`,!0),F(I,z,H,`⊪`,`\\Vvdash`,!0),F(I,z,H,`⌣`,`\\smallsmile`),F(I,z,H,`⌢`,`\\smallfrown`),F(I,z,H,`≏`,`\\bumpeq`,!0),F(I,z,H,`≎`,`\\Bumpeq`,!0),F(I,z,H,`≧`,`\\geqq`,!0),F(I,z,H,`⩾`,`\\geqslant`,!0),F(I,z,H,`⪖`,`\\eqslantgtr`,!0),F(I,z,H,`≳`,`\\gtrsim`,!0),F(I,z,H,`⪆`,`\\gtrapprox`,!0),F(I,z,B,`⋗`,`\\gtrdot`),F(I,z,H,`⋙`,`\\ggg`,!0),F(I,z,H,`≷`,`\\gtrless`,!0),F(I,z,H,`⋛`,`\\gtreqless`,!0),F(I,z,H,`⪌`,`\\gtreqqless`,!0),F(I,z,H,`≖`,`\\eqcirc`,!0),F(I,z,H,`≗`,`\\circeq`,!0),F(I,z,H,`≜`,`\\triangleq`,!0),F(I,z,H,`∼`,`\\thicksim`),F(I,z,H,`≈`,`\\thickapprox`),F(I,z,H,`⫆`,`\\supseteqq`,!0),F(I,z,H,`⋑`,`\\Supset`,!0),F(I,z,H,`⊐`,`\\sqsupset`,!0),F(I,z,H,`≽`,`\\succcurlyeq`,!0),F(I,z,H,`⋟`,`\\curlyeqsucc`,!0),F(I,z,H,`≿`,`\\succsim`,!0),F(I,z,H,`⪸`,`\\succapprox`,!0),F(I,z,H,`⊳`,`\\vartriangleright`),F(I,z,H,`⊵`,`\\trianglerighteq`),F(I,z,H,`⊩`,`\\Vdash`,!0),F(I,z,H,`∣`,`\\shortmid`),F(I,z,H,`∥`,`\\shortparallel`),F(I,z,H,`≬`,`\\between`,!0),F(I,z,H,`⋔`,`\\pitchfork`,!0),F(I,z,H,`∝`,`\\varpropto`),F(I,z,H,`◀`,`\\blacktriangleleft`),F(I,z,H,`∴`,`\\therefore`,!0),F(I,z,H,`∍`,`\\backepsilon`),F(I,z,H,`▶`,`\\blacktriangleright`),F(I,z,H,`∵`,`\\because`,!0),F(I,z,H,`⋘`,`\\llless`),F(I,z,H,`⋙`,`\\gggtr`),F(I,z,B,`⊲`,`\\lhd`),F(I,z,B,`⊳`,`\\rhd`),F(I,z,H,`≂`,`\\eqsim`,!0),F(I,R,H,`⋈`,`\\Join`),F(I,z,H,`≑`,`\\Doteq`,!0),F(I,z,B,`∔`,`\\dotplus`,!0),F(I,z,B,`∖`,`\\smallsetminus`),F(I,z,B,`⋒`,`\\Cap`,!0),F(I,z,B,`⋓`,`\\Cup`,!0),F(I,z,B,`⩞`,`\\doublebarwedge`,!0),F(I,z,B,`⊟`,`\\boxminus`,!0),F(I,z,B,`⊞`,`\\boxplus`,!0),F(I,z,B,`⋇`,`\\divideontimes`,!0),F(I,z,B,`⋉`,`\\ltimes`,!0),F(I,z,B,`⋊`,`\\rtimes`,!0),F(I,z,B,`⋋`,`\\leftthreetimes`,!0),F(I,z,B,`⋌`,`\\rightthreetimes`,!0),F(I,z,B,`⋏`,`\\curlywedge`,!0),F(I,z,B,`⋎`,`\\curlyvee`,!0),F(I,z,B,`⊝`,`\\circleddash`,!0),F(I,z,B,`⊛`,`\\circledast`,!0),F(I,z,B,`⋅`,`\\centerdot`),F(I,z,B,`⊺`,`\\intercal`,!0),F(I,z,B,`⋒`,`\\doublecap`),F(I,z,B,`⋓`,`\\doublecup`),F(I,z,B,`⊠`,`\\boxtimes`,!0),F(I,z,H,`⇢`,`\\dashrightarrow`,!0),F(I,z,H,`⇠`,`\\dashleftarrow`,!0),F(I,z,H,`⇇`,`\\leftleftarrows`,!0),F(I,z,H,`⇆`,`\\leftrightarrows`,!0),F(I,z,H,`⇚`,`\\Lleftarrow`,!0),F(I,z,H,`↞`,`\\twoheadleftarrow`,!0),F(I,z,H,`↢`,`\\leftarrowtail`,!0),F(I,z,H,`↫`,`\\looparrowleft`,!0),F(I,z,H,`⇋`,`\\leftrightharpoons`,!0),F(I,z,H,`↶`,`\\curvearrowleft`,!0),F(I,z,H,`↺`,`\\circlearrowleft`,!0),F(I,z,H,`↰`,`\\Lsh`,!0),F(I,z,H,`⇈`,`\\upuparrows`,!0),F(I,z,H,`↿`,`\\upharpoonleft`,!0),F(I,z,H,`⇃`,`\\downharpoonleft`,!0),F(I,R,H,`⊶`,`\\origof`,!0),F(I,R,H,`⊷`,`\\imageof`,!0),F(I,z,H,`⊸`,`\\multimap`,!0),F(I,z,H,`↭`,`\\leftrightsquigarrow`,!0),F(I,z,H,`⇉`,`\\rightrightarrows`,!0),F(I,z,H,`⇄`,`\\rightleftarrows`,!0),F(I,z,H,`↠`,`\\twoheadrightarrow`,!0),F(I,z,H,`↣`,`\\rightarrowtail`,!0),F(I,z,H,`↬`,`\\looparrowright`,!0),F(I,z,H,`↷`,`\\curvearrowright`,!0),F(I,z,H,`↻`,`\\circlearrowright`,!0),F(I,z,H,`↱`,`\\Rsh`,!0),F(I,z,H,`⇊`,`\\downdownarrows`,!0),F(I,z,H,`↾`,`\\upharpoonright`,!0),F(I,z,H,`⇂`,`\\downharpoonright`,!0),F(I,z,H,`⇝`,`\\rightsquigarrow`,!0),F(I,z,H,`⇝`,`\\leadsto`),F(I,z,H,`⇛`,`\\Rrightarrow`,!0),F(I,z,H,`↾`,`\\restriction`),F(I,R,U,`‘`,"`"),F(I,R,U,`$`,`\\$`),F(L,R,U,`$`,`\\$`),F(L,R,U,`$`,`\\textdollar`),F(I,R,U,`%`,`\\%`),F(L,R,U,`%`,`\\%`),F(I,R,U,`_`,`\\_`),F(L,R,U,`_`,`\\_`),F(L,R,U,`_`,`\\textunderscore`),F(I,R,U,`∠`,`\\angle`,!0),F(I,R,U,`∞`,`\\infty`,!0),F(I,R,U,`′`,`\\prime`),F(I,R,U,`△`,`\\triangle`),F(I,R,U,`Γ`,`\\Gamma`,!0),F(I,R,U,`Δ`,`\\Delta`,!0),F(I,R,U,`Θ`,`\\Theta`,!0),F(I,R,U,`Λ`,`\\Lambda`,!0),F(I,R,U,`Ξ`,`\\Xi`,!0),F(I,R,U,`Π`,`\\Pi`,!0),F(I,R,U,`Σ`,`\\Sigma`,!0),F(I,R,U,`Υ`,`\\Upsilon`,!0),F(I,R,U,`Φ`,`\\Phi`,!0),F(I,R,U,`Ψ`,`\\Psi`,!0),F(I,R,U,`Ω`,`\\Omega`,!0),F(I,R,U,`A`,`Α`),F(I,R,U,`B`,`Β`),F(I,R,U,`E`,`Ε`),F(I,R,U,`Z`,`Ζ`),F(I,R,U,`H`,`Η`),F(I,R,U,`I`,`Ι`),F(I,R,U,`K`,`Κ`),F(I,R,U,`M`,`Μ`),F(I,R,U,`N`,`Ν`),F(I,R,U,`O`,`Ο`),F(I,R,U,`P`,`Ρ`),F(I,R,U,`T`,`Τ`),F(I,R,U,`X`,`Χ`),F(I,R,U,`¬`,`\\neg`,!0),F(I,R,U,`¬`,`\\lnot`),F(I,R,U,`⊤`,`\\top`),F(I,R,U,`⊥`,`\\bot`),F(I,R,U,`∅`,`\\emptyset`),F(I,z,U,`∅`,`\\varnothing`),F(I,R,V,`α`,`\\alpha`,!0),F(I,R,V,`β`,`\\beta`,!0),F(I,R,V,`γ`,`\\gamma`,!0),F(I,R,V,`δ`,`\\delta`,!0),F(I,R,V,`ϵ`,`\\epsilon`,!0),F(I,R,V,`ζ`,`\\zeta`,!0),F(I,R,V,`η`,`\\eta`,!0),F(I,R,V,`θ`,`\\theta`,!0),F(I,R,V,`ι`,`\\iota`,!0),F(I,R,V,`κ`,`\\kappa`,!0),F(I,R,V,`λ`,`\\lambda`,!0),F(I,R,V,`μ`,`\\mu`,!0),F(I,R,V,`ν`,`\\nu`,!0),F(I,R,V,`ξ`,`\\xi`,!0),F(I,R,V,`ο`,`\\omicron`,!0),F(I,R,V,`π`,`\\pi`,!0),F(I,R,V,`ρ`,`\\rho`,!0),F(I,R,V,`σ`,`\\sigma`,!0),F(I,R,V,`τ`,`\\tau`,!0),F(I,R,V,`υ`,`\\upsilon`,!0),F(I,R,V,`ϕ`,`\\phi`,!0),F(I,R,V,`χ`,`\\chi`,!0),F(I,R,V,`ψ`,`\\psi`,!0),F(I,R,V,`ω`,`\\omega`,!0),F(I,R,V,`ε`,`\\varepsilon`,!0),F(I,R,V,`ϑ`,`\\vartheta`,!0),F(I,R,V,`ϖ`,`\\varpi`,!0),F(I,R,V,`ϱ`,`\\varrho`,!0),F(I,R,V,`ς`,`\\varsigma`,!0),F(I,R,V,`φ`,`\\varphi`,!0),F(I,R,B,`∗`,`*`,!0),F(I,R,B,`+`,`+`),F(I,R,B,`−`,`-`,!0),F(I,R,B,`⋅`,`\\cdot`,!0),F(I,R,B,`∘`,`\\circ`,!0),F(I,R,B,`÷`,`\\div`,!0),F(I,R,B,`±`,`\\pm`,!0),F(I,R,B,`×`,`\\times`,!0),F(I,R,B,`∩`,`\\cap`,!0),F(I,R,B,`∪`,`\\cup`,!0),F(I,R,B,`∖`,`\\setminus`,!0),F(I,R,B,`∧`,`\\land`),F(I,R,B,`∨`,`\\lor`),F(I,R,B,`∧`,`\\wedge`,!0),F(I,R,B,`∨`,`\\vee`,!0),F(I,R,U,`√`,`\\surd`),F(I,R,Gt,`⟨`,`\\langle`,!0),F(I,R,Gt,`∣`,`\\lvert`),F(I,R,Gt,`∥`,`\\lVert`),F(I,R,Ht,`?`,`?`),F(I,R,Ht,`!`,`!`),F(I,R,Ht,`⟩`,`\\rangle`,!0),F(I,R,Ht,`∣`,`\\rvert`),F(I,R,Ht,`∥`,`\\rVert`),F(I,R,H,`=`,`=`),F(I,R,H,`:`,`:`),F(I,R,H,`≈`,`\\approx`,!0),F(I,R,H,`≅`,`\\cong`,!0),F(I,R,H,`≥`,`\\ge`),F(I,R,H,`≥`,`\\geq`,!0),F(I,R,H,`←`,`\\gets`),F(I,R,H,`>`,`\\gt`,!0),F(I,R,H,`∈`,`\\in`,!0),F(I,R,H,``,`\\@not`),F(I,R,H,`⊂`,`\\subset`,!0),F(I,R,H,`⊃`,`\\supset`,!0),F(I,R,H,`⊆`,`\\subseteq`,!0),F(I,R,H,`⊇`,`\\supseteq`,!0),F(I,z,H,`⊈`,`\\nsubseteq`,!0),F(I,z,H,`⊉`,`\\nsupseteq`,!0),F(I,R,H,`⊨`,`\\models`),F(I,R,H,`←`,`\\leftarrow`,!0),F(I,R,H,`≤`,`\\le`),F(I,R,H,`≤`,`\\leq`,!0),F(I,R,H,`<`,`\\lt`,!0),F(I,R,H,`→`,`\\rightarrow`,!0),F(I,R,H,`→`,`\\to`),F(I,z,H,`≱`,`\\ngeq`,!0),F(I,z,H,`≰`,`\\nleq`,!0),F(I,R,qt,`\xA0`,`\\ `),F(I,R,qt,`\xA0`,`\\space`),F(I,R,qt,`\xA0`,`\\nobreakspace`),F(L,R,qt,`\xA0`,`\\ `),F(L,R,qt,`\xA0`,` `),F(L,R,qt,`\xA0`,`\\space`),F(L,R,qt,`\xA0`,`\\nobreakspace`),F(I,R,qt,``,`\\nobreak`),F(I,R,qt,``,`\\allowbreak`),F(I,R,Kt,`,`,`,`),F(I,R,Kt,`;`,`;`),F(I,z,B,`⊼`,`\\barwedge`,!0),F(I,z,B,`⊻`,`\\veebar`,!0),F(I,R,B,`⊙`,`\\odot`,!0),F(I,R,B,`⊕`,`\\oplus`,!0),F(I,R,B,`⊗`,`\\otimes`,!0),F(I,R,U,`∂`,`\\partial`,!0),F(I,R,B,`⊘`,`\\oslash`,!0),F(I,z,B,`⊚`,`\\circledcirc`,!0),F(I,z,B,`⊡`,`\\boxdot`,!0),F(I,R,B,`△`,`\\bigtriangleup`),F(I,R,B,`▽`,`\\bigtriangledown`),F(I,R,B,`†`,`\\dagger`),F(I,R,B,`⋄`,`\\diamond`),F(I,R,B,`⋆`,`\\star`),F(I,R,B,`◃`,`\\triangleleft`),F(I,R,B,`▹`,`\\triangleright`),F(I,R,Gt,`{`,`\\{`),F(L,R,U,`{`,`\\{`),F(L,R,U,`{`,`\\textbraceleft`),F(I,R,Ht,`}`,`\\}`),F(L,R,U,`}`,`\\}`),F(L,R,U,`}`,`\\textbraceright`),F(I,R,Gt,`{`,`\\lbrace`),F(I,R,Ht,`}`,`\\rbrace`),F(I,R,Gt,`[`,`\\lbrack`,!0),F(L,R,U,`[`,`\\lbrack`,!0),F(I,R,Ht,`]`,`\\rbrack`,!0),F(L,R,U,`]`,`\\rbrack`,!0),F(I,R,Gt,`(`,`\\lparen`,!0),F(I,R,Ht,`)`,`\\rparen`,!0),F(L,R,U,`<`,`\\textless`,!0),F(L,R,U,`>`,`\\textgreater`,!0),F(I,R,Gt,`⌊`,`\\lfloor`,!0),F(I,R,Ht,`⌋`,`\\rfloor`,!0),F(I,R,Gt,`⌈`,`\\lceil`,!0),F(I,R,Ht,`⌉`,`\\rceil`,!0),F(I,R,U,`\\`,`\\backslash`),F(I,R,U,`∣`,`|`),F(I,R,U,`∣`,`\\vert`),F(L,R,U,`|`,`\\textbar`,!0),F(I,R,U,`∥`,`\\|`),F(I,R,U,`∥`,`\\Vert`),F(L,R,U,`∥`,`\\textbardbl`),F(L,R,U,`~`,`\\textasciitilde`),F(L,R,U,`\\`,`\\textbackslash`),F(L,R,U,`^`,`\\textasciicircum`),F(I,R,H,`↑`,`\\uparrow`,!0),F(I,R,H,`⇑`,`\\Uparrow`,!0),F(I,R,H,`↓`,`\\downarrow`,!0),F(I,R,H,`⇓`,`\\Downarrow`,!0),F(I,R,H,`↕`,`\\updownarrow`,!0),F(I,R,H,`⇕`,`\\Updownarrow`,!0),F(I,R,Wt,`∐`,`\\coprod`),F(I,R,Wt,`⋁`,`\\bigvee`),F(I,R,Wt,`⋀`,`\\bigwedge`),F(I,R,Wt,`⨄`,`\\biguplus`),F(I,R,Wt,`⋂`,`\\bigcap`),F(I,R,Wt,`⋃`,`\\bigcup`),F(I,R,Wt,`∫`,`\\int`),F(I,R,Wt,`∫`,`\\intop`),F(I,R,Wt,`∬`,`\\iint`),F(I,R,Wt,`∭`,`\\iiint`),F(I,R,Wt,`∏`,`\\prod`),F(I,R,Wt,`∑`,`\\sum`),F(I,R,Wt,`⨂`,`\\bigotimes`),F(I,R,Wt,`⨁`,`\\bigoplus`),F(I,R,Wt,`⨀`,`\\bigodot`),F(I,R,Wt,`∮`,`\\oint`),F(I,R,Wt,`∯`,`\\oiint`),F(I,R,Wt,`∰`,`\\oiiint`),F(I,R,Wt,`⨆`,`\\bigsqcup`),F(I,R,Wt,`∫`,`\\smallint`),F(L,R,Ut,`…`,`\\textellipsis`),F(I,R,Ut,`…`,`\\mathellipsis`),F(L,R,Ut,`…`,`\\ldots`,!0),F(I,R,Ut,`…`,`\\ldots`,!0),F(I,R,Ut,`⋯`,`\\@cdots`,!0),F(I,R,Ut,`⋱`,`\\ddots`,!0),F(I,R,U,`⋮`,`\\varvdots`),F(L,R,U,`⋮`,`\\varvdots`),F(I,R,Vt,`ˊ`,`\\acute`),F(I,R,Vt,`ˋ`,`\\grave`),F(I,R,Vt,`¨`,`\\ddot`),F(I,R,Vt,`~`,`\\tilde`),F(I,R,Vt,`ˉ`,`\\bar`),F(I,R,Vt,`˘`,`\\breve`),F(I,R,Vt,`ˇ`,`\\check`),F(I,R,Vt,`^`,`\\hat`),F(I,R,Vt,`⃗`,`\\vec`),F(I,R,Vt,`˙`,`\\dot`),F(I,R,Vt,`˚`,`\\mathring`),F(I,R,V,``,`\\@imath`),F(I,R,V,``,`\\@jmath`),F(I,R,U,`ı`,`ı`),F(I,R,U,`ȷ`,`ȷ`),F(L,R,U,`ı`,`\\i`,!0),F(L,R,U,`ȷ`,`\\j`,!0),F(L,R,U,`ß`,`\\ss`,!0),F(L,R,U,`æ`,`\\ae`,!0),F(L,R,U,`œ`,`\\oe`,!0),F(L,R,U,`ø`,`\\o`,!0),F(L,R,U,`Æ`,`\\AE`,!0),F(L,R,U,`Œ`,`\\OE`,!0),F(L,R,U,`Ø`,`\\O`,!0),F(L,R,Vt,`ˊ`,`\\'`),F(L,R,Vt,`ˋ`,"\\`"),F(L,R,Vt,`ˆ`,`\\^`),F(L,R,Vt,`˜`,`\\~`),F(L,R,Vt,`ˉ`,`\\=`),F(L,R,Vt,`˘`,`\\u`),F(L,R,Vt,`˙`,`\\.`),F(L,R,Vt,`¸`,`\\c`),F(L,R,Vt,`˚`,`\\r`),F(L,R,Vt,`ˇ`,`\\v`),F(L,R,Vt,`¨`,`\\"`),F(L,R,Vt,`˝`,`\\H`),F(L,R,Vt,`◯`,`\\textcircled`);var Jt={"--":!0,"---":!0,"``":!0,"''":!0};F(L,R,U,`–`,`--`,!0),F(L,R,U,`–`,`\\textendash`),F(L,R,U,`—`,`---`,!0),F(L,R,U,`—`,`\\textemdash`),F(L,R,U,`‘`,"`",!0),F(L,R,U,`‘`,`\\textquoteleft`),F(L,R,U,`’`,`'`,!0),F(L,R,U,`’`,`\\textquoteright`),F(L,R,U,`“`,"``",!0),F(L,R,U,`“`,`\\textquotedblleft`),F(L,R,U,`”`,`''`,!0),F(L,R,U,`”`,`\\textquotedblright`),F(I,R,U,`°`,`\\degree`,!0),F(L,R,U,`°`,`\\degree`),F(L,R,U,`°`,`\\textdegree`,!0),F(I,R,U,`£`,`\\pounds`),F(I,R,U,`£`,`\\mathsterling`,!0),F(L,R,U,`£`,`\\pounds`),F(L,R,U,`£`,`\\textsterling`,!0),F(I,z,U,`✠`,`\\maltese`),F(L,z,U,`✠`,`\\maltese`);for(var Yt=`0123456789/@."`,Xt=0;Xt<Yt.length;Xt++){var Zt=Yt.charAt(Xt);F(I,R,U,Zt,Zt)}for(var Qt=`0123456789!@*()-=+";:?/.,`,$t=0;$t<Qt.length;$t++){var en=Qt.charAt($t);F(L,R,U,en,en)}for(var tn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,nn=0;nn<tn.length;nn++){var rn=tn.charAt(nn);F(I,R,V,rn,rn),F(L,R,U,rn,rn)}F(I,z,U,`C`,`ℂ`),F(L,z,U,`C`,`ℂ`),F(I,z,U,`H`,`ℍ`),F(L,z,U,`H`,`ℍ`),F(I,z,U,`N`,`ℕ`),F(L,z,U,`N`,`ℕ`),F(I,z,U,`P`,`ℙ`),F(L,z,U,`P`,`ℙ`),F(I,z,U,`Q`,`ℚ`),F(L,z,U,`Q`,`ℚ`),F(I,z,U,`R`,`ℝ`),F(L,z,U,`R`,`ℝ`),F(I,z,U,`Z`,`ℤ`),F(L,z,U,`Z`,`ℤ`),F(I,R,V,`h`,`ℎ`),F(L,R,V,`h`,`ℎ`);for(var W,an=0;an<tn.length;an++){var on=tn.charAt(an);W=String.fromCharCode(55349,56320+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56372+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56424+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56580+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56684+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56736+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56788+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56840+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56944+an),F(I,R,V,on,W),F(L,R,U,on,W),an<26&&(W=String.fromCharCode(55349,56632+an),F(I,R,V,on,W),F(L,R,U,on,W),W=String.fromCharCode(55349,56476+an),F(I,R,V,on,W),F(L,R,U,on,W))}W=String.fromCharCode(55349,56668),F(I,R,V,`k`,W),F(L,R,U,`k`,W);for(var sn=0;sn<10;sn++){var cn=sn.toString();W=String.fromCharCode(55349,57294+sn),F(I,R,V,cn,W),F(L,R,U,cn,W),W=String.fromCharCode(55349,57314+sn),F(I,R,V,cn,W),F(L,R,U,cn,W),W=String.fromCharCode(55349,57324+sn),F(I,R,V,cn,W),F(L,R,U,cn,W),W=String.fromCharCode(55349,57334+sn),F(I,R,V,cn,W),F(L,R,U,cn,W)}for(var ln=`ÐÞþ`,un=0;un<ln.length;un++){var dn=ln.charAt(un);F(I,R,V,dn,dn),F(L,R,U,dn,dn)}var fn={mathClass:`mathbf`,textClass:`textbf`,font:`Main-Bold`},pn={mathClass:`mathnormal`,textClass:`textit`,font:`Math-Italic`},mn={mathClass:`boldsymbol`,textClass:`boldsymbol`,font:`Main-BoldItalic`},hn={mathClass:`mathscr`,textClass:`textscr`,font:`Script-Regular`},gn={mathClass:``,textClass:``,font:``},_n={mathClass:`mathfrak`,textClass:`textfrak`,font:`Fraktur-Regular`},vn={mathClass:`mathbb`,textClass:`textbb`,font:`AMS-Regular`},yn={mathClass:`mathboldfrak`,textClass:`textboldfrak`,font:`Fraktur-Regular`},bn={mathClass:`mathsf`,textClass:`textsf`,font:`SansSerif-Regular`},xn={mathClass:`mathboldsf`,textClass:`textboldsf`,font:`SansSerif-Bold`},Sn={mathClass:`mathitsf`,textClass:`textitsf`,font:`SansSerif-Italic`},Cn={mathClass:`mathtt`,textClass:`texttt`,font:`Typewriter-Regular`},wn=[fn,fn,pn,pn,mn,mn,hn,gn,gn,gn,_n,_n,vn,vn,yn,yn,bn,bn,xn,xn,Sn,Sn,gn,gn,Cn,Cn],Tn=[fn,gn,bn,xn,Cn],En=e=>{var t=e.charCodeAt(0),n=e.charCodeAt(1),r=(t-55296)*1024+(n-56320)+65536;if(119808<=r&&r<120484)return wn[Math.floor((r-119808)/26)];if(120782<=r&&r<=120831)return Tn[Math.floor((r-120782)/10)];if(r===120485||r===120486)return wn[0];if(120486<r&&r<120782)return gn;throw new A(`Unsupported character: `+e)},Dn=function(e,t,n){if(Bt[n][e]){var r=Bt[n][e].replace;r&&(e=r)}return{value:e,metrics:Lt(e,t,n)}},On=function(e,t,n,r,i){var a=Dn(e,t,n),o=a.metrics;e=a.value;var s;if(o){var c=o.italic;(n===`text`||r&&r.font===`mathit`)&&(c=0),s=new Et(e,o.height,o.depth,c,o.skew,o.width,i)}else typeof console<`u`&&console.warn(`No character metrics `+(`for '`+e+`' in style '`+t+`' and mode '`+n+`'`)),s=new Et(e,0,0,0,0,0,i);if(r){s.maxFontSize=r.sizeMultiplier,r.style.isTight()&&s.classes.push(`mtight`);var l=r.getColor();l&&(s.style.color=l)}return s},kn=function(e,t,n,r){return r===void 0&&(r=[]),n.font===`boldsymbol`&&Dn(e,`Main-Bold`,t).metrics?On(e,`Main-Bold`,t,n,r.concat([`mathbf`])):e===`\\`||Bt[t][e].font===`main`?On(e,`Main-Regular`,t,n,r):On(e,`AMS-Regular`,t,n,r.concat([`amsrm`]))},An=function(e,t,n){return n!==`textord`&&Dn(e,`Math-BoldItalic`,t).metrics?{fontName:`Math-BoldItalic`,fontClass:`boldsymbol`}:{fontName:`Main-Bold`,fontClass:`mathbf`}},jn=function(e,t,n){var r=e.mode,i=e.text,a=[`mord`],{font:o,fontFamily:s,fontWeight:c,fontShape:l}=t,u=r===`math`||r===`text`&&!!o,d=u?o:s,f=``,p=``;if(i.charCodeAt(0)===55349){var m=En(i);f=m.font,p=m[r+`Class`]}if(f)return On(i,f,r,t,a.concat(p));if(d){var h,g;if(d===`boldsymbol`){var _=An(i,r,n);h=_.fontName,g=[_.fontClass]}else u?(h=Un[o].fontName,g=[o]):(h=Hn(s,c,l),g=[s,c,l]);if(Dn(i,h,r).metrics)return On(i,h,r,t,a.concat(g));if(Jt.hasOwnProperty(i)&&h.slice(0,10)===`Typewriter`){for(var v=[],y=0;y<i.length;y++)v.push(On(i[y],h,r,t,a.concat(g)));return Rn(v)}}if(n===`mathord`)return On(i,`Math-Italic`,r,t,a.concat([`mathnormal`]));if(n===`textord`){var b=Bt[r][i]&&Bt[r][i].font;if(b===`ams`)return On(i,Hn(`amsrm`,c,l),r,t,a.concat(`amsrm`,c,l));if(b===`main`||!b)return On(i,Hn(`textrm`,c,l),r,t,a.concat(c,l));var x=Hn(b,c,l);return On(i,x,r,t,a.concat(x,c,l))}else throw Error(`unexpected type: `+n+` in makeOrd`)},Mn=(e,t)=>{if(gt(e.classes)!==gt(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass(`mathnormal`))return!1;if(e.classes.length===1){var n=e.classes[0];if(n===`mbin`||n===`mord`)return!1}for(var r of Object.keys(e.style))if(e.style[r]!==t.style[r])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},Nn=e=>{for(var t=0;t<e.length-1;t++){var n=e[t],r=e[t+1];n instanceof Et&&r instanceof Et&&Mn(n,r)&&(n.text+=r.text,n.height=Math.max(n.height,r.height),n.depth=Math.max(n.depth,r.depth),n.italic=r.italic,e.splice(t+1,1),t--)}return e},Pn=function(e){for(var t=0,n=0,r=0,i=0;i<e.children.length;i++){var a=e.children[i];a.height>t&&(t=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>r&&(r=a.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=r},G=function(e,t,n,r){var i=new St(e,t,n,r);return Pn(i),i},Fn=(e,t,n,r)=>new St(e,t,n,r),In=function(e,t,n){var r=G([e],[],t);return r.height=Math.max(n||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),r.style.borderBottomWidth=P(r.height),r.maxFontSize=1,r},Ln=function(e,t,n,r){var i=new Ct(e,t,n,r);return Pn(i),i},Rn=function(e){var t=new dt(e);return Pn(t),t},zn=function(e,t){return e instanceof dt?G([],[e],t):e},Bn=function(e){if(e.positionType===`individualShift`){for(var t=e.children,n=[t[0]],r=-t[0].shift-t[0].elem.depth,i=r,a=1;a<t.length;a++){var o=-t[a].shift-i-t[a].elem.depth,s=o-(t[a-1].elem.height+t[a-1].elem.depth);i+=o,n.push({type:`kern`,size:s}),n.push(t[a])}return{children:n,depth:r}}var c;if(e.positionType===`top`){for(var l=e.positionData,u=0;u<e.children.length;u++){var d=e.children[u];l-=d.type===`kern`?d.size:d.elem.height+d.elem.depth}c=l}else if(e.positionType===`bottom`)c=-e.positionData;else{var f=e.children[0];if(f.type!==`elem`)throw Error(`First child must have type "elem".`);if(e.positionType===`shift`)c=-f.elem.depth-e.positionData;else if(e.positionType===`firstBaseline`)c=-f.elem.depth;else throw Error(`Invalid positionType `+e.positionType+`.`)}return{children:e.children,depth:c}},K=function(e,t){for(var{children:n,depth:r}=Bn(e),i=0,a=0;a<n.length;a++){var o=n[a];if(o.type===`elem`){var s=o.elem;i=Math.max(i,s.maxFontSize,s.height)}}i+=2;var c=G([`pstrut`],[]);c.style.height=P(i);for(var l=[],u=r,d=r,f=r,p=0;p<n.length;p++){var m=n[p];if(m.type===`kern`)f+=m.size;else{var h=m.elem,g=m.wrapperClasses||[],_=m.wrapperStyle||{},v=G(g,[c,h],void 0,_);v.style.top=P(-i-f-h.depth),m.marginLeft&&(v.style.marginLeft=m.marginLeft),m.marginRight&&(v.style.marginRight=m.marginRight),l.push(v),f+=h.height+h.depth}u=Math.min(u,f),d=Math.max(d,f)}var y=G([`vlist`],l);y.style.height=P(d);var b;if(u<0){var x=G([`vlist`],[G([],[])]);x.style.height=P(-u),b=[G([`vlist-r`],[y,G([`vlist-s`],[new Et(`​`)])]),G([`vlist-r`],[x])]}else b=[G([`vlist-r`],[y])];var S=G([`vlist-t`],b);return b.length===2&&S.classes.push(`vlist-t2`),S.height=d,S.depth=-u,S},Vn=(e,t)=>{var n=G([`mspace`],[],t),r=ht(e,t);return n.style.marginRight=P(r),n},Hn=(e,t,n)=>{var r,i;switch(e){case`amsrm`:r=`AMS`;break;case`textrm`:r=`Main`;break;case`textsf`:r=`SansSerif`;break;case`texttt`:r=`Typewriter`;break;default:r=e}return i=t===`textbf`&&n===`textit`?`BoldItalic`:t===`textbf`?`Bold`:n===`textit`?`Italic`:`Regular`,r+`-`+i},Un={mathbf:{variant:`bold`,fontName:`Main-Bold`},mathrm:{variant:`normal`,fontName:`Main-Regular`},textit:{variant:`italic`,fontName:`Main-Italic`},mathit:{variant:`italic`,fontName:`Main-Italic`},mathnormal:{variant:`italic`,fontName:`Math-Italic`},mathsfit:{variant:`sans-serif-italic`,fontName:`SansSerif-Italic`},mathbb:{variant:`double-struck`,fontName:`AMS-Regular`},mathcal:{variant:`script`,fontName:`Caligraphic-Regular`},mathfrak:{variant:`fraktur`,fontName:`Fraktur-Regular`},mathscr:{variant:`script`,fontName:`Script-Regular`},mathsf:{variant:`sans-serif`,fontName:`SansSerif-Regular`},mathtt:{variant:`monospace`,fontName:`Typewriter-Regular`}},Wn={vec:[`vec`,.471,.714],oiintSize1:[`oiintSize1`,.957,.499],oiintSize2:[`oiintSize2`,1.472,.659],oiiintSize1:[`oiiintSize1`,1.304,.499],oiiintSize2:[`oiiintSize2`,1.98,.659]},Gn=function(e,t){var[n,r,i]=Wn[e],a=Fn([`overlay`],[new Dt([new Ot(n)],{width:P(r),height:P(i),style:`width:`+P(r),viewBox:`0 0 `+1e3*r+` `+1e3*i,preserveAspectRatio:`xMinYMin`})],t);return a.height=i,a.style.height=P(i),a.style.width=P(r),a},Kn={number:3,unit:`mu`},qn={number:4,unit:`mu`},Jn={number:5,unit:`mu`},Yn={mord:{mop:Kn,mbin:qn,mrel:Jn,minner:Kn},mop:{mord:Kn,mop:Kn,mrel:Jn,minner:Kn},mbin:{mord:qn,mop:qn,mopen:qn,minner:qn},mrel:{mord:Jn,mop:Jn,mopen:Jn,minner:Jn},mopen:{},mclose:{mop:Kn,mbin:qn,mrel:Jn,minner:Kn},mpunct:{mord:Kn,mop:Kn,mrel:Jn,mopen:Kn,mclose:Kn,mpunct:Kn,minner:Kn},minner:{mord:Kn,mop:Kn,mbin:qn,mrel:Jn,mopen:Kn,mpunct:Kn,minner:Kn}},Xn={mord:{mop:Kn},mop:{mord:Kn,mop:Kn},mbin:{},mrel:{},mopen:{},mclose:{mop:Kn},mpunct:{},minner:{mop:Kn}},Zn={},Qn={},$n={};function q(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:r.allowedInMath===void 0||r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:i},c=0;c<n.length;++c)Zn[n[c]]=s;t&&(a&&(Qn[t]=a),o&&($n[t]=o))}function er(e){var{type:t,htmlBuilder:n,mathmlBuilder:r}=e;q({type:t,names:[],props:{numArgs:0},handler(){throw Error(`Should never be called.`)},htmlBuilder:n,mathmlBuilder:r})}var tr=function(e){return e.type===`ordgroup`&&e.body.length===1?e.body[0]:e},nr=function(e){return e.type===`ordgroup`?e.body:[e]},rr=new Set([`leftmost`,`mbin`,`mopen`,`mrel`,`mop`,`mpunct`]),ir=new Set([`rightmost`,`mrel`,`mclose`,`mpunct`]),ar={display:N.DISPLAY,text:N.TEXT,script:N.SCRIPT,scriptscript:N.SCRIPTSCRIPT},or={mord:`mord`,mop:`mop`,mbin:`mbin`,mrel:`mrel`,mopen:`mopen`,mclose:`mclose`,mpunct:`mpunct`,minner:`minner`},sr=function(e,t,n,r){r===void 0&&(r=[null,null]);for(var i=[],a=0;a<e.length;a++){var o=J(e[a],t);if(o instanceof dt){var s=o.children;i.push(...s)}else i.push(o)}if(Nn(i),!n)return i;var c=t;if(e.length===1){var l=e[0];l.type===`sizing`?c=t.havingSize(l.size):l.type===`styling`&&(c=t.havingStyle(ar[l.style]))}var u=G([r[0]||`leftmost`],[],t),d=G([r[1]||`rightmost`],[],t),f=n===`root`;return cr(i,(e,t)=>{var n=t.classes[0],r=e.classes[0];n===`mbin`&&ir.has(r)?t.classes[0]=`mord`:r===`mbin`&&rr.has(n)&&(e.classes[0]=`mord`)},{node:u},d,f),cr(i,(e,t)=>{var n=dr(t),r=dr(e),i=n&&r?e.hasClass(`mtight`)?Xn[n]?.[r]:Yn[n]?.[r]:null;if(i)return Vn(i,c)},{node:u},d,f),i},cr=function(e,t,n,r,i){r&&e.push(r);for(var a=0;a<e.length;a++){var o=e[a],s=lr(o);if(s){cr(s.children,t,n,null,i);continue}var c=!o.hasClass(`mspace`);if(c){var l=t(o,n.node);l&&(n.insertAfter?n.insertAfter(l):(e.unshift(l),a++))}c?n.node=o:i&&o.hasClass(`newline`)&&(n.node=G([`leftmost`])),n.insertAfter=(t=>n=>{e.splice(t+1,0,n),a++})(a)}r&&e.pop()},lr=function(e){return e instanceof dt||e instanceof Ct||e instanceof St&&e.hasClass(`enclosing`)?e:null},ur=function(e,t){var n=lr(e);if(n){var r=n.children;if(r.length){if(t===`right`)return ur(r[r.length-1],`right`);if(t===`left`)return ur(r[0],`left`)}}return e},dr=function(e,t){return e?(t&&(e=ur(e,t)),or[e.classes[0]]||null):null},fr=function(e,t){var n=[`nulldelimiter`].concat(e.baseSizingClasses());return G(t.concat(n))},J=function(e,t,n){if(!e)return G();if(Qn[e.type]){var r=Qn[e.type](e,t);if(n&&t.size!==n.size){r=G(t.sizingClasses(n),[r],t);var i=t.sizeMultiplier/n.sizeMultiplier;r.height*=i,r.depth*=i}return r}else throw new A(`Got group of unknown type: '`+e.type+`'`)};function pr(e,t){var n=G([`base`],e,t),r=G([`strut`]);return r.style.height=P(n.height+n.depth),n.depth&&(r.style.verticalAlign=P(-n.depth)),n.children.unshift(r),n}function mr(e,t){var n=null;e.length===1&&e[0].type===`tag`&&(n=e[0].tag,e=e[0].body);var r=sr(e,t,`root`),i;r.length===2&&r[1].hasClass(`tag`)&&(i=r.pop());for(var a=[],o=[],s=0;s<r.length;s++)if(o.push(r[s]),r[s].hasClass(`mbin`)||r[s].hasClass(`mrel`)||r[s].hasClass(`allowbreak`)){for(var c=!1;s<r.length-1&&r[s+1].hasClass(`mspace`)&&!r[s+1].hasClass(`newline`);)s++,o.push(r[s]),r[s].hasClass(`nobreak`)&&(c=!0);c||(a.push(pr(o,t)),o=[])}else r[s].hasClass(`newline`)&&(o.pop(),o.length>0&&(a.push(pr(o,t)),o=[]),a.push(r[s]));o.length>0&&a.push(pr(o,t));var l;n?(l=pr(sr(n,t,!0),t),l.classes=[`tag`],a.push(l)):i&&a.push(i);var u=G([`katex-html`],a);if(u.setAttribute(`aria-hidden`,`true`),l){var d=l.children[0];d.style.height=P(u.height+u.depth),u.depth&&(d.style.verticalAlign=P(-u.depth))}return u}function hr(e){return new dt(e)}var Y=class{constructor(e,t,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=n||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=gt(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof gr&&this.children[n+1]instanceof gr){for(var r=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof gr;)r+=this.children[++n].toText();e.appendChild(new gr(r).toNode())}else e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<`+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=` `+t+`="`,e+=Ce(this.attributes[t]),e+=`"`);this.classes.length>0&&(e+=` class ="`+Ce(gt(this.classes))+`"`),e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</`+this.type+`>`,e}toText(){return this.children.map(e=>e.toText()).join(``)}},gr=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Ce(this.toText())}toText(){return this.text}},_r=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=` `:e>=.1666&&e<=.1667?this.character=` `:e>=.2222&&e<=.2223?this.character=` `:e>=.2777&&e<=.2778?this.character=`  `:e>=-.05556&&e<=-.05555?this.character=` ⁣`:e>=-.1667&&e<=-.1666?this.character=` ⁣`:e>=-.2223&&e<=-.2222?this.character=` ⁣`:e>=-.2778&&e<=-.2777?this.character=` ⁣`:this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`mspace`);return e.setAttribute(`width`,P(this.width)),e}toMarkup(){return this.character?`<mtext>`+this.character+`</mtext>`:`<mspace width="`+P(this.width)+`"/>`}toText(){return this.character?this.character:` `}},vr=new Set([`\\imath`,`\\jmath`]),yr=new Set([`mrow`,`mtable`]),br=function(e,t,n){return Bt[t][e]&&Bt[t][e].replace&&e.charCodeAt(0)!==55349&&!(Jt.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)===`tt`||n.font&&n.font.slice(4,6)===`tt`))&&(e=Bt[t][e].replace),new gr(e)},xr=function(e){return e.length===1?e[0]:new Y(`mrow`,e)},Sr={mathit:`italic`,boldsymbol:e=>e.type===`textord`?`bold`:`bold-italic`,mathbf:`bold`,mathbb:`double-struck`,mathsfit:`sans-serif-italic`,mathfrak:`fraktur`,mathscr:`script`,mathcal:`script`,mathsf:`sans-serif`,mathtt:`monospace`},Cr=(e,t)=>{if(e.mode===`text`){if(t.fontFamily===`texttt`)return`monospace`;if(t.fontFamily===`textsf`)return t.fontShape===`textit`&&t.fontWeight===`textbf`?`sans-serif-bold-italic`:t.fontShape===`textit`?`sans-serif-italic`:t.fontWeight===`textbf`?`bold-sans-serif`:`sans-serif`;if(t.fontShape===`textit`&&t.fontWeight===`textbf`)return`bold-italic`;if(t.fontShape===`textit`)return`italic`;if(t.fontWeight===`textbf`)return`bold`}var n=t.font;if(!n||n===`mathnormal`)return null;var r=e.mode,i=Sr[n];if(i)return typeof i==`function`?i(e):i;var a=e.text;if(vr.has(a))return null;if(Bt[r][a]){var o=Bt[r][a].replace;o&&(a=o)}var s=Un[n].fontName;return Lt(a,s,r)?Un[n].variant:null};function wr(e){if(!e)return!1;if(e.type===`mi`&&e.children.length===1){var t=e.children[0];return t instanceof gr&&t.text===`.`}else if(e.type===`mo`&&e.children.length===1&&e.getAttribute(`separator`)===`true`&&e.getAttribute(`lspace`)===`0em`&&e.getAttribute(`rspace`)===`0em`){var n=e.children[0];return n instanceof gr&&n.text===`,`}else return!1}var Tr=function(e,t,n){if(e.length===1){var r=X(e[0],t);return n&&r instanceof Y&&r.type===`mo`&&(r.setAttribute(`lspace`,`0em`),r.setAttribute(`rspace`,`0em`)),[r]}for(var i=[],a,o=0;o<e.length;o++){var s=X(e[o],t);if(s instanceof Y&&a instanceof Y){if(s.type===`mtext`&&a.type===`mtext`&&s.getAttribute(`mathvariant`)===a.getAttribute(`mathvariant`)){a.children.push(...s.children);continue}else if(s.type===`mn`&&a.type===`mn`){a.children.push(...s.children);continue}else if(wr(s)&&a.type===`mn`){a.children.push(...s.children);continue}else if(s.type===`mn`&&wr(a))s.children=[...a.children,...s.children],i.pop();else if((s.type===`msup`||s.type===`msub`)&&s.children.length>=1&&(a.type===`mn`||wr(a))){var c=s.children[0];c instanceof Y&&c.type===`mn`&&(c.children=[...a.children,...c.children],i.pop())}else if(a.type===`mi`&&a.children.length===1){var l=a.children[0];if(l instanceof gr&&l.text===`̸`&&(s.type===`mo`||s.type===`mi`||s.type===`mn`)){var u=s.children[0];u instanceof gr&&u.text.length>0&&(u.text=u.text.slice(0,1)+`̸`+u.text.slice(1),i.pop())}}}i.push(s),a=s}return i},Er=function(e,t,n){return xr(Tr(e,t,n))},X=function(e,t){if(!e)return new Y(`mrow`);if($n[e.type])return $n[e.type](e,t);throw new A(`Got group of unknown type: '`+e.type+`'`)};function Dr(e,t,n,r,i){var a=Tr(e,n),o=a.length===1&&a[0]instanceof Y&&yr.has(a[0].type)?a[0]:new Y(`mrow`,a),s=new Y(`annotation`,[new gr(t)]);s.setAttribute(`encoding`,`application/x-tex`);var c=new Y(`math`,[new Y(`semantics`,[o,s])]);return c.setAttribute(`xmlns`,`http://www.w3.org/1998/Math/MathML`),r&&c.setAttribute(`display`,`block`),G([i?`katex`:`katex-mathml`],[c])}var Or=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],kr=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Ar=function(e,t){return t.size<2?e:Or[e-1][t.size-1]},jr=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||``,this.fontFamily=t.fontFamily||``,this.fontWeight=t.fontWeight||``,this.fontShape=t.fontShape||``,this.sizeMultiplier=kr[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Ar(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:kr[e-1]})}havingBaseStyle(t){t||=this.style.text();var n=Ar(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:``})}withTextFontWeight(e){return this.extend({fontWeight:e,font:``})}withTextFontShape(e){return this.extend({fontShape:e,font:``})}sizingClasses(e){return e.size===this.size?[]:[`sizing`,`reset-size`+e.size,`size`+this.size]}baseSizingClasses(){return this.size===e.BASESIZE?[]:[`sizing`,`reset-size`+this.size,`size`+e.BASESIZE]}fontMetrics(){return this._fontMetrics||=zt(this.size),this._fontMetrics}getColor(){return this.phantom?`transparent`:this.color}};jr.BASESIZE=6;var Mr=function(e){return new jr({style:e.displayMode?N.DISPLAY:N.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Nr=function(e,t){if(t.displayMode){var n=[`katex-display`];t.leqno&&n.push(`leqno`),t.fleqn&&n.push(`fleqn`),e=G(n,[e])}return e},Pr=function(e,t,n){var r=Mr(n),i;return n.output===`mathml`?Dr(e,t,r,n.displayMode,!0):(i=n.output===`html`?G([`katex`],[mr(e,r)]):G([`katex`],[Dr(e,t,r,n.displayMode,!1),mr(e,r)]),Nr(i,n))},Fr=function(e,t,n){return Nr(G([`katex`],[mr(e,Mr(n))]),n)},Ir={widehat:`^`,widecheck:`ˇ`,widetilde:`~`,utilde:`~`,overleftarrow:`←`,underleftarrow:`←`,xleftarrow:`←`,overrightarrow:`→`,underrightarrow:`→`,xrightarrow:`→`,underbrace:`⏟`,overbrace:`⏞`,underbracket:`⎵`,overbracket:`⎴`,overgroup:`⏠`,undergroup:`⏡`,overleftrightarrow:`↔`,underleftrightarrow:`↔`,xleftrightarrow:`↔`,Overrightarrow:`⇒`,xRightarrow:`⇒`,overleftharpoon:`↼`,xleftharpoonup:`↼`,overrightharpoon:`⇀`,xrightharpoonup:`⇀`,xLeftarrow:`⇐`,xLeftrightarrow:`⇔`,xhookleftarrow:`↩`,xhookrightarrow:`↪`,xmapsto:`↦`,xrightharpoondown:`⇁`,xleftharpoondown:`↽`,xrightleftharpoons:`⇌`,xleftrightharpoons:`⇋`,xtwoheadleftarrow:`↞`,xtwoheadrightarrow:`↠`,xlongequal:`=`,xtofrom:`⇄`,xrightleftarrows:`⇄`,xrightequilibrium:`⇌`,xleftequilibrium:`⇋`,"\\cdrightarrow":`→`,"\\cdleftarrow":`←`,"\\cdlongequal":`=`},Lr=function(e){var t=new Y(`mo`,[new gr(Ir[e.replace(/^\\/,``)])]);return t.setAttribute(`stretchy`,`true`),t},Rr={overrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],overleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],underrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],underleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],xrightarrow:[[`rightarrow`],1.469,522,`xMaxYMin`],"\\cdrightarrow":[[`rightarrow`],3,522,`xMaxYMin`],xleftarrow:[[`leftarrow`],1.469,522,`xMinYMin`],"\\cdleftarrow":[[`leftarrow`],3,522,`xMinYMin`],Overrightarrow:[[`doublerightarrow`],.888,560,`xMaxYMin`],xRightarrow:[[`doublerightarrow`],1.526,560,`xMaxYMin`],xLeftarrow:[[`doubleleftarrow`],1.526,560,`xMinYMin`],overleftharpoon:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoonup:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoondown:[[`leftharpoondown`],.888,522,`xMinYMin`],overrightharpoon:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoonup:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoondown:[[`rightharpoondown`],.888,522,`xMaxYMin`],xlongequal:[[`longequal`],.888,334,`xMinYMin`],"\\cdlongequal":[[`longequal`],3,334,`xMinYMin`],xtwoheadleftarrow:[[`twoheadleftarrow`],.888,334,`xMinYMin`],xtwoheadrightarrow:[[`twoheadrightarrow`],.888,334,`xMaxYMin`],overleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],overbrace:[[`leftbrace`,`midbrace`,`rightbrace`],1.6,548],underbrace:[[`leftbraceunder`,`midbraceunder`,`rightbraceunder`],1.6,548],underleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],xleftrightarrow:[[`leftarrow`,`rightarrow`],1.75,522],xLeftrightarrow:[[`doubleleftarrow`,`doublerightarrow`],1.75,560],xrightleftharpoons:[[`leftharpoondownplus`,`rightharpoonplus`],1.75,716],xleftrightharpoons:[[`leftharpoonplus`,`rightharpoondownplus`],1.75,716],xhookleftarrow:[[`leftarrow`,`righthook`],1.08,522],xhookrightarrow:[[`lefthook`,`rightarrow`],1.08,522],overlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],underlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],overbracket:[[`leftbracketover`,`rightbracketover`],1.6,440],underbracket:[[`leftbracketunder`,`rightbracketunder`],1.6,410],overgroup:[[`leftgroup`,`rightgroup`],.888,342],undergroup:[[`leftgroupunder`,`rightgroupunder`],.888,342],xmapsto:[[`leftmapsto`,`rightarrow`],1.5,522],xtofrom:[[`leftToFrom`,`rightToFrom`],1.75,528],xrightleftarrows:[[`baraboveleftarrow`,`rightarrowabovebar`],1.75,901],xrightequilibrium:[[`baraboveshortleftharpoon`,`rightharpoonaboveshortbar`],1.75,716],xleftequilibrium:[[`shortbaraboveleftharpoon`,`shortrightharpoonabovebar`],1.75,716]},zr=new Set([`widehat`,`widecheck`,`widetilde`,`utilde`]),Br=function(e,t){function n(){var n=4e5,r=e.label.slice(1);if(zr.has(r)&&`base`in e){var i=e.base.type===`ordgroup`?e.base.body.length:1,a,o,s;if(i>5)r===`widehat`||r===`widecheck`?(a=420,n=2364,s=.42,o=r+`4`):(a=312,n=2340,s=.34,o=`tilde4`);else{var c=[1,1,2,2,3,3][i];r===`widehat`||r===`widecheck`?(n=[0,1062,2364,2364,2364][c],a=[0,239,300,360,420][c],s=[0,.24,.3,.3,.36,.42][c],o=r+c):(n=[0,600,1033,2339,2340][c],a=[0,260,286,306,312][c],s=[0,.26,.286,.3,.306,.34][c],o=`tilde`+c)}return{span:Fn([],[new Dt([new Ot(o)],{width:`100%`,height:P(s),viewBox:`0 0 `+n+` `+a,preserveAspectRatio:`none`})],t),minWidth:0,height:s}}else{var l=[],u=Rr[r];if(!u)throw Error(`No SVG data for "`+r+`".`);var[d,f,p]=u,m=p/1e3,h=d.length,g,_;if(h===1){if(u.length!==4)throw Error(`Expected 4-tuple for single-path SVG data "`+r+`".`);g=[`hide-tail`],_=[u[3]]}else if(h===2)g=[`halfarrow-left`,`halfarrow-right`],_=[`xMinYMin`,`xMaxYMin`];else if(h===3)g=[`brace-left`,`brace-center`,`brace-right`],_=[`xMinYMin`,`xMidYMin`,`xMaxYMin`];else throw Error(`Correct katexImagesData or update code here to support
252
- `+h+` children.`);for(var v=0;v<h;v++){var y=new Dt([new Ot(d[v])],{width:`400em`,height:P(m),viewBox:`0 0 `+n+` `+p,preserveAspectRatio:_[v]+` slice`}),b=Fn([g[v]],[y],t);if(h===1)return{span:b,minWidth:f,height:m};b.style.height=P(m),l.push(b)}return{span:G([`stretchy`],l,t),minWidth:f,height:m}}}var{span:r,minWidth:i,height:a}=n();return r.height=a,r.style.height=P(a),i>0&&(r.style.minWidth=P(i)),r},Vr=function(e,t,n,r,i){var a,o=e.height+e.depth+n+r;if(/fbox|color|angl/.test(t)){if(a=G([`stretchy`,t],[],i),t===`fbox`){var s=i.color&&i.getColor();s&&(a.style.borderColor=s)}}else{var c=[];/^[bx]cancel$/.test(t)&&c.push(new kt({x1:`0`,y1:`0`,x2:`100%`,y2:`100%`,"stroke-width":`0.046em`})),/^x?cancel$/.test(t)&&c.push(new kt({x1:`0`,y1:`100%`,x2:`100%`,y2:`0`,"stroke-width":`0.046em`})),a=Fn([],[new Dt(c,{width:`100%`,height:P(o)})],i)}return a.height=o,a.style.height=P(o),a},Hr={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Ur={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function Wr(e){return e in Hr}function Z(e,t){if(!e||e.type!==t)throw Error(`Expected node of type `+t+`, but got `+(e?`node of type `+e.type:String(e)));return e}function Gr(e){var t=Kr(e);if(!t)throw Error(`Expected node of symbol group type, but got `+(e?`node of type `+e.type:String(e)));return t}function Kr(e){return e&&(e.type===`atom`||Ur.hasOwnProperty(e.type))?e:null}var qr=e=>{if(e instanceof Et)return e;if(Mt(e)&&e.children.length===1)return qr(e.children[0])},Jr=(e,t)=>{var n,r,i;e&&e.type===`supsub`?(r=Z(e.base,`accent`),n=r.base,e.base=n,i=jt(J(e,t)),e.base=r):(r=Z(e,`accent`),n=r.base);var a=J(n,t.havingCrampedStyle()),o=r.isShifty&&Te(n),s=0;o&&(s=qr(a)?.skew??0);var c=r.label===`\\c`,l=c?a.height+a.depth:Math.min(a.height,t.fontMetrics().xHeight),u;if(r.isStretchy)u=Br(r,t),u=K({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`elem`,elem:u,wrapperClasses:[`svg-align`],wrapperStyle:s>0?{width:`calc(100% - `+P(2*s)+`)`,marginLeft:P(2*s)}:void 0}]});else{var d,f;r.label===`\\vec`?(d=Gn(`vec`,t),f=Wn.vec[1]):(d=jn({type:`textord`,mode:r.mode,text:r.label},t,`textord`),d=At(d),d.italic=0,f=d.width,c&&(l+=d.depth)),u=G([`accent-body`],[d]);var p=r.label===`\\textcircled`;p&&(u.classes.push(`accent-full`),l=a.height);var m=s;p||(m-=f/2),u.style.left=P(m),r.label===`\\textcircled`&&(u.style.top=`.2em`),u=K({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:-l},{type:`elem`,elem:u}]})}var h=G([`mord`,`accent`],[u],t);return i?(i.children[0]=h,i.height=Math.max(h.height,i.height),i.classes[0]=`mord`,i):h},Yr=(e,t)=>{var n=e.isStretchy?Lr(e.label):new Y(`mo`,[br(e.label,e.mode)]),r=new Y(`mover`,[X(e.base,t),n]);return r.setAttribute(`accent`,`true`),r},Xr=new RegExp([`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`].map(e=>`\\`+e).join(`|`));q({type:`accent`,names:[`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`,`\\widecheck`,`\\widehat`,`\\widetilde`,`\\overrightarrow`,`\\overleftarrow`,`\\Overrightarrow`,`\\overleftrightarrow`,`\\overgroup`,`\\overlinesegment`,`\\overleftharpoon`,`\\overrightharpoon`],props:{numArgs:1},handler:(e,t)=>{var n=tr(t[0]),r=!Xr.test(e.funcName),i=!r||e.funcName===`\\widehat`||e.funcName===`\\widetilde`||e.funcName===`\\widecheck`;return{type:`accent`,mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:Jr,mathmlBuilder:Yr}),q({type:`accent`,names:[`\\'`,"\\`",`\\^`,`\\~`,`\\=`,`\\u`,`\\.`,`\\"`,`\\c`,`\\r`,`\\H`,`\\v`,`\\textcircled`],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`primitive`]},handler:(e,t)=>{var n=t[0],r=e.parser.mode;return r===`math`&&(e.parser.settings.reportNonstrict(`mathVsTextAccents`,`LaTeX's accent `+e.funcName+` works only in text mode`),r=`text`),{type:`accent`,mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:Jr,mathmlBuilder:Yr}),q({type:`accentUnder`,names:[`\\underleftarrow`,`\\underrightarrow`,`\\underleftrightarrow`,`\\undergroup`,`\\underlinesegment`,`\\utilde`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`accentUnder`,mode:n.mode,label:r,base:i}},htmlBuilder:(e,t)=>{var n=J(e.base,t),r=Br(e,t),i=e.label===`\\utilde`?.12:0;return G([`mord`,`accentunder`],[K({positionType:`top`,positionData:n.height,children:[{type:`elem`,elem:r,wrapperClasses:[`svg-align`]},{type:`kern`,size:i},{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=Lr(e.label),r=new Y(`munder`,[X(e.base,t),n]);return r.setAttribute(`accentunder`,`true`),r}});var Zr=e=>{var t=new Y(`mpadded`,e?[e]:[]);return t.setAttribute(`width`,`+0.6em`),t.setAttribute(`lspace`,`0.3em`),t};q({type:`xArrow`,names:[`\\xleftarrow`,`\\xrightarrow`,`\\xLeftarrow`,`\\xRightarrow`,`\\xleftrightarrow`,`\\xLeftrightarrow`,`\\xhookleftarrow`,`\\xhookrightarrow`,`\\xmapsto`,`\\xrightharpoondown`,`\\xrightharpoonup`,`\\xleftharpoondown`,`\\xleftharpoonup`,`\\xrightleftharpoons`,`\\xleftrightharpoons`,`\\xlongequal`,`\\xtwoheadrightarrow`,`\\xtwoheadleftarrow`,`\\xtofrom`,`\\xrightleftarrows`,`\\xrightequilibrium`,`\\xleftequilibrium`,`\\\\cdrightarrow`,`\\\\cdleftarrow`,`\\\\cdlongequal`],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:r,funcName:i}=e;return{type:`xArrow`,mode:r.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,r=t.havingStyle(n.sup()),i=zn(J(e.body,r,t),t),a=e.label.slice(0,2)===`\\x`?`x`:`cd`;i.classes.push(a+`-arrow-pad`);var o;e.below&&(r=t.havingStyle(n.sub()),o=zn(J(e.below,r,t),t),o.classes.push(a+`-arrow-pad`));var s=Br(e,t),c=-t.fontMetrics().axisHeight+.5*s.height,l=-t.fontMetrics().axisHeight-.5*s.height-.111;(i.depth>.25||e.label===`\\xleftequilibrium`)&&(l-=i.depth);var u;if(o){var d=-t.fontMetrics().axisHeight+o.height+.5*s.height+.111;u=K({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]},{type:`elem`,elem:o,shift:d}]})}else u=K({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]}]});return G([`mrel`,`x-arrow`],[u],t)},mathmlBuilder(e,t){var n=Lr(e.label);n.setAttribute(`minsize`,e.label.charAt(0)===`x`?`1.75em`:`3.0em`);var r;if(e.body){var i=Zr(X(e.body,t));r=e.below?new Y(`munderover`,[n,Zr(X(e.below,t)),i]):new Y(`mover`,[n,i])}else e.below?r=new Y(`munder`,[n,Zr(X(e.below,t))]):(r=Zr(),r=new Y(`mover`,[n,r]));return r}});function Qr(e,t){var n=sr(e.body,t,!0);return G([e.mclass],n,t)}function $r(e,t){var n,r=Tr(e.body,t);return e.mclass===`minner`?n=new Y(`mpadded`,r):e.mclass===`mord`?e.isCharacterBox?(n=r[0],n.type=`mi`):n=new Y(`mi`,r):(e.isCharacterBox?(n=r[0],n.type=`mo`):n=new Y(`mo`,r),e.mclass===`mbin`?(n.attributes.lspace=`0.22em`,n.attributes.rspace=`0.22em`):e.mclass===`mpunct`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0.17em`):e.mclass===`mopen`||e.mclass===`mclose`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0em`):e.mclass===`minner`&&(n.attributes.lspace=`0.0556em`,n.attributes.width=`+0.1111em`)),n}q({type:`mclass`,names:[`\\mathord`,`\\mathbin`,`\\mathrel`,`\\mathopen`,`\\mathclose`,`\\mathpunct`,`\\mathinner`],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`mclass`,mode:n.mode,mclass:`m`+r.slice(5),body:nr(i),isCharacterBox:Te(i)}},htmlBuilder:Qr,mathmlBuilder:$r});var ei=e=>{var t=e.type===`ordgroup`&&e.body.length?e.body[0]:e;return t.type===`atom`&&(t.family===`bin`||t.family===`rel`)?`m`+t.family:`mord`};q({type:`mclass`,names:[`\\@binrel`],props:{numArgs:2},handler(e,t){var{parser:n}=e;return{type:`mclass`,mode:n.mode,mclass:ei(t[0]),body:nr(t[1]),isCharacterBox:Te(t[1])}}}),q({type:`mclass`,names:[`\\stackrel`,`\\overset`,`\\underset`],props:{numArgs:2},handler(e,t){var{parser:n,funcName:r}=e,i=t[1],a=t[0],o=r===`\\stackrel`?`mrel`:ei(i),s={type:`op`,mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!==`\\stackrel`,body:nr(i)},c={type:`supsub`,mode:a.mode,base:s,sup:r===`\\underset`?null:a,sub:r===`\\underset`?a:null};return{type:`mclass`,mode:n.mode,mclass:o,body:[c],isCharacterBox:Te(c)}},htmlBuilder:Qr,mathmlBuilder:$r}),q({type:`pmb`,names:[`\\pmb`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`pmb`,mode:n.mode,mclass:ei(t[0]),body:nr(t[0])}},htmlBuilder(e,t){var n=sr(e.body,t,!0),r=G([e.mclass],n,t);return r.style.textShadow=`0.02em 0.01em 0.04px`,r},mathmlBuilder(e,t){var n=new Y(`mstyle`,Tr(e.body,t));return n.setAttribute(`style`,`text-shadow: 0.02em 0.01em 0.04px`),n}});var ti={">":`\\\\cdrightarrow`,"<":`\\\\cdleftarrow`,"=":`\\\\cdlongequal`,A:`\\uparrow`,V:`\\downarrow`,"|":`\\Vert`,".":`no arrow`},ni=()=>({type:`styling`,body:[],mode:`math`,style:`display`,resetFont:!0}),ri=e=>e.type===`textord`&&e.text===`@`,ii=(e,t)=>(e.type===`mathord`||e.type===`atom`)&&e.text===t;function ai(e,t,n){var r=ti[e];switch(r){case`\\\\cdrightarrow`:case`\\\\cdleftarrow`:return n.callFunction(r,[t[0]],[t[1]]);case`\\uparrow`:case`\\downarrow`:var i=n.callFunction(`\\\\cdleft`,[t[0]],[]),a={type:`atom`,text:r,mode:`math`,family:`rel`},o={type:`ordgroup`,mode:`math`,body:[i,n.callFunction(`\\Big`,[a],[]),n.callFunction(`\\\\cdright`,[t[1]],[])]};return n.callFunction(`\\\\cdparent`,[o],[]);case`\\\\cdlongequal`:return n.callFunction(`\\\\cdlongequal`,[],[]);case`\\Vert`:return n.callFunction(`\\Big`,[{type:`textord`,text:`\\Vert`,mode:`math`}],[]);default:return{type:`textord`,text:` `,mode:`math`}}}function oi(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set(`\\cr`,`\\\\\\relax`),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,`\\\\`)),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n===`&`||n===`\\\\`)e.consume();else if(n===`\\end`){t[t.length-1].length===0&&t.pop();break}else throw new A(`Expected \\\\ or \\cr or \\end`,e.nextToken)}for(var r=[],i=[r],a=0;a<t.length;a++){for(var o=t[a],s=ni(),c=0;c<o.length;c++)if(!ri(o[c]))s.body.push(o[c]);else{r.push(s),c+=1;var l=Gr(o[c]).text,u=[,,];if(u[0]={type:`ordgroup`,mode:`math`,body:[]},u[1]={type:`ordgroup`,mode:`math`,body:[]},!`=|.`.includes(l))if(`<>AV`.includes(l))for(var d=0;d<2;d++){for(var f=!0,p=c+1;p<o.length;p++){if(ii(o[p],l)){f=!1,c=p;break}if(ri(o[p]))throw new A(`Missing a `+l+` character to complete a CD arrow.`,o[p]);u[d].body.push(o[p])}if(f)throw new A(`Missing a `+l+` character to complete a CD arrow.`,o[c])}else throw new A(`Expected one of "<>AV=|." after @`,o[c]);var m={type:`styling`,body:[ai(l,u,e)],mode:`math`,style:`display`,resetFont:!0};r.push(m),s=ni()}a%2==0?r.push(s):r.shift(),r=[],i.push(r)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:`math`,body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Array(i[0].length).fill({type:`align`,align:`c`,pregap:.25,postgap:.25}),colSeparationType:`CD`,hLinesBeforeRow:Array(i.length+1).fill([])}}q({type:`cdlabel`,names:[`\\\\cdleft`,`\\\\cdright`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`cdlabel`,mode:n.mode,side:r.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),r=zn(J(e.label,n,t),t);return r.classes.push(`cd-label-`+e.side),r.style.bottom=P(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(e,t){var n=new Y(`mrow`,[X(e.label,t)]);return n=new Y(`mpadded`,[n]),n.setAttribute(`width`,`0`),e.side===`left`&&n.setAttribute(`lspace`,`-1width`),n.setAttribute(`voffset`,`0.7em`),n=new Y(`mstyle`,[n]),n.setAttribute(`displaystyle`,`false`),n.setAttribute(`scriptlevel`,`1`),n}}),q({type:`cdlabelparent`,names:[`\\\\cdparent`],props:{numArgs:1},handler(e,t){var{parser:n}=e;return{type:`cdlabelparent`,mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=zn(J(e.fragment,t),t);return n.classes.push(`cd-vert-arrow`),n},mathmlBuilder(e,t){return new Y(`mrow`,[X(e.fragment,t)])}}),q({type:`textord`,names:[`\\@char`],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var{parser:n}=e,r=Z(t[0],`ordgroup`).body,i=``,a=0;a<r.length;a++){var o=Z(r[a],`textord`);i+=o.text}var s=parseInt(i),c;if(isNaN(s))throw new A(`\\@char has non-numeric argument `+i);if(s<0||s>=1114111)throw new A(`\\@char with invalid code point `+i);return s<=65535?c=String.fromCharCode(s):(s-=65536,c=String.fromCharCode((s>>10)+55296,(s&1023)+56320)),{type:`textord`,mode:n.mode,text:c}}});var si=(e,t)=>Rn(sr(e.body,t.withColor(e.color),!1)),ci=(e,t)=>{var n=new Y(`mstyle`,Tr(e.body,t.withColor(e.color)));return n.setAttribute(`mathcolor`,e.color),n};q({type:`color`,names:[`\\textcolor`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`original`]},handler(e,t){var{parser:n}=e,r=Z(t[0],`color-token`).color,i=t[1];return{type:`color`,mode:n.mode,color:r,body:nr(i)}},htmlBuilder:si,mathmlBuilder:ci}),q({type:`color`,names:[`\\color`],props:{numArgs:1,allowedInText:!0,argTypes:[`color`]},handler(e,t){var{parser:n,breakOnTokenText:r}=e,i=Z(t[0],`color-token`).color;n.gullet.macros.set(`\\current@color`,i);var a=n.parseExpression(!0,r);return{type:`color`,mode:n.mode,color:i,body:a}},htmlBuilder:si,mathmlBuilder:ci}),q({type:`cr`,names:[`\\\\`],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,n){var{parser:r}=e,i=r.gullet.future().text===`[`?r.parseSizeGroup(!0):null,a=!r.settings.displayMode||!r.settings.useStrictBehavior(`newLineInDisplayMode`,`In LaTeX, \\\\ or \\newline does nothing in display mode`);return{type:`cr`,mode:r.mode,newLine:a,size:i&&Z(i,`size`).value}},htmlBuilder(e,t){var n=G([`mspace`],[],t);return e.newLine&&(n.classes.push(`newline`),e.size&&(n.style.marginTop=P(ht(e.size,t)))),n},mathmlBuilder(e,t){var n=new Y(`mspace`);return e.newLine&&(n.setAttribute(`linebreak`,`newline`),e.size&&n.setAttribute(`height`,P(ht(e.size,t)))),n}});var li={"\\global":`\\global`,"\\long":`\\\\globallong`,"\\\\globallong":`\\\\globallong`,"\\def":`\\gdef`,"\\gdef":`\\gdef`,"\\edef":`\\xdef`,"\\xdef":`\\xdef`,"\\let":`\\\\globallet`,"\\futurelet":`\\\\globalfuture`},ui=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new A(`Expected a control sequence`,e);return t},di=e=>{var t=e.gullet.popToken();return t.text===`=`&&(t=e.gullet.popToken(),t.text===` `&&(t=e.gullet.popToken())),t},fi=(e,t,n,r)=>{var i=e.gullet.macros.get(n.text);i??=(n.noexpand=!0,{tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,r)};q({type:`internal`,names:[`\\global`,`\\long`,`\\\\globallong`],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:n}=e;t.consumeSpaces();var r=t.fetch();if(li[r.text])return(n===`\\global`||n===`\\\\globallong`)&&(r.text=li[r.text]),Z(t.parseFunction(),`internal`);throw new A(`Invalid token after macro prefix`,r)}}),q({type:`internal`,names:[`\\def`,`\\gdef`,`\\edef`,`\\xdef`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=t.gullet.popToken(),i=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new A(`Expected a control sequence`,r);for(var a=0,o,s=[[]];t.gullet.future().text!==`{`;)if(r=t.gullet.popToken(),r.text===`#`){if(t.gullet.future().text===`{`){o=t.gullet.future(),s[a].push(`{`);break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new A(`Invalid argument number "`+r.text+`"`);if(parseInt(r.text)!==a+1)throw new A(`Argument number "`+r.text+`" out of order`);a++,s.push([])}else if(r.text===`EOF`)throw new A(`Expected a macro definition`);else s[a].push(r.text);var{tokens:c}=t.gullet.consumeArg();return o&&c.unshift(o),(n===`\\edef`||n===`\\xdef`)&&(c=t.gullet.expandTokens(c),c.reverse()),t.gullet.macros.set(i,{tokens:c,numArgs:a,delimiters:s},n===li[n]),{type:`internal`,mode:t.mode}}}),q({type:`internal`,names:[`\\let`,`\\\\globallet`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=ui(t.gullet.popToken());return t.gullet.consumeSpaces(),fi(t,r,di(t),n===`\\\\globallet`),{type:`internal`,mode:t.mode}}}),q({type:`internal`,names:[`\\futurelet`,`\\\\globalfuture`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:n}=e,r=ui(t.gullet.popToken()),i=t.gullet.popToken(),a=t.gullet.popToken();return fi(t,r,a,n===`\\\\globalfuture`),t.gullet.pushToken(a),t.gullet.pushToken(i),{type:`internal`,mode:t.mode}}});var pi=function(e,t,n){var r=Lt(Bt.math[e]&&Bt.math[e].replace||e,t,n);if(!r)throw Error(`Unsupported symbol `+e+` and font size `+t+`.`);return r},mi=function(e,t,n,r){var i=n.havingBaseStyle(t),a=G(r.concat(i.sizingClasses(n)),[e],n),o=i.sizeMultiplier/n.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a},hi=function(e,t,n){var r=t.havingBaseStyle(n),i=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push(`delimcenter`),e.style.top=P(i),e.height-=i,e.depth+=i},gi=function(e,t,n,r,i,a){var o=mi(On(e,`Main-Regular`,i,r),t,r,a);return n&&hi(o,r,t),o},_i=function(e,t,n,r){return On(e,`Size`+t+`-Regular`,n,r)},vi=function(e,t,n,r,i,a){var o=_i(e,t,i,r),s=mi(G([`delimsizing`,`size`+t],[o],r),N.TEXT,r,a);return n&&hi(s,r,N.TEXT),s},yi=function(e,t,n){return{type:`elem`,elem:G([`delimsizinginner`,t===`Size1-Regular`?`delim-size1`:`delim-size4`],[G([],[On(e,t,n)])])}},bi=function(e,t,n){var r=Nt[`Size4-Regular`][e.charCodeAt(0)]?Nt[`Size4-Regular`][e.charCodeAt(0)][4]:Nt[`Size1-Regular`][e.charCodeAt(0)][4],i=Fn([],[new Dt([new Ot(`inner`,st(e,Math.round(1e3*t)))],{width:P(r),height:P(t),style:`width:`+P(r),viewBox:`0 0 `+1e3*r+` `+Math.round(1e3*t),preserveAspectRatio:`xMinYMin`})],n);return i.height=t,i.style.height=P(t),i.style.width=P(r),{type:`elem`,elem:i}},xi=.008,Si={type:`kern`,size:-1*xi},Ci=new Set([`|`,`\\lvert`,`\\rvert`,`\\vert`]),wi=new Set([`\\|`,`\\lVert`,`\\rVert`,`\\Vert`]),Ti=function(e,t,n,r,i,a){var o,s,c,l,u=``,d=0;o=c=l=e,s=null;var f=`Size1-Regular`;e===`\\uparrow`?c=l=`⏐`:e===`\\Uparrow`?c=l=`‖`:e===`\\downarrow`?o=c=`⏐`:e===`\\Downarrow`?o=c=`‖`:e===`\\updownarrow`?(o=`\\uparrow`,c=`⏐`,l=`\\downarrow`):e===`\\Updownarrow`?(o=`\\Uparrow`,c=`‖`,l=`\\Downarrow`):Ci.has(e)?(c=`∣`,u=`vert`,d=333):wi.has(e)?(c=`∥`,u=`doublevert`,d=556):e===`[`||e===`\\lbrack`?(o=`⎡`,c=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lbrack`,d=667):e===`]`||e===`\\rbrack`?(o=`⎤`,c=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rbrack`,d=667):e===`\\lfloor`||e===`⌊`?(c=o=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lfloor`,d=667):e===`\\lceil`||e===`⌈`?(o=`⎡`,c=l=`⎢`,f=`Size4-Regular`,u=`lceil`,d=667):e===`\\rfloor`||e===`⌋`?(c=o=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rfloor`,d=667):e===`\\rceil`||e===`⌉`?(o=`⎤`,c=l=`⎥`,f=`Size4-Regular`,u=`rceil`,d=667):e===`(`||e===`\\lparen`?(o=`⎛`,c=`⎜`,l=`⎝`,f=`Size4-Regular`,u=`lparen`,d=875):e===`)`||e===`\\rparen`?(o=`⎞`,c=`⎟`,l=`⎠`,f=`Size4-Regular`,u=`rparen`,d=875):e===`\\{`||e===`\\lbrace`?(o=`⎧`,s=`⎨`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\}`||e===`\\rbrace`?(o=`⎫`,s=`⎬`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lgroup`||e===`⟮`?(o=`⎧`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\rgroup`||e===`⟯`?(o=`⎫`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lmoustache`||e===`⎰`?(o=`⎧`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):(e===`\\rmoustache`||e===`⎱`)&&(o=`⎫`,l=`⎩`,c=`⎪`,f=`Size4-Regular`);var p=pi(o,f,i),m=p.height+p.depth,h=pi(c,f,i),g=h.height+h.depth,_=pi(l,f,i),v=_.height+_.depth,y=0,b=1;if(s!==null){var x=pi(s,f,i);y=x.height+x.depth,b=2}var S=m+v+y,C=S+Math.max(0,Math.ceil((t-S)/(b*g)))*b*g,w=r.fontMetrics().axisHeight;n&&(w*=r.sizeMultiplier);var T=C/2-w,E=[];if(u.length>0){var ee=C-m-v,D=Math.round(C*1e3),te=lt(u,Math.round(ee*1e3)),O=new Ot(u,te),ne=P(d/1e3),re=P(D/1e3),ie=Fn([],[new Dt([O],{width:ne,height:re,viewBox:`0 0 `+d+` `+D})],r);ie.height=D/1e3,ie.style.width=ne,ie.style.height=re,E.push({type:`elem`,elem:ie})}else{if(E.push(yi(l,f,i)),E.push(Si),s===null){var ae=C-m-v+2*xi;E.push(bi(c,ae,r))}else{var oe=(C-m-v-y)/2+2*xi;E.push(bi(c,oe,r)),E.push(Si),E.push(yi(s,f,i)),E.push(Si),E.push(bi(c,oe,r))}E.push(Si),E.push(yi(o,f,i))}var se=r.havingBaseStyle(N.TEXT);return mi(G([`delimsizing`,`mult`],[K({positionType:`bottom`,positionData:T,children:E})],se),N.TEXT,r,a)},Ei=80,Di=.08,Oi=function(e,t,n,r,i){return Fn([`hide-tail`],[new Dt([new Ot(e,ot(e,r,n))],{width:`400em`,height:P(t),viewBox:`0 0 400000 `+n,preserveAspectRatio:`xMinYMin slice`})],i)},ki=function(e,t){var n=t.havingBaseSizing(),r=zi(`\\surd`,e*n.sizeMultiplier,Li,n),i=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o,s,c,l,u;return r.type===`small`?(l=1e3+1e3*a+Ei,e<1?i=1:e<1.4&&(i=.7),s=(1+a+Di)/i,c=(1+a)/i,o=Oi(`sqrtMain`,s,l,a,t),o.style.minWidth=`0.853em`,u=.833/i):r.type===`large`?(l=(1e3+Ei)*Ni[r.size],c=(Ni[r.size]+a)/i,s=(Ni[r.size]+a+Di)/i,o=Oi(`sqrtSize`+r.size,s,l,a,t),o.style.minWidth=`1.02em`,u=1/i):(s=e+a+Di,c=e+a,l=Math.floor(1e3*e+a)+Ei,o=Oi(`sqrtTall`,s,l,a,t),o.style.minWidth=`0.742em`,u=1.056),o.height=c,o.style.height=P(s),{span:o,advanceWidth:u,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*i}},Ai=new Set([`(`,`\\lparen`,`)`,`\\rparen`,`[`,`\\lbrack`,`]`,`\\rbrack`,`\\{`,`\\lbrace`,`\\}`,`\\rbrace`,`\\lfloor`,`\\rfloor`,`⌊`,`⌋`,`\\lceil`,`\\rceil`,`⌈`,`⌉`,`\\surd`]),ji=new Set([`\\uparrow`,`\\downarrow`,`\\updownarrow`,`\\Uparrow`,`\\Downarrow`,`\\Updownarrow`,`|`,`\\|`,`\\vert`,`\\Vert`,`\\lvert`,`\\rvert`,`\\lVert`,`\\rVert`,`\\lgroup`,`\\rgroup`,`⟮`,`⟯`,`\\lmoustache`,`\\rmoustache`,`⎰`,`⎱`]),Mi=new Set([`<`,`>`,`\\langle`,`\\rangle`,`/`,`\\backslash`,`\\lt`,`\\gt`]),Ni=[0,1.2,1.8,2.4,3],Pi=function(e,t,n,r,i){if(e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`),Ai.has(e)||Mi.has(e))return vi(e,t,!1,n,r,i);if(ji.has(e))return Ti(e,Ni[t],!1,n,r,i);throw new A(`Illegal delimiter: '`+e+`'`)},Fi=[{type:`small`,style:N.SCRIPTSCRIPT},{type:`small`,style:N.SCRIPT},{type:`small`,style:N.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4}],Ii=[{type:`small`,style:N.SCRIPTSCRIPT},{type:`small`,style:N.SCRIPT},{type:`small`,style:N.TEXT},{type:`stack`}],Li=[{type:`small`,style:N.SCRIPTSCRIPT},{type:`small`,style:N.SCRIPT},{type:`small`,style:N.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4},{type:`stack`}],Ri=function(e){if(e.type===`small`)return`Main-Regular`;if(e.type===`large`)return`Size`+e.size+`-Regular`;if(e.type===`stack`)return`Size4-Regular`;var t=e.type;throw Error(`Add support for delim type '`+t+`' here.`)},zi=function(e,t,n,r){for(var i=Math.min(2,3-r.style.size);i<n.length;i++){var a=n[i];if(a.type===`stack`)break;var o=pi(e,Ri(a),`math`),s=o.height+o.depth;if(a.type===`small`){var c=r.havingBaseStyle(a.style);s*=c.sizeMultiplier}if(s>t)return a}return n[n.length-1]},Bi=function(e,t,n,r,i,a){e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`);var o=Mi.has(e)?Fi:Ai.has(e)?Li:Ii,s=zi(e,t,o,r);return s.type===`small`?gi(e,s.style,n,r,i,a):s.type===`large`?vi(e,s.size,n,r,i,a):Ti(e,t,n,r,i,a)},Vi=function(e,t,n,r,i,a){var o=r.fontMetrics().axisHeight*r.sizeMultiplier,s=901,c=5/r.fontMetrics().ptPerEm,l=Math.max(t-o,n+o);return Bi(e,Math.max(l/500*s,2*l-c),!0,r,i,a)},Hi={"\\bigl":{mclass:`mopen`,size:1},"\\Bigl":{mclass:`mopen`,size:2},"\\biggl":{mclass:`mopen`,size:3},"\\Biggl":{mclass:`mopen`,size:4},"\\bigr":{mclass:`mclose`,size:1},"\\Bigr":{mclass:`mclose`,size:2},"\\biggr":{mclass:`mclose`,size:3},"\\Biggr":{mclass:`mclose`,size:4},"\\bigm":{mclass:`mrel`,size:1},"\\Bigm":{mclass:`mrel`,size:2},"\\biggm":{mclass:`mrel`,size:3},"\\Biggm":{mclass:`mrel`,size:4},"\\big":{mclass:`mord`,size:1},"\\Big":{mclass:`mord`,size:2},"\\bigg":{mclass:`mord`,size:3},"\\Bigg":{mclass:`mord`,size:4}},Ui=new Set(`(,\\lparen,),\\rparen,[,\\lbrack,],\\rbrack,\\{,\\lbrace,\\},\\rbrace,\\lfloor,\\rfloor,⌊,⌋,\\lceil,\\rceil,⌈,⌉,<,>,\\langle,⟨,\\rangle,⟩,\\lt,\\gt,\\lvert,\\rvert,\\lVert,\\rVert,\\lgroup,\\rgroup,⟮,⟯,\\lmoustache,\\rmoustache,⎰,⎱,/,\\backslash,|,\\vert,\\|,\\Vert,\\uparrow,\\Uparrow,\\downarrow,\\Downarrow,\\updownarrow,\\Updownarrow,.`.split(`,`));function Wi(e){return`isMiddle`in e}function Gi(e,t){var n=Kr(e);if(n&&Ui.has(n.text))return n;throw n?new A(`Invalid delimiter '`+n.text+`' after '`+t.funcName+`'`,e):new A(`Invalid delimiter type '`+e.type+`'`,e)}q({type:`delimsizing`,names:[`\\bigl`,`\\Bigl`,`\\biggl`,`\\Biggl`,`\\bigr`,`\\Bigr`,`\\biggr`,`\\Biggr`,`\\bigm`,`\\Bigm`,`\\biggm`,`\\Biggm`,`\\big`,`\\Big`,`\\bigg`,`\\Bigg`],props:{numArgs:1,argTypes:[`primitive`]},handler:(e,t)=>{var n=Gi(t[0],e);return{type:`delimsizing`,mode:e.parser.mode,size:Hi[e.funcName].size,mclass:Hi[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim===`.`?G([e.mclass]):Pi(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!==`.`&&t.push(br(e.delim,e.mode));var n=new Y(`mo`,t);e.mclass===`mopen`||e.mclass===`mclose`?n.setAttribute(`fence`,`true`):n.setAttribute(`fence`,`false`),n.setAttribute(`stretchy`,`true`);var r=P(Ni[e.size]);return n.setAttribute(`minsize`,r),n.setAttribute(`maxsize`,r),n}});function Ki(e){if(!e.body)throw Error(`Bug: The leftright ParseNode wasn't fully parsed.`)}q({type:`leftright-right`,names:[`\\right`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=e.parser.gullet.macros.get(`\\current@color`);if(n&&typeof n!=`string`)throw new A(`\\current@color set to non-string in \\right`);return{type:`leftright-right`,mode:e.parser.mode,delim:Gi(t[0],e).text,color:n}}}),q({type:`leftright`,names:[`\\left`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Gi(t[0],e),r=e.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect(`\\right`,!1);var a=Z(r.parseFunction(),`leftright-right`);return{type:`leftright`,mode:r.mode,body:i,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(e,t)=>{Ki(e);for(var n=sr(e.body,t,!0,[`mopen`,`mclose`]),r=0,i=0,a=!1,o=0;o<n.length;o++){var s=n[o];Wi(s)?a=!0:(r=Math.max(n[o].height,r),i=Math.max(n[o].depth,i))}r*=t.sizeMultiplier,i*=t.sizeMultiplier;var c=e.left===`.`?fr(t,[`mopen`]):Vi(e.left,r,i,t,e.mode,[`mopen`]);if(n.unshift(c),a)for(var l=1;l<n.length;l++){var u=n[l];if(Wi(u)){var d=u.isMiddle;n[l]=Vi(d.delim,r,i,d.options,e.mode,[])}}var f;if(e.right===`.`)f=fr(t,[`mclose`]);else{var p=e.rightColor?t.withColor(e.rightColor):t;f=Vi(e.right,r,i,p,e.mode,[`mclose`])}return n.push(f),G([`minner`],n,t)},mathmlBuilder:(e,t)=>{Ki(e);var n=Tr(e.body,t);if(e.left!==`.`){var r=new Y(`mo`,[br(e.left,e.mode)]);r.setAttribute(`fence`,`true`),n.unshift(r)}if(e.right!==`.`){var i=new Y(`mo`,[br(e.right,e.mode)]);i.setAttribute(`fence`,`true`),e.rightColor&&i.setAttribute(`mathcolor`,e.rightColor),n.push(i)}return xr(n)}}),q({type:`middle`,names:[`\\middle`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var n=Gi(t[0],e);if(!e.parser.leftrightDepth)throw new A(`\\middle without preceding \\left`,n);return{type:`middle`,mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim===`.`?n=fr(t,[]):(n=Pi(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=new Y(`mo`,[e.delim===`\\vert`||e.delim===`|`?br(`|`,`text`):br(e.delim,e.mode)]);return n.setAttribute(`fence`,`true`),n.setAttribute(`lspace`,`0.05em`),n.setAttribute(`rspace`,`0.05em`),n}});var qi=(e,t)=>{var n=zn(J(e.body,t),t),r=e.label.slice(1),i=t.sizeMultiplier,a,o,s=Te(e.body);if(r===`sout`)a=G([`stretchy`,`sout`]),a.height=t.fontMetrics().defaultRuleThickness/i,o=-.5*t.fontMetrics().xHeight;else if(r===`phase`){var c=ht({number:.6,unit:`pt`},t),l=ht({number:.35,unit:`ex`},t),u=t.havingBaseSizing();i/=u.sizeMultiplier;var d=n.height+n.depth+c+l;n.style.paddingLeft=P(d/2+c);var f=Math.floor(1e3*d*i);a=Fn([`hide-tail`],[new Dt([new Ot(`phase`,it(f))],{width:`400em`,height:P(f/1e3),viewBox:`0 0 400000 `+f,preserveAspectRatio:`xMinYMin slice`})],t),a.style.height=P(d),o=n.depth+c+l}else{/cancel/.test(r)?s||n.classes.push(`cancel-pad`):r===`angl`?n.classes.push(`anglpad`):n.classes.push(`boxpad`);var p,m,h=0;/box/.test(r)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),p=t.fontMetrics().fboxsep+(r===`colorbox`?0:h),m=p):r===`angl`?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),p=4*h,m=Math.max(0,.25-n.depth)):(p=s?.2:0,m=p),a=Vr(n,r,p,m,t),/fbox|boxed|fcolorbox/.test(r)?(a.style.borderStyle=`solid`,a.style.borderWidth=P(h)):r===`angl`&&h!==.049&&(a.style.borderTopWidth=P(h),a.style.borderRightWidth=P(h)),o=n.depth+m,e.backgroundColor&&(a.style.backgroundColor=e.backgroundColor,e.borderColor&&(a.style.borderColor=e.borderColor))}var g;if(e.backgroundColor)g=K({positionType:`individualShift`,children:[{type:`elem`,elem:a,shift:o},{type:`elem`,elem:n,shift:0}]});else{var _=/cancel|phase/.test(r)?[`svg-align`]:[];g=K({positionType:`individualShift`,children:[{type:`elem`,elem:n,shift:0},{type:`elem`,elem:a,shift:o,wrapperClasses:_}]})}return/cancel/.test(r)&&(g.height=n.height,g.depth=n.depth),/cancel/.test(r)&&!s?G([`mord`,`cancel-lap`],[g],t):G([`mord`],[g],t)},Ji=(e,t)=>{var n,r=new Y(e.label.includes(`colorbox`)?`mpadded`:`menclose`,[X(e.body,t)]);switch(e.label){case`\\cancel`:r.setAttribute(`notation`,`updiagonalstrike`);break;case`\\bcancel`:r.setAttribute(`notation`,`downdiagonalstrike`);break;case`\\phase`:r.setAttribute(`notation`,`phasorangle`);break;case`\\sout`:r.setAttribute(`notation`,`horizontalstrike`);break;case`\\fbox`:r.setAttribute(`notation`,`box`);break;case`\\angl`:r.setAttribute(`notation`,`actuarial`);break;case`\\fcolorbox`:case`\\colorbox`:if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,r.setAttribute(`width`,`+`+2*n+`pt`),r.setAttribute(`height`,`+`+2*n+`pt`),r.setAttribute(`lspace`,n+`pt`),r.setAttribute(`voffset`,n+`pt`),e.label===`\\fcolorbox`){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);r.setAttribute(`style`,`border: `+P(i)+` solid `+e.borderColor)}break;case`\\xcancel`:r.setAttribute(`notation`,`updiagonalstrike downdiagonalstrike`);break}return e.backgroundColor&&r.setAttribute(`mathbackground`,e.backgroundColor),r};q({type:`enclose`,names:[`\\colorbox`],props:{numArgs:2,allowedInText:!0,argTypes:[`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=Z(t[0],`color-token`).color,o=t[1];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:qi,mathmlBuilder:Ji}),q({type:`enclose`,names:[`\\fcolorbox`],props:{numArgs:3,allowedInText:!0,argTypes:[`color`,`color`,`hbox`]},handler(e,t,n){var{parser:r,funcName:i}=e,a=Z(t[0],`color-token`).color,o=Z(t[1],`color-token`).color,s=t[2];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:o,borderColor:a,body:s}},htmlBuilder:qi,mathmlBuilder:Ji}),q({type:`enclose`,names:[`\\fbox`],props:{numArgs:1,argTypes:[`hbox`],allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`enclose`,mode:n.mode,label:`\\fbox`,body:t[0]}}}),q({type:`enclose`,names:[`\\cancel`,`\\bcancel`,`\\xcancel`,`\\phase`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:qi,mathmlBuilder:Ji}),q({type:`enclose`,names:[`\\sout`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e;n.mode===`math`&&n.settings.reportNonstrict(`mathVsSout`,`LaTeX's \\sout works only in text mode`);var i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}},htmlBuilder:qi,mathmlBuilder:Ji}),q({type:`enclose`,names:[`\\angl`],props:{numArgs:1,argTypes:[`hbox`],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:`enclose`,mode:n.mode,label:`\\angl`,body:t[0]}}});var Yi={};function Xi(e){for(var{type:t,names:n,props:r,handler:i,htmlBuilder:a,mathmlBuilder:o}=e,s={type:t,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},c=0;c<n.length;++c)Yi[n[c]]=s;a&&(Qn[t]=a),o&&($n[t]=o)}var Zi={};function Q(e,t){Zi[e]=t}var Qi=class e{constructor(e,t,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=n}static range(t,n){return n?!t||!t.loc||!n.loc||t.loc.lexer!==n.loc.lexer?null:new e(t.loc.lexer,t.loc.start,n.loc.end):t&&t.loc}},$i=class e{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(t,n){return new e(n,Qi.range(this,t))}};function ea(e){var t=[];e.consumeSpaces();var n=e.fetch().text;for(n===`\\relax`&&(e.consume(),e.consumeSpaces(),n=e.fetch().text);n===`\\hline`||n===`\\hdashline`;)e.consume(),t.push(n===`\\hdashline`),e.consumeSpaces(),n=e.fetch().text;return t}var ta=e=>{if(!e.parser.settings.displayMode)throw new A(`{`+e.envName+`} can be used only in display mode.`)},na=new Set([`gather`,`gather*`]);function ra(e){if(!e.includes(`ed`))return!e.includes(`*`)}function ia(e,t,n){var{hskipBeforeAndAfter:r,addJot:i,cols:a,arraystretch:o,colSeparationType:s,autoTag:c,singleRow:l,emptySingleRow:u,maxNumCols:d,leqno:f}=t;if(e.gullet.beginGroup(),l||e.gullet.macros.set(`\\cr`,`\\\\\\relax`),!o){var p=e.gullet.expandMacroAsText(`\\arraystretch`);if(p==null)o=1;else if(o=parseFloat(p),!o||o<0)throw new A(`Invalid \\arraystretch: `+p)}e.gullet.beginGroup();var m=[],h=[m],g=[],_=[],v=c==null?void 0:[];function y(){c&&e.gullet.macros.set(`\\@eqnsw`,`1`,!0)}function b(){v&&(e.gullet.macros.get(`\\df@tag`)?(v.push(e.subparse([new $i(`\\df@tag`)])),e.gullet.macros.set(`\\df@tag`,void 0,!0)):v.push(!!c&&e.gullet.macros.get(`\\@eqnsw`)===`1`))}for(y(),_.push(ea(e));;){var x=e.parseExpression(!1,l?`\\end`:`\\\\`);e.gullet.endGroup(),e.gullet.beginGroup();var S={type:`ordgroup`,mode:e.mode,body:x};n&&(S={type:`styling`,mode:e.mode,style:n,resetFont:!0,body:[S]}),m.push(S);var C=e.fetch().text;if(C===`&`){if(d&&m.length===d){if(l||s)throw new A(`Too many tab characters: &`,e.nextToken);e.settings.reportNonstrict(`textEnv`,`Too few columns specified in the {array} column argument.`)}e.consume()}else if(C===`\\end`){b(),m.length===1&&S.type===`styling`&&S.body.length===1&&S.body[0].type===`ordgroup`&&S.body[0].body.length===0&&(h.length>1||!u)&&h.pop(),_.length<h.length+1&&_.push([]);break}else if(C===`\\\\`){e.consume();var w=void 0;e.gullet.future().text!==` `&&(w=e.parseSizeGroup(!0)),g.push(w?w.value:null),b(),_.push(ea(e)),m=[],h.push(m),y()}else throw new A(`Expected & or \\\\ or \\cr or \\end`,e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:e.mode,addJot:i,arraystretch:o,body:h,cols:a,rowGaps:g,hskipBeforeAndAfter:r,hLinesBeforeRow:_,colSeparationType:s,tags:v,leqno:f}}function aa(e){return e.slice(0,1)===`d`?`display`:`text`}var oa=function(e,t){var n,r,i=e.body.length,a=e.hLinesBeforeRow,o=0,s=Array(i),c=[],l=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),u=1/t.fontMetrics().ptPerEm,d=5*u;e.colSeparationType&&e.colSeparationType===`small`&&(d=.2778*(t.havingStyle(N.SCRIPT).sizeMultiplier/t.sizeMultiplier));var f=e.colSeparationType===`CD`?ht({number:3,unit:`ex`},t):12*u,p=3*u,m=e.arraystretch*f,h=.7*m,g=.3*m,_=0;function v(e){for(var t=0;t<e.length;++t)t>0&&(_+=.25),c.push({pos:_,isDashed:e[t]})}for(v(a[0]),n=0;n<e.body.length;++n){var y=e.body[n],b=h,x=g;o<y.length&&(o=y.length);var S={cells:Array(y.length),height:0,depth:0,pos:0};for(r=0;r<y.length;++r){var C=J(y[r],t);x<C.depth&&(x=C.depth),b<C.height&&(b=C.height),S.cells[r]=C}var w=e.rowGaps[n],T=0;w&&(T=ht(w,t),T>0&&(T+=g,x<T&&(x=T),T=0)),e.addJot&&n<e.body.length-1&&(x+=p),S.height=b,S.depth=x,_+=b,S.pos=_,_+=x+T,s[n]=S,v(a[n+1])}var E=_/2+t.fontMetrics().axisHeight,ee=e.cols||[],D=[],te,O,ne=[];if(e.tags&&e.tags.some(e=>e))for(n=0;n<i;++n){var re=s[n],ie=re.pos-E,ae=e.tags[n],oe=void 0;oe=ae===!0?G([`eqn-num`],[],t):ae===!1?G([],[],t):G([],sr(ae,t,!0),t),oe.depth=re.depth,oe.height=re.height,ne.push({type:`elem`,elem:oe,shift:ie})}for(r=0,O=0;r<o||O<ee.length;++r,++O){for(var se=ee[O],ce=!0;(k=se)?.type===`separator`;){var k;if(ce||(te=G([`arraycolsep`],[]),te.style.width=P(t.fontMetrics().doubleRuleSep),D.push(te)),se.separator===`|`||se.separator===`:`){var le=se.separator===`|`?`solid`:`dashed`,ue=G([`vertical-separator`],[],t);ue.style.height=P(_),ue.style.borderRightWidth=P(l),ue.style.borderRightStyle=le,ue.style.margin=`0 `+P(-l/2);var de=_-E;de&&(ue.style.verticalAlign=P(-de)),D.push(ue)}else throw new A(`Invalid separator type: `+se.separator);O++,se=ee[O],ce=!1}if(!(r>=o)){var fe=void 0;(r>0||e.hskipBeforeAndAfter)&&(fe=se?.pregap??d,fe!==0&&(te=G([`arraycolsep`],[]),te.style.width=P(fe),D.push(te)));var pe=[];for(n=0;n<i;++n){var me=s[n],he=me.cells[r];if(he){var ge=me.pos-E;he.depth=me.depth,he.height=me.height,pe.push({type:`elem`,elem:he,shift:ge})}}var _e=K({positionType:`individualShift`,children:pe}),ve=G([`col-align-`+(se?.align||`c`)],[_e]);D.push(ve),(r<o-1||e.hskipBeforeAndAfter)&&(fe=se?.postgap??d,fe!==0&&(te=G([`arraycolsep`],[]),te.style.width=P(fe),D.push(te)))}}var ye=G([`mtable`],D);if(c.length>0){for(var be=In(`hline`,t,l),xe=In(`hdashline`,t,l),Se=[{type:`elem`,elem:ye,shift:0}];c.length>0;){var Ce=c.pop(),we=Ce.pos-E;Ce.isDashed?Se.push({type:`elem`,elem:xe,shift:we}):Se.push({type:`elem`,elem:be,shift:we})}ye=K({positionType:`individualShift`,children:Se})}if(ne.length===0)return G([`mord`],[ye],t);var j=G([`tag`],[K({positionType:`individualShift`,children:ne})],t);return Rn([ye,j])},sa={c:`center `,l:`left `,r:`right `},ca=function(e,t){for(var n=[],r=new Y(`mtd`,[],[`mtr-glue`]),i=new Y(`mtd`,[],[`mml-eqn-num`]),a=0;a<e.body.length;a++){for(var o=e.body[a],s=[],c=0;c<o.length;c++)s.push(new Y(`mtd`,[X(o[c],t)]));e.tags&&e.tags[a]&&(s.unshift(r),s.push(r),e.leqno?s.unshift(i):s.push(i)),n.push(new Y(`mtr`,s))}var l=new Y(`mtable`,n),u=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);l.setAttribute(`rowspacing`,P(u));var d=``,f=``;if(e.cols&&e.cols.length>0){var p=e.cols,m=``,h=!1,g=0,_=p.length;p[0].type===`separator`&&(d+=`top `,g=1),p[p.length-1].type===`separator`&&(d+=`bottom `,--_);for(var v=g;v<_;v++){var y=p[v];y.type===`align`?(f+=sa[y.align],h&&(m+=`none `),h=!0):y.type===`separator`&&(h&&=(m+=y.separator===`|`?`solid `:`dashed `,!1))}l.setAttribute(`columnalign`,f.trim()),/[sd]/.test(m)&&l.setAttribute(`columnlines`,m.trim())}if(e.colSeparationType===`align`){for(var b=e.cols||[],x=``,S=1;S<b.length;S++)x+=S%2?`0em `:`1em `;l.setAttribute(`columnspacing`,x.trim())}else e.colSeparationType===`alignat`||e.colSeparationType===`gather`?l.setAttribute(`columnspacing`,`0em`):e.colSeparationType===`small`?l.setAttribute(`columnspacing`,`0.2778em`):e.colSeparationType===`CD`?l.setAttribute(`columnspacing`,`0.5em`):l.setAttribute(`columnspacing`,`1em`);var C=``,w=e.hLinesBeforeRow;d+=w[0].length>0?`left `:``,d+=w[w.length-1].length>0?`right `:``;for(var T=1;T<w.length-1;T++)C+=w[T].length===0?`none `:w[T][0]?`dashed `:`solid `;return/[sd]/.test(C)&&l.setAttribute(`rowlines`,C.trim()),d!==``&&(l=new Y(`menclose`,[l]),l.setAttribute(`notation`,d.trim())),e.arraystretch&&e.arraystretch<1&&(l=new Y(`mstyle`,[l]),l.setAttribute(`scriptlevel`,`1`)),l},la=function(e,t){e.envName.includes(`ed`)||ta(e);var n=[],r=e.envName.includes(`at`)?`alignat`:`align`,i=e.envName===`split`,a=ia(e.parser,{cols:n,addJot:!0,autoTag:i?void 0:ra(e.envName),emptySingleRow:!0,colSeparationType:r,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},`display`),o=0,s=0,c={type:`ordgroup`,mode:e.mode,body:[]};if(t[0]&&t[0].type===`ordgroup`){for(var l=``,u=0;u<t[0].body.length;u++){var d=Z(t[0].body[u],`textord`);l+=d.text}o=Number(l),s=o*2}var f=!s;a.body.forEach(function(e){for(var t=1;t<e.length;t+=2)Z(Z(e[t],`styling`).body[0],`ordgroup`).body.unshift(c);if(f)s<e.length&&(s=e.length);else{var n=e.length/2;if(o<n)throw new A(`Too many math in a row: `+(`expected `+o+`, but got `+n),e[0])}});for(var p=0;p<s;++p){var m=`r`,h=0;p%2==1?m=`l`:p>0&&f&&(h=1),n[p]={type:`align`,align:m,pregap:h,postgap:0}}return a.colSeparationType=f?`align`:`alignat`,a};Xi({type:`array`,names:[`array`,`darray`],props:{numArgs:1},handler(e,t){var n=(Kr(t[0])?[t[0]]:Z(t[0],`ordgroup`).body).map(function(e){var t=Gr(e).text;if(`lcr`.includes(t))return{type:`align`,align:t};if(t===`|`)return{type:`separator`,separator:`|`};if(t===`:`)return{type:`separator`,separator:`:`};throw new A(`Unknown column alignment: `+t,e)}),r={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return ia(e.parser,r,aa(e.envName))},htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`matrix`,`pmatrix`,`bmatrix`,`Bmatrix`,`vmatrix`,`Vmatrix`,`matrix*`,`pmatrix*`,`bmatrix*`,`Bmatrix*`,`vmatrix*`,`Vmatrix*`],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:[`(`,`)`],bmatrix:[`[`,`]`],Bmatrix:[`\\{`,`\\}`],vmatrix:[`|`,`|`],Vmatrix:[`\\Vert`,`\\Vert`]}[e.envName.replace(`*`,``)],n=`c`,r={hskipBeforeAndAfter:!1,cols:[{type:`align`,align:n}]};if(e.envName.charAt(e.envName.length-1)===`*`){var i=e.parser;if(i.consumeSpaces(),i.fetch().text===`[`){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!`lcr`.includes(n))throw new A(`Expected l or c or r`,i.nextToken);i.consume(),i.consumeSpaces(),i.expect(`]`),i.consume(),r.cols=[{type:`align`,align:n}]}}var a=ia(e.parser,r,aa(e.envName)),o=Math.max(0,...a.body.map(e=>e.length));return a.cols=Array(o).fill({type:`align`,align:n}),t?{type:`leftright`,mode:e.mode,body:[a],left:t[0],right:t[1],rightColor:void 0}:a},htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`smallmatrix`],props:{numArgs:0},handler(e){var t=ia(e.parser,{arraystretch:.5},`script`);return t.colSeparationType=`small`,t},htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`subarray`],props:{numArgs:1},handler(e,t){var n=(Kr(t[0])?[t[0]]:Z(t[0],`ordgroup`).body).map(function(e){var t=Gr(e).text;if(`lc`.includes(t))return{type:`align`,align:t};throw new A(`Unknown column alignment: `+t,e)});if(n.length>1)throw new A(`{subarray} can contain only one column`);var r={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5},i=ia(e.parser,r,`script`);if(i.body.length>0&&i.body[0].length>1)throw new A(`{subarray} can contain only one column`);return i},htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`cases`,`dcases`,`rcases`,`drcases`],props:{numArgs:0},handler(e){var t=ia(e.parser,{arraystretch:1.2,cols:[{type:`align`,align:`l`,pregap:0,postgap:1},{type:`align`,align:`l`,pregap:0,postgap:0}]},aa(e.envName));return{type:`leftright`,mode:e.mode,body:[t],left:e.envName.includes(`r`)?`.`:`\\{`,right:e.envName.includes(`r`)?`\\}`:`.`,rightColor:void 0}},htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`align`,`align*`,`aligned`,`split`],props:{numArgs:0},handler:la,htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`gathered`,`gather`,`gather*`],props:{numArgs:0},handler(e){na.has(e.envName)&&ta(e);var t={cols:[{type:`align`,align:`c`}],addJot:!0,colSeparationType:`gather`,autoTag:ra(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return ia(e.parser,t,`display`)},htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`alignat`,`alignat*`,`alignedat`],props:{numArgs:1},handler:la,htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`equation`,`equation*`],props:{numArgs:0},handler(e){ta(e);var t={autoTag:ra(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return ia(e.parser,t,`display`)},htmlBuilder:oa,mathmlBuilder:ca}),Xi({type:`array`,names:[`CD`],props:{numArgs:0},handler(e){return ta(e),oi(e.parser)},htmlBuilder:oa,mathmlBuilder:ca}),Q(`\\nonumber`,`\\gdef\\@eqnsw{0}`),Q(`\\notag`,`\\nonumber`),q({type:`text`,names:[`\\hline`,`\\hdashline`],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new A(e.funcName+` valid only within array environment`)}});var ua=Yi;q({type:`environment`,names:[`\\begin`,`\\end`],props:{numArgs:1,argTypes:[`text`]},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];if(i.type!==`ordgroup`)throw new A(`Invalid environment name`,i);for(var a=``,o=0;o<i.body.length;++o)a+=Z(i.body[o],`textord`).text;if(r===`\\begin`){if(!ua.hasOwnProperty(a))throw new A(`No such environment: `+a,i);var s=ua[a],{args:c,optArgs:l}=n.parseArguments(`\\begin{`+a+`}`,s),u={mode:n.mode,envName:a,parser:n},d=s.handler(u,c,l);n.expect(`\\end`,!1);var f=n.nextToken,p=Z(n.parseFunction(),`environment`);if(p.name!==a)throw new A(`Mismatch: \\begin{`+a+`} matched by \\end{`+p.name+`}`,f);return d}return{type:`environment`,mode:n.mode,name:a,nameGroup:i}}});var da=(e,t)=>{var n=e.font,r=t.withFont(n);return J(e.body,r)},fa=(e,t)=>{var n=e.font,r=t.withFont(n);return X(e.body,r)},pa={"\\Bbb":`\\mathbb`,"\\bold":`\\mathbf`,"\\frak":`\\mathfrak`};q({type:`font`,names:[`\\mathrm`,`\\mathit`,`\\mathbf`,`\\mathnormal`,`\\mathsfit`,`\\mathbb`,`\\mathcal`,`\\mathfrak`,`\\mathscr`,`\\mathsf`,`\\mathtt`,`\\Bbb`,`\\bold`,`\\frak`],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=tr(t[0]),a=r;return a in pa&&(a=pa[a]),{type:`font`,mode:n.mode,font:a.slice(1),body:i}},htmlBuilder:da,mathmlBuilder:fa}),q({type:`mclass`,names:[`\\boldsymbol`,`\\bm`],props:{numArgs:1},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`mclass`,mode:n.mode,mclass:ei(r),body:[{type:`font`,mode:n.mode,font:`boldsymbol`,body:r}],isCharacterBox:Te(r)}}}),q({type:`font`,names:[`\\rm`,`\\sf`,`\\tt`,`\\bf`,`\\it`,`\\cal`],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,breakOnTokenText:i}=e,{mode:a}=n,o=n.parseExpression(!0,i);return{type:`font`,mode:a,font:`math`+r.slice(1),body:{type:`ordgroup`,mode:n.mode,body:o}}},htmlBuilder:da,mathmlBuilder:fa});var ma=(e,t)=>{var n=t.style,r=n.fracNum(),i=n.fracDen(),a=t.havingStyle(r),o=J(e.numer,a,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm;o.height=o.height<s?s:o.height,o.depth=o.depth<c?c:o.depth}a=t.havingStyle(i);var l=J(e.denom,a,t),u,d,f;e.hasBarLine?(e.barSize?(d=ht(e.barSize,t),u=In(`frac-line`,t,d)):u=In(`frac-line`,t),d=u.height,f=u.height):(u=null,d=0,f=t.fontMetrics().defaultRuleThickness);var p,m,h;n.size===N.DISPLAY.size?(p=t.fontMetrics().num1,m=d>0?3*f:7*f,h=t.fontMetrics().denom1):(d>0?(p=t.fontMetrics().num2,m=f):(p=t.fontMetrics().num3,m=3*f),h=t.fontMetrics().denom2);var g;if(u){var _=t.fontMetrics().axisHeight;p-o.depth-(_+.5*d)<m&&(p+=m-(p-o.depth-(_+.5*d))),_-.5*d-(l.height-h)<m&&(h+=m-(_-.5*d-(l.height-h)));var v=-(_-.5*d);g=K({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:u,shift:v},{type:`elem`,elem:o,shift:-p}]})}else{var y=p-o.depth-(l.height-h);y<m&&(p+=.5*(m-y),h+=.5*(m-y)),g=K({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:o,shift:-p}]})}a=t.havingStyle(n),g.height*=a.sizeMultiplier/t.sizeMultiplier,g.depth*=a.sizeMultiplier/t.sizeMultiplier;var b=n.size===N.DISPLAY.size?t.fontMetrics().delim1:n.size===N.SCRIPTSCRIPT.size?t.havingStyle(N.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,x=e.leftDelim==null?fr(t,[`mopen`]):Bi(e.leftDelim,b,!0,t.havingStyle(n),e.mode,[`mopen`]),S=e.continued?G([]):e.rightDelim==null?fr(t,[`mclose`]):Bi(e.rightDelim,b,!0,t.havingStyle(n),e.mode,[`mclose`]);return G([`mord`].concat(a.sizingClasses(t)),[x,G([`mfrac`],[g]),S],t)},ha=(e,t)=>{var n=new Y(`mfrac`,[X(e.numer,t),X(e.denom,t)]);if(!e.hasBarLine)n.setAttribute(`linethickness`,`0px`);else if(e.barSize){var r=ht(e.barSize,t);n.setAttribute(`linethickness`,P(r))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var a=new Y(`mo`,[new gr(e.leftDelim.replace(`\\`,``))]);a.setAttribute(`fence`,`true`),i.push(a)}if(i.push(n),e.rightDelim!=null){var o=new Y(`mo`,[new gr(e.rightDelim.replace(`\\`,``))]);o.setAttribute(`fence`,`true`),i.push(o)}return xr(i)}return n},ga=(e,t)=>t?{type:`styling`,mode:e.mode,style:t,body:[e]}:e;q({type:`genfrac`,names:[`\\cfrac`,`\\dfrac`,`\\frac`,`\\tfrac`,`\\dbinom`,`\\binom`,`\\tbinom`,`\\\\atopfrac`,`\\\\bracefrac`,`\\\\brackfrac`],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0],a=t[1],o,s=null,c=null;switch(r){case`\\cfrac`:case`\\dfrac`:case`\\frac`:case`\\tfrac`:o=!0;break;case`\\\\atopfrac`:o=!1;break;case`\\dbinom`:case`\\binom`:case`\\tbinom`:o=!1,s=`(`,c=`)`;break;case`\\\\bracefrac`:o=!1,s=`\\{`,c=`\\}`;break;case`\\\\brackfrac`:o=!1,s=`[`,c=`]`;break;default:throw Error(`Unrecognized genfrac command`)}var l=r===`\\cfrac`,u=null;return l||r.startsWith(`\\d`)?u=`display`:r.startsWith(`\\t`)&&(u=`text`),ga({type:`genfrac`,mode:n.mode,numer:i,denom:a,continued:l,hasBarLine:o,leftDelim:s,rightDelim:c,barSize:null},u)},htmlBuilder:ma,mathmlBuilder:ha}),q({type:`infix`,names:[`\\over`,`\\choose`,`\\atop`,`\\brace`,`\\brack`],props:{numArgs:0,infix:!0},handler(e){var{parser:t,funcName:n,token:r}=e,i;switch(n){case`\\over`:i=`\\frac`;break;case`\\choose`:i=`\\binom`;break;case`\\atop`:i=`\\\\atopfrac`;break;case`\\brace`:i=`\\\\bracefrac`;break;case`\\brack`:i=`\\\\brackfrac`;break;default:throw Error(`Unrecognized infix genfrac command`)}return{type:`infix`,mode:t.mode,replaceWith:i,token:r}}});var _a=[`display`,`text`,`script`,`scriptscript`],va=function(e){var t=null;return e.length>0&&(t=e,t=t===`.`?null:t),t};q({type:`genfrac`,names:[`\\genfrac`],props:{numArgs:6,allowedInArgument:!0,argTypes:[`math`,`math`,`size`,`text`,`math`,`math`]},handler(e,t){var{parser:n}=e,r=t[4],i=t[5],a=tr(t[0]),o=a.type===`atom`&&a.family===`open`?va(a.text):null,s=tr(t[1]),c=s.type===`atom`&&s.family===`close`?va(s.text):null,l=Z(t[2],`size`),u,d=null;l.isBlank?u=!0:(d=l.value,u=d.number>0);var f=null,p=t[3];if(p.type===`ordgroup`){if(p.body.length>0){var m=Z(p.body[0],`textord`);f=_a[Number(m.text)]}}else p=Z(p,`textord`),f=_a[Number(p.text)];return ga({type:`genfrac`,mode:n.mode,numer:r,denom:i,continued:!1,hasBarLine:u,barSize:d,leftDelim:o,rightDelim:c},f)}}),q({type:`infix`,names:[`\\above`],props:{numArgs:1,argTypes:[`size`],infix:!0},handler(e,t){var{parser:n,funcName:r,token:i}=e;return{type:`infix`,mode:n.mode,replaceWith:`\\\\abovefrac`,size:Z(t[0],`size`).value,token:i}}}),q({type:`genfrac`,names:[`\\\\abovefrac`],props:{numArgs:3,argTypes:[`math`,`size`,`math`]},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0],a=Z(t[1],`infix`).size;if(!a)throw Error(`\\\\abovefrac expected size, but got `+String(a));var o=t[2],s=a.number>0;return{type:`genfrac`,mode:n.mode,numer:i,denom:o,continued:!1,hasBarLine:s,barSize:a,leftDelim:null,rightDelim:null}}});var ya=(e,t)=>{var n=t.style,r,i;e.type===`supsub`?(r=e.sup?J(e.sup,t.havingStyle(n.sup()),t):J(e.sub,t.havingStyle(n.sub()),t),i=Z(e.base,`horizBrace`)):i=Z(e,`horizBrace`);var a=J(i.base,t.havingBaseStyle(N.DISPLAY)),o=Br(i,t),s=i.isOver?K({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:.1},{type:`elem`,elem:o,wrapperClasses:[`svg-align`]}]}):K({positionType:`bottom`,positionData:a.depth+.1+o.height,children:[{type:`elem`,elem:o,wrapperClasses:[`svg-align`]},{type:`kern`,size:.1},{type:`elem`,elem:a}]});if(r){var c=G([`minner`,i.isOver?`mover`:`munder`],[s],t);s=i.isOver?K({positionType:`firstBaseline`,children:[{type:`elem`,elem:c},{type:`kern`,size:.2},{type:`elem`,elem:r}]}):K({positionType:`bottom`,positionData:c.depth+.2+r.height+r.depth,children:[{type:`elem`,elem:r},{type:`kern`,size:.2},{type:`elem`,elem:c}]})}return G([`minner`,i.isOver?`mover`:`munder`],[s],t)};q({type:`horizBrace`,names:[`\\overbrace`,`\\underbrace`,`\\overbracket`,`\\underbracket`],props:{numArgs:1},handler(e,t){var{parser:n,funcName:r}=e;return{type:`horizBrace`,mode:n.mode,label:r,isOver:r.includes(`\\over`),base:t[0]}},htmlBuilder:ya,mathmlBuilder:(e,t)=>{var n=Lr(e.label);return new Y(e.isOver?`mover`:`munder`,[X(e.base,t),n])}}),q({type:`href`,names:[`\\href`],props:{numArgs:2,argTypes:[`url`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[1],i=Z(t[0],`url`).url;return n.settings.isTrusted({command:`\\href`,url:i})?{type:`href`,mode:n.mode,href:i,body:nr(r)}:n.formatUnsupportedCmd(`\\href`)},htmlBuilder:(e,t)=>{var n=sr(e.body,t,!1);return Ln(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=Er(e.body,t);return n instanceof Y||(n=new Y(`mrow`,[n])),n.setAttribute(`href`,e.href),n}}),q({type:`href`,names:[`\\url`],props:{numArgs:1,argTypes:[`url`],allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=Z(t[0],`url`).url;if(!n.settings.isTrusted({command:`\\url`,url:r}))return n.formatUnsupportedCmd(`\\url`);for(var i=[],a=0;a<r.length;a++){var o=r[a];o===`~`&&(o=`\\textasciitilde`),i.push({type:`textord`,mode:`text`,text:o})}var s={type:`text`,mode:n.mode,font:`\\texttt`,body:i};return{type:`href`,mode:n.mode,href:r,body:nr(s)}}}),q({type:`hbox`,names:[`\\hbox`],props:{numArgs:1,argTypes:[`text`],allowedInText:!0,primitive:!0},handler(e,t){var{parser:n}=e;return{type:`hbox`,mode:n.mode,body:nr(t[0])}},htmlBuilder(e,t){return Rn(sr(e.body,t.withFont(``),!1))},mathmlBuilder(e,t){return new Y(`mrow`,Tr(e.body,t.withFont(``)))}}),q({type:`html`,names:[`\\htmlClass`,`\\htmlId`,`\\htmlStyle`,`\\htmlData`],props:{numArgs:2,argTypes:[`raw`,`original`],allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r,token:i}=e,a=Z(t[0],`raw`).string,o=t[1];n.settings.strict&&n.settings.reportNonstrict(`htmlExtension`,`HTML extension is disabled on strict mode`);var s,c={};switch(r){case`\\htmlClass`:c.class=a,s={command:`\\htmlClass`,class:a};break;case`\\htmlId`:c.id=a,s={command:`\\htmlId`,id:a};break;case`\\htmlStyle`:c.style=a,s={command:`\\htmlStyle`,style:a};break;case`\\htmlData`:for(var l=a.split(`,`),u=0;u<l.length;u++){var d=l[u],f=d.indexOf(`=`);if(f<0)throw new A(`\\htmlData key/value '`+d+`' missing equals sign`);var p=d.slice(0,f),m=d.slice(f+1);c[`data-`+p.trim()]=m}s={command:`\\htmlData`,attributes:c};break;default:throw Error(`Unrecognized html command`)}return n.settings.isTrusted(s)?{type:`html`,mode:n.mode,attributes:c,body:nr(o)}:n.formatUnsupportedCmd(r)},htmlBuilder:(e,t)=>{var n=sr(e.body,t,!1),r=[`enclosing`];e.attributes.class&&r.push(...e.attributes.class.trim().split(/\s+/));var i=G(r,n,t);for(var a in e.attributes)a!==`class`&&e.attributes.hasOwnProperty(a)&&i.setAttribute(a,e.attributes[a]);return i},mathmlBuilder:(e,t)=>Er(e.body,t)}),q({type:`htmlmathml`,names:[`\\html@mathml`],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e;return{type:`htmlmathml`,mode:n.mode,html:nr(t[0]),mathml:nr(t[1])}},htmlBuilder:(e,t)=>Rn(sr(e.html,t,!1)),mathmlBuilder:(e,t)=>Er(e.mathml,t)});var ba=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:`bp`};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new A(`Invalid size: '`+e+`' in \\includegraphics`);var n={number:+(t[1]+t[2]),unit:t[3]};if(!mt(n))throw new A(`Invalid unit: '`+n.unit+`' in \\includegraphics.`);return n};q({type:`includegraphics`,names:[`\\includegraphics`],props:{numArgs:1,numOptionalArgs:1,argTypes:[`raw`,`url`],allowedInText:!1},handler:(e,t,n)=>{var{parser:r}=e,i={number:0,unit:`em`},a={number:.9,unit:`em`},o={number:0,unit:`em`},s=``;if(n[0])for(var c=Z(n[0],`raw`).string.split(`,`),l=0;l<c.length;l++){var u=c[l].split(`=`);if(u.length===2){var d=u[1].trim();switch(u[0].trim()){case`alt`:s=d;break;case`width`:i=ba(d);break;case`height`:a=ba(d);break;case`totalheight`:o=ba(d);break;default:throw new A(`Invalid key: '`+u[0]+`' in \\includegraphics.`)}}}var f=Z(t[0],`url`).url;return s===``&&(s=f,s=s.replace(/^.*[\\/]/,``),s=s.substring(0,s.lastIndexOf(`.`))),r.settings.isTrusted({command:`\\includegraphics`,url:f})?{type:`includegraphics`,mode:r.mode,alt:s,width:i,height:a,totalheight:o,src:f}:r.formatUnsupportedCmd(`\\includegraphics`)},htmlBuilder:(e,t)=>{var n=ht(e.height,t),r=0;e.totalheight.number>0&&(r=ht(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=ht(e.width,t));var a={height:P(n+r)};i>0&&(a.width=P(i)),r>0&&(a.verticalAlign=P(-r));var o=new wt(e.src,e.alt,a);return o.height=n,o.depth=r,o},mathmlBuilder:(e,t)=>{var n=new Y(`mglyph`,[]);n.setAttribute(`alt`,e.alt);var r=ht(e.height,t),i=0;if(e.totalheight.number>0&&(i=ht(e.totalheight,t)-r,n.setAttribute(`valign`,P(-i))),n.setAttribute(`height`,P(r+i)),e.width.number>0){var a=ht(e.width,t);n.setAttribute(`width`,P(a))}return n.setAttribute(`src`,e.src),n}}),q({type:`kern`,names:[`\\kern`,`\\mkern`,`\\hskip`,`\\mskip`],props:{numArgs:1,argTypes:[`size`],primitive:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e,i=Z(t[0],`size`);if(n.settings.strict){var a=r[1]===`m`,o=i.value.unit===`mu`;a?(o||n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` supports only mu units, `+(`not `+i.value.unit+` units`)),n.mode!==`math`&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` works only in math mode`)):o&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` doesn't support mu units`)}return{type:`kern`,mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return Vn(e.dimension,t)},mathmlBuilder(e,t){return new _r(ht(e.dimension,t))}}),q({type:`lap`,names:[`\\mathllap`,`\\mathrlap`,`\\mathclap`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`lap`,mode:n.mode,alignment:r.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment===`clap`?(n=G([],[J(e.body,t)]),n=G([`inner`],[n],t)):n=G([`inner`],[J(e.body,t)]);var r=G([`fix`],[]),i=G([e.alignment],[n,r],t),a=G([`strut`]);return a.style.height=P(i.height+i.depth),i.depth&&(a.style.verticalAlign=P(-i.depth)),i.children.unshift(a),i=G([`thinbox`],[i],t),G([`mord`,`vbox`],[i],t)},mathmlBuilder:(e,t)=>{var n=new Y(`mpadded`,[X(e.body,t)]);if(e.alignment!==`rlap`){var r=e.alignment===`llap`?`-1`:`-0.5`;n.setAttribute(`lspace`,r+`width`)}return n.setAttribute(`width`,`0px`),n}}),q({type:`styling`,names:[`\\(`,`$`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:n,parser:r}=e,i=r.mode;r.switchMode(`math`);var a=n===`\\(`?`\\)`:`$`,o=r.parseExpression(!1,a);return r.expect(a),r.switchMode(i),{type:`styling`,mode:r.mode,style:`text`,resetFont:!0,body:o}}}),q({type:`text`,names:[`\\)`,`\\]`],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new A(`Mismatched `+e.funcName)}});var xa=(e,t)=>{switch(t.style.size){case N.DISPLAY.size:return e.display;case N.TEXT.size:return e.text;case N.SCRIPT.size:return e.script;case N.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};q({type:`mathchoice`,names:[`\\mathchoice`],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:n}=e;return{type:`mathchoice`,mode:n.mode,display:nr(t[0]),text:nr(t[1]),script:nr(t[2]),scriptscript:nr(t[3])}},htmlBuilder:(e,t)=>Rn(sr(xa(e,t),t,!1)),mathmlBuilder:(e,t)=>Er(xa(e,t),t)});var Sa=(e,t,n,r,i,a,o)=>{e=G([],[e]);var s=n&&Te(n),c,l;if(t){var u=J(t,r.havingStyle(i.sup()),r);l={elem:u,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-u.depth)}}if(n){var d=J(n,r.havingStyle(i.sub()),r);c={elem:d,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-d.height)}}var f;if(l&&c)f=K({positionType:`bottom`,positionData:r.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+e.depth+o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:P(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:P(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else if(c)f=K({positionType:`top`,positionData:e.height-o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:P(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e}]});else if(l)f=K({positionType:`bottom`,positionData:e.depth+o,children:[{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:P(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else return e;var p=[f];if(c&&a!==0&&!s){var m=G([`mspace`],[],r);m.style.marginRight=P(a),p.unshift(m)}return G([`mop`,`op-limits`],p,r)},Ca=new Set([`\\smallint`]),wa=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=Z(e.base,`op`),i=!0):a=Z(e,`op`);var o=t.style,s=!1;o.size===N.DISPLAY.size&&a.symbol&&!Ca.has(a.name)&&(s=!0);var c,l;if(a.symbol){var u=s?`Size2-Regular`:`Size1-Regular`,d=``;if((a.name===`\\oiint`||a.name===`\\oiiint`)&&(d=a.name.slice(1),a.name=d===`oiint`?`\\iint`:`\\iiint`),c=On(a.name,u,`math`,t,[`mop`,`op-symbol`,s?`large-op`:`small-op`]),l=c.italic,d.length>0){var f=Gn(d+`Size`+(s?`2`:`1`),t);c=K({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:0},{type:`elem`,elem:f,shift:s?.08:0}]}),a.name=`\\`+d,c.classes.unshift(`mop`),c.italic=l}}else if(a.body){var p=sr(a.body,t,!0);p.length===1&&p[0]instanceof Et?(c=p[0],c.classes[0]=`mop`):c=G([`mop`],p,t)}else{for(var m=[],h=1;h<a.name.length;h++)m.push(kn(a.name[h],a.mode,t));c=G([`mop`],m,t)}var g=0,_=0;return(c instanceof Et||a.name===`\\oiint`||a.name===`\\oiiint`)&&!a.suppressBaseShift&&(g=(c.height-c.depth)/2-t.fontMetrics().axisHeight,_=c.italic??0),i?Sa(c,n,r,t,o,_,g):(g&&(c.style.position=`relative`,c.style.top=P(g)),c)},Ta=(e,t)=>{var n;if(e.symbol)n=new Y(`mo`,[br(e.name,e.mode)]),Ca.has(e.name)&&n.setAttribute(`largeop`,`false`);else if(e.body)n=new Y(`mo`,Tr(e.body,t));else{n=new Y(`mi`,[new gr(e.name.slice(1))]);var r=new Y(`mo`,[br(`⁡`,`text`)]);n=e.parentIsSupSub?new Y(`mrow`,[n,r]):hr([n,r])}return n},Ea={"∏":`\\prod`,"∐":`\\coprod`,"∑":`\\sum`,"⋀":`\\bigwedge`,"⋁":`\\bigvee`,"⋂":`\\bigcap`,"⋃":`\\bigcup`,"⨀":`\\bigodot`,"⨁":`\\bigoplus`,"⨂":`\\bigotimes`,"⨄":`\\biguplus`,"⨆":`\\bigsqcup`};q({type:`op`,names:`\\coprod.\\bigvee.\\bigwedge.\\biguplus.\\bigcap.\\bigcup.\\intop.\\prod.\\sum.\\bigotimes.\\bigoplus.\\bigodot.\\bigsqcup.\\smallint.∏.∐.∑.⋀.⋁.⋂.⋃.⨀.⨁.⨂.⨄.⨆`.split(`.`),props:{numArgs:0},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=r;return i.length===1&&(i=Ea[i]),{type:`op`,mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:wa,mathmlBuilder:Ta}),q({type:`op`,names:[`\\mathop`],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`op`,mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:nr(r)}},htmlBuilder:wa,mathmlBuilder:Ta});var Da={"∫":`\\int`,"∬":`\\iint`,"∭":`\\iiint`,"∮":`\\oint`,"∯":`\\oiint`,"∰":`\\oiiint`};q({type:`op`,names:`\\arcsin.\\arccos.\\arctan.\\arctg.\\arcctg.\\arg.\\ch.\\cos.\\cosec.\\cosh.\\cot.\\cotg.\\coth.\\csc.\\ctg.\\cth.\\deg.\\dim.\\exp.\\hom.\\ker.\\lg.\\ln.\\log.\\sec.\\sin.\\sinh.\\sh.\\tan.\\tanh.\\tg.\\th`.split(`.`),props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:wa,mathmlBuilder:Ta}),q({type:`op`,names:[`\\det`,`\\gcd`,`\\inf`,`\\lim`,`\\max`,`\\min`,`\\Pr`,`\\sup`],props:{numArgs:0},handler(e){var{parser:t,funcName:n}=e;return{type:`op`,mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:wa,mathmlBuilder:Ta}),q({type:`op`,names:[`\\int`,`\\iint`,`\\iiint`,`\\oint`,`\\oiint`,`\\oiiint`,`∫`,`∬`,`∭`,`∮`,`∯`,`∰`],props:{numArgs:0,allowedInArgument:!0},handler(e){var{parser:t,funcName:n}=e,r=n;return r.length===1&&(r=Da[r]),{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:wa,mathmlBuilder:Ta});var Oa=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=Z(e.base,`operatorname`),i=!0):a=Z(e,`operatorname`);var o;if(a.body.length>0){for(var s=sr(a.body.map(e=>{var t=`text`in e?e.text:void 0;return typeof t==`string`?{type:`textord`,mode:e.mode,text:t}:e}),t.withFont(`mathrm`),!0),c=0;c<s.length;c++){var l=s[c];l instanceof Et&&(l.text=l.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`))}o=G([`mop`],s,t)}else o=G([`mop`],[],t);return i?Sa(o,n,r,t,t.style,0,0):o};q({type:`operatorname`,names:[`\\operatorname@`,`\\operatornamewithlimits`],props:{numArgs:1},handler:(e,t)=>{var{parser:n,funcName:r}=e,i=t[0];return{type:`operatorname`,mode:n.mode,body:nr(i),alwaysHandleSupSub:r===`\\operatornamewithlimits`,limits:!1,parentIsSupSub:!1}},htmlBuilder:Oa,mathmlBuilder:(e,t)=>{for(var n=Tr(e.body,t.withFont(`mathrm`)),r=!0,i=0;i<n.length;i++){var a=n[i];if(!(a instanceof _r))if(a instanceof Y)switch(a.type){case`mi`:case`mn`:case`mspace`:case`mtext`:break;case`mo`:var o=a.children[0];a.children.length===1&&o instanceof gr?o.text=o.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`):r=!1;break;default:r=!1}else r=!1}r&&(n=[new gr(n.map(e=>e.toText()).join(``))]);var s=new Y(`mi`,n);s.setAttribute(`mathvariant`,`normal`);var c=new Y(`mo`,[br(`⁡`,`text`)]);return e.parentIsSupSub?new Y(`mrow`,[s,c]):hr([s,c])}}),Q(`\\operatorname`,`\\@ifstar\\operatornamewithlimits\\operatorname@`),er({type:`ordgroup`,htmlBuilder(e,t){return e.semisimple?Rn(sr(e.body,t,!1)):G([`mord`],sr(e.body,t,!0),t)},mathmlBuilder(e,t){return Er(e.body,t,!0)}}),q({type:`overline`,names:[`\\overline`],props:{numArgs:1},handler(e,t){var{parser:n}=e,r=t[0];return{type:`overline`,mode:n.mode,body:r}},htmlBuilder(e,t){var n=J(e.body,t.havingCrampedStyle()),r=In(`overline-line`,t),i=t.fontMetrics().defaultRuleThickness;return G([`mord`,`overline`],[K({positionType:`firstBaseline`,children:[{type:`elem`,elem:n},{type:`kern`,size:3*i},{type:`elem`,elem:r},{type:`kern`,size:i}]})],t)},mathmlBuilder(e,t){var n=new Y(`mo`,[new gr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new Y(`mover`,[X(e.body,t),n]);return r.setAttribute(`accent`,`true`),r}}),q({type:`phantom`,names:[`\\phantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`phantom`,mode:n.mode,body:nr(r)}},htmlBuilder:(e,t)=>Rn(sr(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new Y(`mphantom`,Tr(e.body,t))}),Q(`\\hphantom`,`\\smash{\\phantom{#1}}`),q({type:`vphantom`,names:[`\\vphantom`],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:n}=e,r=t[0];return{type:`vphantom`,mode:n.mode,body:r}},htmlBuilder:(e,t)=>G([`mord`,`rlap`],[G([`inner`],[J(e.body,t.withPhantom())]),G([`fix`],[])],t),mathmlBuilder:(e,t)=>{var n=new Y(`mpadded`,[new Y(`mphantom`,Tr(nr(e.body),t))]);return n.setAttribute(`width`,`0px`),n}}),q({type:`raisebox`,names:[`\\raisebox`],props:{numArgs:2,argTypes:[`size`,`hbox`],allowedInText:!0},handler(e,t){var{parser:n}=e,r=Z(t[0],`size`).value,i=t[1];return{type:`raisebox`,mode:n.mode,dy:r,body:i}},htmlBuilder(e,t){var n=J(e.body,t);return K({positionType:`shift`,positionData:-ht(e.dy,t),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){var n=new Y(`mpadded`,[X(e.body,t)]),r=e.dy.number+e.dy.unit;return n.setAttribute(`voffset`,r),n}}),q({type:`internal`,names:[`\\relax`],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){var{parser:t}=e;return{type:`internal`,mode:t.mode}}}),q({type:`rule`,names:[`\\rule`],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`size`,`size`,`size`]},handler(e,t,n){var{parser:r}=e,i=n[0],a=Z(t[0],`size`),o=Z(t[1],`size`);return{type:`rule`,mode:r.mode,shift:i&&Z(i,`size`).value,width:a.value,height:o.value}},htmlBuilder(e,t){var n=G([`mord`,`rule`],[],t),r=ht(e.width,t),i=ht(e.height,t),a=e.shift?ht(e.shift,t):0;return n.style.borderRightWidth=P(r),n.style.borderTopWidth=P(i),n.style.bottom=P(a),n.width=r,n.height=i+a,n.depth=-a,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=ht(e.width,t),r=ht(e.height,t),i=e.shift?ht(e.shift,t):0,a=t.color&&t.getColor()||`black`,o=new Y(`mspace`);o.setAttribute(`mathbackground`,a),o.setAttribute(`width`,P(n)),o.setAttribute(`height`,P(r));var s=new Y(`mpadded`,[o]);return i>=0?s.setAttribute(`height`,P(i)):(s.setAttribute(`height`,P(i)),s.setAttribute(`depth`,P(-i))),s.setAttribute(`voffset`,P(i)),s}});function ka(e,t,n){for(var r=sr(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,a=0;a<r.length;a++){var o=r[a].classes.indexOf(`sizing`);o<0?Array.prototype.push.apply(r[a].classes,t.sizingClasses(n)):r[a].classes[o+1]===`reset-size`+t.size&&(r[a].classes[o+1]=`reset-size`+n.size),r[a].height*=i,r[a].depth*=i}return Rn(r)}var Aa=[`\\tiny`,`\\sixptsize`,`\\scriptsize`,`\\footnotesize`,`\\small`,`\\normalsize`,`\\large`,`\\Large`,`\\LARGE`,`\\huge`,`\\Huge`];q({type:`sizing`,names:Aa,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!1,n);return{type:`sizing`,mode:i.mode,size:Aa.indexOf(r)+1,body:a}},htmlBuilder:(e,t)=>{var n=t.havingSize(e.size);return ka(e.body,n,t)},mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),r=new Y(`mstyle`,Tr(e.body,n));return r.setAttribute(`mathsize`,P(n.sizeMultiplier)),r}}),q({type:`smash`,names:[`\\smash`],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,n)=>{var{parser:r}=e,i=!1,a=!1,o=n[0]&&Z(n[0],`ordgroup`);if(o)for(var s,c=0;c<o.body.length;++c){var l=o.body[c];if(s=Gr(l).text,s===`t`)i=!0;else if(s===`b`)a=!0;else{i=!1,a=!1;break}}else i=!0,a=!0;var u=t[0];return{type:`smash`,mode:r.mode,body:u,smashHeight:i,smashDepth:a}},htmlBuilder:(e,t)=>{var n=G([],[J(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return G([`mord`,`smash`],[n],t);if(n.children)for(var r=0;r<n.children.length;r++)e.smashHeight&&(n.children[r].height=0),e.smashDepth&&(n.children[r].depth=0);return G([`mord`],[K({positionType:`firstBaseline`,children:[{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=new Y(`mpadded`,[X(e.body,t)]);return e.smashHeight&&n.setAttribute(`height`,`0px`),e.smashDepth&&n.setAttribute(`depth`,`0px`),n}}),q({type:`sqrt`,names:[`\\sqrt`],props:{numArgs:1,numOptionalArgs:1},handler(e,t,n){var{parser:r}=e,i=n[0],a=t[0];return{type:`sqrt`,mode:r.mode,body:a,index:i}},htmlBuilder(e,t){var n=J(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=zn(n,t);var r=t.fontMetrics().defaultRuleThickness,i=r;t.style.id<N.TEXT.id&&(i=t.fontMetrics().xHeight);var a=r+i/4,{span:o,ruleWidth:s,advanceWidth:c}=ki(n.height+n.depth+a+r,t),l=o.height-s;l>n.height+n.depth+a&&(a=(a+l-n.height-n.depth)/2);var u=o.height-n.height-a-s;n.style.paddingLeft=P(c);var d=K({positionType:`firstBaseline`,children:[{type:`elem`,elem:n,wrapperClasses:[`svg-align`]},{type:`kern`,size:-(n.height+u)},{type:`elem`,elem:o},{type:`kern`,size:s}]});if(e.index){var f=t.havingStyle(N.SCRIPTSCRIPT),p=J(e.index,f,t);return G([`mord`,`sqrt`],[G([`root`],[K({positionType:`shift`,positionData:-(.6*(d.height-d.depth)),children:[{type:`elem`,elem:p}]})]),d],t)}else return G([`mord`,`sqrt`],[d],t)},mathmlBuilder(e,t){var{body:n,index:r}=e;return r?new Y(`mroot`,[X(n,t),X(r,t)]):new Y(`msqrt`,[X(n,t)])}});var ja={display:N.DISPLAY,text:N.TEXT,script:N.SCRIPT,scriptscript:N.SCRIPTSCRIPT};function Ma(e){return e in ja}q({type:`styling`,names:[`\\displaystyle`,`\\textstyle`,`\\scriptstyle`,`\\scriptscriptstyle`],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:n,funcName:r,parser:i}=e,a=i.parseExpression(!0,n),o=r.slice(1,r.length-5);if(!Ma(o))throw Error(`Unknown style: `+o);return{type:`styling`,mode:i.mode,style:o,body:a}},htmlBuilder(e,t){var n=ja[e.style],r=t.havingStyle(n);return e.resetFont&&(r=r.withFont(``)),ka(e.body,r,t)},mathmlBuilder(e,t){var n=ja[e.style],r=t.havingStyle(n);e.resetFont&&(r=r.withFont(``));var i=new Y(`mstyle`,Tr(e.body,r)),a={display:[`0`,`true`],text:[`0`,`false`],script:[`1`,`false`],scriptscript:[`2`,`false`]}[e.style];return i.setAttribute(`scriptlevel`,a[0]),i.setAttribute(`displaystyle`,a[1]),i}});var Na=function(e,t){var n=e.base;return n?n.type===`op`?n.limits&&(t.style.size===N.DISPLAY.size||n.alwaysHandleSupSub)?wa:null:n.type===`operatorname`?n.alwaysHandleSupSub&&(t.style.size===N.DISPLAY.size||n.limits)?Oa:null:n.type===`accent`?Te(n.base)?Jr:null:n.type===`horizBrace`&&!e.sub===n.isOver?ya:null:null};er({type:`supsub`,htmlBuilder(e,t){var n=Na(e,t);if(n)return n(e,t);var{base:r,sup:i,sub:a}=e,o=J(r,t),s,c,l=t.fontMetrics(),u=0,d=0,f=r&&Te(r);if(i){var p=t.havingStyle(t.style.sup());s=J(i,p,t),f||(u=o.height-p.fontMetrics().supDrop*p.sizeMultiplier/t.sizeMultiplier)}if(a){var m=t.havingStyle(t.style.sub());c=J(a,m,t),f||(d=o.depth+m.fontMetrics().subDrop*m.sizeMultiplier/t.sizeMultiplier)}var h=t.style===N.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2,g=t.sizeMultiplier,_=P(.5/l.ptPerEm/g),v=null;if(c){var y=e.base&&e.base.type===`op`&&e.base.name&&(e.base.name===`\\oiint`||e.base.name===`\\oiiint`);(o instanceof Et||y)&&(v=P(-(o.italic??0)))}var b;if(s&&c){u=Math.max(u,h,s.depth+.25*l.xHeight),d=Math.max(d,l.sub2);var x=4*l.defaultRuleThickness;if(u-s.depth-(c.height-d)<x){d=x-(u-s.depth)+c.height;var S=.8*l.xHeight-(u-s.depth);S>0&&(u+=S,d-=S)}b=K({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:d,marginRight:_,marginLeft:v},{type:`elem`,elem:s,shift:-u,marginRight:_}]})}else if(c)d=Math.max(d,l.sub1,c.height-.8*l.xHeight),b=K({positionType:`shift`,positionData:d,children:[{type:`elem`,elem:c,marginLeft:v,marginRight:_}]});else if(s)u=Math.max(u,h,s.depth+.25*l.xHeight),b=K({positionType:`shift`,positionData:-u,children:[{type:`elem`,elem:s,marginRight:_}]});else throw Error(`supsub must have either sup or sub.`);return G([dr(o,`right`)||`mord`],[o,G([`msupsub`],[b])],t)},mathmlBuilder(e,t){var n=!1,r,i;e.base&&e.base.type===`horizBrace`&&(i=!!e.sup,i===e.base.isOver&&(n=!0,r=e.base.isOver)),e.base&&(e.base.type===`op`||e.base.type===`operatorname`)&&(e.base.parentIsSupSub=!0);var a=[X(e.base,t)];e.sub&&a.push(X(e.sub,t)),e.sup&&a.push(X(e.sup,t));var o;if(n)o=r?`mover`:`munder`;else if(!e.sub){var s=e.base;o=s&&s.type===`op`&&s.limits&&(t.style===N.DISPLAY||s.alwaysHandleSupSub)||s&&s.type===`operatorname`&&s.alwaysHandleSupSub&&(s.limits||t.style===N.DISPLAY)?`mover`:`msup`}else if(e.sup){var c=e.base;o=c&&c.type===`op`&&c.limits&&t.style===N.DISPLAY||c&&c.type===`operatorname`&&c.alwaysHandleSupSub&&(t.style===N.DISPLAY||c.limits)?`munderover`:`msubsup`}else{var l=e.base;o=l&&l.type===`op`&&l.limits&&(t.style===N.DISPLAY||l.alwaysHandleSupSub)||l&&l.type===`operatorname`&&l.alwaysHandleSupSub&&(l.limits||t.style===N.DISPLAY)?`munder`:`msub`}return new Y(o,a)}}),er({type:`atom`,htmlBuilder(e,t){return kn(e.text,e.mode,t,[`m`+e.family])},mathmlBuilder(e,t){var n=new Y(`mo`,[br(e.text,e.mode)]);if(e.family===`bin`){var r=Cr(e,t);r===`bold-italic`&&n.setAttribute(`mathvariant`,r)}else e.family===`punct`?n.setAttribute(`separator`,`true`):(e.family===`open`||e.family===`close`)&&n.setAttribute(`stretchy`,`false`);return n}});var Pa={mi:`italic`,mn:`normal`,mtext:`normal`};er({type:`mathord`,htmlBuilder(e,t){return jn(e,t,`mathord`)},mathmlBuilder(e,t){var n=new Y(`mi`,[br(e.text,e.mode,t)]),r=Cr(e,t)||`italic`;return r!==Pa[n.type]&&n.setAttribute(`mathvariant`,r),n}}),er({type:`textord`,htmlBuilder(e,t){return jn(e,t,`textord`)},mathmlBuilder(e,t){var n=br(e.text,e.mode,t),r=Cr(e,t)||`normal`,i=e.mode===`text`?new Y(`mtext`,[n]):/[0-9]/.test(e.text)?new Y(`mn`,[n]):e.text===`\\prime`?new Y(`mo`,[n]):new Y(`mi`,[n]);return r!==Pa[i.type]&&i.setAttribute(`mathvariant`,r),i}});var Fa={"\\nobreak":`nobreak`,"\\allowbreak":`allowbreak`},Ia={" ":{},"\\ ":{},"~":{className:`nobreak`},"\\space":{},"\\nobreakspace":{className:`nobreak`}};er({type:`spacing`,htmlBuilder(e,t){if(Ia.hasOwnProperty(e.text)){var n=Ia[e.text].className||``;if(e.mode===`text`){var r=jn(e,t,`textord`);return r.classes.push(n),r}else return G([`mspace`,n],[kn(e.text,e.mode,t)],t)}else if(Fa.hasOwnProperty(e.text))return G([`mspace`,Fa[e.text]],[],t);else throw new A(`Unknown type of space "`+e.text+`"`)},mathmlBuilder(e,t){var n;if(Ia.hasOwnProperty(e.text))n=new Y(`mtext`,[new gr(`\xA0`)]);else if(Fa.hasOwnProperty(e.text))return new Y(`mspace`);else throw new A(`Unknown type of space "`+e.text+`"`);return n}});var La=()=>{var e=new Y(`mtd`,[]);return e.setAttribute(`width`,`50%`),e};er({type:`tag`,mathmlBuilder(e,t){var n=new Y(`mtable`,[new Y(`mtr`,[La(),new Y(`mtd`,[Er(e.body,t)]),La(),new Y(`mtd`,[Er(e.tag,t)])])]);return n.setAttribute(`width`,`100%`),n}});var Ra={"\\text":void 0,"\\textrm":`textrm`,"\\textsf":`textsf`,"\\texttt":`texttt`,"\\textnormal":`textrm`},za={"\\textbf":`textbf`,"\\textmd":`textmd`},Ba={"\\textit":`textit`,"\\textup":`textup`},Va=(e,t)=>{var n=e.font;return n?Ra[n]?t.withTextFontFamily(Ra[n]):za[n]?t.withTextFontWeight(za[n]):n===`\\emph`?t.fontShape===`textit`?t.withTextFontShape(`textup`):t.withTextFontShape(`textit`):t.withTextFontShape(Ba[n]):t};q({type:`text`,names:[`\\text`,`\\textrm`,`\\textsf`,`\\texttt`,`\\textnormal`,`\\textbf`,`\\textmd`,`\\textit`,`\\textup`,`\\emph`],props:{numArgs:1,argTypes:[`text`],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:n,funcName:r}=e,i=t[0];return{type:`text`,mode:n.mode,body:nr(i),font:r}},htmlBuilder(e,t){var n=Va(e,t);return G([`mord`,`text`],sr(e.body,n,!0),n)},mathmlBuilder(e,t){var n=Va(e,t);return Er(e.body,n)}}),q({type:`underline`,names:[`\\underline`],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:n}=e;return{type:`underline`,mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=J(e.body,t),r=In(`underline-line`,t),i=t.fontMetrics().defaultRuleThickness;return G([`mord`,`underline`],[K({positionType:`top`,positionData:n.height,children:[{type:`kern`,size:i},{type:`elem`,elem:r},{type:`kern`,size:3*i},{type:`elem`,elem:n}]})],t)},mathmlBuilder(e,t){var n=new Y(`mo`,[new gr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new Y(`munder`,[X(e.body,t),n]);return r.setAttribute(`accentunder`,`true`),r}}),q({type:`vcenter`,names:[`\\vcenter`],props:{numArgs:1,argTypes:[`original`],allowedInText:!1},handler(e,t){var{parser:n}=e;return{type:`vcenter`,mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=J(e.body,t),r=t.fontMetrics().axisHeight;return K({positionType:`shift`,positionData:.5*(n.height-r-(n.depth+r)),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){return new Y(`mrow`,[new Y(`mpadded`,[X(e.body,t)],[`vcenter`])])}}),q({type:`verb`,names:[`\\verb`],props:{numArgs:0,allowedInText:!0},handler(e,t,n){throw new A(`\\verb ended by end of line instead of matching delimiter`)},htmlBuilder(e,t){for(var n=Ha(e),r=[],i=t.havingStyle(t.style.text()),a=0;a<n.length;a++){var o=n[a];o===`~`&&(o=`\\textasciitilde`),r.push(On(o,`Typewriter-Regular`,e.mode,i,[`mord`,`texttt`]))}return G([`mord`,`text`].concat(i.sizingClasses(t)),Nn(r),i)},mathmlBuilder(e,t){var n=new Y(`mtext`,[new gr(Ha(e))]);return n.setAttribute(`mathvariant`,`monospace`),n}});var Ha=e=>e.body.replace(/ /g,e.star?`␣`:`\xA0`),Ua=Zn,Wa=`[ \r
253
- ]`,Ga=`\\\\[a-zA-Z@]+`,Ka=`\\\\[^\ud800-\udfff]`,qa=`(`+Ga+`)`+Wa+`*`,Ja=`\\\\(
251
+ -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw Error(`Unknown stretchy delimiter.`)}};function xt(e){return`toText`in e}var St=class{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e=``,t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if(xt(e))return e.toText();throw Error(`Expected MathDomNode with toText, got `+e.constructor.name)}).join(``)}},Ct={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},wt={ex:!0,em:!0,mu:!0},Tt=function(e){return typeof e!=`string`&&(e=e.unit),e in Ct||e in wt||e===`ex`},Et=function(e,t){var n;if(e.unit in Ct)n=Ct[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit===`mu`)n=t.fontMetrics().cssEmPerMu;else{var r=t.style.isTight()?t.havingStyle(t.style.text()):t;if(e.unit===`ex`)n=r.fontMetrics().xHeight;else if(e.unit===`em`)n=r.fontMetrics().quad;else throw new A(`Invalid unit: '`+e.unit+`'`);r!==t&&(n*=r.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},F=function(e){return+e.toFixed(4)+`em`},Dt=function(e){return e.filter(e=>e).join(` `)},Ot=function(e){var t=``;for(var n of Object.keys(e)){var r=e[n];r!==void 0&&(t+=Me(n)+`:`+r+`;`)}return t},kt=function(e,t,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},t){t.style.isTight()&&this.classes.push(`mtight`);var r=t.getColor();r&&(this.style.color=r)}},At=function(e){var t=document.createElement(e);t.className=Dt(this.classes),Object.assign(t.style,this.style);for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},jt=/[\s"'>/=\x00-\x1f]/,Mt=function(e){var t=`<`+e;this.classes.length&&(t+=` class="`+Fe(Dt(this.classes))+`"`);var n=Ot(this.style);n&&(t+=` style="`+Fe(n)+`"`);for(var r of Object.keys(this.attributes)){if(jt.test(r))throw new A(`Invalid attribute name '`+r+`'`);t+=` `+r+`="`+Fe(this.attributes[r])+`"`}t+=`>`;for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+=`</`+e+`>`,t},Nt=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,kt.call(this,e,n,r),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return At.call(this,`span`)}toMarkup(){return Mt.call(this,`span`)}},Pt=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,kt.call(this,t,r),this.children=n||[],this.setAttribute(`href`,e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return At.call(this,`a`)}toMarkup(){return Mt.call(this,`a`)}},Ft=class{constructor(e,t,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=[`mord`],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement(`img`);return e.src=this.src,e.alt=this.alt,e.className=`mord`,Object.assign(e.style,this.style),e}toMarkup(){var e=`<img src="`+Fe(this.src)+`"`+(` alt="`+Fe(this.alt)+`"`),t=Ot(this.style);return t&&(e+=` style="`+Fe(t)+`"`),e+=`'/>`,e}},It={î:`ı̂`,ï:`ı̈`,í:`ı́`,ì:`ı̀`},Lt=class{constructor(e,t,n,r,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=n||0,this.italic=r||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var c=ot(this.text.charCodeAt(0));c&&this.classes.push(c+`_fallback`),/[îïíì]/.test(this.text)&&(this.text=It[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement(`span`),t.style.marginRight=F(this.italic)),this.classes.length>0&&(t||=document.createElement(`span`),t.className=Dt(this.classes)),Object.keys(this.style).length>0&&(t||=document.createElement(`span`),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t=`<span`;this.classes.length&&(e=!0,t+=` class="`,t+=Fe(Dt(this.classes)),t+=`"`);var n=``;this.italic>0&&(n+=`margin-right:`+F(this.italic)+`;`),n+=Ot(this.style),n&&(e=!0,t+=` style="`+Fe(n)+`"`);var r=Fe(this.text);return e?(t+=`>`,t+=r,t+=`</span>`,t):r}},Rt=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var n=0;n<this.children.length;n++)e.appendChild(this.children[n].toNode());return e}toMarkup(){var e=`<svg xmlns="http://www.w3.org/2000/svg"`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+Fe(this.attributes[t])+`"`;e+=`>`;for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+=`</svg>`,e}},zt=class{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return this.alternate?e.setAttribute(`d`,this.alternate):e.setAttribute(`d`,yt[this.pathName]),e}toMarkup(){return this.alternate?`<path d="`+Fe(this.alternate)+`"/>`:`<path d="`+Fe(yt[this.pathName])+`"/>`}},Bt=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`line`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=`<line`;for(var t of Object.keys(this.attributes))e+=` `+t+`="`+Fe(this.attributes[t])+`"`;return e+=`/>`,e}};function Vt(e){if(e instanceof Lt)return e;throw Error(`Expected symbolNode but got `+String(e)+`.`)}function Ht(e){if(e instanceof Nt)return e;throw Error(`Expected span<HtmlDomNode> but got `+String(e)+`.`)}var Ut=e=>e instanceof Nt||e instanceof Pt||e instanceof St,Wt={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Gt={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Kt={Å:`A`,Ð:`D`,Þ:`o`,å:`a`,ð:`d`,þ:`o`,А:`A`,Б:`B`,В:`B`,Г:`F`,Д:`A`,Е:`E`,Ж:`K`,З:`3`,И:`N`,Й:`N`,К:`K`,Л:`N`,М:`M`,Н:`H`,О:`O`,П:`N`,Р:`P`,С:`C`,Т:`T`,У:`y`,Ф:`O`,Х:`X`,Ц:`U`,Ч:`h`,Ш:`W`,Щ:`W`,Ъ:`B`,Ы:`X`,Ь:`B`,Э:`3`,Ю:`X`,Я:`R`,а:`a`,б:`b`,в:`a`,г:`r`,д:`y`,е:`e`,ж:`m`,з:`e`,и:`n`,й:`n`,к:`n`,л:`n`,м:`m`,н:`n`,о:`o`,п:`n`,р:`p`,с:`c`,т:`o`,у:`y`,ф:`b`,х:`x`,ц:`n`,ч:`n`,ш:`w`,щ:`w`,ъ:`a`,ы:`m`,ь:`a`,э:`e`,ю:`m`,я:`r`};function qt(e,t){Wt[e]=t}function Jt(e,t,n){if(!Wt[t])throw Error(`Font metrics not found for font: `+t+`.`);var r=e.charCodeAt(0),i=Wt[t][r];if(!i&&e[0]in Kt&&(r=Kt[e[0]].charCodeAt(0),i=Wt[t][r]),!i&&n===`text`&&ct(r)&&(i=Wt[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Yt={};function Xt(e){var t=e>=5?0:e>=3?1:2;if(!Yt[t]){var n=Yt[t]={cssEmPerMu:Gt.quad[t]/18};for(var r of Object.keys(Gt))n[r]=Gt[r][t]}return Yt[t]}var Zt={math:{},text:{}};function I(e,t,n,r,i,a){Zt[e][i]={font:t,group:n,replace:r},a&&r&&(Zt[e][r]=Zt[e][i])}var L=`math`,R=`text`,z=`main`,B=`ams`,Qt=`accent-token`,V=`bin`,$t=`close`,en=`inner`,H=`mathord`,tn=`op-token`,nn=`open`,rn=`punct`,U=`rel`,an=`spacing`,W=`textord`;I(L,z,U,`≡`,`\\equiv`,!0),I(L,z,U,`≺`,`\\prec`,!0),I(L,z,U,`≻`,`\\succ`,!0),I(L,z,U,`∼`,`\\sim`,!0),I(L,z,U,`⊥`,`\\perp`),I(L,z,U,`⪯`,`\\preceq`,!0),I(L,z,U,`⪰`,`\\succeq`,!0),I(L,z,U,`≃`,`\\simeq`,!0),I(L,z,U,`∣`,`\\mid`,!0),I(L,z,U,`≪`,`\\ll`,!0),I(L,z,U,`≫`,`\\gg`,!0),I(L,z,U,`≍`,`\\asymp`,!0),I(L,z,U,`∥`,`\\parallel`),I(L,z,U,`⋈`,`\\bowtie`,!0),I(L,z,U,`⌣`,`\\smile`,!0),I(L,z,U,`⊑`,`\\sqsubseteq`,!0),I(L,z,U,`⊒`,`\\sqsupseteq`,!0),I(L,z,U,`≐`,`\\doteq`,!0),I(L,z,U,`⌢`,`\\frown`,!0),I(L,z,U,`∋`,`\\ni`,!0),I(L,z,U,`∝`,`\\propto`,!0),I(L,z,U,`⊢`,`\\vdash`,!0),I(L,z,U,`⊣`,`\\dashv`,!0),I(L,z,U,`∋`,`\\owns`),I(L,z,rn,`.`,`\\ldotp`),I(L,z,rn,`⋅`,`\\cdotp`),I(L,z,rn,`⋅`,`·`),I(R,z,W,`⋅`,`·`),I(L,z,W,`#`,`\\#`),I(R,z,W,`#`,`\\#`),I(L,z,W,`&`,`\\&`),I(R,z,W,`&`,`\\&`),I(L,z,W,`ℵ`,`\\aleph`,!0),I(L,z,W,`∀`,`\\forall`,!0),I(L,z,W,`ℏ`,`\\hbar`,!0),I(L,z,W,`∃`,`\\exists`,!0),I(L,z,W,`∇`,`\\nabla`,!0),I(L,z,W,`♭`,`\\flat`,!0),I(L,z,W,`ℓ`,`\\ell`,!0),I(L,z,W,`♮`,`\\natural`,!0),I(L,z,W,`♣`,`\\clubsuit`,!0),I(L,z,W,`℘`,`\\wp`,!0),I(L,z,W,`♯`,`\\sharp`,!0),I(L,z,W,`♢`,`\\diamondsuit`,!0),I(L,z,W,`ℜ`,`\\Re`,!0),I(L,z,W,`♡`,`\\heartsuit`,!0),I(L,z,W,`ℑ`,`\\Im`,!0),I(L,z,W,`♠`,`\\spadesuit`,!0),I(L,z,W,`§`,`\\S`,!0),I(R,z,W,`§`,`\\S`),I(L,z,W,`¶`,`\\P`,!0),I(R,z,W,`¶`,`\\P`),I(L,z,W,`†`,`\\dag`),I(R,z,W,`†`,`\\dag`),I(R,z,W,`†`,`\\textdagger`),I(L,z,W,`‡`,`\\ddag`),I(R,z,W,`‡`,`\\ddag`),I(R,z,W,`‡`,`\\textdaggerdbl`),I(L,z,$t,`⎱`,`\\rmoustache`,!0),I(L,z,nn,`⎰`,`\\lmoustache`,!0),I(L,z,$t,`⟯`,`\\rgroup`,!0),I(L,z,nn,`⟮`,`\\lgroup`,!0),I(L,z,V,`∓`,`\\mp`,!0),I(L,z,V,`⊖`,`\\ominus`,!0),I(L,z,V,`⊎`,`\\uplus`,!0),I(L,z,V,`⊓`,`\\sqcap`,!0),I(L,z,V,`∗`,`\\ast`),I(L,z,V,`⊔`,`\\sqcup`,!0),I(L,z,V,`◯`,`\\bigcirc`,!0),I(L,z,V,`∙`,`\\bullet`,!0),I(L,z,V,`‡`,`\\ddagger`),I(L,z,V,`≀`,`\\wr`,!0),I(L,z,V,`⨿`,`\\amalg`),I(L,z,V,`&`,`\\And`),I(L,z,U,`⟵`,`\\longleftarrow`,!0),I(L,z,U,`⇐`,`\\Leftarrow`,!0),I(L,z,U,`⟸`,`\\Longleftarrow`,!0),I(L,z,U,`⟶`,`\\longrightarrow`,!0),I(L,z,U,`⇒`,`\\Rightarrow`,!0),I(L,z,U,`⟹`,`\\Longrightarrow`,!0),I(L,z,U,`↔`,`\\leftrightarrow`,!0),I(L,z,U,`⟷`,`\\longleftrightarrow`,!0),I(L,z,U,`⇔`,`\\Leftrightarrow`,!0),I(L,z,U,`⟺`,`\\Longleftrightarrow`,!0),I(L,z,U,`↦`,`\\mapsto`,!0),I(L,z,U,`⟼`,`\\longmapsto`,!0),I(L,z,U,`↗`,`\\nearrow`,!0),I(L,z,U,`↩`,`\\hookleftarrow`,!0),I(L,z,U,`↪`,`\\hookrightarrow`,!0),I(L,z,U,`↘`,`\\searrow`,!0),I(L,z,U,`↼`,`\\leftharpoonup`,!0),I(L,z,U,`⇀`,`\\rightharpoonup`,!0),I(L,z,U,`↙`,`\\swarrow`,!0),I(L,z,U,`↽`,`\\leftharpoondown`,!0),I(L,z,U,`⇁`,`\\rightharpoondown`,!0),I(L,z,U,`↖`,`\\nwarrow`,!0),I(L,z,U,`⇌`,`\\rightleftharpoons`,!0),I(L,B,U,`≮`,`\\nless`,!0),I(L,B,U,``,`\\@nleqslant`),I(L,B,U,``,`\\@nleqq`),I(L,B,U,`⪇`,`\\lneq`,!0),I(L,B,U,`≨`,`\\lneqq`,!0),I(L,B,U,``,`\\@lvertneqq`),I(L,B,U,`⋦`,`\\lnsim`,!0),I(L,B,U,`⪉`,`\\lnapprox`,!0),I(L,B,U,`⊀`,`\\nprec`,!0),I(L,B,U,`⋠`,`\\npreceq`,!0),I(L,B,U,`⋨`,`\\precnsim`,!0),I(L,B,U,`⪹`,`\\precnapprox`,!0),I(L,B,U,`≁`,`\\nsim`,!0),I(L,B,U,``,`\\@nshortmid`),I(L,B,U,`∤`,`\\nmid`,!0),I(L,B,U,`⊬`,`\\nvdash`,!0),I(L,B,U,`⊭`,`\\nvDash`,!0),I(L,B,U,`⋪`,`\\ntriangleleft`),I(L,B,U,`⋬`,`\\ntrianglelefteq`,!0),I(L,B,U,`⊊`,`\\subsetneq`,!0),I(L,B,U,``,`\\@varsubsetneq`),I(L,B,U,`⫋`,`\\subsetneqq`,!0),I(L,B,U,``,`\\@varsubsetneqq`),I(L,B,U,`≯`,`\\ngtr`,!0),I(L,B,U,``,`\\@ngeqslant`),I(L,B,U,``,`\\@ngeqq`),I(L,B,U,`⪈`,`\\gneq`,!0),I(L,B,U,`≩`,`\\gneqq`,!0),I(L,B,U,``,`\\@gvertneqq`),I(L,B,U,`⋧`,`\\gnsim`,!0),I(L,B,U,`⪊`,`\\gnapprox`,!0),I(L,B,U,`⊁`,`\\nsucc`,!0),I(L,B,U,`⋡`,`\\nsucceq`,!0),I(L,B,U,`⋩`,`\\succnsim`,!0),I(L,B,U,`⪺`,`\\succnapprox`,!0),I(L,B,U,`≆`,`\\ncong`,!0),I(L,B,U,``,`\\@nshortparallel`),I(L,B,U,`∦`,`\\nparallel`,!0),I(L,B,U,`⊯`,`\\nVDash`,!0),I(L,B,U,`⋫`,`\\ntriangleright`),I(L,B,U,`⋭`,`\\ntrianglerighteq`,!0),I(L,B,U,``,`\\@nsupseteqq`),I(L,B,U,`⊋`,`\\supsetneq`,!0),I(L,B,U,``,`\\@varsupsetneq`),I(L,B,U,`⫌`,`\\supsetneqq`,!0),I(L,B,U,``,`\\@varsupsetneqq`),I(L,B,U,`⊮`,`\\nVdash`,!0),I(L,B,U,`⪵`,`\\precneqq`,!0),I(L,B,U,`⪶`,`\\succneqq`,!0),I(L,B,U,``,`\\@nsubseteqq`),I(L,B,V,`⊴`,`\\unlhd`),I(L,B,V,`⊵`,`\\unrhd`),I(L,B,U,`↚`,`\\nleftarrow`,!0),I(L,B,U,`↛`,`\\nrightarrow`,!0),I(L,B,U,`⇍`,`\\nLeftarrow`,!0),I(L,B,U,`⇏`,`\\nRightarrow`,!0),I(L,B,U,`↮`,`\\nleftrightarrow`,!0),I(L,B,U,`⇎`,`\\nLeftrightarrow`,!0),I(L,B,U,`△`,`\\vartriangle`),I(L,B,W,`ℏ`,`\\hslash`),I(L,B,W,`▽`,`\\triangledown`),I(L,B,W,`◊`,`\\lozenge`),I(L,B,W,`Ⓢ`,`\\circledS`),I(L,B,W,`®`,`\\circledR`),I(R,B,W,`®`,`\\circledR`),I(L,B,W,`∡`,`\\measuredangle`,!0),I(L,B,W,`∄`,`\\nexists`),I(L,B,W,`℧`,`\\mho`),I(L,B,W,`Ⅎ`,`\\Finv`,!0),I(L,B,W,`⅁`,`\\Game`,!0),I(L,B,W,`‵`,`\\backprime`),I(L,B,W,`▲`,`\\blacktriangle`),I(L,B,W,`▼`,`\\blacktriangledown`),I(L,B,W,`■`,`\\blacksquare`),I(L,B,W,`⧫`,`\\blacklozenge`),I(L,B,W,`★`,`\\bigstar`),I(L,B,W,`∢`,`\\sphericalangle`,!0),I(L,B,W,`∁`,`\\complement`,!0),I(L,B,W,`ð`,`\\eth`,!0),I(R,z,W,`ð`,`ð`),I(L,B,W,`╱`,`\\diagup`),I(L,B,W,`╲`,`\\diagdown`),I(L,B,W,`□`,`\\square`),I(L,B,W,`□`,`\\Box`),I(L,B,W,`◊`,`\\Diamond`),I(L,B,W,`¥`,`\\yen`,!0),I(R,B,W,`¥`,`\\yen`,!0),I(L,B,W,`✓`,`\\checkmark`,!0),I(R,B,W,`✓`,`\\checkmark`),I(L,B,W,`ℶ`,`\\beth`,!0),I(L,B,W,`ℸ`,`\\daleth`,!0),I(L,B,W,`ℷ`,`\\gimel`,!0),I(L,B,W,`ϝ`,`\\digamma`,!0),I(L,B,W,`ϰ`,`\\varkappa`),I(L,B,nn,`┌`,`\\@ulcorner`,!0),I(L,B,$t,`┐`,`\\@urcorner`,!0),I(L,B,nn,`└`,`\\@llcorner`,!0),I(L,B,$t,`┘`,`\\@lrcorner`,!0),I(L,B,U,`≦`,`\\leqq`,!0),I(L,B,U,`⩽`,`\\leqslant`,!0),I(L,B,U,`⪕`,`\\eqslantless`,!0),I(L,B,U,`≲`,`\\lesssim`,!0),I(L,B,U,`⪅`,`\\lessapprox`,!0),I(L,B,U,`≊`,`\\approxeq`,!0),I(L,B,V,`⋖`,`\\lessdot`),I(L,B,U,`⋘`,`\\lll`,!0),I(L,B,U,`≶`,`\\lessgtr`,!0),I(L,B,U,`⋚`,`\\lesseqgtr`,!0),I(L,B,U,`⪋`,`\\lesseqqgtr`,!0),I(L,B,U,`≑`,`\\doteqdot`),I(L,B,U,`≓`,`\\risingdotseq`,!0),I(L,B,U,`≒`,`\\fallingdotseq`,!0),I(L,B,U,`∽`,`\\backsim`,!0),I(L,B,U,`⋍`,`\\backsimeq`,!0),I(L,B,U,`⫅`,`\\subseteqq`,!0),I(L,B,U,`⋐`,`\\Subset`,!0),I(L,B,U,`⊏`,`\\sqsubset`,!0),I(L,B,U,`≼`,`\\preccurlyeq`,!0),I(L,B,U,`⋞`,`\\curlyeqprec`,!0),I(L,B,U,`≾`,`\\precsim`,!0),I(L,B,U,`⪷`,`\\precapprox`,!0),I(L,B,U,`⊲`,`\\vartriangleleft`),I(L,B,U,`⊴`,`\\trianglelefteq`),I(L,B,U,`⊨`,`\\vDash`,!0),I(L,B,U,`⊪`,`\\Vvdash`,!0),I(L,B,U,`⌣`,`\\smallsmile`),I(L,B,U,`⌢`,`\\smallfrown`),I(L,B,U,`≏`,`\\bumpeq`,!0),I(L,B,U,`≎`,`\\Bumpeq`,!0),I(L,B,U,`≧`,`\\geqq`,!0),I(L,B,U,`⩾`,`\\geqslant`,!0),I(L,B,U,`⪖`,`\\eqslantgtr`,!0),I(L,B,U,`≳`,`\\gtrsim`,!0),I(L,B,U,`⪆`,`\\gtrapprox`,!0),I(L,B,V,`⋗`,`\\gtrdot`),I(L,B,U,`⋙`,`\\ggg`,!0),I(L,B,U,`≷`,`\\gtrless`,!0),I(L,B,U,`⋛`,`\\gtreqless`,!0),I(L,B,U,`⪌`,`\\gtreqqless`,!0),I(L,B,U,`≖`,`\\eqcirc`,!0),I(L,B,U,`≗`,`\\circeq`,!0),I(L,B,U,`≜`,`\\triangleq`,!0),I(L,B,U,`∼`,`\\thicksim`),I(L,B,U,`≈`,`\\thickapprox`),I(L,B,U,`⫆`,`\\supseteqq`,!0),I(L,B,U,`⋑`,`\\Supset`,!0),I(L,B,U,`⊐`,`\\sqsupset`,!0),I(L,B,U,`≽`,`\\succcurlyeq`,!0),I(L,B,U,`⋟`,`\\curlyeqsucc`,!0),I(L,B,U,`≿`,`\\succsim`,!0),I(L,B,U,`⪸`,`\\succapprox`,!0),I(L,B,U,`⊳`,`\\vartriangleright`),I(L,B,U,`⊵`,`\\trianglerighteq`),I(L,B,U,`⊩`,`\\Vdash`,!0),I(L,B,U,`∣`,`\\shortmid`),I(L,B,U,`∥`,`\\shortparallel`),I(L,B,U,`≬`,`\\between`,!0),I(L,B,U,`⋔`,`\\pitchfork`,!0),I(L,B,U,`∝`,`\\varpropto`),I(L,B,U,`◀`,`\\blacktriangleleft`),I(L,B,U,`∴`,`\\therefore`,!0),I(L,B,U,`∍`,`\\backepsilon`),I(L,B,U,`▶`,`\\blacktriangleright`),I(L,B,U,`∵`,`\\because`,!0),I(L,B,U,`⋘`,`\\llless`),I(L,B,U,`⋙`,`\\gggtr`),I(L,B,V,`⊲`,`\\lhd`),I(L,B,V,`⊳`,`\\rhd`),I(L,B,U,`≂`,`\\eqsim`,!0),I(L,z,U,`⋈`,`\\Join`),I(L,B,U,`≑`,`\\Doteq`,!0),I(L,B,V,`∔`,`\\dotplus`,!0),I(L,B,V,`∖`,`\\smallsetminus`),I(L,B,V,`⋒`,`\\Cap`,!0),I(L,B,V,`⋓`,`\\Cup`,!0),I(L,B,V,`⩞`,`\\doublebarwedge`,!0),I(L,B,V,`⊟`,`\\boxminus`,!0),I(L,B,V,`⊞`,`\\boxplus`,!0),I(L,B,V,`⋇`,`\\divideontimes`,!0),I(L,B,V,`⋉`,`\\ltimes`,!0),I(L,B,V,`⋊`,`\\rtimes`,!0),I(L,B,V,`⋋`,`\\leftthreetimes`,!0),I(L,B,V,`⋌`,`\\rightthreetimes`,!0),I(L,B,V,`⋏`,`\\curlywedge`,!0),I(L,B,V,`⋎`,`\\curlyvee`,!0),I(L,B,V,`⊝`,`\\circleddash`,!0),I(L,B,V,`⊛`,`\\circledast`,!0),I(L,B,V,`⋅`,`\\centerdot`),I(L,B,V,`⊺`,`\\intercal`,!0),I(L,B,V,`⋒`,`\\doublecap`),I(L,B,V,`⋓`,`\\doublecup`),I(L,B,V,`⊠`,`\\boxtimes`,!0),I(L,B,U,`⇢`,`\\dashrightarrow`,!0),I(L,B,U,`⇠`,`\\dashleftarrow`,!0),I(L,B,U,`⇇`,`\\leftleftarrows`,!0),I(L,B,U,`⇆`,`\\leftrightarrows`,!0),I(L,B,U,`⇚`,`\\Lleftarrow`,!0),I(L,B,U,`↞`,`\\twoheadleftarrow`,!0),I(L,B,U,`↢`,`\\leftarrowtail`,!0),I(L,B,U,`↫`,`\\looparrowleft`,!0),I(L,B,U,`⇋`,`\\leftrightharpoons`,!0),I(L,B,U,`↶`,`\\curvearrowleft`,!0),I(L,B,U,`↺`,`\\circlearrowleft`,!0),I(L,B,U,`↰`,`\\Lsh`,!0),I(L,B,U,`⇈`,`\\upuparrows`,!0),I(L,B,U,`↿`,`\\upharpoonleft`,!0),I(L,B,U,`⇃`,`\\downharpoonleft`,!0),I(L,z,U,`⊶`,`\\origof`,!0),I(L,z,U,`⊷`,`\\imageof`,!0),I(L,B,U,`⊸`,`\\multimap`,!0),I(L,B,U,`↭`,`\\leftrightsquigarrow`,!0),I(L,B,U,`⇉`,`\\rightrightarrows`,!0),I(L,B,U,`⇄`,`\\rightleftarrows`,!0),I(L,B,U,`↠`,`\\twoheadrightarrow`,!0),I(L,B,U,`↣`,`\\rightarrowtail`,!0),I(L,B,U,`↬`,`\\looparrowright`,!0),I(L,B,U,`↷`,`\\curvearrowright`,!0),I(L,B,U,`↻`,`\\circlearrowright`,!0),I(L,B,U,`↱`,`\\Rsh`,!0),I(L,B,U,`⇊`,`\\downdownarrows`,!0),I(L,B,U,`↾`,`\\upharpoonright`,!0),I(L,B,U,`⇂`,`\\downharpoonright`,!0),I(L,B,U,`⇝`,`\\rightsquigarrow`,!0),I(L,B,U,`⇝`,`\\leadsto`),I(L,B,U,`⇛`,`\\Rrightarrow`,!0),I(L,B,U,`↾`,`\\restriction`),I(L,z,W,`‘`,"`"),I(L,z,W,`$`,`\\$`),I(R,z,W,`$`,`\\$`),I(R,z,W,`$`,`\\textdollar`),I(L,z,W,`%`,`\\%`),I(R,z,W,`%`,`\\%`),I(L,z,W,`_`,`\\_`),I(R,z,W,`_`,`\\_`),I(R,z,W,`_`,`\\textunderscore`),I(L,z,W,`∠`,`\\angle`,!0),I(L,z,W,`∞`,`\\infty`,!0),I(L,z,W,`′`,`\\prime`),I(L,z,W,`△`,`\\triangle`),I(L,z,W,`Γ`,`\\Gamma`,!0),I(L,z,W,`Δ`,`\\Delta`,!0),I(L,z,W,`Θ`,`\\Theta`,!0),I(L,z,W,`Λ`,`\\Lambda`,!0),I(L,z,W,`Ξ`,`\\Xi`,!0),I(L,z,W,`Π`,`\\Pi`,!0),I(L,z,W,`Σ`,`\\Sigma`,!0),I(L,z,W,`Υ`,`\\Upsilon`,!0),I(L,z,W,`Φ`,`\\Phi`,!0),I(L,z,W,`Ψ`,`\\Psi`,!0),I(L,z,W,`Ω`,`\\Omega`,!0),I(L,z,W,`A`,`Α`),I(L,z,W,`B`,`Β`),I(L,z,W,`E`,`Ε`),I(L,z,W,`Z`,`Ζ`),I(L,z,W,`H`,`Η`),I(L,z,W,`I`,`Ι`),I(L,z,W,`K`,`Κ`),I(L,z,W,`M`,`Μ`),I(L,z,W,`N`,`Ν`),I(L,z,W,`O`,`Ο`),I(L,z,W,`P`,`Ρ`),I(L,z,W,`T`,`Τ`),I(L,z,W,`X`,`Χ`),I(L,z,W,`¬`,`\\neg`,!0),I(L,z,W,`¬`,`\\lnot`),I(L,z,W,`⊤`,`\\top`),I(L,z,W,`⊥`,`\\bot`),I(L,z,W,`∅`,`\\emptyset`),I(L,B,W,`∅`,`\\varnothing`),I(L,z,H,`α`,`\\alpha`,!0),I(L,z,H,`β`,`\\beta`,!0),I(L,z,H,`γ`,`\\gamma`,!0),I(L,z,H,`δ`,`\\delta`,!0),I(L,z,H,`ϵ`,`\\epsilon`,!0),I(L,z,H,`ζ`,`\\zeta`,!0),I(L,z,H,`η`,`\\eta`,!0),I(L,z,H,`θ`,`\\theta`,!0),I(L,z,H,`ι`,`\\iota`,!0),I(L,z,H,`κ`,`\\kappa`,!0),I(L,z,H,`λ`,`\\lambda`,!0),I(L,z,H,`μ`,`\\mu`,!0),I(L,z,H,`ν`,`\\nu`,!0),I(L,z,H,`ξ`,`\\xi`,!0),I(L,z,H,`ο`,`\\omicron`,!0),I(L,z,H,`π`,`\\pi`,!0),I(L,z,H,`ρ`,`\\rho`,!0),I(L,z,H,`σ`,`\\sigma`,!0),I(L,z,H,`τ`,`\\tau`,!0),I(L,z,H,`υ`,`\\upsilon`,!0),I(L,z,H,`ϕ`,`\\phi`,!0),I(L,z,H,`χ`,`\\chi`,!0),I(L,z,H,`ψ`,`\\psi`,!0),I(L,z,H,`ω`,`\\omega`,!0),I(L,z,H,`ε`,`\\varepsilon`,!0),I(L,z,H,`ϑ`,`\\vartheta`,!0),I(L,z,H,`ϖ`,`\\varpi`,!0),I(L,z,H,`ϱ`,`\\varrho`,!0),I(L,z,H,`ς`,`\\varsigma`,!0),I(L,z,H,`φ`,`\\varphi`,!0),I(L,z,V,`∗`,`*`,!0),I(L,z,V,`+`,`+`),I(L,z,V,`−`,`-`,!0),I(L,z,V,`⋅`,`\\cdot`,!0),I(L,z,V,`∘`,`\\circ`,!0),I(L,z,V,`÷`,`\\div`,!0),I(L,z,V,`±`,`\\pm`,!0),I(L,z,V,`×`,`\\times`,!0),I(L,z,V,`∩`,`\\cap`,!0),I(L,z,V,`∪`,`\\cup`,!0),I(L,z,V,`∖`,`\\setminus`,!0),I(L,z,V,`∧`,`\\land`),I(L,z,V,`∨`,`\\lor`),I(L,z,V,`∧`,`\\wedge`,!0),I(L,z,V,`∨`,`\\vee`,!0),I(L,z,W,`√`,`\\surd`),I(L,z,nn,`⟨`,`\\langle`,!0),I(L,z,nn,`∣`,`\\lvert`),I(L,z,nn,`∥`,`\\lVert`),I(L,z,$t,`?`,`?`),I(L,z,$t,`!`,`!`),I(L,z,$t,`⟩`,`\\rangle`,!0),I(L,z,$t,`∣`,`\\rvert`),I(L,z,$t,`∥`,`\\rVert`),I(L,z,U,`=`,`=`),I(L,z,U,`:`,`:`),I(L,z,U,`≈`,`\\approx`,!0),I(L,z,U,`≅`,`\\cong`,!0),I(L,z,U,`≥`,`\\ge`),I(L,z,U,`≥`,`\\geq`,!0),I(L,z,U,`←`,`\\gets`),I(L,z,U,`>`,`\\gt`,!0),I(L,z,U,`∈`,`\\in`,!0),I(L,z,U,``,`\\@not`),I(L,z,U,`⊂`,`\\subset`,!0),I(L,z,U,`⊃`,`\\supset`,!0),I(L,z,U,`⊆`,`\\subseteq`,!0),I(L,z,U,`⊇`,`\\supseteq`,!0),I(L,B,U,`⊈`,`\\nsubseteq`,!0),I(L,B,U,`⊉`,`\\nsupseteq`,!0),I(L,z,U,`⊨`,`\\models`),I(L,z,U,`←`,`\\leftarrow`,!0),I(L,z,U,`≤`,`\\le`),I(L,z,U,`≤`,`\\leq`,!0),I(L,z,U,`<`,`\\lt`,!0),I(L,z,U,`→`,`\\rightarrow`,!0),I(L,z,U,`→`,`\\to`),I(L,B,U,`≱`,`\\ngeq`,!0),I(L,B,U,`≰`,`\\nleq`,!0),I(L,z,an,`\xA0`,`\\ `),I(L,z,an,`\xA0`,`\\space`),I(L,z,an,`\xA0`,`\\nobreakspace`),I(R,z,an,`\xA0`,`\\ `),I(R,z,an,`\xA0`,` `),I(R,z,an,`\xA0`,`\\space`),I(R,z,an,`\xA0`,`\\nobreakspace`),I(L,z,an,``,`\\nobreak`),I(L,z,an,``,`\\allowbreak`),I(L,z,rn,`,`,`,`),I(L,z,rn,`;`,`;`),I(L,B,V,`⊼`,`\\barwedge`,!0),I(L,B,V,`⊻`,`\\veebar`,!0),I(L,z,V,`⊙`,`\\odot`,!0),I(L,z,V,`⊕`,`\\oplus`,!0),I(L,z,V,`⊗`,`\\otimes`,!0),I(L,z,W,`∂`,`\\partial`,!0),I(L,z,V,`⊘`,`\\oslash`,!0),I(L,B,V,`⊚`,`\\circledcirc`,!0),I(L,B,V,`⊡`,`\\boxdot`,!0),I(L,z,V,`△`,`\\bigtriangleup`),I(L,z,V,`▽`,`\\bigtriangledown`),I(L,z,V,`†`,`\\dagger`),I(L,z,V,`⋄`,`\\diamond`),I(L,z,V,`⋆`,`\\star`),I(L,z,V,`◃`,`\\triangleleft`),I(L,z,V,`▹`,`\\triangleright`),I(L,z,nn,`{`,`\\{`),I(R,z,W,`{`,`\\{`),I(R,z,W,`{`,`\\textbraceleft`),I(L,z,$t,`}`,`\\}`),I(R,z,W,`}`,`\\}`),I(R,z,W,`}`,`\\textbraceright`),I(L,z,nn,`{`,`\\lbrace`),I(L,z,$t,`}`,`\\rbrace`),I(L,z,nn,`[`,`\\lbrack`,!0),I(R,z,W,`[`,`\\lbrack`,!0),I(L,z,$t,`]`,`\\rbrack`,!0),I(R,z,W,`]`,`\\rbrack`,!0),I(L,z,nn,`(`,`\\lparen`,!0),I(L,z,$t,`)`,`\\rparen`,!0),I(R,z,W,`<`,`\\textless`,!0),I(R,z,W,`>`,`\\textgreater`,!0),I(L,z,nn,`⌊`,`\\lfloor`,!0),I(L,z,$t,`⌋`,`\\rfloor`,!0),I(L,z,nn,`⌈`,`\\lceil`,!0),I(L,z,$t,`⌉`,`\\rceil`,!0),I(L,z,W,`\\`,`\\backslash`),I(L,z,W,`∣`,`|`),I(L,z,W,`∣`,`\\vert`),I(R,z,W,`|`,`\\textbar`,!0),I(L,z,W,`∥`,`\\|`),I(L,z,W,`∥`,`\\Vert`),I(R,z,W,`∥`,`\\textbardbl`),I(R,z,W,`~`,`\\textasciitilde`),I(R,z,W,`\\`,`\\textbackslash`),I(R,z,W,`^`,`\\textasciicircum`),I(L,z,U,`↑`,`\\uparrow`,!0),I(L,z,U,`⇑`,`\\Uparrow`,!0),I(L,z,U,`↓`,`\\downarrow`,!0),I(L,z,U,`⇓`,`\\Downarrow`,!0),I(L,z,U,`↕`,`\\updownarrow`,!0),I(L,z,U,`⇕`,`\\Updownarrow`,!0),I(L,z,tn,`∐`,`\\coprod`),I(L,z,tn,`⋁`,`\\bigvee`),I(L,z,tn,`⋀`,`\\bigwedge`),I(L,z,tn,`⨄`,`\\biguplus`),I(L,z,tn,`⋂`,`\\bigcap`),I(L,z,tn,`⋃`,`\\bigcup`),I(L,z,tn,`∫`,`\\int`),I(L,z,tn,`∫`,`\\intop`),I(L,z,tn,`∬`,`\\iint`),I(L,z,tn,`∭`,`\\iiint`),I(L,z,tn,`∏`,`\\prod`),I(L,z,tn,`∑`,`\\sum`),I(L,z,tn,`⨂`,`\\bigotimes`),I(L,z,tn,`⨁`,`\\bigoplus`),I(L,z,tn,`⨀`,`\\bigodot`),I(L,z,tn,`∮`,`\\oint`),I(L,z,tn,`∯`,`\\oiint`),I(L,z,tn,`∰`,`\\oiiint`),I(L,z,tn,`⨆`,`\\bigsqcup`),I(L,z,tn,`∫`,`\\smallint`),I(R,z,en,`…`,`\\textellipsis`),I(L,z,en,`…`,`\\mathellipsis`),I(R,z,en,`…`,`\\ldots`,!0),I(L,z,en,`…`,`\\ldots`,!0),I(L,z,en,`⋯`,`\\@cdots`,!0),I(L,z,en,`⋱`,`\\ddots`,!0),I(L,z,W,`⋮`,`\\varvdots`),I(R,z,W,`⋮`,`\\varvdots`),I(L,z,Qt,`ˊ`,`\\acute`),I(L,z,Qt,`ˋ`,`\\grave`),I(L,z,Qt,`¨`,`\\ddot`),I(L,z,Qt,`~`,`\\tilde`),I(L,z,Qt,`ˉ`,`\\bar`),I(L,z,Qt,`˘`,`\\breve`),I(L,z,Qt,`ˇ`,`\\check`),I(L,z,Qt,`^`,`\\hat`),I(L,z,Qt,`⃗`,`\\vec`),I(L,z,Qt,`˙`,`\\dot`),I(L,z,Qt,`˚`,`\\mathring`),I(L,z,H,``,`\\@imath`),I(L,z,H,``,`\\@jmath`),I(L,z,W,`ı`,`ı`),I(L,z,W,`ȷ`,`ȷ`),I(R,z,W,`ı`,`\\i`,!0),I(R,z,W,`ȷ`,`\\j`,!0),I(R,z,W,`ß`,`\\ss`,!0),I(R,z,W,`æ`,`\\ae`,!0),I(R,z,W,`œ`,`\\oe`,!0),I(R,z,W,`ø`,`\\o`,!0),I(R,z,W,`Æ`,`\\AE`,!0),I(R,z,W,`Œ`,`\\OE`,!0),I(R,z,W,`Ø`,`\\O`,!0),I(R,z,Qt,`ˊ`,`\\'`),I(R,z,Qt,`ˋ`,"\\`"),I(R,z,Qt,`ˆ`,`\\^`),I(R,z,Qt,`˜`,`\\~`),I(R,z,Qt,`ˉ`,`\\=`),I(R,z,Qt,`˘`,`\\u`),I(R,z,Qt,`˙`,`\\.`),I(R,z,Qt,`¸`,`\\c`),I(R,z,Qt,`˚`,`\\r`),I(R,z,Qt,`ˇ`,`\\v`),I(R,z,Qt,`¨`,`\\"`),I(R,z,Qt,`˝`,`\\H`),I(R,z,Qt,`◯`,`\\textcircled`);var on={"--":!0,"---":!0,"``":!0,"''":!0};I(R,z,W,`–`,`--`,!0),I(R,z,W,`–`,`\\textendash`),I(R,z,W,`—`,`---`,!0),I(R,z,W,`—`,`\\textemdash`),I(R,z,W,`‘`,"`",!0),I(R,z,W,`‘`,`\\textquoteleft`),I(R,z,W,`’`,`'`,!0),I(R,z,W,`’`,`\\textquoteright`),I(R,z,W,`“`,"``",!0),I(R,z,W,`“`,`\\textquotedblleft`),I(R,z,W,`”`,`''`,!0),I(R,z,W,`”`,`\\textquotedblright`),I(L,z,W,`°`,`\\degree`,!0),I(R,z,W,`°`,`\\degree`),I(R,z,W,`°`,`\\textdegree`,!0),I(L,z,W,`£`,`\\pounds`),I(L,z,W,`£`,`\\mathsterling`,!0),I(R,z,W,`£`,`\\pounds`),I(R,z,W,`£`,`\\textsterling`,!0),I(L,B,W,`✠`,`\\maltese`),I(R,B,W,`✠`,`\\maltese`);for(var sn=`0123456789/@."`,cn=0;cn<sn.length;cn++){var ln=sn.charAt(cn);I(L,z,W,ln,ln)}for(var un=`0123456789!@*()-=+";:?/.,`,dn=0;dn<un.length;dn++){var fn=un.charAt(dn);I(R,z,W,fn,fn)}for(var pn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,mn=0;mn<pn.length;mn++){var hn=pn.charAt(mn);I(L,z,H,hn,hn),I(R,z,W,hn,hn)}I(L,B,W,`C`,`ℂ`),I(R,B,W,`C`,`ℂ`),I(L,B,W,`H`,`ℍ`),I(R,B,W,`H`,`ℍ`),I(L,B,W,`N`,`ℕ`),I(R,B,W,`N`,`ℕ`),I(L,B,W,`P`,`ℙ`),I(R,B,W,`P`,`ℙ`),I(L,B,W,`Q`,`ℚ`),I(R,B,W,`Q`,`ℚ`),I(L,B,W,`R`,`ℝ`),I(R,B,W,`R`,`ℝ`),I(L,B,W,`Z`,`ℤ`),I(R,B,W,`Z`,`ℤ`),I(L,z,H,`h`,`ℎ`),I(R,z,H,`h`,`ℎ`);for(var G,gn=0;gn<pn.length;gn++){var _n=pn.charAt(gn);G=String.fromCharCode(55349,56320+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56372+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56424+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56580+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56684+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56736+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56788+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56840+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56944+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),gn<26&&(G=String.fromCharCode(55349,56632+gn),I(L,z,H,_n,G),I(R,z,W,_n,G),G=String.fromCharCode(55349,56476+gn),I(L,z,H,_n,G),I(R,z,W,_n,G))}G=String.fromCharCode(55349,56668),I(L,z,H,`k`,G),I(R,z,W,`k`,G);for(var vn=0;vn<10;vn++){var yn=vn.toString();G=String.fromCharCode(55349,57294+vn),I(L,z,H,yn,G),I(R,z,W,yn,G),G=String.fromCharCode(55349,57314+vn),I(L,z,H,yn,G),I(R,z,W,yn,G),G=String.fromCharCode(55349,57324+vn),I(L,z,H,yn,G),I(R,z,W,yn,G),G=String.fromCharCode(55349,57334+vn),I(L,z,H,yn,G),I(R,z,W,yn,G)}for(var bn=`ÐÞþ`,xn=0;xn<bn.length;xn++){var Sn=bn.charAt(xn);I(L,z,H,Sn,Sn),I(R,z,W,Sn,Sn)}var Cn={mathClass:`mathbf`,textClass:`textbf`,font:`Main-Bold`},wn={mathClass:`mathnormal`,textClass:`textit`,font:`Math-Italic`},Tn={mathClass:`boldsymbol`,textClass:`boldsymbol`,font:`Main-BoldItalic`},En={mathClass:`mathscr`,textClass:`textscr`,font:`Script-Regular`},Dn={mathClass:``,textClass:``,font:``},On={mathClass:`mathfrak`,textClass:`textfrak`,font:`Fraktur-Regular`},kn={mathClass:`mathbb`,textClass:`textbb`,font:`AMS-Regular`},An={mathClass:`mathboldfrak`,textClass:`textboldfrak`,font:`Fraktur-Regular`},jn={mathClass:`mathsf`,textClass:`textsf`,font:`SansSerif-Regular`},Mn={mathClass:`mathboldsf`,textClass:`textboldsf`,font:`SansSerif-Bold`},Nn={mathClass:`mathitsf`,textClass:`textitsf`,font:`SansSerif-Italic`},Pn={mathClass:`mathtt`,textClass:`texttt`,font:`Typewriter-Regular`},Fn=[Cn,Cn,wn,wn,Tn,Tn,En,Dn,Dn,Dn,On,On,kn,kn,An,An,jn,jn,Mn,Mn,Nn,Nn,Dn,Dn,Pn,Pn],In=[Cn,Dn,jn,Mn,Pn],Ln=e=>{var t=e.charCodeAt(0),n=e.charCodeAt(1),r=(t-55296)*1024+(n-56320)+65536;if(119808<=r&&r<120484)return Fn[Math.floor((r-119808)/26)];if(120782<=r&&r<=120831)return In[Math.floor((r-120782)/10)];if(r===120485||r===120486)return Fn[0];if(120486<r&&r<120782)return Dn;throw new A(`Unsupported character: `+e)},Rn=function(e,t,n){if(Zt[n][e]){var r=Zt[n][e].replace;r&&(e=r)}return{value:e,metrics:Jt(e,t,n)}},zn=function(e,t,n,r,i){var a=Rn(e,t,n),o=a.metrics;e=a.value;var s;if(o){var c=o.italic;(n===`text`||r&&r.font===`mathit`)&&(c=0),s=new Lt(e,o.height,o.depth,c,o.skew,o.width,i)}else typeof console<`u`&&console.warn(`No character metrics `+(`for '`+e+`' in style '`+t+`' and mode '`+n+`'`)),s=new Lt(e,0,0,0,0,0,i);if(r){s.maxFontSize=r.sizeMultiplier,r.style.isTight()&&s.classes.push(`mtight`);var l=r.getColor();l&&(s.style.color=l)}return s},Bn=function(e,t,n,r){return r===void 0&&(r=[]),n.font===`boldsymbol`&&Rn(e,`Main-Bold`,t).metrics?zn(e,`Main-Bold`,t,n,r.concat([`mathbf`])):e===`\\`||Zt[t][e].font===`main`?zn(e,`Main-Regular`,t,n,r):zn(e,`AMS-Regular`,t,n,r.concat([`amsrm`]))},Vn=function(e,t,n){return n!==`textord`&&Rn(e,`Math-BoldItalic`,t).metrics?{fontName:`Math-BoldItalic`,fontClass:`boldsymbol`}:{fontName:`Main-Bold`,fontClass:`mathbf`}},Hn=function(e,t){var n=e.type===`mathord`?`mathord`:`textord`,r=e.mode,i=e.text,a=[`mord`],o=t.font,s=t.fontFamily,c=t.fontWeight,l=t.fontShape,u=r===`math`||r===`text`&&!!o,d=u?o:s,f=``,p=``;if(i.charCodeAt(0)===55349){var m=Ln(i);f=m.font,p=m[r+`Class`]}if(f)return zn(i,f,r,t,a.concat(p));if(d){var h,g;if(d===`boldsymbol`){var _=Vn(i,r,n);h=_.fontName,g=[_.fontClass]}else u?(h=er[o].fontName,g=[o]):(h=$n(s,c,l),g=[s,c,l]);if(Rn(i,h,r).metrics)return zn(i,h,r,t,a.concat(g));if(Object.prototype.hasOwnProperty.call(on,i)&&h.slice(0,10)===`Typewriter`){for(var v=[],y=0;y<i.length;y++)v.push(zn(i[y],h,r,t,a.concat(g)));return Yn(v)}}if(n===`mathord`)return zn(i,`Math-Italic`,r,t,a.concat([`mathnormal`]));if(n===`textord`){var b=Zt[r][i]&&Zt[r][i].font;if(b===`ams`)return zn(i,$n(`amsrm`,c,l),r,t,a.concat(`amsrm`,c,l));if(b===`main`||!b)return zn(i,$n(`textrm`,c,l),r,t,a.concat(c,l));var x=$n(b,c,l);return zn(i,x,r,t,a.concat(x,c,l))}else throw Error(`unexpected type: `+n+` in makeOrd`)},Un=(e,t)=>{if(Dt(e.classes)!==Dt(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass(`mathnormal`))return!1;if(e.classes.length===1){var n=e.classes[0];if(n===`mbin`||n===`mord`)return!1}for(var r of Object.keys(e.style))if(e.style[r]!==t.style[r])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},Wn=e=>{for(var t=0;t<e.length-1;t++){var n=e[t],r=e[t+1];n instanceof Lt&&r instanceof Lt&&Un(n,r)&&(n.text+=r.text,n.height=Math.max(n.height,r.height),n.depth=Math.max(n.depth,r.depth),n.italic=r.italic,e.splice(t+1,1),t--)}return e},Gn=function(e){for(var t=0,n=0,r=0,i=0;i<e.children.length;i++){var a=e.children[i];a.height>t&&(t=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>r&&(r=a.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=r},K=function(e,t,n,r){var i=new Nt(e,t,n,r);return Gn(i),i},Kn=(e,t,n,r)=>new Nt(e,t,n,r),qn=function(e,t,n){var r=K([e],[],t);return r.height=Math.max(n||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),r.style.borderBottomWidth=F(r.height),r.maxFontSize=1,r},Jn=function(e,t,n,r){var i=new Pt(e,t,n,r);return Gn(i),i},Yn=function(e){var t=new St(e);return Gn(t),t},Xn=function(e,t){return e instanceof St?K([],[e],t):e},Zn=function(e){if(e.positionType===`individualShift`){for(var t=e.children,n=[t[0]],r=-t[0].shift-t[0].elem.depth,i=r,a=1;a<t.length;a++){var o=-t[a].shift-i-t[a].elem.depth,s=o-(t[a-1].elem.height+t[a-1].elem.depth);i+=o,n.push({type:`kern`,size:s}),n.push(t[a])}return{children:n,depth:r}}var c;if(e.positionType===`top`){for(var l=e.positionData,u=0;u<e.children.length;u++){var d=e.children[u];l-=d.type===`kern`?d.size:d.elem.height+d.elem.depth}c=l}else if(e.positionType===`bottom`)c=-e.positionData;else{var f=e.children[0];if(f.type!==`elem`)throw Error(`First child must have type "elem".`);if(e.positionType===`shift`)c=-f.elem.depth-e.positionData;else if(e.positionType===`firstBaseline`)c=-f.elem.depth;else throw Error(`Invalid positionType `+e.positionType+`.`)}return{children:e.children,depth:c}},q=function(e,t){for(var n=Zn(e),r=n.children,i=n.depth,a=0,o=0;o<r.length;o++){var s=r[o];if(s.type===`elem`){var c=s.elem;a=Math.max(a,c.maxFontSize,c.height)}}a+=2;var l=K([`pstrut`],[]);l.style.height=F(a);for(var u=[],d=i,f=i,p=i,m=0;m<r.length;m++){var h=r[m];if(h.type===`kern`)p+=h.size;else{var g=h.elem,_=h.wrapperClasses||[],v=h.wrapperStyle||{},y=K(_,[l,g],void 0,v);y.style.top=F(-a-p-g.depth),h.marginLeft&&(y.style.marginLeft=h.marginLeft),h.marginRight&&(y.style.marginRight=h.marginRight),u.push(y),p+=g.height+g.depth}d=Math.min(d,p),f=Math.max(f,p)}var b=K([`vlist`],u);b.style.height=F(f);var x;if(d<0){var S=K([`vlist`],[K([],[])]);S.style.height=F(-d),x=[K([`vlist-r`],[b,K([`vlist-s`],[new Lt(`​`)])]),K([`vlist-r`],[S])]}else x=[K([`vlist-r`],[b])];var C=K([`vlist-t`],x);return x.length===2&&C.classes.push(`vlist-t2`),C.height=f,C.depth=-d,C},Qn=(e,t)=>{var n=K([`mspace`],[],t),r=Et(e,t);return n.style.marginRight=F(r),n},$n=(e,t,n)=>{var r,i;switch(e){case`amsrm`:r=`AMS`;break;case`textrm`:r=`Main`;break;case`textsf`:r=`SansSerif`;break;case`texttt`:r=`Typewriter`;break;default:r=e}return i=t===`textbf`&&n===`textit`?`BoldItalic`:t===`textbf`?`Bold`:n===`textit`?`Italic`:`Regular`,r+`-`+i},er={mathbf:{variant:`bold`,fontName:`Main-Bold`},mathrm:{variant:`normal`,fontName:`Main-Regular`},textit:{variant:`italic`,fontName:`Main-Italic`},mathit:{variant:`italic`,fontName:`Main-Italic`},mathnormal:{variant:`italic`,fontName:`Math-Italic`},mathsfit:{variant:`sans-serif-italic`,fontName:`SansSerif-Italic`},mathbb:{variant:`double-struck`,fontName:`AMS-Regular`},mathcal:{variant:`script`,fontName:`Caligraphic-Regular`},mathfrak:{variant:`fraktur`,fontName:`Fraktur-Regular`},mathscr:{variant:`script`,fontName:`Script-Regular`},mathsf:{variant:`sans-serif`,fontName:`SansSerif-Regular`},mathtt:{variant:`monospace`,fontName:`Typewriter-Regular`}},tr={vec:[`vec`,.471,.714],oiintSize1:[`oiintSize1`,.957,.499],oiintSize2:[`oiintSize2`,1.472,.659],oiiintSize1:[`oiiintSize1`,1.304,.499],oiiintSize2:[`oiiintSize2`,1.98,.659]},nr=function(e,t){var n=tr[e],r=n[0],i=n[1],a=n[2],o=Kn([`katex-overlay`],[new Rt([new zt(r)],{width:F(i),height:F(a),style:`width:`+F(i),viewBox:`0 0 `+1e3*i+` `+1e3*a,preserveAspectRatio:`xMinYMin`})],t);return o.height=a,o.style.height=F(a),o.style.width=F(i),o},rr={number:3,unit:`mu`},ir={number:4,unit:`mu`},ar={number:5,unit:`mu`},or={mord:{mop:rr,mbin:ir,mrel:ar,minner:rr},mop:{mord:rr,mop:rr,mrel:ar,minner:rr},mbin:{mord:ir,mop:ir,mopen:ir,minner:ir},mrel:{mord:ar,mop:ar,mopen:ar,minner:ar},mopen:{},mclose:{mop:rr,mbin:ir,mrel:ar,minner:rr},mpunct:{mord:rr,mop:rr,mrel:ar,mopen:rr,mclose:rr,mpunct:rr,minner:rr},minner:{mord:rr,mop:rr,mbin:ir,mrel:ar,mopen:rr,mpunct:rr,minner:rr}},sr={mord:{mop:rr},mop:{mord:rr,mop:rr},mbin:{},mrel:{},mopen:{},mclose:{mop:rr},mpunct:{},minner:{mop:rr}},cr={},lr={},ur={};function J(e){for(var t=e.type,n=e.names,r=e.htmlBuilder,i=e.mathmlBuilder,a=0;a<n.length;++a)cr[n[a]]=e;t&&(r&&(lr[t]=r),i&&(ur[t]=i))}function dr(e){var t=e.type,n=e.htmlBuilder,r=e.mathmlBuilder;n&&(lr[t]=n),r&&(ur[t]=r)}var fr=function(e){return e.type===`ordgroup`&&e.body.length===1?e.body[0]:e},pr=function(e){return e.type===`ordgroup`?e.body:[e]},mr=new Set([`leftmost`,`mbin`,`mopen`,`mrel`,`mop`,`mpunct`]),hr=new Set([`rightmost`,`mrel`,`mclose`,`mpunct`]),gr={display:N.DISPLAY,text:N.TEXT,script:N.SCRIPT,scriptscript:N.SCRIPTSCRIPT},_r={mord:`mord`,mop:`mop`,mbin:`mbin`,mrel:`mrel`,mopen:`mopen`,mclose:`mclose`,mpunct:`mpunct`,minner:`minner`},vr=function(e,t,n,r){r===void 0&&(r=[null,null]);for(var i=[],a=0;a<e.length;a++){var o=Y(e[a],t);if(o instanceof St){var s=o.children;i.push(...s)}else i.push(o)}if(Wn(i),!n)return i;var c=t;if(e.length===1){var l=e[0];l.type===`sizing`?c=t.havingSize(l.size):l.type===`styling`&&(c=t.havingStyle(gr[l.style]))}var u=K([r[0]||`leftmost`],[],t),d=K([r[1]||`rightmost`],[],t),f=n===`root`;return yr(i,(e,t)=>{var n=t.classes[0],r=e.classes[0];n===`mbin`&&hr.has(r)?t.classes[0]=`mord`:r===`mbin`&&mr.has(n)&&(e.classes[0]=`mord`)},{node:u},d,f),yr(i,(e,t)=>{var n=Sr(t),r=Sr(e),i=n&&r?e.hasClass(`mtight`)?sr[n]?.[r]:or[n]?.[r]:null;if(i)return Qn(i,c)},{node:u},d,f),i},yr=function(e,t,n,r,i){r&&e.push(r);for(var a=0;a<e.length;a++){var o=e[a],s=br(o);if(s){yr(s.children,t,n,null,i);continue}var c=!o.hasClass(`mspace`);if(c){var l=t(o,n.node);l&&(n.insertAfter?n.insertAfter(l):(e.unshift(l),a++))}c?n.node=o:i&&o.hasClass(`katex-newline`)&&(n.node=K([`leftmost`])),n.insertAfter=(t=>n=>{e.splice(t+1,0,n),a++})(a)}r&&e.pop()},br=function(e){return e instanceof St||e instanceof Pt||e instanceof Nt&&e.hasClass(`enclosing`)?e:null},xr=function(e,t){var n=br(e);if(n){var r=n.children;if(r.length){if(t===`right`)return xr(r[r.length-1],`right`);if(t===`left`)return xr(r[0],`left`)}}return e},Sr=function(e,t){return e?(t&&(e=xr(e,t)),_r[e.classes[0]]||null):null},Cr=function(e,t){var n=[`nulldelimiter`].concat(e.baseSizingClasses());return K(t.concat(n))},Y=function(e,t,n){if(!e)return K();if(lr[e.type]){var r=lr[e.type](e,t);if(n&&t.size!==n.size){r=K(t.sizingClasses(n),[r],t);var i=t.sizeMultiplier/n.sizeMultiplier;r.height*=i,r.depth*=i}return r}else throw new A(`Got group of unknown type: '`+e.type+`'`)};function wr(e,t){var n=K([`katex-base`],e,t),r=K([`katex-strut`]);return r.style.height=F(n.height+n.depth),n.depth&&(r.style.verticalAlign=F(-n.depth)),n.children.unshift(r),n}function Tr(e,t){var n=null;e.length===1&&e[0].type===`tag`&&(n=e[0].tag,e=e[0].body);var r=vr(e,t,`root`),i;r.length===2&&r[1].hasClass(`katex-tag`)&&(i=r.pop());for(var a=[],o=[],s=0;s<r.length;s++)if(o.push(r[s]),r[s].hasClass(`mbin`)||r[s].hasClass(`mrel`)||r[s].hasClass(`allowbreak`)){for(var c=!1;s<r.length-1&&r[s+1].hasClass(`mspace`)&&!r[s+1].hasClass(`katex-newline`);)s++,o.push(r[s]),r[s].hasClass(`nobreak`)&&(c=!0);c||(a.push(wr(o,t)),o=[])}else r[s].hasClass(`katex-newline`)&&(o.pop(),o.length>0&&(a.push(wr(o,t)),o=[]),a.push(r[s]));o.length>0&&a.push(wr(o,t));var l;n?(l=wr(vr(n,t,!0),t),l.classes=[`katex-tag`],a.push(l)):i&&a.push(i);var u=K([`katex-html`],a);if(u.setAttribute(`aria-hidden`,`true`),l){var d=l.children[0];d.style.height=F(u.height+u.depth),u.depth&&(d.style.verticalAlign=F(-u.depth))}return u}function Er(e){return new St(e)}var X=class{constructor(e,t,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=n||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,this.type);for(var t of Object.entries(this.attributes)){var n=t[0],r=t[1];e.setAttribute(n,r)}this.classes.length>0&&(e.className=Dt(this.classes));for(var i=0;i<this.children.length;i++)if(this.children[i]instanceof Dr&&this.children[i+1]instanceof Dr){for(var a=this.children[i].toText()+this.children[++i].toText();this.children[i+1]instanceof Dr;)a+=this.children[++i].toText();e.appendChild(new Dr(a).toNode())}else e.appendChild(this.children[i].toNode());return e}toMarkup(){var e=`<`+this.type;for(var t of Object.entries(this.attributes)){var n=t[0],r=t[1];e+=` `+n+`="`,e+=Fe(r),e+=`"`}this.classes.length>0&&(e+=` class ="`+Fe(Dt(this.classes))+`"`),e+=`>`;for(var i=0;i<this.children.length;i++)e+=this.children[i].toMarkup();return e+=`</`+this.type+`>`,e}toText(){return this.children.map(e=>e.toText()).join(``)}},Dr=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Fe(this.toText())}toText(){return this.text}},Or=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=` `:e>=.1666&&e<=.1667?this.character=` `:e>=.2222&&e<=.2223?this.character=` `:e>=.2777&&e<=.2778?this.character=`  `:e>=-.05556&&e<=-.05555?this.character=` ⁣`:e>=-.1667&&e<=-.1666?this.character=` ⁣`:e>=-.2223&&e<=-.2222?this.character=` ⁣`:e>=-.2778&&e<=-.2777?this.character=` ⁣`:this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`mspace`);return e.setAttribute(`width`,F(this.width)),e}toMarkup(){return this.character?`<mtext>`+this.character+`</mtext>`:`<mspace width="`+F(this.width)+`"/>`}toText(){return this.character?this.character:` `}},kr=new Set([`\\imath`,`\\jmath`]),Ar=new Set([`mrow`,`mtable`]),jr=function(e,t,n){var r,i;return Zt[t][e]&&Zt[t][e].replace&&e.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(on,e)&&((n==null||(r=n.fontFamily)==null?void 0:r.slice(4,6))===`tt`||(n==null||(i=n.font)==null?void 0:i.slice(4,6))===`tt`))&&(e=Zt[t][e].replace),new Dr(e)},Mr=function(e){return e.length===1?e[0]:new X(`mrow`,e)},Nr={mathit:`italic`,boldsymbol:e=>e.type===`textord`?`bold`:`bold-italic`,mathbf:`bold`,mathbb:`double-struck`,mathsfit:`sans-serif-italic`,mathfrak:`fraktur`,mathscr:`script`,mathcal:`script`,mathsf:`sans-serif`,mathtt:`monospace`},Pr=(e,t)=>{if(e.mode===`text`){if(t.fontFamily===`texttt`)return`monospace`;if(t.fontFamily===`textsf`)return t.fontShape===`textit`&&t.fontWeight===`textbf`?`sans-serif-bold-italic`:t.fontShape===`textit`?`sans-serif-italic`:t.fontWeight===`textbf`?`bold-sans-serif`:`sans-serif`;if(t.fontShape===`textit`&&t.fontWeight===`textbf`)return`bold-italic`;if(t.fontShape===`textit`)return`italic`;if(t.fontWeight===`textbf`)return`bold`}var n=t.font;if(!n||n===`mathnormal`)return null;var r=e.mode,i=Nr[n];if(i)return typeof i==`function`?i(e):i;var a=e.text;if(kr.has(a))return null;if(Zt[r][a]){var o=Zt[r][a].replace;o&&(a=o)}var s=er[n].fontName;return Jt(a,s,r)?er[n].variant:null};function Fr(e){if(!e)return!1;if(e.type===`mi`&&e.children.length===1){var t=e.children[0];return t instanceof Dr&&t.text===`.`}else if(e.type===`mo`&&e.children.length===1&&e.getAttribute(`separator`)===`true`&&e.getAttribute(`lspace`)===`0em`&&e.getAttribute(`rspace`)===`0em`){var n=e.children[0];return n instanceof Dr&&n.text===`,`}else return!1}var Ir=function(e,t,n){if(e.length===1){var r=Rr(e[0],t);return n&&r instanceof X&&r.type===`mo`&&(r.setAttribute(`lspace`,`0em`),r.setAttribute(`rspace`,`0em`)),[r]}for(var i=[],a,o=0;o<e.length;o++){var s=Rr(e[o],t);if(s instanceof X&&a instanceof X){if(s.type===`mtext`&&a.type===`mtext`&&s.getAttribute(`mathvariant`)===a.getAttribute(`mathvariant`)){a.children.push(...s.children);continue}else if(s.type===`mn`&&a.type===`mn`){a.children.push(...s.children);continue}else if(Fr(s)&&a.type===`mn`){a.children.push(...s.children);continue}else if(s.type===`mn`&&Fr(a))s.children=[...a.children,...s.children],i.pop();else if((s.type===`msup`||s.type===`msub`)&&s.children.length>=1&&(a.type===`mn`||Fr(a))){var c=s.children[0];c instanceof X&&c.type===`mn`&&(c.children=[...a.children,...c.children],i.pop())}else if(a.type===`mi`&&a.children.length===1){var l=a.children[0];if(l instanceof Dr&&l.text===`̸`&&(s.type===`mo`||s.type===`mi`||s.type===`mn`)){var u=s.children[0];u instanceof Dr&&u.text.length>0&&(u.text=u.text.slice(0,1)+`̸`+u.text.slice(1),i.pop())}}}i.push(s),a=s}return i},Lr=function(e,t,n){return Mr(Ir(e,t,n))},Rr=function(e,t){if(!e)return new X(`mrow`);if(ur[e.type])return ur[e.type](e,t);throw new A(`Got group of unknown type: '`+e.type+`'`)};function zr(e,t,n,r,i){var a=Ir(e,n),o=a.length===1&&a[0]instanceof X&&Ar.has(a[0].type)?a[0]:new X(`mrow`,a),s=new X(`annotation`,[new Dr(t)]);s.setAttribute(`encoding`,`application/x-tex`);var c=new X(`math`,[new X(`semantics`,[o,s])]);return c.setAttribute(`xmlns`,`http://www.w3.org/1998/Math/MathML`),r&&c.setAttribute(`display`,`block`),K([i?`katex`:`katex-mathml`],[c])}var Br=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Vr=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Hr=function(e,t){return t.size<2?e:Br[e-1][t.size-1]},Ur=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||``,this.fontFamily=t.fontFamily||``,this.fontWeight=t.fontWeight||``,this.fontShape=t.fontShape||``,this.sizeMultiplier=Vr[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Hr(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Vr[e-1]})}havingBaseStyle(t){t||=this.style.text();var n=Hr(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:``})}withTextFontWeight(e){return this.extend({fontWeight:e,font:``})}withTextFontShape(e){return this.extend({fontShape:e,font:``})}sizingClasses(e){return e.size===this.size?[]:[`katex-sizing`,`reset-size`+e.size,`size`+this.size]}baseSizingClasses(){return this.size===e.BASESIZE?[]:[`katex-sizing`,`reset-size`+this.size,`size`+e.BASESIZE]}fontMetrics(){return this._fontMetrics||=Xt(this.size),this._fontMetrics}getColor(){return this.phantom?`transparent`:this.color}};Ur.BASESIZE=6;var Wr=function(e){return new Ur({style:e.displayMode?N.DISPLAY:N.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Gr=function(e,t){if(t.displayMode){var n=[`katex-display`];t.leqno&&n.push(`leqno`),t.fleqn&&n.push(`fleqn`),e=K(n,[e])}return e},Kr=function(e,t,n){var r=Wr(n),i;return n.output===`mathml`?zr(e,t,r,n.displayMode,!0):(i=n.output===`html`?K([`katex`],[Tr(e,r)]):K([`katex`],[zr(e,t,r,n.displayMode,!1),Tr(e,r)]),Gr(i,n))},qr=function(e,t,n){return Gr(K([`katex`],[Tr(e,Wr(n))]),n)},Jr={widehat:`^`,widecheck:`ˇ`,widetilde:`~`,utilde:`~`,overleftarrow:`←`,underleftarrow:`←`,xleftarrow:`←`,overrightarrow:`→`,underrightarrow:`→`,xrightarrow:`→`,underbrace:`⏟`,overbrace:`⏞`,underbracket:`⎵`,overbracket:`⎴`,overgroup:`⏠`,undergroup:`⏡`,overleftrightarrow:`↔`,underleftrightarrow:`↔`,xleftrightarrow:`↔`,Overrightarrow:`⇒`,xRightarrow:`⇒`,overleftharpoon:`↼`,xleftharpoonup:`↼`,overrightharpoon:`⇀`,xrightharpoonup:`⇀`,xLeftarrow:`⇐`,xLeftrightarrow:`⇔`,xhookleftarrow:`↩`,xhookrightarrow:`↪`,xmapsto:`↦`,xrightharpoondown:`⇁`,xleftharpoondown:`↽`,xrightleftharpoons:`⇌`,xleftrightharpoons:`⇋`,xtwoheadleftarrow:`↞`,xtwoheadrightarrow:`↠`,xlongequal:`=`,xtofrom:`⇄`,xrightleftarrows:`⇄`,xrightequilibrium:`⇌`,xleftequilibrium:`⇋`,"\\cdrightarrow":`→`,"\\cdleftarrow":`←`,"\\cdlongequal":`=`},Yr=function(e){var t=new X(`mo`,[new Dr(Jr[e.replace(/^\\/,``)])]);return t.setAttribute(`stretchy`,`true`),t},Xr={overrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],overleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],underrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],underleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],xrightarrow:[[`rightarrow`],1.469,522,`xMaxYMin`],"\\cdrightarrow":[[`rightarrow`],3,522,`xMaxYMin`],xleftarrow:[[`leftarrow`],1.469,522,`xMinYMin`],"\\cdleftarrow":[[`leftarrow`],3,522,`xMinYMin`],Overrightarrow:[[`doublerightarrow`],.888,560,`xMaxYMin`],xRightarrow:[[`doublerightarrow`],1.526,560,`xMaxYMin`],xLeftarrow:[[`doubleleftarrow`],1.526,560,`xMinYMin`],overleftharpoon:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoonup:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoondown:[[`leftharpoondown`],.888,522,`xMinYMin`],overrightharpoon:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoonup:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoondown:[[`rightharpoondown`],.888,522,`xMaxYMin`],xlongequal:[[`longequal`],.888,334,`xMinYMin`],"\\cdlongequal":[[`longequal`],3,334,`xMinYMin`],xtwoheadleftarrow:[[`twoheadleftarrow`],.888,334,`xMinYMin`],xtwoheadrightarrow:[[`twoheadrightarrow`],.888,334,`xMaxYMin`],overleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],overbrace:[[`leftbrace`,`midbrace`,`rightbrace`],1.6,548],underbrace:[[`leftbraceunder`,`midbraceunder`,`rightbraceunder`],1.6,548],underleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],xleftrightarrow:[[`leftarrow`,`rightarrow`],1.75,522],xLeftrightarrow:[[`doubleleftarrow`,`doublerightarrow`],1.75,560],xrightleftharpoons:[[`leftharpoondownplus`,`rightharpoonplus`],1.75,716],xleftrightharpoons:[[`leftharpoonplus`,`rightharpoondownplus`],1.75,716],xhookleftarrow:[[`leftarrow`,`righthook`],1.08,522],xhookrightarrow:[[`lefthook`,`rightarrow`],1.08,522],overlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],underlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],overbracket:[[`leftbracketover`,`rightbracketover`],1.6,440],underbracket:[[`leftbracketunder`,`rightbracketunder`],1.6,410],overgroup:[[`leftgroup`,`rightgroup`],.888,342],undergroup:[[`leftgroupunder`,`rightgroupunder`],.888,342],xmapsto:[[`leftmapsto`,`rightarrow`],1.5,522],xtofrom:[[`leftToFrom`,`rightToFrom`],1.75,528],xrightleftarrows:[[`baraboveleftarrow`,`rightarrowabovebar`],1.75,901],xrightequilibrium:[[`baraboveshortleftharpoon`,`rightharpoonaboveshortbar`],1.75,716],xleftequilibrium:[[`shortbaraboveleftharpoon`,`shortrightharpoonabovebar`],1.75,716]},Zr=new Set([`widehat`,`widecheck`,`widetilde`,`utilde`]),Qr=function(e,t){function n(){var n=4e5,r=e.label.slice(1);if(Zr.has(r)&&`base`in e){var i=e.base.type===`ordgroup`?e.base.body.length:1,a,o,s;if(i>5)r===`widehat`||r===`widecheck`?(a=420,n=2364,s=.42,o=r+`4`):(a=312,n=2340,s=.34,o=`tilde4`);else{var c=[1,1,2,2,3,3][i];r===`widehat`||r===`widecheck`?(n=[0,1062,2364,2364,2364][c],a=[0,239,300,360,420][c],s=[0,.24,.3,.3,.36,.42][c],o=r+c):(n=[0,600,1033,2339,2340][c],a=[0,260,286,306,312][c],s=[0,.26,.286,.3,.306,.34][c],o=`tilde`+c)}return{span:Kn([],[new Rt([new zt(o)],{width:`100%`,height:F(s),viewBox:`0 0 `+n+` `+a,preserveAspectRatio:`none`})],t),minWidth:0,height:s}}else{var l=[],u=Xr[r];if(!u)throw Error(`No SVG data for "`+r+`".`);var d=u[0],f=u[1],p=u[2],m=p/1e3,h=d.length,g,_;if(h===1){if(u.length!==4)throw Error(`Expected 4-tuple for single-path SVG data "`+r+`".`);g=[`hide-tail`],_=[u[3]]}else if(h===2)g=[`halfarrow-left`,`halfarrow-right`],_=[`xMinYMin`,`xMaxYMin`];else if(h===3)g=[`brace-left`,`brace-center`,`brace-right`],_=[`xMinYMin`,`xMidYMin`,`xMaxYMin`];else throw Error(`Correct katexImagesData or update code here to support
252
+ `+h+` children.`);for(var v=0;v<h;v++){var y=new Rt([new zt(d[v])],{width:`400em`,height:F(m),viewBox:`0 0 `+n+` `+p,preserveAspectRatio:_[v]+` slice`}),b=Kn([g[v]],[y],t);if(h===1)return{span:b,minWidth:f,height:m};b.style.height=F(m),l.push(b)}return{span:K([`katex-stretchy`],l,t),minWidth:f,height:m}}}var r=n(),i=r.span,a=r.minWidth,o=r.height;return i.height=o,i.style.height=F(o),a>0&&(i.style.minWidth=F(a)),i},$r=function(e,t,n,r,i){var a,o=e.height+e.depth+n+r;if(/fbox|color|angl/.test(t)){if(a=K([`katex-stretchy`,t],[],i),t===`fbox`){var s=i.color&&i.getColor();s&&(a.style.borderColor=s)}}else{var c=[];/^[bx]cancel$/.test(t)&&c.push(new Bt({x1:`0`,y1:`0`,x2:`100%`,y2:`100%`,"stroke-width":`0.046em`})),/^x?cancel$/.test(t)&&c.push(new Bt({x1:`0`,y1:`100%`,x2:`100%`,y2:`0`,"stroke-width":`0.046em`})),a=Kn([],[new Rt(c,{width:`100%`,height:F(o)})],i)}return a.height=o,a.style.height=F(o),a},ei=[`bin`,`close`,`inner`,`open`,`punct`,`rel`],ti=[`accent-token`,`mathord`,`op-token`,`spacing`,`textord`],ni=new Set(ei),ri=new Set(ti);function ii(e){return ni.has(e)}function Z(e,t){if(!e||e.type!==t)throw Error(`Expected node of type `+t+`, but got `+(e?`node of type `+e.type:String(e)));return e}function ai(e){var t=oi(e);if(!t)throw Error(`Expected node of symbol group type, but got `+(e?`node of type `+e.type:String(e)));return t}function oi(e){return e.type===`atom`||ri.has(e.type)?e:null}function si(e,t,n){var r=``;for(var i of e.body)if(i.type===`textord`)r+=i.text;else if(n&&i.type===`spacing`&&i.text===` `)r+=` `;else throw new A(t,e);return r}var ci=e=>{if(e instanceof Lt)return e;if(Ut(e)&&e.children.length===1)return ci(e.children[0])},li=(e,t)=>{var n,r,i;e&&e.type===`supsub`?(r=Z(e.base,`accent`),n=r.base,e.base=n,i=Ht(Y(e,t)),e.base=r):(r=Z(e,`accent`),n=r.base);var a=Y(n,t.havingCrampedStyle()),o=r.isShifty&&Re(n),s=0;o&&(s=ci(a)?.skew??0);var c=r.label===`\\c`,l=c?a.height+a.depth:Math.min(a.height,t.fontMetrics().xHeight),u;if(r.isStretchy)u=Qr(r,t),u=q({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`elem`,elem:u,wrapperClasses:[`svg-align`],wrapperStyle:s>0?{width:`calc(100% - `+F(2*s)+`)`,marginLeft:F(2*s)}:void 0}]});else{var d,f;r.label===`\\vec`?(d=nr(`vec`,t),f=tr.vec[1]):(d=Hn({type:`textord`,mode:r.mode,text:r.label},t),d=Vt(d),d.italic=0,f=d.width,c&&(l+=d.depth)),u=K([`accent-body`],[d]);var p=r.label===`\\textcircled`;p&&(u.classes.push(`accent-full`),l=a.height);var m=s;p||(m-=f/2),u.style.left=F(m),r.label===`\\textcircled`&&(u.style.top=`.2em`),u=q({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:-l},{type:`elem`,elem:u}]})}var h=K([`mord`,`katex-accent`],[u],t);return i?(i.children[0]=h,i.height=Math.max(h.height,i.height),i.classes[0]=`mord`,i):h},ui=(e,t)=>{var n=e.isStretchy?Yr(e.label):new X(`mo`,[jr(e.label,e.mode)]),r=new X(`mover`,[Rr(e.base,t),n]);return r.setAttribute(`accent`,`true`),r},di=new RegExp([`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`].map(e=>`\\`+e).join(`|`));J({type:`accent`,names:[`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`,`\\widecheck`,`\\widehat`,`\\widetilde`,`\\overrightarrow`,`\\overleftarrow`,`\\Overrightarrow`,`\\overleftrightarrow`,`\\overgroup`,`\\overlinesegment`,`\\overleftharpoon`,`\\overrightharpoon`],numArgs:1,handler:(e,t)=>{var n=fr(t[0]),r=!di.test(e.funcName),i=!r||e.funcName===`\\widehat`||e.funcName===`\\widetilde`||e.funcName===`\\widecheck`;return{type:`accent`,mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:li,mathmlBuilder:ui}),J({type:`accent`,names:[`\\'`,"\\`",`\\^`,`\\~`,`\\=`,`\\u`,`\\.`,`\\"`,`\\c`,`\\r`,`\\H`,`\\v`,`\\textcircled`],numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`primitive`],handler:(e,t)=>{var n=t[0],r=e.parser.mode;return r===`math`&&(e.parser.settings.reportNonstrict(`mathVsTextAccents`,`LaTeX's accent `+e.funcName+` works only in text mode`),r=`text`),{type:`accent`,mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}}}),J({type:`accentUnder`,names:[`\\underleftarrow`,`\\underrightarrow`,`\\underleftrightarrow`,`\\undergroup`,`\\underlinesegment`,`\\utilde`],numArgs:1,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=t[0];return{type:`accentUnder`,mode:n.mode,label:r,base:i}},htmlBuilder:(e,t)=>{var n=Y(e.base,t),r=Qr(e,t),i=e.label===`\\utilde`?.12:0;return K([`mord`,`accentunder`],[q({positionType:`top`,positionData:n.height,children:[{type:`elem`,elem:r,wrapperClasses:[`svg-align`]},{type:`kern`,size:i},{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=Yr(e.label),r=new X(`munder`,[Rr(e.base,t),n]);return r.setAttribute(`accentunder`,`true`),r}});var fi=e=>{var t=new X(`mpadded`,e?[e]:[]);return t.setAttribute(`width`,`+0.6em`),t.setAttribute(`lspace`,`0.3em`),t};J({type:`xArrow`,names:[`\\xleftarrow`,`\\xrightarrow`,`\\xLeftarrow`,`\\xRightarrow`,`\\xleftrightarrow`,`\\xLeftrightarrow`,`\\xhookleftarrow`,`\\xhookrightarrow`,`\\xmapsto`,`\\xrightharpoondown`,`\\xrightharpoonup`,`\\xleftharpoondown`,`\\xleftharpoonup`,`\\xrightleftharpoons`,`\\xleftrightharpoons`,`\\xlongequal`,`\\xtwoheadrightarrow`,`\\xtwoheadleftarrow`,`\\xtofrom`,`\\xrightleftarrows`,`\\xrightequilibrium`,`\\xleftequilibrium`,`\\\\cdrightarrow`,`\\\\cdleftarrow`,`\\\\cdlongequal`],numArgs:1,numOptionalArgs:1,handler(e,t,n){var r=e.parser,i=e.funcName;return{type:`xArrow`,mode:r.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,r=t.havingStyle(n.sup()),i=Xn(Y(e.body,r,t),t),a=e.label.slice(0,2)===`\\x`?`x`:`cd`;i.classes.push(a+`-arrow-pad`);var o;e.below&&(r=t.havingStyle(n.sub()),o=Xn(Y(e.below,r,t),t),o.classes.push(a+`-arrow-pad`));var s=Qr(e,t),c=-t.fontMetrics().axisHeight+.5*s.height,l=-t.fontMetrics().axisHeight-.5*s.height-.111;(i.depth>.25||e.label===`\\xleftequilibrium`)&&(l-=i.depth);var u;if(o){var d=-t.fontMetrics().axisHeight+o.height+.5*s.height+.111;u=q({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]},{type:`elem`,elem:o,shift:d}]})}else u=q({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]}]});return K([`mrel`,`x-arrow`],[u],t)},mathmlBuilder(e,t){var n=Yr(e.label);n.setAttribute(`minsize`,e.label.charAt(0)===`x`?`1.75em`:`3.0em`);var r;if(e.body){var i=fi(Rr(e.body,t));r=e.below?new X(`munderover`,[n,fi(Rr(e.below,t)),i]):new X(`mover`,[n,i])}else e.below?r=new X(`munder`,[n,fi(Rr(e.below,t))]):(r=fi(),r=new X(`mover`,[n,r]));return r}});function pi(e,t){var n=vr(e.body,t,!0);return K([e.mclass],n,t)}function mi(e,t){var n,r=Ir(e.body,t);return e.mclass===`minner`?n=new X(`mpadded`,r):e.mclass===`mord`?e.isCharacterBox?(n=r[0],n.type=`mi`):n=new X(`mi`,r):(e.isCharacterBox?(n=r[0],n.type=`mo`):n=new X(`mo`,r),e.mclass===`mbin`?(n.attributes.lspace=`0.22em`,n.attributes.rspace=`0.22em`):e.mclass===`mpunct`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0.17em`):(e.mclass===`mopen`||e.mclass===`mclose`)&&(n.attributes.lspace=`0em`,n.attributes.rspace=`0em`)),n}J({type:`mclass`,names:[`\\mathord`,`\\mathbin`,`\\mathrel`,`\\mathopen`,`\\mathclose`,`\\mathpunct`,`\\mathinner`],numArgs:1,primitive:!0,handler(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:`mclass`,mode:n.mode,mclass:`m`+r.slice(5),body:pr(i),isCharacterBox:Re(i)}},htmlBuilder:pi,mathmlBuilder:mi});var hi=e=>{var t=e.type===`ordgroup`&&e.body.length?e.body[0]:e;return t.type===`atom`&&(t.family===`bin`||t.family===`rel`)?`m`+t.family:`mord`};J({type:`mclass`,names:[`\\@binrel`],numArgs:2,handler(e,t){return{type:`mclass`,mode:e.parser.mode,mclass:hi(t[0]),body:pr(t[1]),isCharacterBox:Re(t[1])}}}),J({type:`mclass`,names:[`\\stackrel`,`\\overset`,`\\underset`],numArgs:2,handler(e,t){var n=e.parser,r=e.funcName,i=t[1],a=t[0],o=r===`\\stackrel`?`mrel`:hi(i),s={type:`op`,mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!==`\\stackrel`,body:pr(i)},c=r===`\\underset`?{type:`supsub`,mode:a.mode,base:s,sub:a}:{type:`supsub`,mode:a.mode,base:s,sup:a};return{type:`mclass`,mode:n.mode,mclass:o,body:[c],isCharacterBox:Re(c)}}}),J({type:`pmb`,names:[`\\pmb`],numArgs:1,allowedInText:!0,handler(e,t){return{type:`pmb`,mode:e.parser.mode,mclass:hi(t[0]),body:pr(t[0])}},htmlBuilder(e,t){var n=vr(e.body,t,!0),r=K([e.mclass],n,t);return r.style.textShadow=`0.02em 0.01em 0.04px`,r},mathmlBuilder(e,t){var n=new X(`mstyle`,Ir(e.body,t));return n.setAttribute(`style`,`text-shadow: 0.02em 0.01em 0.04px`),n}});var gi={">":`\\\\cdrightarrow`,"<":`\\\\cdleftarrow`,"=":`\\\\cdlongequal`,A:`\\uparrow`,V:`\\downarrow`,"|":`\\Vert`,".":`no arrow`},_i=()=>({type:`styling`,body:[],mode:`math`,style:`display`,resetFont:!0}),vi=e=>e.type===`textord`&&e.text===`@`,yi=(e,t)=>(e.type===`mathord`||e.type===`atom`)&&e.text===t;function bi(e,t,n){var r=gi[e];switch(r){case`\\\\cdrightarrow`:case`\\\\cdleftarrow`:return n.callFunction(r,[t[0]],[t[1]]);case`\\uparrow`:case`\\downarrow`:var i=n.callFunction(`\\\\cdleft`,[t[0]],[]),a={type:`atom`,text:r,mode:`math`,family:`rel`},o={type:`ordgroup`,mode:`math`,body:[i,n.callFunction(`\\Big`,[a],[]),n.callFunction(`\\\\cdright`,[t[1]],[])]};return n.callFunction(`\\\\cdparent`,[o],[]);case`\\\\cdlongequal`:return n.callFunction(`\\\\cdlongequal`,[],[]);case`\\Vert`:return n.callFunction(`\\Big`,[{type:`textord`,text:`\\Vert`,mode:`math`}],[]);default:return{type:`textord`,text:` `,mode:`math`}}}function xi(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set(`\\cr`,`\\\\\\relax`),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,`\\\\`)),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n===`&`||n===`\\\\`)e.consume();else if(n===`\\end`){t[t.length-1].length===0&&t.pop();break}else throw new A(`Expected \\\\ or \\cr or \\end`,e.nextToken)}for(var r=[],i=[r],a=0;a<t.length;a++){for(var o=t[a],s=_i(),c=0;c<o.length;c++)if(!vi(o[c]))s.body.push(o[c]);else{r.push(s),c+=1;var l=ai(o[c]).text,u=[,,];if(u[0]={type:`ordgroup`,mode:`math`,body:[]},u[1]={type:`ordgroup`,mode:`math`,body:[]},!`=|.`.includes(l))if(`<>AV`.includes(l))for(var d=0;d<2;d++){for(var f=!0,p=c+1;p<o.length;p++){if(yi(o[p],l)){f=!1,c=p;break}if(vi(o[p]))throw new A(`Missing a `+l+` character to complete a CD arrow.`,o[p]);u[d].body.push(o[p])}if(f)throw new A(`Missing a `+l+` character to complete a CD arrow.`,o[c])}else throw new A(`Expected one of "<>AV=|." after @`,o[c]);var m={type:`styling`,body:[bi(l,u,e)],mode:`math`,style:`display`,resetFont:!0};r.push(m),s=_i()}a%2==0?r.push(s):r.shift(),r=[],i.push(r)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:`math`,body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Array(i[0].length).fill({type:`align`,align:`c`,pregap:.25,postgap:.25}),colSeparationType:`CD`,hLinesBeforeRow:Array(i.length+1).fill([])}}J({type:`cdlabel`,names:[`\\\\cdleft`,`\\\\cdright`],numArgs:1,handler(e,t){var n=e.parser,r=e.funcName;return{type:`cdlabel`,mode:n.mode,side:r.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),r=Xn(Y(e.label,n,t),t);return r.classes.push(`cd-label-`+e.side),r.style.bottom=F(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(e,t){var n=new X(`mrow`,[Rr(e.label,t)]);return n=new X(`mpadded`,[n]),n.setAttribute(`width`,`0`),e.side===`left`&&n.setAttribute(`lspace`,`-1width`),n.setAttribute(`voffset`,`0.7em`),n=new X(`mstyle`,[n]),n.setAttribute(`displaystyle`,`false`),n.setAttribute(`scriptlevel`,`1`),n}}),J({type:`cdlabelparent`,names:[`\\\\cdparent`],numArgs:1,handler(e,t){return{type:`cdlabelparent`,mode:e.parser.mode,fragment:t[0]}},htmlBuilder(e,t){var n=Xn(Y(e.fragment,t),t);return n.classes.push(`cd-vert-arrow`),n},mathmlBuilder(e,t){return new X(`mrow`,[Rr(e.fragment,t)])}}),J({type:`textord`,names:[`\\@char`],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,r=si(Z(t[0],`ordgroup`),`\\@char has non-numeric argument`),i=parseInt(r),a;if(isNaN(i))throw new A(`\\@char has non-numeric argument `+r);if(i<0||i>1114111)throw new A(`\\@char with invalid code point `+r);return i<=65535?a=String.fromCharCode(i):(i-=65536,a=String.fromCharCode((i>>10)+55296,(i&1023)+56320)),{type:`textord`,mode:n.mode,text:a}}}),J({type:`color`,names:[`\\textcolor`],numArgs:2,allowedInText:!0,argTypes:[`color`,`original`],handler(e,t){var n=e.parser,r=Z(t[0],`color-token`).color,i=t[1];return{type:`color`,mode:n.mode,color:r,body:pr(i)}},htmlBuilder:(e,t)=>Yn(vr(e.body,t.withColor(e.color),!1)),mathmlBuilder:(e,t)=>{var n=new X(`mstyle`,Ir(e.body,t.withColor(e.color)));return n.setAttribute(`mathcolor`,e.color),n}}),J({type:`color`,names:[`\\color`],numArgs:1,allowedInText:!0,argTypes:[`color`],handler(e,t){var n=e.parser,r=e.breakOnTokenText,i=Z(t[0],`color-token`).color;n.gullet.macros.set(`\\current@color`,i);var a=n.parseExpression(!0,r);return{type:`color`,mode:n.mode,color:i,body:a}}}),J({type:`cr`,names:[`\\\\`],numArgs:0,numOptionalArgs:0,allowedInText:!0,handler(e,t,n){var r=e.parser,i=r.gullet.future().text===`[`?r.parseSizeGroup(!0):null,a=!r.settings.displayMode||!r.settings.useStrictBehavior(`newLineInDisplayMode`,`In LaTeX, \\\\ or \\newline does nothing in display mode`);return{type:`cr`,mode:r.mode,newLine:a,size:i&&Z(i,`size`).value}},htmlBuilder(e,t){var n=K([`mspace`],[],t);return e.newLine&&(n.classes.push(`katex-newline`),e.size&&(n.style.marginTop=F(Et(e.size,t)))),n},mathmlBuilder(e,t){var n=new X(`mspace`);return e.newLine&&(n.setAttribute(`linebreak`,`newline`),e.size&&n.setAttribute(`height`,F(Et(e.size,t)))),n}});var Si={"\\global":`\\global`,"\\long":`\\\\globallong`,"\\\\globallong":`\\\\globallong`,"\\def":`\\gdef`,"\\gdef":`\\gdef`,"\\edef":`\\xdef`,"\\xdef":`\\xdef`,"\\let":`\\\\globallet`,"\\futurelet":`\\\\globalfuture`},Ci=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new A(`Expected a control sequence`,e);return t},wi=e=>{var t=e.gullet.popToken();return t.text===`=`&&(t=e.gullet.popToken(),t.text===` `&&(t=e.gullet.popToken())),t},Ti=(e,t,n,r)=>{var i=e.gullet.macros.get(n.text);i??=(n.noexpand=!0,{tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,r)};J({type:`internal`,names:[`\\global`,`\\long`,`\\\\globallong`],numArgs:0,allowedInText:!0,handler(e){var t=e.parser,n=e.funcName;t.consumeSpaces();var r=t.fetch();if(Si[r.text])return(n===`\\global`||n===`\\\\globallong`)&&(r.text=Si[r.text]),Z(t.parseFunction(),`internal`);throw new A(`Invalid token after macro prefix`,r)}}),J({type:`internal`,names:[`\\def`,`\\gdef`,`\\edef`,`\\xdef`],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,r=t.gullet.popToken(),i=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new A(`Expected a control sequence`,r);for(var a=0,o,s=[[]];t.gullet.future().text!==`{`;)if(r=t.gullet.popToken(),r.text===`#`){if(t.gullet.future().text===`{`){o=t.gullet.future(),s[a].push(`{`);break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new A(`Invalid argument number "`+r.text+`"`);if(parseInt(r.text)!==a+1)throw new A(`Argument number "`+r.text+`" out of order`);a++,s.push([])}else if(r.text===`EOF`)throw new A(`Expected a macro definition`);else s[a].push(r.text);var c=t.gullet.consumeArg().tokens;return o&&c.unshift(o),(n===`\\edef`||n===`\\xdef`)&&(c=t.gullet.expandTokens(c),c.reverse()),t.gullet.macros.set(i,{tokens:c,numArgs:a,delimiters:s},n===Si[n]),{type:`internal`,mode:t.mode}}}),J({type:`internal`,names:[`\\let`,`\\\\globallet`],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,r=Ci(t.gullet.popToken());return t.gullet.consumeSpaces(),Ti(t,r,wi(t),n===`\\\\globallet`),{type:`internal`,mode:t.mode}}}),J({type:`internal`,names:[`\\futurelet`,`\\\\globalfuture`],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,r=Ci(t.gullet.popToken()),i=t.gullet.popToken(),a=t.gullet.popToken();return Ti(t,r,a,n===`\\\\globalfuture`),t.gullet.pushToken(a),t.gullet.pushToken(i),{type:`internal`,mode:t.mode}}});var Ei=function(e,t,n){var r=Jt(Zt.math[e]&&Zt.math[e].replace||e,t,n);if(!r)throw Error(`Unsupported symbol `+e+` and font size `+t+`.`);return r},Di=function(e,t,n,r){var i=n.havingBaseStyle(t),a=K(r.concat(i.sizingClasses(n)),[e],n),o=i.sizeMultiplier/n.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a},Oi=function(e,t,n){var r=t.havingBaseStyle(n),i=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push(`delimcenter`),e.style.top=F(i),e.height-=i,e.depth+=i},ki=function(e,t,n,r,i,a){var o=Di(zn(e,`Main-Regular`,i,r),t,r,a);return n&&Oi(o,r,t),o},Ai=function(e,t,n,r){return zn(e,`Size`+t+`-Regular`,n,r)},ji=function(e,t,n,r,i,a){var o=Ai(e,t,i,r),s=Di(K([`delimsizing`,`size`+t],[o],r),N.TEXT,r,a);return n&&Oi(s,r,N.TEXT),s},Mi=function(e,t,n){return{type:`elem`,elem:K([`delimsizinginner`,t===`Size1-Regular`?`delim-size1`:`delim-size4`],[K([],[zn(e,t,n)])])}},Ni=function(e,t,n){var r=Wt[`Size4-Regular`][e.charCodeAt(0)]?Wt[`Size4-Regular`][e.charCodeAt(0)][4]:Wt[`Size1-Regular`][e.charCodeAt(0)][4],i=Kn([],[new Rt([new zt(`inner`,vt(e,Math.round(1e3*t)))],{width:F(r),height:F(t),style:`width:`+F(r),viewBox:`0 0 `+1e3*r+` `+Math.round(1e3*t),preserveAspectRatio:`xMinYMin`})],n);return i.height=t,i.style.height=F(t),i.style.width=F(r),{type:`elem`,elem:i}},Pi=.008,Fi={type:`kern`,size:-1*Pi},Ii=new Set([`|`,`\\lvert`,`\\rvert`,`\\vert`]),Li=new Set([`\\|`,`\\lVert`,`\\rVert`,`\\Vert`]),Ri=function(e,t,n,r,i,a){var o,s,c,l,u=``,d=0;o=c=l=e,s=null;var f=`Size1-Regular`;e===`\\uparrow`?c=l=`⏐`:e===`\\Uparrow`?c=l=`‖`:e===`\\downarrow`?o=c=`⏐`:e===`\\Downarrow`?o=c=`‖`:e===`\\updownarrow`?(o=`\\uparrow`,c=`⏐`,l=`\\downarrow`):e===`\\Updownarrow`?(o=`\\Uparrow`,c=`‖`,l=`\\Downarrow`):Ii.has(e)?(c=`∣`,u=`vert`,d=333):Li.has(e)?(c=`∥`,u=`doublevert`,d=556):e===`[`||e===`\\lbrack`?(o=`⎡`,c=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lbrack`,d=667):e===`]`||e===`\\rbrack`?(o=`⎤`,c=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rbrack`,d=667):e===`\\lfloor`||e===`⌊`?(c=o=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lfloor`,d=667):e===`\\lceil`||e===`⌈`?(o=`⎡`,c=l=`⎢`,f=`Size4-Regular`,u=`lceil`,d=667):e===`\\rfloor`||e===`⌋`?(c=o=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rfloor`,d=667):e===`\\rceil`||e===`⌉`?(o=`⎤`,c=l=`⎥`,f=`Size4-Regular`,u=`rceil`,d=667):e===`(`||e===`\\lparen`?(o=`⎛`,c=`⎜`,l=`⎝`,f=`Size4-Regular`,u=`lparen`,d=875):e===`)`||e===`\\rparen`?(o=`⎞`,c=`⎟`,l=`⎠`,f=`Size4-Regular`,u=`rparen`,d=875):e===`\\{`||e===`\\lbrace`?(o=`⎧`,s=`⎨`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\}`||e===`\\rbrace`?(o=`⎫`,s=`⎬`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lgroup`||e===`⟮`?(o=`⎧`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\rgroup`||e===`⟯`?(o=`⎫`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lmoustache`||e===`⎰`?(o=`⎧`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):(e===`\\rmoustache`||e===`⎱`)&&(o=`⎫`,l=`⎩`,c=`⎪`,f=`Size4-Regular`);var p=Ei(o,f,i),m=p.height+p.depth,h=Ei(c,f,i),g=h.height+h.depth,_=Ei(l,f,i),v=_.height+_.depth,y=0,b=1;if(s!==null){var x=Ei(s,f,i);y=x.height+x.depth,b=2}var S=m+v+y,C=S+Math.max(0,Math.ceil((t-S)/(b*g)))*b*g,w=r.fontMetrics().axisHeight;n&&(w*=r.sizeMultiplier);var T=C/2-w,E=[];if(u.length>0){var D=C-m-v,ee=Math.round(C*1e3),te=bt(u,Math.round(D*1e3)),ne=new zt(u,te),re=F(d/1e3),ie=F(ee/1e3),O=Kn([],[new Rt([ne],{width:re,height:ie,viewBox:`0 0 `+d+` `+ee})],r);O.height=ee/1e3,O.style.width=re,O.style.height=ie,E.push({type:`elem`,elem:O})}else{if(E.push(Mi(l,f,i)),E.push(Fi),s===null){var k=C-m-v+2*Pi;E.push(Ni(c,k,r))}else{var ae=(C-m-v-y)/2+2*Pi;E.push(Ni(c,ae,r)),E.push(Fi),E.push(Mi(s,f,i)),E.push(Fi),E.push(Ni(c,ae,r))}E.push(Fi),E.push(Mi(o,f,i))}var oe=r.havingBaseStyle(N.TEXT);return Di(K([`delimsizing`,`mult`],[q({positionType:`bottom`,positionData:T,children:E})],oe),N.TEXT,r,a)},zi=80,Bi=.08,Vi=function(e,t,n,r,i){return Kn([`hide-tail`],[new Rt([new zt(e,_t(e,r,n))],{width:`400em`,height:F(t),viewBox:`0 0 400000 `+n,preserveAspectRatio:`xMinYMin slice`})],i)},Hi=function(e,t){var n=t.havingBaseSizing(),r=Qi(`\\surd`,e*n.sizeMultiplier,Xi,n),i=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o,s,c,l,u;return r.type===`small`?(l=1e3+1e3*a+zi,e<1?i=1:e<1.4&&(i=.7),s=(1+a+Bi)/i,c=(1+a)/i,o=Vi(`sqrtMain`,s,l,a,t),o.style.minWidth=`0.853em`,u=.833/i):r.type===`large`?(l=(1e3+zi)*Ki[r.size],c=(Ki[r.size]+a)/i,s=(Ki[r.size]+a+Bi)/i,o=Vi(`sqrtSize`+r.size,s,l,a,t),o.style.minWidth=`1.02em`,u=1/i):(s=e+a+Bi,c=e+a,l=Math.floor(1e3*e+a)+zi,o=Vi(`sqrtTall`,s,l,a,t),o.style.minWidth=`0.742em`,u=1.056),o.height=c,o.style.height=F(s),{span:o,advanceWidth:u,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*i}},Ui=new Set([`(`,`\\lparen`,`)`,`\\rparen`,`[`,`\\lbrack`,`]`,`\\rbrack`,`\\{`,`\\lbrace`,`\\}`,`\\rbrace`,`\\lfloor`,`\\rfloor`,`⌊`,`⌋`,`\\lceil`,`\\rceil`,`⌈`,`⌉`,`\\surd`]),Wi=new Set([`\\uparrow`,`\\downarrow`,`\\updownarrow`,`\\Uparrow`,`\\Downarrow`,`\\Updownarrow`,`|`,`\\|`,`\\vert`,`\\Vert`,`\\lvert`,`\\rvert`,`\\lVert`,`\\rVert`,`\\lgroup`,`\\rgroup`,`⟮`,`⟯`,`\\lmoustache`,`\\rmoustache`,`⎰`,`⎱`]),Gi=new Set([`<`,`>`,`\\langle`,`\\rangle`,`/`,`\\backslash`,`\\lt`,`\\gt`]),Ki=[0,1.2,1.8,2.4,3],qi=function(e,t,n,r,i){if(e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`),Ui.has(e)||Gi.has(e))return ji(e,t,!1,n,r,i);if(Wi.has(e))return Ri(e,Ki[t],!1,n,r,i);throw new A(`Illegal delimiter: '`+e+`'`)},Ji=[{type:`small`,style:N.SCRIPTSCRIPT},{type:`small`,style:N.SCRIPT},{type:`small`,style:N.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4}],Yi=[{type:`small`,style:N.SCRIPTSCRIPT},{type:`small`,style:N.SCRIPT},{type:`small`,style:N.TEXT},{type:`stack`}],Xi=[{type:`small`,style:N.SCRIPTSCRIPT},{type:`small`,style:N.SCRIPT},{type:`small`,style:N.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4},{type:`stack`}],Zi=function(e){if(e.type===`small`)return`Main-Regular`;if(e.type===`large`)return`Size`+e.size+`-Regular`;if(e.type===`stack`)return`Size4-Regular`;var t=e.type;throw Error(`Add support for delim type '`+t+`' here.`)},Qi=function(e,t,n,r){for(var i=Math.min(2,3-r.style.size);i<n.length;i++){var a=n[i];if(a.type===`stack`)break;var o=Ei(e,Zi(a),`math`),s=o.height+o.depth;if(a.type===`small`){var c=r.havingBaseStyle(a.style);s*=c.sizeMultiplier}if(s>t)return a}return n[n.length-1]},$i=function(e,t,n,r,i,a){e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`);var o=Gi.has(e)?Ji:Ui.has(e)?Xi:Yi,s=Qi(e,t,o,r);return s.type===`small`?ki(e,s.style,n,r,i,a):s.type===`large`?ji(e,s.size,n,r,i,a):Ri(e,t,n,r,i,a)},ea=function(e,t,n,r,i,a){var o=r.fontMetrics().axisHeight*r.sizeMultiplier,s=901,c=5/r.fontMetrics().ptPerEm,l=Math.max(t-o,n+o);return $i(e,Math.max(l/500*s,2*l-c),!0,r,i,a)},ta={"\\bigl":{mclass:`mopen`,size:1},"\\Bigl":{mclass:`mopen`,size:2},"\\biggl":{mclass:`mopen`,size:3},"\\Biggl":{mclass:`mopen`,size:4},"\\bigr":{mclass:`mclose`,size:1},"\\Bigr":{mclass:`mclose`,size:2},"\\biggr":{mclass:`mclose`,size:3},"\\Biggr":{mclass:`mclose`,size:4},"\\bigm":{mclass:`mrel`,size:1},"\\Bigm":{mclass:`mrel`,size:2},"\\biggm":{mclass:`mrel`,size:3},"\\Biggm":{mclass:`mrel`,size:4},"\\big":{mclass:`mord`,size:1},"\\Big":{mclass:`mord`,size:2},"\\bigg":{mclass:`mord`,size:3},"\\Bigg":{mclass:`mord`,size:4}},na=new Set(`(,\\lparen,),\\rparen,[,\\lbrack,],\\rbrack,\\{,\\lbrace,\\},\\rbrace,\\lfloor,\\rfloor,⌊,⌋,\\lceil,\\rceil,⌈,⌉,<,>,\\langle,⟨,\\rangle,⟩,\\lt,\\gt,\\lvert,\\rvert,\\lVert,\\rVert,\\lgroup,\\rgroup,⟮,⟯,\\lmoustache,\\rmoustache,⎰,⎱,/,\\backslash,|,\\vert,\\|,\\Vert,\\uparrow,\\Uparrow,\\downarrow,\\Downarrow,\\updownarrow,\\Updownarrow,.`.split(`,`));function ra(e){return`isMiddle`in e}function ia(e,t){var n=oi(e);if(n&&na.has(n.text))return n;throw n?new A(`Invalid delimiter '`+n.text+`' after '`+t.funcName+`'`,e):new A(`Invalid delimiter type '`+e.type+`'`,e)}J({type:`delimsizing`,names:[`\\bigl`,`\\Bigl`,`\\biggl`,`\\Biggl`,`\\bigr`,`\\Bigr`,`\\biggr`,`\\Biggr`,`\\bigm`,`\\Bigm`,`\\biggm`,`\\Biggm`,`\\big`,`\\Big`,`\\bigg`,`\\Bigg`],numArgs:1,argTypes:[`primitive`],handler:(e,t)=>{var n=ia(fr(t[0]),e);return{type:`delimsizing`,mode:e.parser.mode,size:ta[e.funcName].size,mclass:ta[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim===`.`?K([e.mclass]):qi(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!==`.`&&t.push(jr(e.delim,e.mode));var n=new X(`mo`,t);e.mclass===`mopen`||e.mclass===`mclose`?n.setAttribute(`fence`,`true`):n.setAttribute(`fence`,`false`),n.setAttribute(`stretchy`,`true`);var r=F(Ki[e.size]);return n.setAttribute(`minsize`,r),n.setAttribute(`maxsize`,r),n}});function aa(e){if(!e.body)throw Error(`Bug: The leftright ParseNode wasn't fully parsed.`)}J({type:`leftright-right`,names:[`\\right`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser.gullet.macros.get(`\\current@color`);if(n&&typeof n!=`string`)throw new A(`\\current@color set to non-string in \\right`);return{type:`leftright-right`,mode:e.parser.mode,delim:ia(t[0],e).text,color:n}}}),J({type:`leftright`,names:[`\\left`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=ia(t[0],e),r=e.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect(`\\right`,!1);var a=Z(r.parseFunction(),`leftright-right`);return{type:`leftright`,mode:r.mode,body:i,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(e,t)=>{aa(e);for(var n=vr(e.body,t,!0,[`mopen`,`mclose`]),r=0,i=0,a=!1,o=0;o<n.length;o++){var s=n[o];ra(s)?a=!0:(r=Math.max(n[o].height,r),i=Math.max(n[o].depth,i))}r*=t.sizeMultiplier,i*=t.sizeMultiplier;var c=e.left===`.`?Cr(t,[`mopen`]):ea(e.left,r,i,t,e.mode,[`mopen`]);if(n.unshift(c),a)for(var l=1;l<n.length;l++){var u=n[l];if(ra(u)){var d=u.isMiddle;n[l]=ea(d.delim,r,i,d.options,e.mode,[])}}var f;if(e.right===`.`)f=Cr(t,[`mclose`]);else{var p=e.rightColor?t.withColor(e.rightColor):t;f=ea(e.right,r,i,p,e.mode,[`mclose`])}return n.push(f),K([`minner`],n,t)},mathmlBuilder:(e,t)=>{aa(e);var n=Ir(e.body,t);if(e.left!==`.`){var r=new X(`mo`,[jr(e.left,e.mode)]);r.setAttribute(`fence`,`true`),n.unshift(r)}if(e.right!==`.`){var i=new X(`mo`,[jr(e.right,e.mode)]);i.setAttribute(`fence`,`true`),e.rightColor&&i.setAttribute(`mathcolor`,e.rightColor),n.push(i)}return Mr(n)}}),J({type:`middle`,names:[`\\middle`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=ia(t[0],e);if(!e.parser.leftrightDepth)throw new A(`\\middle without preceding \\left`,n);return{type:`middle`,mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim===`.`?n=Cr(t,[]):(n=qi(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=new X(`mo`,[e.delim===`\\vert`||e.delim===`|`?jr(`|`,`text`):jr(e.delim,e.mode)]);return n.setAttribute(`fence`,`true`),n.setAttribute(`lspace`,`0.05em`),n.setAttribute(`rspace`,`0.05em`),n}}),J({type:`enclose`,names:[`\\colorbox`],numArgs:2,allowedInText:!0,argTypes:[`color`,`hbox`],handler(e,t,n){var r=e.parser,i=e.funcName,a=Z(t[0],`color-token`).color,o=t[1];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:(e,t)=>{var n=Xn(Y(e.body,t),t),r=e.label.slice(1),i=t.sizeMultiplier,a,o,s=Re(e.body);if(r===`sout`)a=K([`katex-stretchy`,`katex-sout`]),a.height=t.fontMetrics().defaultRuleThickness/i,o=-.5*t.fontMetrics().xHeight;else if(r===`phase`){var c=Et({number:.6,unit:`pt`},t),l=Et({number:.35,unit:`ex`},t),u=t.havingBaseSizing();i/=u.sizeMultiplier;var d=n.height+n.depth+c+l;n.style.paddingLeft=F(d/2+c);var f=Math.floor(1e3*d*i);a=Kn([`hide-tail`],[new Rt([new zt(`phase`,ht(f))],{width:`400em`,height:F(f/1e3),viewBox:`0 0 400000 `+f,preserveAspectRatio:`xMinYMin slice`})],t),a.style.height=F(d),o=n.depth+c+l}else{/cancel/.test(r)?s||n.classes.push(`cancel-pad`):r===`angl`?n.classes.push(`anglpad`):n.classes.push(`boxpad`);var p,m,h=0;/box/.test(r)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),p=t.fontMetrics().fboxsep+(r===`colorbox`?0:h),m=p):r===`angl`?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),p=4*h,m=Math.max(0,.25-n.depth)):(p=s?.2:0,m=p),a=$r(n,r,p,m,t),/fbox|boxed|fcolorbox/.test(r)?(a.style.borderStyle=`solid`,a.style.borderWidth=F(h)):r===`angl`&&h!==.049&&(a.style.borderTopWidth=F(h),a.style.borderRightWidth=F(h)),o=n.depth+m,e.backgroundColor&&(a.style.backgroundColor=e.backgroundColor,e.borderColor&&(a.style.borderColor=e.borderColor))}var g;if(e.backgroundColor)g=q({positionType:`individualShift`,children:[{type:`elem`,elem:a,shift:o},{type:`elem`,elem:n,shift:0}]});else{var _=/cancel|phase/.test(r)?[`svg-align`]:[];g=q({positionType:`individualShift`,children:[{type:`elem`,elem:n,shift:0},{type:`elem`,elem:a,shift:o,wrapperClasses:_}]})}return/cancel/.test(r)&&(g.height=n.height,g.depth=n.depth),/cancel/.test(r)&&!s?K([`mord`,`cancel-lap`],[g],t):K([`mord`],[g],t)},mathmlBuilder:(e,t)=>{var n,r=new X(e.label.includes(`colorbox`)?`mpadded`:`menclose`,[Rr(e.body,t)]);switch(e.label){case`\\cancel`:r.setAttribute(`notation`,`updiagonalstrike`);break;case`\\bcancel`:r.setAttribute(`notation`,`downdiagonalstrike`);break;case`\\phase`:r.setAttribute(`notation`,`phasorangle`);break;case`\\sout`:r.setAttribute(`notation`,`horizontalstrike`);break;case`\\fbox`:r.setAttribute(`notation`,`box`);break;case`\\angl`:r.setAttribute(`notation`,`actuarial`);break;case`\\fcolorbox`:case`\\colorbox`:if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,r.setAttribute(`width`,`+`+2*n+`pt`),r.setAttribute(`height`,`+`+2*n+`pt`),r.setAttribute(`lspace`,n+`pt`),r.setAttribute(`voffset`,n+`pt`),e.label===`\\fcolorbox`){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);r.setAttribute(`style`,`border: `+F(i)+` solid `+e.borderColor)}break;case`\\xcancel`:r.setAttribute(`notation`,`updiagonalstrike downdiagonalstrike`);break}return e.backgroundColor&&r.setAttribute(`mathbackground`,e.backgroundColor),r}}),J({type:`enclose`,names:[`\\fcolorbox`],numArgs:3,allowedInText:!0,argTypes:[`color`,`color`,`hbox`],handler(e,t,n){var r=e.parser,i=e.funcName,a=Z(t[0],`color-token`).color,o=Z(t[1],`color-token`).color,s=t[2];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:o,borderColor:a,body:s}}}),J({type:`enclose`,names:[`\\fbox`],numArgs:1,argTypes:[`hbox`],allowedInText:!0,handler(e,t){return{type:`enclose`,mode:e.parser.mode,label:`\\fbox`,body:t[0]}}}),J({type:`enclose`,names:[`\\cancel`,`\\bcancel`,`\\xcancel`,`\\phase`],numArgs:1,handler(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}}}),J({type:`enclose`,names:[`\\sout`],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,r=e.funcName;n.mode===`math`&&n.settings.reportNonstrict(`mathVsSout`,`LaTeX's \\sout works only in text mode`);var i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}}}),J({type:`enclose`,names:[`\\angl`],numArgs:1,argTypes:[`hbox`],allowedInText:!1,handler(e,t){return{type:`enclose`,mode:e.parser.mode,label:`\\angl`,body:t[0]}}});var oa={};function sa(e){for(var t=e.type,n=e.names,r=e.props,i=e.handler,a=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},c=0;c<n.length;++c)oa[n[c]]=s;a&&(lr[t]=a),o&&(ur[t]=o)}var ca={};function Q(e,t){ca[e]=t}var la=class e{constructor(e,t,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=n}static range(t,n){return n?!t||!t.loc||!n.loc||t.loc.lexer!==n.loc.lexer?null:new e(t.loc.lexer,t.loc.start,n.loc.end):t&&t.loc}},ua=class e{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(t,n){return new e(n,la.range(this,t))}};function da(e){var t=[];e.consumeSpaces();var n=e.fetch().text;for(n===`\\relax`&&(e.consume(),e.consumeSpaces(),n=e.fetch().text);n===`\\hline`||n===`\\hdashline`;)e.consume(),t.push(n===`\\hdashline`),e.consumeSpaces(),n=e.fetch().text;return t}var fa=e=>{if(!e.parser.settings.displayMode)throw new A(`{`+e.envName+`} can be used only in display mode.`)},pa=new Set([`gather`,`gather*`]);function ma(e){if(!e.includes(`ed`))return!e.includes(`*`)}function ha(e,t,n){var r=t.hskipBeforeAndAfter,i=t.addJot,a=t.cols,o=t.arraystretch,s=t.colSeparationType,c=t.autoTag,l=t.singleRow,u=t.emptySingleRow,d=t.maxNumCols,f=t.leqno;if(e.gullet.beginGroup(),l||e.gullet.macros.set(`\\cr`,`\\\\\\relax`),!o){var p=e.gullet.expandMacroAsText(`\\arraystretch`);if(p==null)o=1;else if(o=parseFloat(p),!o||o<0)throw new A(`Invalid \\arraystretch: `+p)}e.gullet.beginGroup();var m=[],h=[m],g=[],_=[],v=c==null?void 0:[];function y(){c&&e.gullet.macros.set(`\\@eqnsw`,`1`,!0)}function b(){v&&(e.gullet.macros.get(`\\df@tag`)?(v.push(e.subparse([new ua(`\\df@tag`)])),e.gullet.macros.set(`\\df@tag`,void 0,!0)):v.push(!!c&&e.gullet.macros.get(`\\@eqnsw`)===`1`))}for(y(),_.push(da(e));;){var x=e.parseExpression(!1,l?`\\end`:`\\\\`);e.gullet.endGroup(),e.gullet.beginGroup();var S={type:`ordgroup`,mode:e.mode,body:x};n&&(S={type:`styling`,mode:e.mode,style:n,resetFont:!0,body:[S]}),m.push(S);var C=e.fetch().text;if(C===`&`){if(d&&m.length===d){if(l||s)throw new A(`Too many tab characters: &`,e.nextToken);e.settings.reportNonstrict(`textEnv`,`Too few columns specified in the {array} column argument.`)}e.consume()}else if(C===`\\end`){b(),m.length===1&&S.type===`styling`&&S.body.length===1&&S.body[0].type===`ordgroup`&&S.body[0].body.length===0&&(h.length>1||!u)&&!Array.isArray(v?.[v.length-1])&&h.pop(),_.length<h.length+1&&_.push([]);break}else if(C===`\\\\`){e.consume();var w=void 0;e.gullet.future().text!==` `&&(w=e.parseSizeGroup(!0)),g.push(w?w.value:null),b(),_.push(da(e)),m=[],h.push(m),y()}else throw new A(`Expected & or \\\\ or \\cr or \\end`,e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:e.mode,addJot:i,arraystretch:o,body:h,cols:a,rowGaps:g,hskipBeforeAndAfter:r,hLinesBeforeRow:_,colSeparationType:s,tags:v,leqno:f}}function ga(e){return e.slice(0,1)===`d`?`display`:`text`}var _a=function(e,t){var n,r,i=e.body.length,a=e.hLinesBeforeRow,o=0,s=Array(i),c=[],l=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),u=1/t.fontMetrics().ptPerEm,d=5*u;e.colSeparationType&&e.colSeparationType===`small`&&(d=.2778*(t.havingStyle(N.SCRIPT).sizeMultiplier/t.sizeMultiplier));var f=e.colSeparationType===`CD`?Et({number:3,unit:`ex`},t):12*u,p=3*u,m=e.arraystretch*f,h=.7*m,g=.3*m,_=0;function v(e){for(var t=0;t<e.length;++t)t>0&&(_+=.25),c.push({pos:_,isDashed:e[t]})}for(v(a[0]),n=0;n<e.body.length;++n){var y=e.body[n],b=h,x=g;o<y.length&&(o=y.length);var S={cells:Array(y.length),height:0,depth:0,pos:0};for(r=0;r<y.length;++r){var C=Y(y[r],t);x<C.depth&&(x=C.depth),b<C.height&&(b=C.height),S.cells[r]=C}var w=e.rowGaps[n],T=0;w&&(T=Et(w,t),T>0&&(T+=g,x<T&&(x=T),T=0)),e.addJot&&n<e.body.length-1&&(x+=p),S.height=b,S.depth=x,_+=b,S.pos=_,_+=x+T,s[n]=S,v(a[n+1])}var E=_/2+t.fontMetrics().axisHeight,D=e.cols||[],ee=[],te,ne,re=[];if(e.tags&&e.tags.some(e=>e))for(n=0;n<i;++n){var ie=s[n],O=ie.pos-E,k=e.tags[n],ae=void 0;ae=k===!0?K([`eqn-num`],[],t):k===!1?K([],[],t):K([],vr(k,t,!0),t),ae.depth=ie.depth,ae.height=ie.height,re.push({type:`elem`,elem:ae,shift:O})}for(r=0,ne=0;r<o||ne<D.length;++r,++ne){for(var oe=D[ne],se=!0;(ce=oe)?.type===`separator`;){var ce;if(se||(te=K([`arraycolsep`],[]),te.style.width=F(t.fontMetrics().doubleRuleSep),ee.push(te)),oe.separator===`|`||oe.separator===`:`){var le=oe.separator===`|`?`solid`:`dashed`,ue=K([`vertical-separator`],[],t);ue.style.height=F(_),ue.style.borderRightWidth=F(l),ue.style.borderRightStyle=le,ue.style.margin=`0 `+F(-l/2);var de=_-E;de&&(ue.style.verticalAlign=F(-de)),ee.push(ue)}else throw new A(`Invalid separator type: `+oe.separator);ne++,oe=D[ne],se=!1}if(!(r>=o)){var fe=void 0;(r>0||e.hskipBeforeAndAfter)&&(fe=oe?.pregap??d,fe!==0&&(te=K([`arraycolsep`],[]),te.style.width=F(fe),ee.push(te)));var pe=[];for(n=0;n<i;++n){var me=s[n],he=me.cells[r];if(he){var ge=me.pos-E;he.depth=me.depth,he.height=me.height,pe.push({type:`elem`,elem:he,shift:ge})}}var _e=q({positionType:`individualShift`,children:pe}),ve=K([`col-align-`+(oe?.align||`c`)],[_e]);ee.push(ve),(r<o-1||e.hskipBeforeAndAfter)&&(fe=oe?.postgap??d,fe!==0&&(te=K([`arraycolsep`],[]),te.style.width=F(fe),ee.push(te)))}}var ye=K([`mtable`],ee);if(c.length>0){for(var be=qn(`katex-hline`,t,l),xe=qn(`katex-hdashline`,t,l),Se=[{type:`elem`,elem:ye,shift:0}];c.length>0;){var Ce=c.pop(),we=Ce.pos-E;Ce.isDashed?Se.push({type:`elem`,elem:xe,shift:we}):Se.push({type:`elem`,elem:be,shift:we})}ye=q({positionType:`individualShift`,children:Se})}if(re.length===0)return K([`mord`],[ye],t);var Te=K([`katex-tag`],[q({positionType:`individualShift`,children:re})],t);return Yn([ye,Te])},va={c:`center `,l:`left `,r:`right `},ya=function(e,t){for(var n=[],r=new X(`mtd`,[],[`mtr-glue`]),i=new X(`mtd`,[],[`mml-eqn-num`]),a=0;a<e.body.length;a++){for(var o=e.body[a],s=[],c=0;c<o.length;c++)s.push(new X(`mtd`,[Rr(o[c],t)]));e.tags&&e.tags[a]&&(s.unshift(r),s.push(r),e.leqno?s.unshift(i):s.push(i)),n.push(new X(`mtr`,s))}var l=new X(`mtable`,n),u=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);l.setAttribute(`rowspacing`,F(u));var d=``,f=``;if(e.cols&&e.cols.length>0){var p=e.cols,m=``,h=!1,g=0,_=p.length;p[0].type===`separator`&&(d+=`top `,g=1),p[p.length-1].type===`separator`&&(d+=`bottom `,--_);for(var v=g;v<_;v++){var y=p[v];y.type===`align`?(f+=va[y.align],h&&(m+=`none `),h=!0):y.type===`separator`&&(h&&=(m+=y.separator===`|`?`solid `:`dashed `,!1))}l.setAttribute(`columnalign`,f.trim()),/[sd]/.test(m)&&l.setAttribute(`columnlines`,m.trim())}if(e.colSeparationType===`align`){for(var b=e.cols||[],x=``,S=1;S<b.length;S++)x+=S%2?`0em `:`1em `;l.setAttribute(`columnspacing`,x.trim())}else e.colSeparationType===`alignat`||e.colSeparationType===`gather`?l.setAttribute(`columnspacing`,`0em`):e.colSeparationType===`small`?l.setAttribute(`columnspacing`,`0.2778em`):e.colSeparationType===`CD`?l.setAttribute(`columnspacing`,`0.5em`):l.setAttribute(`columnspacing`,`1em`);var C=``,w=e.hLinesBeforeRow;d+=w[0].length>0?`left `:``,d+=w[w.length-1].length>0?`right `:``;for(var T=1;T<w.length-1;T++)C+=w[T].length===0?`none `:w[T][0]?`dashed `:`solid `;return/[sd]/.test(C)&&l.setAttribute(`rowlines`,C.trim()),d!==``&&(l=new X(`menclose`,[l]),l.setAttribute(`notation`,d.trim())),e.arraystretch&&e.arraystretch<1&&(l=new X(`mstyle`,[l]),l.setAttribute(`scriptlevel`,`1`)),l},ba=function(e,t){e.envName.includes(`ed`)||fa(e);var n=[],r=e.envName===`split`,i=ha(e.parser,{cols:n,addJot:!0,autoTag:r?void 0:ma(e.envName),emptySingleRow:!0,colSeparationType:e.envName.includes(`at`)?`alignat`:`align`,maxNumCols:r?2:void 0,leqno:e.parser.settings.leqno},`display`),a=0,o=0,s={type:`ordgroup`,mode:e.mode,body:[]};if(t[0]&&t[0].type===`ordgroup`){var c=`Number of columns should be a positive integer`,l=si(t[0],c);if(!/^[0-9]+$/.test(l)||Number(l)<1)throw new A(c,t[0]);a=Number(l),o=a*2}var u=!o;i.body.forEach(function(e){for(var t=1;t<e.length;t+=2)Z(Z(e[t],`styling`).body[0],`ordgroup`).body.unshift(s);if(u)o<e.length&&(o=e.length);else{var n=e.length/2;if(a<n)throw new A(`Too many math in a row: `+(`expected `+a+`, but got `+n),e[0])}});for(var d=0;d<o;++d){var f=`r`,p=0;d%2==1?f=`l`:d>0&&u&&(p=1),n[d]={type:`align`,align:f,pregap:p,postgap:0}}return i.colSeparationType=u?`align`:`alignat`,i};sa({type:`array`,names:[`array`,`darray`],props:{numArgs:1},handler(e,t){var n=(oi(t[0])?[t[0]]:Z(t[0],`ordgroup`).body).map(function(e){var t=ai(e).text;if(`lcr`.includes(t))return{type:`align`,align:t};if(t===`|`)return{type:`separator`,separator:`|`};if(t===`:`)return{type:`separator`,separator:`:`};throw new A(`Unknown column alignment: `+t,e)}),r={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return ha(e.parser,r,ga(e.envName))},htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`matrix`,`pmatrix`,`bmatrix`,`Bmatrix`,`vmatrix`,`Vmatrix`,`matrix*`,`pmatrix*`,`bmatrix*`,`Bmatrix*`,`vmatrix*`,`Vmatrix*`],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:[`(`,`)`],bmatrix:[`[`,`]`],Bmatrix:[`\\{`,`\\}`],vmatrix:[`|`,`|`],Vmatrix:[`\\Vert`,`\\Vert`]}[e.envName.replace(`*`,``)],n=`c`,r={hskipBeforeAndAfter:!1,cols:[{type:`align`,align:n}]};if(e.envName.charAt(e.envName.length-1)===`*`){var i=e.parser;if(i.consumeSpaces(),i.fetch().text===`[`){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!`lcr`.includes(n))throw new A(`Expected l or c or r`,i.nextToken);i.consume(),i.consumeSpaces(),i.expect(`]`),i.consume(),r.cols=[{type:`align`,align:n}]}}var a=ha(e.parser,r,ga(e.envName)),o=Math.max(0,...a.body.map(e=>e.length));return a.cols=Array(o).fill({type:`align`,align:n}),t?{type:`leftright`,mode:e.mode,body:[a],left:t[0],right:t[1],rightColor:void 0}:a},htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`smallmatrix`],props:{numArgs:0},handler(e){var t=ha(e.parser,{arraystretch:.5},`script`);return t.colSeparationType=`small`,t},htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`subarray`],props:{numArgs:1},handler(e,t){var n=(oi(t[0])?[t[0]]:Z(t[0],`ordgroup`).body).map(function(e){var t=ai(e).text;if(`lc`.includes(t))return{type:`align`,align:t};throw new A(`Unknown column alignment: `+t,e)});if(n.length>1)throw new A(`{subarray} can contain only one column`);var r={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5},i=ha(e.parser,r,`script`);if(i.body.length>0&&i.body[0].length>1)throw new A(`{subarray} can contain only one column`);return i},htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`cases`,`dcases`,`rcases`,`drcases`],props:{numArgs:0},handler(e){var t=ha(e.parser,{arraystretch:1.2,cols:[{type:`align`,align:`l`,pregap:0,postgap:1},{type:`align`,align:`l`,pregap:0,postgap:0}]},ga(e.envName));return{type:`leftright`,mode:e.mode,body:[t],left:e.envName.includes(`r`)?`.`:`\\{`,right:e.envName.includes(`r`)?`\\}`:`.`,rightColor:void 0}},htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`align`,`align*`,`aligned`,`split`],props:{numArgs:0},handler:ba,htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`gathered`,`gather`,`gather*`],props:{numArgs:0},handler(e){pa.has(e.envName)&&fa(e);var t={cols:[{type:`align`,align:`c`}],addJot:!0,colSeparationType:`gather`,autoTag:ma(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return ha(e.parser,t,`display`)},htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`alignat`,`alignat*`,`alignedat`],props:{numArgs:1},handler:ba,htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`equation`,`equation*`],props:{numArgs:0},handler(e){fa(e);var t={autoTag:ma(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return ha(e.parser,t,`display`)},htmlBuilder:_a,mathmlBuilder:ya}),sa({type:`array`,names:[`CD`],props:{numArgs:0},handler(e){return fa(e),xi(e.parser)},htmlBuilder:_a,mathmlBuilder:ya}),Q(`\\nonumber`,`\\gdef\\@eqnsw{0}`),Q(`\\notag`,`\\nonumber`),J({type:`text`,names:[`\\hline`,`\\hdashline`],numArgs:0,allowedInText:!0,allowedInMath:!0,handler(e,t){throw new A(e.funcName+` valid only within array environment`)}});var xa=oa;J({type:`environment`,names:[`\\begin`,`\\end`],numArgs:1,argTypes:[`text`],handler(e,t){var n=e.parser,r=e.funcName,i=t[0];if(i.type!==`ordgroup`)throw new A(`Invalid environment name`,i);var a=si(i,`Environment name should contain only text characters and spaces`,!0);if(r===`\\begin`){if(!Object.prototype.hasOwnProperty.call(xa,a))throw new A(`No such environment: `+a,i);var o=xa[a],s=n.parseArguments(`\\begin{`+a+`}`,o),c=s.args,l=s.optArgs,u={mode:n.mode,envName:a,parser:n},d=o.handler(u,c,l);n.expect(`\\end`,!1);var f=n.nextToken,p=Z(n.parseFunction(),`environment`);if(p.name!==a)throw new A(`Mismatch: \\begin{`+a+`} matched by \\end{`+p.name+`}`,f);return d}return{type:`environment`,mode:n.mode,name:a,nameGroup:i}}});var Sa=(e,t)=>{var n=e.font,r=t.withFont(n);return Y(e.body,r)},Ca=(e,t)=>{var n=e.font,r=t.withFont(n);return Rr(e.body,r)},wa={"\\Bbb":`\\mathbb`,"\\bold":`\\mathbf`,"\\frak":`\\mathfrak`};J({type:`font`,names:[`\\mathrm`,`\\mathit`,`\\mathbf`,`\\mathnormal`,`\\mathsfit`,`\\mathbb`,`\\mathcal`,`\\mathfrak`,`\\mathscr`,`\\mathsf`,`\\mathtt`,`\\Bbb`,`\\bold`,`\\frak`],numArgs:1,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=fr(t[0]),a=r in wa?wa[r]:r;return{type:`font`,mode:n.mode,font:a.slice(1),body:i}},htmlBuilder:Sa,mathmlBuilder:Ca}),J({type:`mclass`,names:[`\\boldsymbol`,`\\bm`],numArgs:1,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`mclass`,mode:n.mode,mclass:hi(r),body:[{type:`font`,mode:n.mode,font:`boldsymbol`,body:r}],isCharacterBox:Re(r)}}}),J({type:`font`,names:[`\\rm`,`\\sf`,`\\tt`,`\\bf`,`\\it`,`\\cal`],numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=e.breakOnTokenText,a=n.mode,o=n.parseExpression(!0,i);return{type:`font`,mode:a,font:`math`+r.slice(1),body:{type:`ordgroup`,mode:n.mode,body:o}}}});var Ta=(e,t)=>{var n=t.style,r=n.fracNum(),i=n.fracDen(),a=t.havingStyle(r),o=Y(e.numer,a,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm;o.height=o.height<s?s:o.height,o.depth=o.depth<c?c:o.depth}a=t.havingStyle(i);var l=Y(e.denom,a,t),u,d,f;e.hasBarLine?(e.barSize?(d=Et(e.barSize,t),u=qn(`frac-line`,t,d)):u=qn(`frac-line`,t),d=u.height,f=u.height):(u=null,d=0,f=t.fontMetrics().defaultRuleThickness);var p,m,h;n.size===N.DISPLAY.size?(p=t.fontMetrics().num1,m=d>0?3*f:7*f,h=t.fontMetrics().denom1):(d>0?(p=t.fontMetrics().num2,m=f):(p=t.fontMetrics().num3,m=3*f),h=t.fontMetrics().denom2);var g;if(u){var _=t.fontMetrics().axisHeight;p-o.depth-(_+.5*d)<m&&(p+=m-(p-o.depth-(_+.5*d))),_-.5*d-(l.height-h)<m&&(h+=m-(_-.5*d-(l.height-h)));var v=-(_-.5*d);g=q({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:u,shift:v},{type:`elem`,elem:o,shift:-p}]})}else{var y=p-o.depth-(l.height-h);y<m&&(p+=.5*(m-y),h+=.5*(m-y)),g=q({positionType:`individualShift`,children:[{type:`elem`,elem:l,shift:h},{type:`elem`,elem:o,shift:-p}]})}a=t.havingStyle(n),g.height*=a.sizeMultiplier/t.sizeMultiplier,g.depth*=a.sizeMultiplier/t.sizeMultiplier;var b=n.size===N.DISPLAY.size?t.fontMetrics().delim1:n.size===N.SCRIPTSCRIPT.size?t.havingStyle(N.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,x=e.leftDelim==null?Cr(t,[`mopen`]):$i(e.leftDelim,b,!0,t.havingStyle(n),e.mode,[`mopen`]),S=e.continued?K([]):e.rightDelim==null?Cr(t,[`mclose`]):$i(e.rightDelim,b,!0,t.havingStyle(n),e.mode,[`mclose`]);return K([`mord`].concat(a.sizingClasses(t)),[x,K([`mfrac`],[g]),S],t)},Ea=(e,t)=>{var n=new X(`mfrac`,[Rr(e.numer,t),Rr(e.denom,t)]);if(!e.hasBarLine)n.setAttribute(`linethickness`,`0px`);else if(e.barSize){var r=Et(e.barSize,t);n.setAttribute(`linethickness`,F(r))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var a=new X(`mo`,[new Dr(e.leftDelim.replace(`\\`,``))]);a.setAttribute(`fence`,`true`),i.push(a)}if(i.push(n),e.rightDelim!=null){var o=new X(`mo`,[new Dr(e.rightDelim.replace(`\\`,``))]);o.setAttribute(`fence`,`true`),i.push(o)}return Mr(i)}return n},Da=(e,t)=>t?{type:`styling`,mode:e.mode,style:t,body:[e]}:e;J({type:`genfrac`,names:[`\\cfrac`,`\\dfrac`,`\\frac`,`\\tfrac`,`\\dbinom`,`\\binom`,`\\tbinom`,`\\\\atopfrac`,`\\\\bracefrac`,`\\\\brackfrac`],numArgs:2,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=t[0],a=t[1],o,s=null,c=null;switch(r){case`\\cfrac`:case`\\dfrac`:case`\\frac`:case`\\tfrac`:o=!0;break;case`\\\\atopfrac`:o=!1;break;case`\\dbinom`:case`\\binom`:case`\\tbinom`:o=!1,s=`(`,c=`)`;break;case`\\\\bracefrac`:o=!1,s=`\\{`,c=`\\}`;break;case`\\\\brackfrac`:o=!1,s=`[`,c=`]`;break;default:throw Error(`Unrecognized genfrac command`)}var l=r===`\\cfrac`,u=null;return l||r.startsWith(`\\d`)?u=`display`:r.startsWith(`\\t`)&&(u=`text`),Da({type:`genfrac`,mode:n.mode,numer:i,denom:a,continued:l,hasBarLine:o,leftDelim:s,rightDelim:c,barSize:null},u)},htmlBuilder:Ta,mathmlBuilder:Ea}),J({type:`infix`,names:[`\\over`,`\\choose`,`\\atop`,`\\brace`,`\\brack`],numArgs:0,infix:!0,handler(e){var t=e.parser,n=e.funcName,r=e.token,i;switch(n){case`\\over`:i=`\\frac`;break;case`\\choose`:i=`\\binom`;break;case`\\atop`:i=`\\\\atopfrac`;break;case`\\brace`:i=`\\\\bracefrac`;break;case`\\brack`:i=`\\\\brackfrac`;break;default:throw Error(`Unrecognized infix genfrac command`)}return{type:`infix`,mode:t.mode,replaceWith:i,token:r}}});var Oa=[`display`,`text`,`script`,`scriptscript`],ka=function(e){var t=null;return e.length>0&&(t=e,t=t===`.`?null:t),t};J({type:`genfrac`,names:[`\\genfrac`],numArgs:6,allowedInArgument:!0,argTypes:[`math`,`math`,`size`,`text`,`math`,`math`],handler(e,t){var n=e.parser,r=t[4],i=t[5],a=fr(t[0]),o=a.type===`atom`&&a.family===`open`?ka(a.text):null,s=fr(t[1]),c=s.type===`atom`&&s.family===`close`?ka(s.text):null,l=Z(t[2],`size`),u,d=null;l.isBlank?u=!0:(d=l.value,u=d.number>0);var f=null,p=t[3];if(p.type===`ordgroup`){if(p.body.length>0){var m=Z(p.body[0],`textord`);f=Oa[Number(m.text)]}}else p=Z(p,`textord`),f=Oa[Number(p.text)];return Da({type:`genfrac`,mode:n.mode,numer:r,denom:i,continued:!1,hasBarLine:u,barSize:d,leftDelim:o,rightDelim:c},f)}}),J({type:`infix`,names:[`\\above`],numArgs:1,argTypes:[`size`],infix:!0,handler(e,t){var n=e.parser;e.funcName;var r=e.token;return{type:`infix`,mode:n.mode,replaceWith:`\\\\abovefrac`,size:Z(t[0],`size`).value,token:r}}}),J({type:`genfrac`,names:[`\\\\abovefrac`],numArgs:3,argTypes:[`math`,`size`,`math`],handler:(e,t)=>{var n=e.parser;e.funcName;var r=t[0],i=Z(t[1],`infix`).size;if(!i)throw Error(`\\\\abovefrac expected size, but got `+String(i));var a=t[2],o=i.number>0;return{type:`genfrac`,mode:n.mode,numer:r,denom:a,continued:!1,hasBarLine:o,barSize:i,leftDelim:null,rightDelim:null}}});var Aa=(e,t)=>{var n=t.style,r,i;e.type===`supsub`?(r=e.sup?Y(e.sup,t.havingStyle(n.sup()),t):Y(e.sub,t.havingStyle(n.sub()),t),i=Z(e.base,`horizBrace`)):i=Z(e,`horizBrace`);var a=Y(i.base,t.havingBaseStyle(N.DISPLAY)),o=Qr(i,t),s=i.isOver?q({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:.1},{type:`elem`,elem:o,wrapperClasses:[`svg-align`]}]}):q({positionType:`bottom`,positionData:a.depth+.1+o.height,children:[{type:`elem`,elem:o,wrapperClasses:[`svg-align`]},{type:`kern`,size:.1},{type:`elem`,elem:a}]});if(r){var c=K([`minner`,i.isOver?`mover`:`munder`],[s],t);s=i.isOver?q({positionType:`firstBaseline`,children:[{type:`elem`,elem:c},{type:`kern`,size:.2},{type:`elem`,elem:r}]}):q({positionType:`bottom`,positionData:c.depth+.2+r.height+r.depth,children:[{type:`elem`,elem:r},{type:`kern`,size:.2},{type:`elem`,elem:c}]})}return K([`minner`,i.isOver?`mover`:`munder`],[s],t)};J({type:`horizBrace`,names:[`\\overbrace`,`\\underbrace`,`\\overbracket`,`\\underbracket`],numArgs:1,handler(e,t){var n=e.parser,r=e.funcName;return{type:`horizBrace`,mode:n.mode,label:r,isOver:r.includes(`\\over`),base:t[0]}},htmlBuilder:Aa,mathmlBuilder:(e,t)=>{var n=Yr(e.label);return new X(e.isOver?`mover`:`munder`,[Rr(e.base,t),n])}}),J({type:`href`,names:[`\\href`],numArgs:2,argTypes:[`url`,`original`],allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=t[1],i=Z(t[0],`url`).url;return n.settings.isTrusted({command:`\\href`,url:i})?{type:`href`,mode:n.mode,href:i,body:pr(r)}:n.formatUnsupportedCmd(`\\href`)},htmlBuilder:(e,t)=>{var n=vr(e.body,t,!1);return Jn(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=Lr(e.body,t);return n instanceof X||(n=new X(`mrow`,[n])),n.setAttribute(`href`,e.href),n}}),J({type:`href`,names:[`\\url`],numArgs:1,argTypes:[`url`],allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=Z(t[0],`url`).url;if(!n.settings.isTrusted({command:`\\url`,url:r}))return n.formatUnsupportedCmd(`\\url`);for(var i=[],a=0;a<r.length;a++){var o=r[a];o===`~`&&(o=`\\textasciitilde`),i.push({type:`textord`,mode:`text`,text:o})}var s={type:`text`,mode:n.mode,font:`\\texttt`,body:i};return{type:`href`,mode:n.mode,href:r,body:pr(s)}}}),J({type:`hbox`,names:[`\\hbox`],numArgs:1,argTypes:[`text`],allowedInText:!0,primitive:!0,handler(e,t){return{type:`hbox`,mode:e.parser.mode,body:pr(t[0])}},htmlBuilder(e,t){return Yn(vr(e.body,t.withFont(``),!1))},mathmlBuilder(e,t){return new X(`mrow`,Ir(e.body,t.withFont(``)))}}),J({type:`html`,names:[`\\htmlClass`,`\\htmlId`,`\\htmlStyle`,`\\htmlData`],numArgs:2,argTypes:[`raw`,`original`],allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName;e.token;var i=Z(t[0],`raw`).string,a=t[1];n.settings.strict&&n.settings.reportNonstrict(`htmlExtension`,`HTML extension is disabled on strict mode`);var o,s={};switch(r){case`\\htmlClass`:s.class=i,o={command:`\\htmlClass`,class:i};break;case`\\htmlId`:s.id=i,o={command:`\\htmlId`,id:i};break;case`\\htmlStyle`:s.style=i,o={command:`\\htmlStyle`,style:i};break;case`\\htmlData`:for(var c=`{,}`,l=[],u=``,d=0;d<i.length;d++)i.startsWith(c,d)?(u+=`,`,d+=c.length-1):i[d]===`,`?(l.push(u),u=``):u+=i[d];l.push(u);for(var f=0;f<l.length;f++){var p=l[f],m=p.indexOf(`=`);if(m<0)throw new A(`\\htmlData key/value '`+p+`' missing equals sign`);var h=p.slice(0,m),g=p.slice(m+1);s[`data-`+h.trim()]=g}o={command:`\\htmlData`,attributes:s};break;default:throw Error(`Unrecognized html command`)}return n.settings.isTrusted(o)?{type:`html`,mode:n.mode,attributes:s,body:pr(a)}:n.formatUnsupportedCmd(r)},htmlBuilder:(e,t)=>{var n=vr(e.body,t,!1),r=[`enclosing`];e.attributes.class&&r.push(...e.attributes.class.trim().split(/\s+/));var i=K(r,n,t);for(var a of Object.entries(e.attributes)){var o=a[0],s=a[1];o!==`class`&&i.setAttribute(o,s)}return i},mathmlBuilder:(e,t)=>Lr(e.body,t)}),J({type:`htmlmathml`,names:[`\\html@mathml`],numArgs:2,allowedInArgument:!0,allowedInText:!0,handler:(e,t)=>({type:`htmlmathml`,mode:e.parser.mode,html:pr(t[0]),mathml:pr(t[1])}),htmlBuilder:(e,t)=>Yn(vr(e.html,t,!1)),mathmlBuilder:(e,t)=>Lr(e.mathml,t)});var ja=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:`bp`};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new A(`Invalid size: '`+e+`' in \\includegraphics`);var n={number:+(t[1]+t[2]),unit:t[3]};if(!Tt(n))throw new A(`Invalid unit: '`+n.unit+`' in \\includegraphics.`);return n};J({type:`includegraphics`,names:[`\\includegraphics`],numArgs:1,numOptionalArgs:1,argTypes:[`raw`,`url`],allowedInText:!1,handler:(e,t,n)=>{var r=e.parser,i={number:0,unit:`em`},a={number:.9,unit:`em`},o={number:0,unit:`em`},s=``;if(n[0])for(var c=Z(n[0],`raw`).string.split(`,`),l=0;l<c.length;l++){var u=c[l].split(`=`);if(u.length===2){var d=u[1].trim();switch(u[0].trim()){case`alt`:s=d;break;case`width`:i=ja(d);break;case`height`:a=ja(d);break;case`totalheight`:o=ja(d);break;default:throw new A(`Invalid key: '`+u[0]+`' in \\includegraphics.`)}}}var f=Z(t[0],`url`).url;return s===``&&(s=f,s=s.replace(/^.*[\\/]/,``),s=s.substring(0,s.lastIndexOf(`.`))),r.settings.isTrusted({command:`\\includegraphics`,url:f})?{type:`includegraphics`,mode:r.mode,alt:s,width:i,height:a,totalheight:o,src:f}:r.formatUnsupportedCmd(`\\includegraphics`)},htmlBuilder:(e,t)=>{var n=Et(e.height,t),r=0;e.totalheight.number>0&&(r=Et(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=Et(e.width,t));var a={height:F(n+r)};i>0&&(a.width=F(i)),r>0&&(a.verticalAlign=F(-r));var o=new Ft(e.src,e.alt,a);return o.height=n,o.depth=r,o},mathmlBuilder:(e,t)=>{var n=new X(`mglyph`,[]);n.setAttribute(`alt`,e.alt);var r=Et(e.height,t),i=0;if(e.totalheight.number>0&&(i=Et(e.totalheight,t)-r,n.setAttribute(`valign`,F(-i))),n.setAttribute(`height`,F(r+i)),e.width.number>0){var a=Et(e.width,t);n.setAttribute(`width`,F(a))}return n.setAttribute(`src`,e.src),n}}),J({type:`kern`,names:[`\\kern`,`\\mkern`,`\\hskip`,`\\mskip`],numArgs:1,argTypes:[`size`],primitive:!0,allowedInText:!0,handler(e,t){var n=e.parser,r=e.funcName,i=Z(t[0],`size`);if(n.settings.strict){var a=r[1]===`m`,o=i.value.unit===`mu`;a?(o||n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` supports only mu units, `+(`not `+i.value.unit+` units`)),n.mode!==`math`&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` works only in math mode`)):o&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` doesn't support mu units`)}return{type:`kern`,mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return Qn(e.dimension,t)},mathmlBuilder(e,t){return new Or(Et(e.dimension,t))}}),J({type:`lap`,names:[`\\mathllap`,`\\mathrlap`,`\\mathclap`],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=t[0];return{type:`lap`,mode:n.mode,alignment:r.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment===`clap`?(n=K([],[Y(e.body,t)]),n=K([`katex-inner`],[n],t)):n=K([`katex-inner`],[Y(e.body,t)]);var r=K([`katex-fix`],[]),i=K([e.alignment],[n,r],t),a=K([`katex-strut`]);return a.style.height=F(i.height+i.depth),i.depth&&(a.style.verticalAlign=F(-i.depth)),i.children.unshift(a),i=K([`katex-thinbox`],[i],t),K([`mord`,`katex-vbox`],[i],t)},mathmlBuilder:(e,t)=>{var n=new X(`mpadded`,[Rr(e.body,t)]);if(e.alignment!==`rlap`){var r=e.alignment===`llap`?`-1`:`-0.5`;n.setAttribute(`lspace`,r+`width`)}return n.setAttribute(`width`,`0px`),n}}),J({type:`styling`,names:[`\\(`,`$`],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){var n=e.funcName,r=e.parser,i=r.mode;r.switchMode(`math`);var a=n===`\\(`?`\\)`:`$`,o=r.parseExpression(!1,a);return r.expect(a),r.switchMode(i),{type:`styling`,mode:r.mode,style:`text`,resetFont:!0,body:o}}}),J({type:`text`,names:[`\\)`,`\\]`],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){throw new A(`Mismatched `+e.funcName)}});var Ma=(e,t)=>{switch(t.style.size){case N.DISPLAY.size:return e.display;case N.TEXT.size:return e.text;case N.SCRIPT.size:return e.script;case N.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};J({type:`mathchoice`,names:[`\\mathchoice`],numArgs:4,primitive:!0,handler:(e,t)=>({type:`mathchoice`,mode:e.parser.mode,display:pr(t[0]),text:pr(t[1]),script:pr(t[2]),scriptscript:pr(t[3])}),htmlBuilder:(e,t)=>Yn(vr(Ma(e,t),t,!1)),mathmlBuilder:(e,t)=>Lr(Ma(e,t),t)});var Na=(e,t,n,r,i,a,o)=>{e=K([],[e]);var s=n&&Re(n),c,l;if(t){var u=Y(t,r.havingStyle(i.sup()),r);l={elem:u,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-u.depth)}}if(n){var d=Y(n,r.havingStyle(i.sub()),r);c={elem:d,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-d.height)}}var f;if(l&&c)f=q({positionType:`bottom`,positionData:r.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+e.depth+o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:F(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:F(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else if(c)f=q({positionType:`top`,positionData:e.height-o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:F(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e}]});else if(l)f=q({positionType:`bottom`,positionData:e.depth+o,children:[{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:F(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else return e;var p=[f];if(c&&a!==0&&!s){var m=K([`mspace`],[],r);m.style.marginRight=F(a),p.unshift(m)}return K([`mop`,`op-limits`],p,r)},Pa=new Set([`\\smallint`]),Fa=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=Z(e.base,`op`),i=!0):a=Z(e,`op`);var o=t.style,s=!1;o.size===N.DISPLAY.size&&a.symbol&&!Pa.has(a.name)&&(s=!0);var c,l;if(a.symbol){var u=s?`Size2-Regular`:`Size1-Regular`,d=``;if((a.name===`\\oiint`||a.name===`\\oiiint`)&&(d=a.name.slice(1),a.name=d===`oiint`?`\\iint`:`\\iiint`),c=zn(a.name,u,`math`,t,[`mop`,`op-symbol`,s?`large-op`:`small-op`]),l=c.italic,d.length>0){var f=nr(d+`Size`+(s?`2`:`1`),t);c=q({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:0},{type:`elem`,elem:f,shift:s?.08:0}]}),a.name=`\\`+d,c.classes.unshift(`mop`),c.italic=l}}else if(a.body){var p=vr(a.body,t,!0);p.length===1&&p[0]instanceof Lt?(c=p[0],c.classes[0]=`mop`):c=K([`mop`],p,t)}else{for(var m=[],h=1;h<a.name.length;h++)m.push(Bn(a.name[h],a.mode,t));c=K([`mop`],m,t)}var g=0,_=0;return(c instanceof Lt||a.name===`\\oiint`||a.name===`\\oiiint`)&&!a.suppressBaseShift&&(g=(c.height-c.depth)/2-t.fontMetrics().axisHeight,_=c.italic??0),i?Na(c,n,r,t,o,_,g):(g&&(c.style.position=`relative`,c.style.top=F(g)),c)},Ia=(e,t)=>{var n;if(e.symbol)n=new X(`mo`,[jr(e.name,e.mode)]),Pa.has(e.name)&&n.setAttribute(`largeop`,`false`);else if(e.body)n=new X(`mo`,Ir(e.body,t));else{n=new X(`mi`,[new Dr(e.name.slice(1))]);var r=new X(`mo`,[jr(`⁡`,`text`)]);n=e.parentIsSupSub?new X(`mrow`,[n,r]):Er([n,r])}return n},La={"∏":`\\prod`,"∐":`\\coprod`,"∑":`\\sum`,"⋀":`\\bigwedge`,"⋁":`\\bigvee`,"⋂":`\\bigcap`,"⋃":`\\bigcup`,"⨀":`\\bigodot`,"⨁":`\\bigoplus`,"⨂":`\\bigotimes`,"⨄":`\\biguplus`,"⨆":`\\bigsqcup`};J({type:`op`,names:`\\coprod.\\bigvee.\\bigwedge.\\biguplus.\\bigcap.\\bigcup.\\intop.\\prod.\\sum.\\bigotimes.\\bigoplus.\\bigodot.\\bigsqcup.\\smallint.∏.∐.∑.⋀.⋁.⋂.⋃.⨀.⨁.⨂.⨄.⨆`.split(`.`),numArgs:0,handler:(e,t)=>{var n=e.parser,r=e.funcName;return r.length===1&&(r=La[r]),{type:`op`,mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:Fa,mathmlBuilder:Ia}),J({type:`op`,names:[`\\mathop`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`op`,mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:pr(r)}}});var Ra={"∫":`\\int`,"∬":`\\iint`,"∭":`\\iiint`,"∮":`\\oint`,"∯":`\\oiint`,"∰":`\\oiiint`};J({type:`op`,names:`\\arcsin.\\arccos.\\arctan.\\arctg.\\arcctg.\\arg.\\ch.\\cos.\\cosec.\\cosh.\\cot.\\cotg.\\coth.\\csc.\\ctg.\\cth.\\deg.\\dim.\\exp.\\hom.\\ker.\\lg.\\ln.\\log.\\sec.\\sin.\\sinh.\\sh.\\tan.\\tanh.\\tg.\\th`.split(`.`),numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}}}),J({type:`op`,names:[`\\det`,`\\gcd`,`\\inf`,`\\lim`,`\\max`,`\\min`,`\\Pr`,`\\sup`],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:`op`,mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}}}),J({type:`op`,names:[`\\int`,`\\iint`,`\\iiint`,`\\oint`,`\\oiint`,`\\oiiint`,`∫`,`∬`,`∭`,`∮`,`∯`,`∰`],numArgs:0,allowedInArgument:!0,handler(e){var t=e.parser,n=e.funcName;return n.length===1&&(n=Ra[n]),{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}}});var za=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=Z(e.base,`operatorname`),i=!0):a=Z(e,`operatorname`);var o;if(a.body.length>0){for(var s=vr(a.body.map(e=>{var t=`text`in e?e.text:void 0;return typeof t==`string`?{type:`textord`,mode:e.mode,text:t}:e}),t.withFont(`mathrm`),!0),c=0;c<s.length;c++){var l=s[c];l instanceof Lt&&(l.text=l.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`))}o=K([`mop`],s,t)}else o=K([`mop`],[],t);return i?Na(o,n,r,t,t.style,0,0):o};J({type:`operatorname`,names:[`\\operatorname@`,`\\operatornamewithlimits`],numArgs:1,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=t[0];return{type:`operatorname`,mode:n.mode,body:pr(i),alwaysHandleSupSub:r===`\\operatornamewithlimits`,limits:!1,parentIsSupSub:!1}},htmlBuilder:za,mathmlBuilder:(e,t)=>{for(var n=Ir(e.body,t.withFont(`mathrm`)),r=!0,i=0;i<n.length;i++){var a=n[i];if(!(a instanceof Or))if(a instanceof X)switch(a.type){case`mi`:case`mn`:case`mspace`:case`mtext`:break;case`mo`:var o=a.children[0];a.children.length===1&&o instanceof Dr?o.text=o.text.replace(/\u2212/,`-`).replace(/\u2217/,`*`):r=!1;break;default:r=!1}else r=!1}r&&(n=[new Dr(n.map(e=>e.toText()).join(``))]);var s=new X(`mi`,n);s.setAttribute(`mathvariant`,`normal`);var c=new X(`mo`,[jr(`⁡`,`text`)]);return e.parentIsSupSub?new X(`mrow`,[s,c]):Er([s,c])}}),Q(`\\operatorname`,`\\@ifstar\\operatornamewithlimits\\operatorname@`),dr({type:`ordgroup`,htmlBuilder(e,t){return e.semisimple?Yn(vr(e.body,t,!1)):K([`mord`],vr(e.body,t,!0),t)},mathmlBuilder(e,t){return Lr(e.body,t,!0)}}),J({type:`overline`,names:[`\\overline`],numArgs:1,handler(e,t){var n=e.parser,r=t[0];return{type:`overline`,mode:n.mode,body:r}},htmlBuilder(e,t){var n=Y(e.body,t.havingCrampedStyle()),r=qn(`overline-line`,t),i=t.fontMetrics().defaultRuleThickness;return K([`mord`,`katex-overline`],[q({positionType:`firstBaseline`,children:[{type:`elem`,elem:n},{type:`kern`,size:3*i},{type:`elem`,elem:r},{type:`kern`,size:i}]})],t)},mathmlBuilder(e,t){var n=new X(`mo`,[new Dr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new X(`mover`,[Rr(e.body,t),n]);return r.setAttribute(`accent`,`true`),r}}),J({type:`phantom`,names:[`\\phantom`],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`phantom`,mode:n.mode,body:pr(r)}},htmlBuilder:(e,t)=>Yn(vr(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new X(`mphantom`,Ir(e.body,t))}),Q(`\\hphantom`,`\\smash{\\phantom{#1}}`),J({type:`vphantom`,names:[`\\vphantom`],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`vphantom`,mode:n.mode,body:r}},htmlBuilder:(e,t)=>K([`mord`,`rlap`],[K([`katex-inner`],[Y(e.body,t.withPhantom())]),K([`katex-fix`],[])],t),mathmlBuilder:(e,t)=>{var n=new X(`mpadded`,[new X(`mphantom`,Ir(pr(e.body),t))]);return n.setAttribute(`width`,`0px`),n}}),J({type:`raisebox`,names:[`\\raisebox`],numArgs:2,argTypes:[`size`,`hbox`],allowedInText:!0,handler(e,t){var n=e.parser,r=Z(t[0],`size`).value,i=t[1];return{type:`raisebox`,mode:n.mode,dy:r,body:i}},htmlBuilder(e,t){var n=Y(e.body,t);return q({positionType:`shift`,positionData:-Et(e.dy,t),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){var n=new X(`mpadded`,[Rr(e.body,t)]),r=e.dy.number+e.dy.unit;return n.setAttribute(`voffset`,r),n}});var Ba=(e,t)=>({type:`reflectbox`,mode:e.parser.mode,body:t[0]});J({type:`reflectbox`,names:[`\\reflectbox`],numArgs:1,argTypes:[`hbox`],allowedInText:!0,handler:Ba,htmlBuilder(e,t){return K([`mord`,`reflectbox`],[Y(e.body,t)],t)},mathmlBuilder(e,t){return Rr(e.body,t)}}),J({type:`reflectbox`,names:[`\\mathreflectbox`],numArgs:1,argTypes:[`math`],handler:Ba}),J({type:`internal`,names:[`\\relax`],numArgs:0,allowedInText:!0,allowedInArgument:!0,handler(e){return{type:`internal`,mode:e.parser.mode}}}),J({type:`rule`,names:[`\\rule`],numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`size`,`size`,`size`],handler(e,t,n){var r=e.parser,i=n[0],a=Z(t[0],`size`),o=Z(t[1],`size`);return{type:`rule`,mode:r.mode,shift:i&&Z(i,`size`).value,width:a.value,height:o.value}},htmlBuilder(e,t){var n=K([`mord`,`katex-rule`],[],t),r=Et(e.width,t),i=Et(e.height,t),a=e.shift?Et(e.shift,t):0;return n.style.borderRightWidth=F(r),n.style.borderTopWidth=F(i),n.style.bottom=F(a),n.width=r,n.height=i+a,n.depth=-a,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=Et(e.width,t),r=Et(e.height,t),i=e.shift?Et(e.shift,t):0,a=t.color&&t.getColor()||`black`,o=new X(`mspace`);o.setAttribute(`mathbackground`,a),o.setAttribute(`width`,F(n)),o.setAttribute(`height`,F(r));var s=new X(`mpadded`,[o]);return i>=0?s.setAttribute(`height`,F(i)):(s.setAttribute(`height`,F(i)),s.setAttribute(`depth`,F(-i))),s.setAttribute(`voffset`,F(i)),s}});function Va(e,t,n){for(var r=vr(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,a=0;a<r.length;a++){var o=r[a].classes.indexOf(`katex-sizing`);o<0?Array.prototype.push.apply(r[a].classes,t.sizingClasses(n)):r[a].classes[o+1]===`reset-size`+t.size&&(r[a].classes[o+1]=`reset-size`+n.size),r[a].height*=i,r[a].depth*=i}return Yn(r)}var Ha=[`\\tiny`,`\\sixptsize`,`\\scriptsize`,`\\footnotesize`,`\\small`,`\\normalsize`,`\\large`,`\\Large`,`\\LARGE`,`\\huge`,`\\Huge`];J({type:`sizing`,names:Ha,numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.breakOnTokenText,r=e.funcName,i=e.parser,a=i.parseExpression(!1,n);return{type:`sizing`,mode:i.mode,size:Ha.indexOf(r)+1,body:a}},htmlBuilder:(e,t)=>{var n=t.havingSize(e.size);return Va(e.body,n,t)},mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),r=new X(`mstyle`,Ir(e.body,n));return r.setAttribute(`mathsize`,F(n.sizeMultiplier)),r}}),J({type:`smash`,names:[`\\smash`],numArgs:1,numOptionalArgs:1,allowedInText:!0,handler:(e,t,n)=>{var r=e.parser,i=!1,a=!1,o=n[0]&&Z(n[0],`ordgroup`);if(o)for(var s,c=0;c<o.body.length;++c){var l=o.body[c];if(s=ai(l).text,s===`t`)i=!0;else if(s===`b`)a=!0;else{i=!1,a=!1;break}}else i=!0,a=!0;var u=t[0];return{type:`smash`,mode:r.mode,body:u,smashHeight:i,smashDepth:a}},htmlBuilder:(e,t)=>{var n=K([],[Y(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return K([`mord`,`katex-smash`],[n],t);if(n.children)for(var r=0;r<n.children.length;r++)e.smashHeight&&(n.children[r].height=0),e.smashDepth&&(n.children[r].depth=0);return K([`mord`],[q({positionType:`firstBaseline`,children:[{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=new X(`mpadded`,[Rr(e.body,t)]);return e.smashHeight&&n.setAttribute(`height`,`0px`),e.smashDepth&&n.setAttribute(`depth`,`0px`),n}}),J({type:`sqrt`,names:[`\\sqrt`],numArgs:1,numOptionalArgs:1,handler(e,t,n){var r=e.parser,i=n[0],a=t[0];return{type:`sqrt`,mode:r.mode,body:a,index:i}},htmlBuilder(e,t){var n=Y(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=Xn(n,t);var r=t.fontMetrics().defaultRuleThickness,i=r;t.style.id<N.TEXT.id&&(i=t.fontMetrics().xHeight);var a=r+i/4,o=Hi(n.height+n.depth+a+r,t),s=o.span,c=o.ruleWidth,l=o.advanceWidth,u=s.height-c;u>n.height+n.depth+a&&(a=(a+u-n.height-n.depth)/2);var d=s.height-n.height-a-c;n.style.paddingLeft=F(l);var f=q({positionType:`firstBaseline`,children:[{type:`elem`,elem:n,wrapperClasses:[`svg-align`]},{type:`kern`,size:-(n.height+d)},{type:`elem`,elem:s},{type:`kern`,size:c}]});if(e.index){var p=t.havingStyle(N.SCRIPTSCRIPT),m=Y(e.index,p,t);return K([`mord`,`sqrt`],[K([`katex-root`],[q({positionType:`shift`,positionData:-(.6*(f.height-f.depth)),children:[{type:`elem`,elem:m}]})]),f],t)}else return K([`mord`,`sqrt`],[f],t)},mathmlBuilder(e,t){var n=e.body,r=e.index;return r?new X(`mroot`,[Rr(n,t),Rr(r,t)]):new X(`msqrt`,[Rr(n,t)])}});var Ua={display:N.DISPLAY,text:N.TEXT,script:N.SCRIPT,scriptscript:N.SCRIPTSCRIPT};function Wa(e){return e in Ua}J({type:`styling`,names:[`\\displaystyle`,`\\textstyle`,`\\scriptstyle`,`\\scriptscriptstyle`],numArgs:0,allowedInText:!0,primitive:!0,handler(e,t){var n=e.breakOnTokenText,r=e.funcName,i=e.parser,a=i.parseExpression(!0,n),o=r.slice(1,r.length-5);if(!Wa(o))throw Error(`Unknown style: `+o);return{type:`styling`,mode:i.mode,style:o,body:a}},htmlBuilder(e,t){var n=Ua[e.style],r=t.havingStyle(n);return e.resetFont&&(r=r.withFont(``)),Va(e.body,r,t)},mathmlBuilder(e,t){var n=Ua[e.style],r=t.havingStyle(n);e.resetFont&&(r=r.withFont(``));var i=new X(`mstyle`,Ir(e.body,r)),a={display:[`0`,`true`],text:[`0`,`false`],script:[`1`,`false`],scriptscript:[`2`,`false`]}[e.style];return i.setAttribute(`scriptlevel`,a[0]),i.setAttribute(`displaystyle`,a[1]),i}});var Ga=function(e,t){var n=e.base;return n?n.type===`op`?n.limits&&(t.style.size===N.DISPLAY.size||n.alwaysHandleSupSub)?Fa:null:n.type===`operatorname`?n.alwaysHandleSupSub&&(t.style.size===N.DISPLAY.size||n.limits)?za:null:n.type===`accent`?Re(n.base)?li:null:n.type===`horizBrace`&&!e.sub===n.isOver?Aa:null:null};dr({type:`supsub`,htmlBuilder(e,t){var n=Ga(e,t);if(n)return n(e,t);var r=e.base,i=e.sup,a=e.sub,o=Y(r,t),s,c,l=t.fontMetrics(),u=0,d=0,f=r&&Re(r);if(i){var p=t.havingStyle(t.style.sup());s=Y(i,p,t),f||(u=o.height-p.fontMetrics().supDrop*p.sizeMultiplier/t.sizeMultiplier)}if(a){var m=t.havingStyle(t.style.sub());c=Y(a,m,t),f||(d=o.depth+m.fontMetrics().subDrop*m.sizeMultiplier/t.sizeMultiplier)}var h=t.style===N.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2,g=t.sizeMultiplier,_=F(.5/l.ptPerEm/g),v=null;if(c){var y=e.base&&e.base.type===`op`&&e.base.name&&(e.base.name===`\\oiint`||e.base.name===`\\oiiint`);(o instanceof Lt||y)&&(v=F(-(o.italic??0)))}var b;if(s&&c){u=Math.max(u,h,s.depth+.25*l.xHeight),d=Math.max(d,l.sub2);var x=4*l.defaultRuleThickness;if(u-s.depth-(c.height-d)<x){d=x-(u-s.depth)+c.height;var S=.8*l.xHeight-(u-s.depth);S>0&&(u+=S,d-=S)}b=q({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:d,marginRight:_,marginLeft:v},{type:`elem`,elem:s,shift:-u,marginRight:_}]})}else if(c)d=Math.max(d,l.sub1,c.height-.8*l.xHeight),b=q({positionType:`shift`,positionData:d,children:[{type:`elem`,elem:c,marginLeft:v,marginRight:_}]});else if(s)u=Math.max(u,h,s.depth+.25*l.xHeight),b=q({positionType:`shift`,positionData:-u,children:[{type:`elem`,elem:s,marginRight:_}]});else throw Error(`supsub must have either sup or sub.`);return K([Sr(o,`right`)||`mord`],[o,K([`msupsub`],[b])],t)},mathmlBuilder(e,t){var n=!1,r,i;e.base&&e.base.type===`horizBrace`&&(i=!!e.sup,i===e.base.isOver&&(n=!0,r=e.base.isOver)),e.base&&(e.base.type===`op`||e.base.type===`operatorname`)&&(e.base.parentIsSupSub=!0);var a=[Rr(e.base,t)];e.sub&&a.push(Rr(e.sub,t)),e.sup&&a.push(Rr(e.sup,t));var o;if(n)o=r?`mover`:`munder`;else if(!e.sub){var s=e.base;o=s&&s.type===`op`&&s.limits&&(t.style===N.DISPLAY||s.alwaysHandleSupSub)||s&&s.type===`operatorname`&&s.alwaysHandleSupSub&&(s.limits||t.style===N.DISPLAY)?`mover`:`msup`}else if(e.sup){var c=e.base;o=c&&c.type===`op`&&c.limits&&t.style===N.DISPLAY||c&&c.type===`operatorname`&&c.alwaysHandleSupSub&&(t.style===N.DISPLAY||c.limits)?`munderover`:`msubsup`}else{var l=e.base;o=l&&l.type===`op`&&l.limits&&(t.style===N.DISPLAY||l.alwaysHandleSupSub)||l&&l.type===`operatorname`&&l.alwaysHandleSupSub&&(l.limits||t.style===N.DISPLAY)?`munder`:`msub`}return new X(o,a)}}),dr({type:`atom`,htmlBuilder(e,t){return Bn(e.text,e.mode,t,[`m`+e.family])},mathmlBuilder(e,t){var n=new X(`mo`,[jr(e.text,e.mode)]);if(e.family===`bin`){var r=Pr(e,t);r===`bold-italic`&&n.setAttribute(`mathvariant`,r)}else e.family===`punct`?n.setAttribute(`separator`,`true`):(e.family===`open`||e.family===`close`)&&n.setAttribute(`stretchy`,`false`);return n}});var Ka={mi:`italic`,mn:`normal`,mtext:`normal`};dr({type:`mathord`,htmlBuilder(e,t){return Hn(e,t)},mathmlBuilder(e,t){var n=new X(`mi`,[jr(e.text,e.mode,t)]),r=Pr(e,t)||`italic`;return r!==Ka[n.type]&&n.setAttribute(`mathvariant`,r),n}}),dr({type:`textord`,htmlBuilder(e,t){return Hn(e,t)},mathmlBuilder(e,t){var n=jr(e.text,e.mode,t),r=Pr(e,t)||`normal`,i=e.mode===`text`?new X(`mtext`,[n]):/[0-9]/.test(e.text)?new X(`mn`,[n]):e.text===`\\prime`?new X(`mo`,[n]):new X(`mi`,[n]);return r!==Ka[i.type]&&i.setAttribute(`mathvariant`,r),i}});var qa=new Map([[`\\nobreak`,`nobreak`],[`\\allowbreak`,`allowbreak`]]),Ja=new Map([[` `,{}],[`\\ `,{}],[`~`,{className:`nobreak`}],[`\\space`,{}],[`\\nobreakspace`,{className:`nobreak`}]]);dr({type:`spacing`,htmlBuilder(e,t){var n=Ja.get(e.text),r=qa.get(e.text);if(n){var i=n.className||``;if(e.mode===`text`){var a=Hn(e,t);return a.classes.push(i),a}else return K([`mspace`,i],[Bn(e.text,e.mode,t)],t)}else if(r)return K([`mspace`,r],[],t);else throw new A(`Unknown type of space "`+e.text+`"`)},mathmlBuilder(e,t){var n;if(Ja.has(e.text))n=new X(`mtext`,[new Dr(`\xA0`)]);else if(qa.has(e.text))return new X(`mspace`);else throw new A(`Unknown type of space "`+e.text+`"`);return n}});var Ya=()=>{var e=new X(`mtd`,[]);return e.setAttribute(`width`,`50%`),e};dr({type:`tag`,mathmlBuilder(e,t){var n=new X(`mtable`,[new X(`mtr`,[Ya(),new X(`mtd`,[Lr(e.body,t)]),Ya(),new X(`mtd`,[Lr(e.tag,t)])])]);return n.setAttribute(`width`,`100%`),n}});var Xa={"\\text":void 0,"\\textrm":`textrm`,"\\textsf":`textsf`,"\\texttt":`texttt`,"\\textnormal":`textrm`},Za={"\\textbf":`textbf`,"\\textmd":`textmd`},Qa={"\\textit":`textit`,"\\textup":`textup`},$a=(e,t)=>{var n=e.font;return n?Xa[n]?t.withTextFontFamily(Xa[n]):Za[n]?t.withTextFontWeight(Za[n]):n===`\\emph`?t.fontShape===`textit`?t.withTextFontShape(`textup`):t.withTextFontShape(`textit`):t.withTextFontShape(Qa[n]):t};J({type:`text`,names:[`\\text`,`\\textrm`,`\\textsf`,`\\texttt`,`\\textnormal`,`\\textbf`,`\\textmd`,`\\textit`,`\\textup`,`\\emph`],numArgs:1,argTypes:[`text`],allowedInArgument:!0,allowedInText:!0,handler(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:`text`,mode:n.mode,body:pr(i),font:r}},htmlBuilder(e,t){var n=$a(e,t);return K([`mord`,`text`],vr(e.body,n,!0),n)},mathmlBuilder(e,t){var n=$a(e,t);return Lr(e.body,n)}}),J({type:`underline`,names:[`\\underline`],numArgs:1,allowedInText:!0,handler(e,t){return{type:`underline`,mode:e.parser.mode,body:t[0]}},htmlBuilder(e,t){var n=Y(e.body,t),r=qn(`underline-line`,t),i=t.fontMetrics().defaultRuleThickness;return K([`mord`,`katex-underline`],[q({positionType:`top`,positionData:n.height,children:[{type:`kern`,size:i},{type:`elem`,elem:r},{type:`kern`,size:3*i},{type:`elem`,elem:n}]})],t)},mathmlBuilder(e,t){var n=new X(`mo`,[new Dr(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new X(`munder`,[Rr(e.body,t),n]);return r.setAttribute(`accentunder`,`true`),r}}),J({type:`vcenter`,names:[`\\vcenter`],numArgs:1,argTypes:[`original`],allowedInText:!1,handler(e,t){return{type:`vcenter`,mode:e.parser.mode,body:t[0]}},htmlBuilder(e,t){var n=Y(e.body,t),r=t.fontMetrics().axisHeight;return q({positionType:`shift`,positionData:.5*(n.height-r-(n.depth+r)),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){return new X(`mrow`,[new X(`mpadded`,[Rr(e.body,t)],[`vcenter`])])}}),J({type:`verb`,names:[`\\verb`],numArgs:0,allowedInText:!0,handler(e,t,n){throw new A(`\\verb ended by end of line instead of matching delimiter`)},htmlBuilder(e,t){for(var n=eo(e),r=[],i=t.havingStyle(t.style.text()),a=0;a<n.length;a++){var o=n[a];o===`~`&&(o=`\\textasciitilde`),r.push(zn(o,`Typewriter-Regular`,e.mode,i,[`mord`,`texttt`]))}return K([`mord`,`text`].concat(i.sizingClasses(t)),Wn(r),i)},mathmlBuilder(e,t){var n=new X(`mtext`,[new Dr(eo(e))]);return n.setAttribute(`mathvariant`,`monospace`),n}});var eo=e=>e.body.replace(/ /g,e.star?`␣`:`\xA0`),to=cr,no=`[ \r
253
+ ]`,ro=`\\\\[a-zA-Z@]+`,io=`\\\\[^\ud800-\udfff]`,ao=`(`+ro+`)`+no+`*`,oo=`\\\\(
254
254
  |[ \r ]+
255
- ?)[ \r ]*`,Ya=`[̀-ͯ]`,Xa=RegExp(Ya+`+$`),Za=`(`+Wa+`+)|`+(Ja+`|`)+`([!-\\[\\]-‧‪-퟿豈-￿]`+(Ya+`*`)+`|[\ud800-\udbff][\udc00-\udfff]`+(Ya+`*`)+`|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5`+(`|`+qa)+(`|`+Ka+`)`),Qa=class{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Za,`g`),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new $i(`EOF`,new Qi(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new A(`Unexpected character: '`+e[t]+`'`,new $i(e[t],new Qi(this,t,t+1)));var r=n[6]||n[3]||(n[2]?`\\ `:` `);if(this.catcodes[r]===14){var i=e.indexOf(`
256
- `,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict(`commentAtEnd`,`% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)`)):this.tokenRegex.lastIndex=i+1,this.lex()}return new $i(r,new Qi(this,t,this.tokenRegex.lastIndex))}},$a=class{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new A(`Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug`);var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var r=0;r<this.undefStack.length;r++)delete this.undefStack[r][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}},eo=Zi;Q(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),Q(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),Q(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),Q(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),Q(`\\@ifnextchar`,function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),Q(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),Q(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var to={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Q(`\\char`,function(e){var t=e.popToken(),n,r=0;if(t.text===`'`)n=8,t=e.popToken();else if(t.text===`"`)n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]===`\\`)r=t.text.charCodeAt(1);else if(t.text===`EOF`)throw new A("\\char` missing argument");else r=t.text.charCodeAt(0);else n=10;if(n){if(r=to[t.text],r==null||r>=n)throw new A(`Invalid base-`+n+` digit `+t.text);for(var i;(i=to[e.future().text])!=null&&i<n;)r*=n,r+=i,e.popToken()}return`\\@char{`+r+`}`});var no=(e,t,n,r)=>{var i=e.consumeArg().tokens;if(i.length!==1)throw new A(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new A(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new A(`\\renewcommand{`+a+`} when command `+a+` does not yet exist; use \\newcommand`);var s=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text===`[`){for(var c=``,l=e.expandNextToken();l.text!==`]`&&l.text!==`EOF`;)c+=l.text,l=e.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new A(`Invalid number of arguments: `+c);s=parseInt(c),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:s}),``};Q(`\\newcommand`,e=>no(e,!1,!0,!1)),Q(`\\renewcommand`,e=>no(e,!0,!1,!1)),Q(`\\providecommand`,e=>no(e,!0,!0,!0)),Q(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),Q(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),Q(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),Ua[n],Bt.math[n],Bt.text[n]),``}),Q(`\\bgroup`,`{`),Q(`\\egroup`,`}`),Q(`~`,`\\nobreakspace`),Q(`\\lq`,"`"),Q(`\\rq`,`'`),Q(`\\aa`,`\\r a`),Q(`\\AA`,`\\r A`),Q(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),Q(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),Q(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Q(`ℬ`,`\\mathscr{B}`),Q(`ℰ`,`\\mathscr{E}`),Q(`ℱ`,`\\mathscr{F}`),Q(`ℋ`,`\\mathscr{H}`),Q(`ℐ`,`\\mathscr{I}`),Q(`ℒ`,`\\mathscr{L}`),Q(`ℳ`,`\\mathscr{M}`),Q(`ℛ`,`\\mathscr{R}`),Q(`ℭ`,`\\mathfrak{C}`),Q(`ℌ`,`\\mathfrak{H}`),Q(`ℨ`,`\\mathfrak{Z}`),Q(`\\Bbbk`,`\\Bbb{k}`),Q(`\\llap`,`\\mathllap{\\textrm{#1}}`),Q(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),Q(`\\clap`,`\\mathclap{\\textrm{#1}}`),Q(`\\mathstrut`,`\\vphantom{(}`),Q(`\\underbar`,`\\underline{\\text{#1}}`),Q(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),Q(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Q(`\\ne`,`\\neq`),Q(`≠`,`\\neq`),Q(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Q(`∉`,`\\notin`),Q(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Q(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Q(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Q(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Q(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Q(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Q(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Q(`⟂`,`\\perp`),Q(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),Q(`∌`,`\\notni`),Q(`⌜`,`\\ulcorner`),Q(`⌝`,`\\urcorner`),Q(`⌞`,`\\llcorner`),Q(`⌟`,`\\lrcorner`),Q(`©`,`\\copyright`),Q(`®`,`\\textregistered`),Q(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),Q(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),Q(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),Q(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),Q(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),Q(`⋮`,`\\vdots`),Q(`\\varGamma`,`\\mathit{\\Gamma}`),Q(`\\varDelta`,`\\mathit{\\Delta}`),Q(`\\varTheta`,`\\mathit{\\Theta}`),Q(`\\varLambda`,`\\mathit{\\Lambda}`),Q(`\\varXi`,`\\mathit{\\Xi}`),Q(`\\varPi`,`\\mathit{\\Pi}`),Q(`\\varSigma`,`\\mathit{\\Sigma}`),Q(`\\varUpsilon`,`\\mathit{\\Upsilon}`),Q(`\\varPhi`,`\\mathit{\\Phi}`),Q(`\\varPsi`,`\\mathit{\\Psi}`),Q(`\\varOmega`,`\\mathit{\\Omega}`),Q(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),Q(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),Q(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),Q(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),Q(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),Q(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),Q(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),Q(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var ro={",":`\\dotsc`,"\\not":`\\dotsb`,"+":`\\dotsb`,"=":`\\dotsb`,"<":`\\dotsb`,">":`\\dotsb`,"-":`\\dotsb`,"*":`\\dotsb`,":":`\\dotsb`,"\\DOTSB":`\\dotsb`,"\\coprod":`\\dotsb`,"\\bigvee":`\\dotsb`,"\\bigwedge":`\\dotsb`,"\\biguplus":`\\dotsb`,"\\bigcap":`\\dotsb`,"\\bigcup":`\\dotsb`,"\\prod":`\\dotsb`,"\\sum":`\\dotsb`,"\\bigotimes":`\\dotsb`,"\\bigoplus":`\\dotsb`,"\\bigodot":`\\dotsb`,"\\bigsqcup":`\\dotsb`,"\\And":`\\dotsb`,"\\longrightarrow":`\\dotsb`,"\\Longrightarrow":`\\dotsb`,"\\longleftarrow":`\\dotsb`,"\\Longleftarrow":`\\dotsb`,"\\longleftrightarrow":`\\dotsb`,"\\Longleftrightarrow":`\\dotsb`,"\\mapsto":`\\dotsb`,"\\longmapsto":`\\dotsb`,"\\hookrightarrow":`\\dotsb`,"\\doteq":`\\dotsb`,"\\mathbin":`\\dotsb`,"\\mathrel":`\\dotsb`,"\\relbar":`\\dotsb`,"\\Relbar":`\\dotsb`,"\\xrightarrow":`\\dotsb`,"\\xleftarrow":`\\dotsb`,"\\DOTSI":`\\dotsi`,"\\int":`\\dotsi`,"\\oint":`\\dotsi`,"\\iint":`\\dotsi`,"\\iiint":`\\dotsi`,"\\iiiint":`\\dotsi`,"\\idotsint":`\\dotsi`,"\\DOTSX":`\\dotsx`},io=new Set([`bin`,`rel`]);Q(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in ro?t=ro[n]:(n.slice(0,4)===`\\not`||n in Bt.math&&io.has(Bt.math[n].group))&&(t=`\\dotsb`),t});var ao={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Q(`\\dotso`,function(e){return e.future().text in ao?`\\ldots\\,`:`\\ldots`}),Q(`\\dotsc`,function(e){var t=e.future().text;return t in ao&&t!==`,`?`\\ldots\\,`:`\\ldots`}),Q(`\\cdots`,function(e){return e.future().text in ao?`\\@cdots\\,`:`\\@cdots`}),Q(`\\dotsb`,`\\cdots`),Q(`\\dotsm`,`\\cdots`),Q(`\\dotsi`,`\\!\\cdots`),Q(`\\dotsx`,`\\ldots\\,`),Q(`\\DOTSI`,`\\relax`),Q(`\\DOTSB`,`\\relax`),Q(`\\DOTSX`,`\\relax`),Q(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),Q(`\\,`,`\\tmspace+{3mu}{.1667em}`),Q(`\\thinspace`,`\\,`),Q(`\\>`,`\\mskip{4mu}`),Q(`\\:`,`\\tmspace+{4mu}{.2222em}`),Q(`\\medspace`,`\\:`),Q(`\\;`,`\\tmspace+{5mu}{.2777em}`),Q(`\\thickspace`,`\\;`),Q(`\\!`,`\\tmspace-{3mu}{.1667em}`),Q(`\\negthinspace`,`\\!`),Q(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),Q(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),Q(`\\enspace`,`\\kern.5em `),Q(`\\enskip`,`\\hskip.5em\\relax`),Q(`\\quad`,`\\hskip1em\\relax`),Q(`\\qquad`,`\\hskip2em\\relax`),Q(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),Q(`\\tag@paren`,`\\tag@literal{({#1})}`),Q(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new A(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),Q(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),Q(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),Q(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),Q(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),Q(`\\newline`,`\\\\\\relax`),Q(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var oo=P(Nt[`Main-Regular`][84][1]-.7*Nt[`Main-Regular`][65][1]);Q(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+oo+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),Q(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+oo+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),Q(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),Q(`\\@hspace`,`\\hskip #1\\relax`),Q(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),Q(`\\ordinarycolon`,`:`),Q(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),Q(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),Q(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),Q(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),Q(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),Q(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),Q(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),Q(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),Q(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),Q(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),Q(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),Q(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),Q(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),Q(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),Q(`∷`,`\\dblcolon`),Q(`∹`,`\\eqcolon`),Q(`≔`,`\\coloneqq`),Q(`≕`,`\\eqqcolon`),Q(`⩴`,`\\Coloneqq`),Q(`\\ratio`,`\\vcentcolon`),Q(`\\coloncolon`,`\\dblcolon`),Q(`\\colonequals`,`\\coloneqq`),Q(`\\coloncolonequals`,`\\Coloneqq`),Q(`\\equalscolon`,`\\eqqcolon`),Q(`\\equalscoloncolon`,`\\Eqqcolon`),Q(`\\colonminus`,`\\coloneq`),Q(`\\coloncolonminus`,`\\Coloneq`),Q(`\\minuscolon`,`\\eqcolon`),Q(`\\minuscoloncolon`,`\\Eqcolon`),Q(`\\coloncolonapprox`,`\\Colonapprox`),Q(`\\coloncolonsim`,`\\Colonsim`),Q(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Q(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Q(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Q(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Q(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Q(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),Q(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),Q(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),Q(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),Q(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),Q(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),Q(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),Q(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),Q(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),Q(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),Q(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),Q(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),Q(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),Q(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),Q(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),Q(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),Q(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),Q(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),Q(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),Q(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),Q(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),Q(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),Q(`\\imath`,`\\html@mathml{\\@imath}{ı}`),Q(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),Q(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Q(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Q(`⟦`,`\\llbracket`),Q(`⟧`,`\\rrbracket`),Q(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Q(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Q(`⦃`,`\\lBrace`),Q(`⦄`,`\\rBrace`),Q(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Q(`⦵`,`\\minuso`),Q(`\\darr`,`\\downarrow`),Q(`\\dArr`,`\\Downarrow`),Q(`\\Darr`,`\\Downarrow`),Q(`\\lang`,`\\langle`),Q(`\\rang`,`\\rangle`),Q(`\\uarr`,`\\uparrow`),Q(`\\uArr`,`\\Uparrow`),Q(`\\Uarr`,`\\Uparrow`),Q(`\\N`,`\\mathbb{N}`),Q(`\\R`,`\\mathbb{R}`),Q(`\\Z`,`\\mathbb{Z}`),Q(`\\alef`,`\\aleph`),Q(`\\alefsym`,`\\aleph`),Q(`\\Alpha`,`\\mathrm{A}`),Q(`\\Beta`,`\\mathrm{B}`),Q(`\\bull`,`\\bullet`),Q(`\\Chi`,`\\mathrm{X}`),Q(`\\clubs`,`\\clubsuit`),Q(`\\cnums`,`\\mathbb{C}`),Q(`\\Complex`,`\\mathbb{C}`),Q(`\\Dagger`,`\\ddagger`),Q(`\\diamonds`,`\\diamondsuit`),Q(`\\empty`,`\\emptyset`),Q(`\\Epsilon`,`\\mathrm{E}`),Q(`\\Eta`,`\\mathrm{H}`),Q(`\\exist`,`\\exists`),Q(`\\harr`,`\\leftrightarrow`),Q(`\\hArr`,`\\Leftrightarrow`),Q(`\\Harr`,`\\Leftrightarrow`),Q(`\\hearts`,`\\heartsuit`),Q(`\\image`,`\\Im`),Q(`\\infin`,`\\infty`),Q(`\\Iota`,`\\mathrm{I}`),Q(`\\isin`,`\\in`),Q(`\\Kappa`,`\\mathrm{K}`),Q(`\\larr`,`\\leftarrow`),Q(`\\lArr`,`\\Leftarrow`),Q(`\\Larr`,`\\Leftarrow`),Q(`\\lrarr`,`\\leftrightarrow`),Q(`\\lrArr`,`\\Leftrightarrow`),Q(`\\Lrarr`,`\\Leftrightarrow`),Q(`\\Mu`,`\\mathrm{M}`),Q(`\\natnums`,`\\mathbb{N}`),Q(`\\Nu`,`\\mathrm{N}`),Q(`\\Omicron`,`\\mathrm{O}`),Q(`\\plusmn`,`\\pm`),Q(`\\rarr`,`\\rightarrow`),Q(`\\rArr`,`\\Rightarrow`),Q(`\\Rarr`,`\\Rightarrow`),Q(`\\real`,`\\Re`),Q(`\\reals`,`\\mathbb{R}`),Q(`\\Reals`,`\\mathbb{R}`),Q(`\\Rho`,`\\mathrm{P}`),Q(`\\sdot`,`\\cdot`),Q(`\\sect`,`\\S`),Q(`\\spades`,`\\spadesuit`),Q(`\\sub`,`\\subset`),Q(`\\sube`,`\\subseteq`),Q(`\\supe`,`\\supseteq`),Q(`\\Tau`,`\\mathrm{T}`),Q(`\\thetasym`,`\\vartheta`),Q(`\\weierp`,`\\wp`),Q(`\\Zeta`,`\\mathrm{Z}`),Q(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),Q(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),Q(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),Q(`\\bra`,`\\mathinner{\\langle{#1}|}`),Q(`\\ket`,`\\mathinner{|{#1}\\rangle}`),Q(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),Q(`\\Bra`,`\\left\\langle#1\\right|`),Q(`\\Ket`,`\\left|#1\\right\\rangle`);var so=e=>t=>{var n=t.consumeArg().tokens,r=t.consumeArg().tokens,i=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.macros.get(`|`),s=t.macros.get(`\\|`);t.macros.beginGroup();var c=t=>n=>{e&&(n.macros.set(`|`,o),i.length&&n.macros.set(`\\|`,s));var a=t;return!t&&i.length&&n.future().text===`|`&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};t.macros.set(`|`,c(!1)),i.length&&t.macros.set(`\\|`,c(!0));var l=t.consumeArg().tokens,u=t.expandTokens([...a,...l,...n]);return t.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};Q(`\\bra@ket`,so(!1)),Q(`\\bra@set`,so(!0)),Q(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),Q(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),Q(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),Q(`\\angln`,`{\\angl n}`),Q(`\\blue`,`\\textcolor{##6495ed}{#1}`),Q(`\\orange`,`\\textcolor{##ffa500}{#1}`),Q(`\\pink`,`\\textcolor{##ff00af}{#1}`),Q(`\\red`,`\\textcolor{##df0030}{#1}`),Q(`\\green`,`\\textcolor{##28ae7b}{#1}`),Q(`\\gray`,`\\textcolor{gray}{#1}`),Q(`\\purple`,`\\textcolor{##9d38bd}{#1}`),Q(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),Q(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),Q(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),Q(`\\blueD`,`\\textcolor{##11accd}{#1}`),Q(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),Q(`\\tealA`,`\\textcolor{##94fff5}{#1}`),Q(`\\tealB`,`\\textcolor{##26edd5}{#1}`),Q(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),Q(`\\tealD`,`\\textcolor{##01a995}{#1}`),Q(`\\tealE`,`\\textcolor{##208170}{#1}`),Q(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),Q(`\\greenB`,`\\textcolor{##8af281}{#1}`),Q(`\\greenC`,`\\textcolor{##74cf70}{#1}`),Q(`\\greenD`,`\\textcolor{##1fab54}{#1}`),Q(`\\greenE`,`\\textcolor{##0d923f}{#1}`),Q(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),Q(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),Q(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),Q(`\\goldD`,`\\textcolor{##e07d10}{#1}`),Q(`\\goldE`,`\\textcolor{##a75a05}{#1}`),Q(`\\redA`,`\\textcolor{##fca9a9}{#1}`),Q(`\\redB`,`\\textcolor{##ff8482}{#1}`),Q(`\\redC`,`\\textcolor{##f9685d}{#1}`),Q(`\\redD`,`\\textcolor{##e84d39}{#1}`),Q(`\\redE`,`\\textcolor{##bc2612}{#1}`),Q(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),Q(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),Q(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),Q(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),Q(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),Q(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),Q(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),Q(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),Q(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),Q(`\\purpleE`,`\\textcolor{##543b78}{#1}`),Q(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),Q(`\\mintB`,`\\textcolor{##edf2df}{#1}`),Q(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),Q(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),Q(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),Q(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),Q(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),Q(`\\grayE`,`\\textcolor{##babec2}{#1}`),Q(`\\grayF`,`\\textcolor{##888d93}{#1}`),Q(`\\grayG`,`\\textcolor{##626569}{#1}`),Q(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),Q(`\\grayI`,`\\textcolor{##21242c}{#1}`),Q(`\\kaBlue`,`\\textcolor{##314453}{#1}`),Q(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var co={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},lo=class{constructor(e,t,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new $a(eo,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Qa(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,n,r;if(e){if(this.consumeSpaces(),this.future().text!==`[`)return null;t=this.popToken(),{tokens:r,end:n}=this.consumeArg([`]`])}else({tokens:r,start:t,end:n}=this.consumeArg());return this.pushToken(new $i(`EOF`,n.loc)),this.pushTokens(r),new $i(``,Qi.range(t,n))}consumeSpaces(){for(;this.future().text===` `;)this.stack.pop()}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var r=this.future(),i,a=0,o=0;do{if(i=this.popToken(),t.push(i),i.text===`{`)++a;else if(i.text===`}`){if(--a,a===-1)throw new A(`Extra }`,i)}else if(i.text===`EOF`)throw new A(`Unexpected end of input in a macro argument, expected '`+(e&&n?e[o]:`}`)+`'`,i);if(e&&n)if((a===0||a===1&&e[o]===`{`)&&i.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}while(a!==0||n);return r.text===`{`&&t[t.length-1].text===`}`&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:r,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new A(`The length of delimiters doesn't match the number of args!`);for(var n=t[0],r=0;r<n.length;r++){var i=this.popToken();if(n[r]!==i.text)throw new A(`Use of the macro doesn't match its definition`,i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new A(`Too many expansions: infinite loop or need to increase maxExpand setting`)}expandOnce(e){var t=this.popToken(),n=t.text,r=t.noexpand?null:this._getExpansion(n);if(r==null||e&&r.unexpandable){if(e&&r==null&&n[0]===`\\`&&!this.isDefined(n))throw new A(`Undefined control sequence: `+n);return this.pushToken(t),!1}this.countExpansion(1);var i=r.tokens,a=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var s=i[o];if(s.text===`#`){if(o===0)throw new A(`Incomplete placeholder at end of macro body`,s);if(s=i[--o],s.text===`#`)i.splice(o+1,1);else if(/^[1-9]$/.test(s.text))i.splice(o,2,...a[s.text-1]);else throw new A(`Not a valid argument number`,s)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text=`\\relax`),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new $i(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var r=this.stack.pop();r.treatAsRelax&&=(r.noexpand=!1,!1),t.push(r)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(e=>e.text).join(``)}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var r=typeof t==`function`?t(this):t;if(typeof r==`string`){var i=0;if(r.includes(`#`))for(var a=r.replace(/##/g,``);a.includes(`#`+(i+1));)++i;for(var o=new Qa(r,this.settings),s=[],c=o.lex();c.text!==`EOF`;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return r}isDefined(e){return this.macros.has(e)||Ua.hasOwnProperty(e)||Bt.math.hasOwnProperty(e)||Bt.text.hasOwnProperty(e)||co.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t==null?Ua.hasOwnProperty(e)&&!Ua[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},uo=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,fo=Object.freeze({"₊":`+`,"₋":`-`,"₌":`=`,"₍":`(`,"₎":`)`,"₀":`0`,"₁":`1`,"₂":`2`,"₃":`3`,"₄":`4`,"₅":`5`,"₆":`6`,"₇":`7`,"₈":`8`,"₉":`9`,ₐ:`a`,ₑ:`e`,ₕ:`h`,ᵢ:`i`,ⱼ:`j`,ₖ:`k`,ₗ:`l`,ₘ:`m`,ₙ:`n`,ₒ:`o`,ₚ:`p`,ᵣ:`r`,ₛ:`s`,ₜ:`t`,ᵤ:`u`,ᵥ:`v`,ₓ:`x`,ᵦ:`β`,ᵧ:`γ`,ᵨ:`ρ`,ᵩ:`ϕ`,ᵪ:`χ`,"⁺":`+`,"⁻":`-`,"⁼":`=`,"⁽":`(`,"⁾":`)`,"⁰":`0`,"¹":`1`,"²":`2`,"³":`3`,"⁴":`4`,"⁵":`5`,"⁶":`6`,"⁷":`7`,"⁸":`8`,"⁹":`9`,ᴬ:`A`,ᴮ:`B`,ᴰ:`D`,ᴱ:`E`,ᴳ:`G`,ᴴ:`H`,ᴵ:`I`,ᴶ:`J`,ᴷ:`K`,ᴸ:`L`,ᴹ:`M`,ᴺ:`N`,ᴼ:`O`,ᴾ:`P`,ᴿ:`R`,ᵀ:`T`,ᵁ:`U`,ⱽ:`V`,ᵂ:`W`,ᵃ:`a`,ᵇ:`b`,ᶜ:`c`,ᵈ:`d`,ᵉ:`e`,ᶠ:`f`,ᵍ:`g`,ʰ:`h`,ⁱ:`i`,ʲ:`j`,ᵏ:`k`,ˡ:`l`,ᵐ:`m`,ⁿ:`n`,ᵒ:`o`,ᵖ:`p`,ʳ:`r`,ˢ:`s`,ᵗ:`t`,ᵘ:`u`,ᵛ:`v`,ʷ:`w`,ˣ:`x`,ʸ:`y`,ᶻ:`z`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),po={"́":{text:`\\'`,math:`\\acute`},"̀":{text:"\\`",math:`\\grave`},"̈":{text:`\\"`,math:`\\ddot`},"̃":{text:`\\~`,math:`\\tilde`},"̄":{text:`\\=`,math:`\\bar`},"̆":{text:`\\u`,math:`\\breve`},"̌":{text:`\\v`,math:`\\check`},"̂":{text:`\\^`,math:`\\hat`},"̇":{text:`\\.`,math:`\\dot`},"̊":{text:`\\r`,math:`\\mathring`},"̋":{text:`\\H`},"̧":{text:`\\c`}},mo={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},ho=class e{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode=`math`,this.gullet=new lo(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new A(`Expected '`+e+`', got '`+this.fetch().text+`'`,this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken??=this.gullet.expandNextToken(),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set(`\\color`,`\\textcolor`);try{var e=this.parseExpression(!1);return this.expect(`EOF`),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new $i(`}`)),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect(`}`),this.nextToken=t,n}parseExpression(t,n){for(var r=[];;){this.mode===`math`&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&Ua[i.text]&&Ua[i.text].infix)break;var a=this.parseAtom(n);if(!a)break;a.type!==`internal`&&r.push(a)}return this.mode===`text`&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,n,r=0;r<e.length;r++){var i=e[r];if(i.type===`infix`){if(t!==-1)throw new A(`only one infix operator per group`,i.token);t=r,n=i.replaceWith}}if(t!==-1&&n){var a,o,s=e.slice(0,t),c=e.slice(t+1);return a=s.length===1&&s[0].type===`ordgroup`?s[0]:{type:`ordgroup`,mode:this.mode,body:s},o=c.length===1&&c[0].type===`ordgroup`?c[0]:{type:`ordgroup`,mode:this.mode,body:c},[n===`\\\\abovefrac`?this.callFunction(n,[a,e[t],o],[]):this.callFunction(n,[a,o],[])]}else return e}handleSupSubscript(e){var t=this.fetch(),n=t.text;this.consume(),this.consumeSpaces();var r;do r=this.parseGroup(e);while(r?.type===`internal`);if(!r)throw new A(`Expected group after '`+n+`'`,t);return r}formatUnsupportedCmd(e){for(var t=[],n=0;n<e.length;n++)t.push({type:`textord`,mode:`text`,text:e[n]});var r={type:`text`,mode:this.mode,body:t};return{type:`color`,mode:this.mode,color:this.settings.errorColor,body:[r]}}parseAtom(e){var t=this.parseGroup(`atom`,e);if(t?.type===`internal`||this.mode===`text`)return t;for(var n,r;;){this.consumeSpaces();var i=this.fetch();if(i.text===`\\limits`||i.text===`\\nolimits`){if(t&&t.type===`op`)t.limits=i.text===`\\limits`,t.alwaysHandleSupSub=!0;else if(t&&t.type===`operatorname`)t.alwaysHandleSupSub&&(t.limits=i.text===`\\limits`);else throw new A(`Limit controls must follow a math operator`,i);this.consume()}else if(i.text===`^`){if(n)throw new A(`Double superscript`,i);n=this.handleSupSubscript(`superscript`)}else if(i.text===`_`){if(r)throw new A(`Double subscript`,i);r=this.handleSupSubscript(`subscript`)}else if(i.text===`'`){if(n)throw new A(`Double superscript`,i);var a={type:`textord`,mode:this.mode,text:`\\prime`},o=[a];for(this.consume();this.fetch().text===`'`;)o.push(a),this.consume();this.fetch().text===`^`&&o.push(this.handleSupSubscript(`superscript`)),n={type:`ordgroup`,mode:this.mode,body:o}}else if(fo[i.text]){var s=uo.test(i.text),c=[];for(c.push(new $i(fo[i.text])),this.consume();;){var l=this.fetch().text;if(!fo[l]||uo.test(l)!==s)break;c.unshift(new $i(fo[l])),this.consume()}var u=this.subparse(c);s?r={type:`ordgroup`,mode:`math`,body:u}:n={type:`ordgroup`,mode:`math`,body:u}}else break}return n||r?{type:`supsub`,mode:this.mode,base:t,sup:n,sub:r}:t}parseFunction(e,t){var n=this.fetch(),r=n.text,i=Ua[r];if(!i)return null;if(this.consume(),t&&t!==`atom`&&!i.allowedInArgument)throw new A(`Got function '`+r+`' with no arguments`+(t?` as `+t:``),n);if(this.mode===`text`&&!i.allowedInText)throw new A(`Can't use function '`+r+`' in text mode`,n);if(this.mode===`math`&&i.allowedInMath===!1)throw new A(`Can't use function '`+r+`' in math mode`,n);var{args:a,optArgs:o}=this.parseArguments(r,i);return this.callFunction(r,a,o,n,e)}callFunction(e,t,n,r,i){var a={funcName:e,parser:this,token:r,breakOnTokenText:i},o=Ua[e];if(o&&o.handler)return o.handler(a,t,n);throw new A(`No function handler for `+e)}parseArguments(e,t){var n=t.numArgs+t.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var r=[],i=[],a=0;a<n;a++){var o=t.argTypes&&t.argTypes[a],s=a<t.numOptionalArgs;(`primitive`in t&&t.primitive&&o==null||t.type===`sqrt`&&a===1&&i[0]==null)&&(o=`primitive`);var c=this.parseGroupOfType(`argument to '`+e+`'`,o,s);if(s)i.push(c);else if(c!=null)r.push(c);else throw new A(`Null argument, please report this as a bug`)}return{args:r,optArgs:i}}parseGroupOfType(e,t,n){switch(t){case`color`:return this.parseColorGroup(n);case`size`:return this.parseSizeGroup(n);case`url`:return this.parseUrlGroup(n);case`math`:case`text`:return this.parseArgumentGroup(n,t);case`hbox`:var r=this.parseArgumentGroup(n,`text`);return r==null?null:{type:`styling`,mode:r.mode,body:[r],style:`text`,resetFont:!0};case`raw`:var i=this.parseStringGroup(`raw`,n);return i==null?null:{type:`raw`,mode:`text`,string:i.text};case`primitive`:if(n)throw new A(`A primitive argument cannot be optional`);var a=this.parseGroup(e);if(a==null)throw new A(`Expected group as `+e,this.fetch());return a;case`original`:case null:case void 0:return this.parseArgumentGroup(n);default:throw new A(`Unknown group type as `+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===` `;)this.consume()}parseStringGroup(e,t){var n=this.gullet.scanArgument(t);if(n==null)return null;for(var r=``,i;(i=this.fetch()).text!==`EOF`;)r+=i.text,this.consume();return this.consume(),n.text=r,n}parseRegexGroup(e,t){for(var n=this.fetch(),r=n,i=``,a;(a=this.fetch()).text!==`EOF`&&e.test(i+a.text);)r=a,i+=r.text,this.consume();if(i===``)throw new A(`Invalid `+t+`: '`+n.text+`'`,n);return n.range(r,i)}parseColorGroup(e){var t=this.parseStringGroup(`color`,e);if(t==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new A(`Invalid color: '`+t.text+`'`,t);var r=n[0];return/^[0-9a-f]{6}$/i.test(r)&&(r=`#`+r),{type:`color-token`,mode:this.mode,color:r}}parseSizeGroup(e){var t,n=!1;if(this.gullet.consumeSpaces(),t=!e&&this.gullet.future().text!==`{`?this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,`size`):this.parseStringGroup(`size`,e),!t)return null;!e&&t.text.length===0&&(t.text=`0pt`,n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!r)throw new A(`Invalid size: '`+t.text+`'`,t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!mt(i))throw new A(`Invalid unit: '`+i.unit+`'`,t);return{type:`size`,mode:this.mode,value:i,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode(`%`,13),this.gullet.lexer.setCatcode(`~`,12);var t=this.parseStringGroup(`url`,e);if(this.gullet.lexer.setCatcode(`%`,14),this.gullet.lexer.setCatcode(`~`,13),t==null)return null;var n=t.text.replace(/\\([#$%&~_^{}])/g,`$1`);return{type:`url`,mode:this.mode,url:n}}parseArgumentGroup(e,t){var n=this.gullet.scanArgument(e);if(n==null)return null;var r=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var i=this.parseExpression(!1,`EOF`);this.expect(`EOF`),this.gullet.endGroup();var a={type:`ordgroup`,mode:this.mode,loc:n.loc,body:i};return t&&this.switchMode(r),a}parseGroup(e,t){var n=this.fetch(),r=n.text,i;if(r===`{`||r===`\\begingroup`){this.consume();var a=r===`{`?`}`:`\\endgroup`;this.gullet.beginGroup();var o=this.parseExpression(!1,a),s=this.fetch();this.expect(a),this.gullet.endGroup(),i={type:`ordgroup`,mode:this.mode,loc:Qi.range(n,s),body:o,semisimple:r===`\\begingroup`||void 0}}else if(i=this.parseFunction(t,e)||this.parseSymbol(),i==null&&r[0]===`\\`&&!co.hasOwnProperty(r)){if(this.settings.throwOnError)throw new A(`Undefined control sequence: `+r,n);i=this.formatUnsupportedCmd(r),this.consume()}return i}formLigatures(e){for(var t=e.length-1,n=0;n<t;++n){var r=e[n];if(r.type===`textord`){var i=r.text,a=e[n+1];if(!(!a||a.type!==`textord`)){if(i===`-`&&a.text===`-`){var o=e[n+2];n+1<t&&o&&o.type===`textord`&&o.text===`-`?(e.splice(n,3,{type:`textord`,mode:`text`,loc:Qi.range(r,o),text:`---`}),t-=2):(e.splice(n,2,{type:`textord`,mode:`text`,loc:Qi.range(r,a),text:`--`}),--t)}(i===`'`||i==="`")&&a.text===i&&(e.splice(n,2,{type:`textord`,mode:`text`,loc:Qi.range(r,a),text:i+i}),--t)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var n=t.slice(5),r=n.charAt(0)===`*`;if(r&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new A(`\\verb assertion failed --
257
- please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}mo.hasOwnProperty(t[0])&&!Bt[this.mode][t[0]]&&(this.settings.strict&&this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Accented Unicode text character "`+t[0]+`" used in math mode`,e),t=mo[t[0]]+t.slice(1));var i=Xa.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(Bt[this.mode][t]){this.settings.strict&&this.mode===`math`&&ln.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=Bt[this.mode][t].group,s=Qi.range(e);a=Wr(o)?{type:`atom`,mode:this.mode,family:o,loc:s,text:t}:{type:o,mode:this.mode,loc:s,text:t}}else if(t.charCodeAt(0)>=128)this.settings.strict&&(Xe(t.charCodeAt(0))?this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Unicode text character "`+t[0]+`" used in math mode`,e):this.settings.reportNonstrict(`unknownSymbol`,`Unrecognized Unicode character "`+t[0]+`"`+(` (`+t.charCodeAt(0)+`)`),e)),a={type:`textord`,mode:`text`,loc:Qi.range(e),text:t};else return null;if(this.consume(),i)for(var c=0;c<i[0].length;c++){var l=i[0][c];if(!po[l])throw new A(`Unknown accent ' `+l+`'`,e);var u=po[l][this.mode]||po[l].text;if(!u)throw new A(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:Qi.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};ho.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var go=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new ho(e,t);delete n.gullet.macros.current[`\\df@tag`];var r=n.parse();if(delete n.gullet.macros.current[`\\current@color`],delete n.gullet.macros.current[`\\color`],n.gullet.macros.get(`\\df@tag`)){if(!t.displayMode)throw new A(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new $i(`\\df@tag`)])}]}return r},_o=function(e,t,n){t.textContent=``;var r=xo(e,n).toNode();t.appendChild(r)};typeof document<`u`&&document.compatMode!==`CSS1Compat`&&(typeof console<`u`&&console.warn(`Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.`),_o=function(){throw new A(`KaTeX doesn't work in quirks mode.`)});var vo=function(e,t){return xo(e,t).toMarkup()},yo=function(e,t){return go(e,new Ae(t))},bo=function(e,t,n){if(n.throwOnError||!(e instanceof A))throw e;var r=G([`katex-error`],[new Et(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},xo=function(e,t){var n=new Ae(t);try{return Pr(go(e,n),e,n)}catch(t){return bo(t,e,n)}},So={version:`0.16.47`,render:_o,renderToString:vo,ParseError:A,SETTINGS_SCHEMA:M,__parse:yo,__renderToDomTree:xo,__renderToHTMLTree:function(e,t){var n=new Ae(t);try{return Fr(go(e,n),e,n)}catch(t){return bo(t,e,n)}},__setFontMetrics:It,__defineSymbol:F,__defineFunction:q,__defineMacro:Q,__domTree:{Span:St,Anchor:Ct,SymbolNode:Et,SvgNode:Dt,PathNode:Ot,LineNode:kt}};let Co=new Map;function wo(e,t=!1){let n=`${t?`D`:`I`}${e}`,r=Co.get(n);if(r===void 0){try{r=So.renderToString(String(e),{displayMode:t,throwOnError:!1,strict:`ignore`,trust:!1,maxSize:20,maxExpand:500,output:`htmlAndMathml`})}catch{r=null}Co.size>2e3&&Co.clear(),Co.set(n,r)}return r}function To({tex:e,display:t=!1}){let n=wo(e,t);return n===null?(0,i.jsx)(`code`,{children:e}):(0,i.jsx)(`span`,{className:t?`aha-tex aha-tex-display`:`aha-tex`,dangerouslySetInnerHTML:{__html:n}})}let Eo=new Set([`svg`,`g`,`path`,`line`,`polyline`,`polygon`,`rect`,`circle`,`ellipse`,`text`,`tspan`,`textPath`,`defs`,`marker`,`lineargradient`,`radialgradient`,`stop`,`title`,`desc`,`clippath`,`mask`,`pattern`,`use`,`symbol`]),Do=new Set(`xmlns.viewbox.width.height.x.y.x1.y1.x2.y2.cx.cy.r.rx.ry.d.points.transform.fill.stroke.stroke-width.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.opacity.fill-opacity.stroke-opacity.fill-rule.clip-rule.font-size.font-family.font-weight.font-style.text-anchor.dominant-baseline.alignment-baseline.letter-spacing.text-decoration.dx.dy.rotate.marker-start.marker-mid.marker-end.refx.refy.markerwidth.markerheight.markerunits.orient.offset.stop-color.stop-opacity.gradientunits.gradienttransform.fx.fy.id.clip-path.mask.preserveaspectratio.vector-effect.patternunits.patterncontentunits.href.xlink:href.startoffset.textlength.lengthadjust.style.class`.split(`.`)),Oo=new Set([`fill`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-linecap`,`stroke-linejoin`,`opacity`,`fill-opacity`,`stroke-opacity`,`font-size`,`font-family`,`font-weight`,`font-style`,`text-anchor`,`dominant-baseline`,`letter-spacing`]);function ko(e,t){let n=String(t).toLowerCase();return/javascript:|data:|expression\(|@import|<|>/u.test(n)||n.includes(`url(`)&&!/^url\(\s*#[\w-]+\s*\)$/u.test(n.trim())||(e===`href`||e===`xlink:href`)&&!/^#[\w-]+$/u.test(String(t).trim())?null:t}function Ao(e){let t=[];for(let n of String(e).split(`;`)){let[e,...r]=n.split(`:`),i=e?.trim().toLowerCase(),a=r.join(`:`).trim();!i||!a||!Oo.has(i)||ko(i,a)!==null&&t.push(`${i}:${a}`)}return t.join(`;`)}function jo(e){for(let t of[...e.childNodes]){if(t.nodeType===8){t.remove();continue}if(t.nodeType!==1)continue;let e=String(t.localName||t.nodeName).toLowerCase();if(!Eo.has(e)){t.remove();continue}for(let e of[...t.attributes]){let n=e.name.toLowerCase();if(n.startsWith(`on`)||!Do.has(n)){t.removeAttribute(e.name);continue}if(n===`style`){let n=Ao(e.value);n?t.setAttribute(`style`,n):t.removeAttribute(`style`);continue}ko(n,e.value)===null&&t.removeAttribute(e.name)}jo(t)}}function Mo(e,{DOMParserImpl:t=globalThis.DOMParser,XMLSerializerImpl:n=globalThis.XMLSerializer}={}){if(typeof e!=`string`||!/^\s*<svg[\s>]/iu.test(e)||e.length>64*1024||!t)return null;let r;try{r=new t().parseFromString(e,`image/svg+xml`)}catch{return null}let i=r?.documentElement;if(!i||String(i.localName||i.nodeName).toLowerCase()!==`svg`||r.getElementsByTagName(`parsererror`).length)return null;for(let e of[...i.attributes]){let t=e.name.toLowerCase();(t.startsWith(`on`)||!Do.has(t)||ko(t,e.value)===null)&&i.removeAttribute(e.name)}i.getAttribute(`xmlns`)||i.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),jo(i);let a=n?new n().serializeToString(i):i.outerHTML;return/^\s*<svg[\s>]/iu.test(a)?a:null}function No(e,t=`light`){let n=String(e??``),r=t===`dark`?`dark`:`light`,i=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data: blob:; font-src data:; media-src data: blob:"><meta charset="utf-8"><meta name="color-scheme" content="${r}"><style>:root{color-scheme:${r}}html,body{margin:0;background:transparent;overflow:hidden}canvas,svg{max-width:100%;height:auto}</style>`;return/<head[^>]*>/iu.test(n)?n.replace(/<head[^>]*>/iu,e=>`${e}${i}`):/<html[^>]*>/iu.test(n)?n.replace(/<html[^>]*>/iu,e=>`${e}<head>${i}</head>`):`<!doctype html><html><head>${i}</head><body>${n}</body></html>`}let Po=/\$[^$\n]+\$/gu,Fo=/(\$[^$\n]+\$|\*\*(?:\$[^$\n]+\$|[^*\n])+?\*\*|==(?:\$[^$\n]+\$|[^=\n])+?==)/gu;function Io(e,t,n){let r=0;for(let i of t.matchAll(Po))i.index>r&&e.push({kind:n,text:t.slice(r,i.index)}),e.push({kind:`math`,tex:i[0].slice(1,-1),style:n}),r=i.index+i[0].length;r<t.length&&e.push({kind:n,text:t.slice(r)})}function Lo(e){let t=[],n=String(e??``),r=0;for(let e of n.matchAll(Fo)){e.index>r&&t.push({kind:`text`,text:n.slice(r,e.index)});let i=e[0];i.startsWith(`$`)?t.push({kind:`math`,tex:i.slice(1,-1)}):Io(t,i.slice(2,-2),i.startsWith(`**`)?`bold`:`mark`),r=e.index+i.length}return r<n.length&&t.push({kind:`text`,text:n.slice(r)}),t}function Ro(e){return e.kind===`math`?Math.min(10,Math.max(2,e.tex.length/2)):[...e.text].length}function zo(e){return e.reduce((e,t)=>e+Ro(t),0)}function Bo(e,t){let n=[],r=t;for(let t of e){if(r<=0)break;let e=Ro(t);if(t.kind===`math`){r>=e&&n.push(t),r-=e;continue}let i=[...t.text];i.length<=r?n.push(t):n.push({...t,text:i.slice(0,Math.max(0,Math.floor(r))).join(``)}),r-=i.length}return n}let Vo={alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,varepsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,vartheta:`ϑ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,pi:`π`,rho:`ρ`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,varphi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,Gamma:`Γ`,Delta:`Δ`,Theta:`Θ`,Lambda:`Λ`,Xi:`Ξ`,Pi:`Π`,Sigma:`Σ`,Phi:`Φ`,Psi:`Ψ`,Omega:`Ω`},Ho={cdot:`·`,times:`×`,div:`÷`,pm:`±`,mp:`∓`,le:`≤`,leq:`≤`,ge:`≥`,geq:`≥`,neq:`≠`,ne:`≠`,approx:`≈`,equiv:`≡`,infty:`∞`,to:`→`,rightarrow:`→`,Rightarrow:`⇒`,leftarrow:`←`,Leftrightarrow:`⇔`,sum:`Σ`,prod:`Π`,int:`∫`,oint:`∮`,partial:`∂`,nabla:`∇`,sqrt:`√`,in:`∈`,notin:`∉`,subset:`⊂`,subseteq:`⊆`,cup:`∪`,cap:`∩`,forall:`∀`,exists:`∃`,degree:`°`,circ:`°`,angle:`∠`,perp:`⊥`,parallel:`∥`,ldots:`…`,cdots:`⋯`,dots:`…`,propto:`∝`,sim:`∼`,hbar:`ħ`,ell:`ℓ`,quad:` `,qquad:` `},Uo={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`,"+":`⁺`,"-":`⁻`,"=":`⁼`,"(":`⁽`,")":`⁾`,n:`ⁿ`,i:`ⁱ`,x:`ˣ`,T:`ᵀ`},Wo={0:`₀`,1:`₁`,2:`₂`,3:`₃`,4:`₄`,5:`₅`,6:`₆`,7:`₇`,8:`₈`,9:`₉`,"+":`₊`,"-":`₋`,"=":`₌`,"(":`₍`,")":`₎`,a:`ₐ`,e:`ₑ`,i:`ᵢ`,n:`ₙ`,x:`ₓ`,k:`ₖ`,t:`ₜ`};function Go(e){let t=String(e??``);for(let e=0;e<4;e+=1)t=t.replace(/\\[dt]?frac\{([^{}]*)\}\{([^{}]*)\}/gu,(e,t,n)=>`${t.length>1?`(${t})`:t}/${n.length>1?`(${n})`:n}`),t=t.replace(/\\sqrt\{([^{}]*)\}/gu,(e,t)=>`√${t.length>1?`(${t})`:t}`),t=t.replace(/\\(?:text|mathrm|mathbf|mathit|operatorname|textbf)\{([^{}]*)\}/gu,`$1`);return t=t.replace(/\\(left|right|big|Big|bigg|Bigg|displaystyle)\b/gu,``),t=t.replace(/\\([a-zA-Z]+)/gu,(e,t)=>Vo[t]??Ho[t]??t),t=t.replace(/\^\{([^{}]*)\}|\^(.)/gu,(e,t,n)=>[...t??n].map(e=>Uo[e]??e).join(``)),t=t.replace(/_\{([^{}]*)\}|_(.)/gu,(e,t,n)=>[...t??n].map(e=>Wo[e]??e).join(``)),t.replace(/\\[,;:! ]/gu,` `).replace(/[{}]/gu,``).replace(/\s+/gu,` `).trim()}function Ko(e){return Lo(e).map(e=>e.kind===`math`?Go(e.tex):e.text).join(``)}let qo=new Set([`。`,`!`,`?`,`!`,`?`,`;`,`;`]),Jo=new Set([`”`,`’`,`」`,`』`,`)`,`)`,`】`,`]`,`"`,`'`,`…`]);function Yo(e){let t=String(e??``),n=[],r=``,i=()=>{let e=r.trim();e&&n.push(e),r=``},a=0,o=e=>{let t=[...e];for(let e=0;e<t.length;e+=1){let n=t[e];if(n===`
258
- `){i();continue}r+=n;let a=n===`.`&&(e+1===t.length||/\s/u.test(t[e+1])&&/[\p{Lu}\p{Lo}]/u.test(t[e+2]??``));if(!(!qo.has(n)&&!a)){for(;e+1<t.length&&(qo.has(t[e+1])||Jo.has(t[e+1]));)r+=t[++e];i()}}};for(let e of t.matchAll(Po))o(t.slice(a,e.index)),r+=e[0],a=e.index+e[0].length;return o(t.slice(a)),i(),n}function Xo(e,t){return Math.max(1,Math.ceil(String(e??``).length/t))}function Zo(e){switch(e.t){case`title`:return 1.6;case`h`:return 1.4;case`p`:return Xo(e.text,26)*1.05;case`math`:return 2;case`list`:return e.items.reduce((e,t)=>e+Xo(t,24),0)*1.05;case`note`:return Xo(e.text,24)+1;case`table`:return(e.rows.length+1)*1.1+.6;case`code`:return Math.min(14,e.code.split(`
259
- `).length*.8+1);case`svg`:case`chart`:return 8.5;case`anim`:return Math.round(e.height/34);default:return 0}}function Qo(e){let t=[],n=new Map,r=null,i=0,a=0,o=!1,s=e=>{r={title:e??``,columns:[[],[]]},t.push(r),i=0,a=0,o=!1};return s(``),e.forEach((e,c)=>{for(let l of e.ops??[]){if(l.t===`page`){r.columns[0].length||r.columns[1].length?s(l.title):r.title=l.title||r.title,n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`col`){i===0?(i=1,a=0):o?o=!1:s(``),n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`mark`){n.set(l.id,n.get(l.ref)??{page:t.length-1,column:i});continue}if(l.t===`title`){r.columns[0].length||r.columns[1].length?s(l.text):r.title=l.text,n.set(l.id,{page:t.length-1,column:0,title:!0});continue}let e=Zo(l);a>0&&a+e>26&&(i===0?(i=1,a=0,o=!0):s(``)),r.columns[i].push({op:l,step:c}),n.set(l.id,{page:t.length-1,column:i}),a+=e}}),{pages:t,where:n}}function $o(e,t){return e.map((e,n)=>{let r=new Map(e.ops.map(e=>[e.id,`${t}${e.id}`]));return{...e,id:`${t}${e.id??n}`,aside:!0,ops:e.ops.map(e=>({...e,id:r.get(e.id),...e.t===`mark`?{ref:r.get(e.ref)??e.ref}:{}})),...e.check?{check:{...e.check,id:`${t}${e.check.id}`}}:{}}})}function es(e,t=12e3){let n=[];for(let t of e)for(let e of t.ops)if(e.text&&n.push(e.text),e.caption&&n.push(e.caption),e.items&&n.push(...e.items),e.head&&n.push(...e.head),e.rows)for(let t of e.rows)n.push(...t);return[...new Set([...n.join(``)])].join(``).slice(0,t)}function ts(e,t,n){return!n||e<n.index?1:e>n.index?0:t<n.op?1:t>n.op?0:n.progress}function ns({text:e,reveal:t=1}){let n=(0,r.useMemo)(()=>Lo(e),[e]),a=(0,r.useMemo)(()=>zo(n),[n]);return(t>=1?n:Bo(n,a*t)).map((e,t)=>{if(e.kind===`math`){let n=(0,i.jsx)(To,{tex:e.tex},t);return e.style===`mark`?(0,i.jsx)(`mark`,{children:n},t):e.style===`bold`?(0,i.jsx)(`strong`,{children:n},t):n}return e.kind===`bold`?(0,i.jsx)(`strong`,{children:e.text},t):e.kind===`mark`?(0,i.jsx)(`mark`,{children:e.text},t):(0,i.jsx)(`span`,{children:e.text},t)})}function rs({markup:e,reveal:t,caption:n}){let a=(0,r.useRef)(null),o=(0,r.useMemo)(()=>Mo(e),[e]);return(0,r.useLayoutEffect)(()=>{let e=a.current?.querySelector(`svg`);if(!e)return;let n=[...e.querySelectorAll(`path,line,polyline,polygon,rect,circle,ellipse`)],r=[...e.querySelectorAll(`text`)],i=r.length?.8:1;n.forEach((e,r)=>{let a=0;try{a=e.getTotalLength?.()??0}catch{a=0}let o=r/Math.max(1,n.length)*i,s=(r+1)/Math.max(1,n.length)*i,c=Math.min(1,Math.max(0,(t-o)/Math.max(1e-4,s-o)));a>0&&(e.style.strokeDasharray=`${a}`,e.style.strokeDashoffset=`${a*(1-c)}`),e.style.fillOpacity=c>=1?``:String(c*.6),a||(e.style.opacity=String(c))});let o=r.length?Math.min(1,Math.max(0,(t-i)/(1-i))):1;r.forEach(e=>{e.style.opacity=String(t>=1?1:o)})},[t,o]),o?(0,i.jsxs)(`div`,{className:`aha-op-figure`,children:[(0,i.jsx)(`div`,{ref:a,dangerouslySetInnerHTML:{__html:o}}),n?(0,i.jsx)(`div`,{className:`aha-figCaption`,style:{opacity:t>=1?1:.4},children:n}):null]}):null}function is({op:e,reveal:t,theme:n}){let a=(0,r.useMemo)(()=>No(e.html,n),[e.html,n]),o=(0,r.useRef)(null),[s,c]=(0,r.useState)(e.height);return(0,r.useLayoutEffect)(()=>{let t=o.current;if(!t||typeof ResizeObserver!=`function`)return;let n=()=>c(Math.round(Math.max(120,Math.min(e.height,e.height*t.clientWidth/560))));n();let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[e.height,t>0]),t<=0?null:(0,i.jsxs)(`div`,{className:`aha-op-figure`,style:{opacity:Math.min(1,t*3)},children:[(0,i.jsx)(`iframe`,{ref:o,className:`aha-op-anim`,title:e.caption||`animation`,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,srcDoc:a,style:{height:s,colorScheme:n===`dark`?`dark`:`light`}}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]})}function as({op:e,reveal:t,marks:n,aside:r,now:a,opRef:o,theme:s}){let c={"--reveal":`${Math.round(t*1e3)/10}%`},l=n.map(e=>(0,i.jsx)(`span`,{className:e.style===`circle`?`aha-markRing`:e.style===`box`?`aha-markBox`:`aha-markLine`,style:{opacity:e.reveal,clipPath:`inset(0 ${100-e.reveal*100}% 0 0)`}},e.id)),u;switch(e.t){case`h`:u=(0,i.jsx)(`div`,{className:`aha-op-h`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(ns,{text:e.text,reveal:t})})});break;case`p`:u=(0,i.jsx)(`div`,{className:`aha-op-p`,children:(0,i.jsx)(ns,{text:e.text,reveal:t})});break;case`math`:u=(0,i.jsx)(`div`,{className:`aha-op-math aha-reveal`,style:c,children:(0,i.jsx)(To,{tex:e.tex,display:!0})});break;case`list`:{let n=e.items.reduce((e,t)=>e+zo(Lo(t)),0)*t;u=(0,i.jsx)(e.ordered?`ol`:`ul`,{className:`aha-op-list`,children:e.items.map((e,r)=>{let a=zo(Lo(e)),o=t>=1?1:Math.max(0,Math.min(1,n/Math.max(1,a)));return n-=a,o>0?(0,i.jsx)(`li`,{children:(0,i.jsx)(ns,{text:e,reveal:o})},r):null})});break}case`note`:u=(0,i.jsx)(`div`,{className:`aha-op-note`,"data-tone":e.tone,children:(0,i.jsx)(ns,{text:e.text,reveal:t})});break;case`svg`:u=(0,i.jsx)(rs,{markup:e.svg,reveal:t,caption:e.caption});break;case`chart`:u=(0,i.jsx)(rs,{markup:ve(e),reveal:t,caption:``});break;case`table`:{let n=t>=1?e.rows.length:Math.floor(e.rows.length*t);u=(0,i.jsxs)(`table`,{className:`aha-op-table`,children:[e.head.length?(0,i.jsx)(`thead`,{children:(0,i.jsx)(`tr`,{children:e.head.map((e,t)=>(0,i.jsx)(`th`,{children:(0,i.jsx)(ns,{text:e})},t))})}):null,(0,i.jsx)(`tbody`,{children:e.rows.slice(0,n).map((e,t)=>(0,i.jsx)(`tr`,{children:e.map((e,t)=>(0,i.jsx)(`td`,{children:(0,i.jsx)(ns,{text:e})},t))},t))})]});break}case`code`:{let n=e.code.split(`
260
- `);u=(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`pre`,{className:`aha-op-code`,children:(t>=1?n:n.slice(0,Math.ceil(n.length*t))).join(`
261
- `)}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]});break}case`anim`:u=(0,i.jsx)(is,{op:e,reveal:t,theme:s});break;default:u=null}return(0,i.jsxs)(`div`,{ref:o,className:`aha-op`,"data-t":e.t,"data-aside":r?`true`:void 0,"data-now":a?`true`:void 0,"data-op":e.id,children:[u,l]})}function os({target:e,active:t,stage:n}){let[a,o]=(0,r.useState)(null);return(0,r.useLayoutEffect)(()=>{let r=e?.current,i=n?.current;if(!t||!r||!i){o(e=>e===null?e:null);return}let a=r.getBoundingClientRect(),s=i.getBoundingClientRect(),c=r.querySelectorAll(`span,strong,mark,li,td,pre,.katex`),l=c[c.length-1]?.getBoundingClientRect(),u=l&&l.width?l.right:a.left+a.width*t.progress,d=l&&l.height?l.bottom-4:a.top+a.height/2,f={left:Math.round(u-s.left+i.scrollLeft),top:Math.round(d-s.top+i.scrollTop)};o(e=>e&&e.left===f.left&&e.top===f.top?e:f)}),a?(0,i.jsxs)(`svg`,{className:`aha-pencil`,style:a,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,i.jsx)(`path`,{d:`M3 21l3.5-1 11-11-2.5-2.5-11 11L3 21z`,fill:`var(--pencil)`,stroke:`var(--ink)`,strokeWidth:`1.2`,strokeLinejoin:`round`}),(0,i.jsx)(`path`,{d:`M14.5 6.5l2.5 2.5 2-2a1.77 1.77 0 0 0-2.5-2.5l-2 2z`,fill:`var(--accent)`,stroke:`var(--ink)`,strokeWidth:`1.2`})]}):null}function ss({steps:e,position:t,theme:n=`light`,font:a=`hand`,buffering:o=!1,bufferingLabel:s=``}){let c=(0,r.useMemo)(()=>Qo(e),[e]),l=(0,r.useMemo)(()=>a===`hand`?es(e):``,[e,a]);(0,r.useEffect)(()=>{if(!(!l||typeof document>`u`||!document.fonts?.load))for(let e of[`Aha Hand Latin`,`Aha Hand`])document.fonts.load(`20px '${e}'`,l).catch(()=>void 0)},[l]);let u=(0,r.useMemo)(()=>{let t=new Map;return e.forEach((e,n)=>e.ops.forEach((r,i)=>t.set(r.id,{stepIndex:n,opIndex:i,aside:e.aside===!0}))),t},[e]),d=t&&e[t.index]?.ops[t.op],f=d?c.where.get(d.id)?.page??0:t?cs(c,e,t):0,[p,m]=(0,r.useState)(null);(0,r.useEffect)(()=>{m(null)},[f]);let h=Math.min(c.pages.length-1,p??f),g=c.pages[h],_=e=>{let n=u.get(e);return n?ts(n.stepIndex,n.opIndex,t):0},v=new Map;e.forEach(e=>e.ops.forEach(e=>{if(e.t!==`mark`)return;let t=_(e.id);if(t<=0)return;let n=v.get(e.ref)??[];n.push({id:e.id,style:e.style,reveal:t}),v.set(e.ref,n)}));let y=new Set(t?.now??[]),b=e.flatMap(e=>e.ops).find(e=>e.t===`title`&&c.where.get(e.id)?.page===h),x=b?_(b.id):1,S=(0,r.useRef)(null),C=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=S.current,t=d?e?.querySelector(`[data-op="${d.id}"]`):null;if(!e||!t)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();n.bottom>r.bottom-24?e.scrollTo({top:e.scrollTop+n.bottom-r.bottom+56,behavior:`smooth`}):n.top<r.top+8&&e.scrollTo({top:Math.max(0,e.scrollTop-(r.top-n.top)-24),behavior:`smooth`})},[d?`${d.id}:${Math.round((t?.progress??0)*4)}`:``,h]);let w=c.pages.map((e,t)=>t).filter(e=>e<=Math.max(f,p??0)||!t);return(0,i.jsxs)(`div`,{className:`aha-board`,"data-theme":n,"data-font":a,children:[w.length>1?(0,i.jsx)(`div`,{className:`aha-pager`,children:w.map(e=>(0,i.jsx)(`button`,{type:`button`,"data-active":e===h,onClick:()=>m(e),children:e+1},e))}):null,(0,i.jsxs)(`div`,{className:`aha-boardScroll`,ref:S,children:[g?.title&&x>0?(0,i.jsx)(`h2`,{className:`aha-boardTitle`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(ns,{text:g.title,reveal:x})})}):null,(0,i.jsx)(`div`,{className:`aha-cols`,children:g?.columns.map((e,t)=>(0,i.jsx)(`div`,{className:`aha-colBody`,children:e.map(({op:e})=>{let t=_(e.id);if(t<=0)return null;let r=d?.id===e.id&&t<1;return(0,i.jsx)(as,{op:e,reveal:t,marks:v.get(e.id)??[],aside:u.get(e.id)?.aside,now:y.has(e.id),opRef:r?C:void 0,theme:n},e.id)})},t))}),(0,i.jsx)(os,{target:C,stage:S,active:d&&t&&t.progress<1&&[`p`,`h`,`list`,`note`,`math`,`title`].includes(d.t)?t:null})]}),o?(0,i.jsxs)(`div`,{className:`aha-buffering`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),s]}):null]})}function cs(e,t,n){let r=0;return t.forEach((t,i)=>t.ops.forEach((t,a)=>{ts(i,a,n)>0&&(r=Math.max(r,e.where.get(t.id)?.page??0))})),r}function ls(e){let t=new Uint8Array(e);globalThis.crypto.getRandomValues(t);let n=``;for(let e of t)n+=(e%36).toString(36);return n}function us(e){if(!/^[a-z]{2,6}$/u.test(e))throw TypeError(`invalid id prefix "${e}"`);return`${e}_${Date.now().toString(36)}${ls(6)}`}Object.freeze({questions:6,options:5,units:12,lecturesPerUnit:8,lessonsPerLecture:8,lessons:120,objectives:5,concepts:6,projects:3,milestones:6,rubric:8,starterFiles:12,starterFileBytes:64*1024,practiceItems:12,options4:6,cards:60,sheetSections:24,sheetItems:16});function ds(e){let t=[];for(let n of e?.units??[])for(let e of n.lectures??[])for(let r of e.lessons??[])t.push({unit:n,lecture:e,lesson:r,index:t.length});return t}function fs(e,t){return e?.lessons?.[t]?.status??`new`}function ps(e,t){let n=ds(e),r=n.filter(e=>fs(t,e.lesson.id)===`done`),i=n.filter(e=>fs(t,e.lesson.id)!==`done`).reduce((e,t)=>e+(t.lesson.estMinutes||15),0);return{total:n.length,done:r.length,percent:n.length?Math.round(r.length/n.length*100):0,minutesLeft:i}}function ms(e,t){let n=ds(e);return n.find(e=>fs(t,e.lesson.id)===`learning`)??n.find(e=>fs(t,e.lesson.id)===`new`)??null}Object.freeze({steps:48,opsPerStep:14,say:1200,opText:1600,listItems:12,tableRows:16,tableCols:8,svgBytes:48*1024,animBytes:64*1024,codeBytes:12*1024,chartPoints:400,chartSeries:6}),Object.freeze([`title`,`h`,`p`,`math`,`list`,`svg`,`chart`,`table`,`code`,`note`,`mark`,`anim`,`col`,`page`]),Object.freeze({heading:`h`,header:`h`,subtitle:`h`,text:`p`,paragraph:`p`,write:`p`,formula:`math`,equation:`math`,latex:`math`,bullets:`list`,bullet:`list`,diagram:`svg`,drawing:`svg`,figure:`svg`,graph:`chart`,plot:`chart`,callout:`note`,highlight:`mark`,underline:`mark`,animation:`anim`,interactive:`anim`,column:`col`,newcolumn:`col`,newpage:`page`,clear:`page`});let hs=/[぀-ヿ㐀-䶿一-鿿가-힯]/gu;function gs(e,t=1){let n=String(e??``),r=(n.match(hs)??[]).length,i=n.replace(hs,` `).split(/\s+/u).filter(Boolean).length,a=r/4.4+i/2.6;return Math.round(a*1e3/Math.max(.5,Math.min(2,t||1)))}function _s(e){switch(e.t){case`title`:case`h`:case`p`:case`note`:return e.text.length;case`math`:return Math.min(80,e.tex.length);case`list`:return e.items.join(` `).length;case`table`:return e.rows.flat().join(` `).length/2;case`code`:return Math.min(400,e.code.length/2);default:return 60}}function vs(e){return e.t===`col`||e.t===`page`?0:e.t===`mark`?600:e.t===`svg`||e.t===`chart`||e.t===`anim`?2200:Math.min(7e3,Math.max(450,_s(e)*55))}function ys(e,{rate:t=1,speechMs:n}={}){let r=n??gs(e.say,t),i=e.ops.map(vs),a=i.reduce((e,t)=>e+t,0),o=r>0?r*.85:a,s=a>0&&o>0?Math.min(1.6,Math.max(.35,o/a)):1,c=i.map(e=>Math.round(e*s));return{speechMs:r,writeMs:c,durationMs:Math.max(r,c.reduce((e,t)=>e+t,0))+350}}function bs(e){let t=[];e.title&&t.push(`# ${e.title}`,``);for(let n of e.steps){for(let e of n.ops)if(e.t===`title`)t.push(`## ${e.text}`,``);else if(e.t===`h`)t.push(`### ${e.text}`,``);else if(e.t===`p`)t.push(e.text,``);else if(e.t===`math`)t.push(`$$${e.tex}$$`,``);else if(e.t===`list`)t.push(...e.items.map((t,n)=>e.ordered?`${n+1}. ${t}`:`- ${t}`),``);else if(e.t===`note`)t.push(`> ${e.text}`,``);else if(e.t===`code`)t.push(`\`\`\`${e.lang}`,e.code,"```",``);else if(e.t===`table`){let n=e.head.length?e.head:e.rows[0].map(()=>` `);t.push(`| ${n.join(` | `)} |`,`| ${n.map(()=>`---`).join(` | `)} |`,...e.rows.map(e=>`| ${e.join(` | `)} |`),``)}else e.caption&&t.push(`*${e.caption}*`,``);n.say&&t.push(`<!-- ${n.say.replace(/--/gu,`—`)} -->`,``)}return t.join(`
255
+ ?)[ \r ]*`,so=`[̀-ͯ]`,co=RegExp(so+`+$`),lo=`(`+no+`+)|`+(oo+`|`)+`([!-\\[\\]-‧‪-퟿豈-￿]`+(so+`*`)+`|[\ud800-\udbff][\udc00-\udfff]`+(so+`*`)+`|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5`+(`|`+ao)+(`|`+io+`)`),uo=class{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(lo,`g`),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new ua(`EOF`,new la(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new A(`Unexpected character: '`+e[t]+`'`,new ua(e[t],new la(this,t,t+1)));var r=n[6]||n[3]||(n[2]?`\\ `:` `);if(this.catcodes[r]===14){var i=e.indexOf(`
256
+ `,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict(`commentAtEnd`,`% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)`)):this.tokenRegex.lastIndex=i+1,this.lex()}return new ua(r,new la(this,t,this.tokenRegex.lastIndex))}},fo=class{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new A(`Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug`);var e=this.undefStack.pop();for(var t of Object.keys(e))e[t]===void 0?delete this.current[t]:this.current[t]=e[t]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){if(Object.prototype.hasOwnProperty.call(this.current,e))return this.current[e];if(Object.prototype.hasOwnProperty.call(this.builtins,e))return this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var r=0;r<this.undefStack.length;r++)delete this.undefStack[r][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!Object.prototype.hasOwnProperty.call(i,e)&&(i[e]=Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:void 0)}t==null?delete this.current[e]:this.current[e]=t}},po=ca;Q(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),Q(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),Q(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),Q(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),Q(`\\@ifnextchar`,function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),Q(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),Q(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var mo={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Q(`\\char`,function(e){var t=e.popToken(),n,r=0;if(t.text===`'`)n=8,t=e.popToken();else if(t.text===`"`)n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]===`\\`)r=t.text.charCodeAt(1);else if(t.text===`EOF`)throw new A("\\char` missing argument");else r=t.text.charCodeAt(0);else n=10;if(n){if(r=mo[t.text],r==null||r>=n)throw new A(`Invalid base-`+n+` digit `+t.text);for(var i;(i=mo[e.future().text])!=null&&i<n;)r*=n,r+=i,e.popToken()}return`\\@char{`+r+`}`});var ho=(e,t,n,r)=>{var i=e.consumeArg().tokens;if(i.length!==1)throw new A(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new A(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new A(`\\renewcommand{`+a+`} when command `+a+` does not yet exist; use \\newcommand`);var s=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text===`[`){for(var c=``,l=e.expandNextToken();l.text!==`]`&&l.text!==`EOF`;)c+=l.text,l=e.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new A(`Invalid number of arguments: `+c);s=parseInt(c),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:s}),``};Q(`\\newcommand`,e=>ho(e,!1,!0,!1)),Q(`\\renewcommand`,e=>ho(e,!0,!1,!1)),Q(`\\providecommand`,e=>ho(e,!0,!0,!0)),Q(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),Q(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),Q(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),to[n],Zt.math[n],Zt.text[n]),``}),Q(`\\bgroup`,`{`),Q(`\\egroup`,`}`),Q(`~`,`\\nobreakspace`),Q(`\\lq`,"`"),Q(`\\rq`,`'`),Q(`\\aa`,`\\r a`),Q(`\\AA`,`\\r A`),Q(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),Q(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),Q(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Q(`ℬ`,`\\mathscr{B}`),Q(`ℰ`,`\\mathscr{E}`),Q(`ℱ`,`\\mathscr{F}`),Q(`ℋ`,`\\mathscr{H}`),Q(`ℐ`,`\\mathscr{I}`),Q(`ℒ`,`\\mathscr{L}`),Q(`ℳ`,`\\mathscr{M}`),Q(`ℛ`,`\\mathscr{R}`),Q(`ℭ`,`\\mathfrak{C}`),Q(`ℌ`,`\\mathfrak{H}`),Q(`ℨ`,`\\mathfrak{Z}`),Q(`\\Bbbk`,`\\Bbb{k}`),Q(`\\llap`,`\\mathllap{\\textrm{#1}}`),Q(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),Q(`\\clap`,`\\mathclap{\\textrm{#1}}`),Q(`\\mathstrut`,`\\vphantom{(}`),Q(`\\underbar`,`\\underline{\\text{#1}}`),Q(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),Q(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Q(`\\ne`,`\\neq`),Q(`≠`,`\\neq`),Q(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Q(`∉`,`\\notin`),Q(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Q(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Q(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Q(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Q(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Q(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Q(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Q(`⟂`,`\\perp`),Q(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),Q(`∌`,`\\notni`),Q(`⌜`,`\\ulcorner`),Q(`⌝`,`\\urcorner`),Q(`⌞`,`\\llcorner`),Q(`⌟`,`\\lrcorner`),Q(`©`,`\\copyright`),Q(`®`,`\\textregistered`),Q(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),Q(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),Q(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),Q(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),Q(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),Q(`⋮`,`\\vdots`),Q(`\\varGamma`,`\\mathit{\\Gamma}`),Q(`\\varDelta`,`\\mathit{\\Delta}`),Q(`\\varTheta`,`\\mathit{\\Theta}`),Q(`\\varLambda`,`\\mathit{\\Lambda}`),Q(`\\varXi`,`\\mathit{\\Xi}`),Q(`\\varPi`,`\\mathit{\\Pi}`),Q(`\\varSigma`,`\\mathit{\\Sigma}`),Q(`\\varUpsilon`,`\\mathit{\\Upsilon}`),Q(`\\varPhi`,`\\mathit{\\Phi}`),Q(`\\varPsi`,`\\mathit{\\Psi}`),Q(`\\varOmega`,`\\mathit{\\Omega}`),Q(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),Q(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),Q(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),Q(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),Q(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),Q(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),Q(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),Q(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var go={",":`\\dotsc`,"\\not":`\\dotsb`,"+":`\\dotsb`,"=":`\\dotsb`,"<":`\\dotsb`,">":`\\dotsb`,"-":`\\dotsb`,"*":`\\dotsb`,":":`\\dotsb`,"\\DOTSB":`\\dotsb`,"\\coprod":`\\dotsb`,"\\bigvee":`\\dotsb`,"\\bigwedge":`\\dotsb`,"\\biguplus":`\\dotsb`,"\\bigcap":`\\dotsb`,"\\bigcup":`\\dotsb`,"\\prod":`\\dotsb`,"\\sum":`\\dotsb`,"\\bigotimes":`\\dotsb`,"\\bigoplus":`\\dotsb`,"\\bigodot":`\\dotsb`,"\\bigsqcup":`\\dotsb`,"\\And":`\\dotsb`,"\\longrightarrow":`\\dotsb`,"\\Longrightarrow":`\\dotsb`,"\\longleftarrow":`\\dotsb`,"\\Longleftarrow":`\\dotsb`,"\\longleftrightarrow":`\\dotsb`,"\\Longleftrightarrow":`\\dotsb`,"\\mapsto":`\\dotsb`,"\\longmapsto":`\\dotsb`,"\\hookrightarrow":`\\dotsb`,"\\doteq":`\\dotsb`,"\\mathbin":`\\dotsb`,"\\mathrel":`\\dotsb`,"\\relbar":`\\dotsb`,"\\Relbar":`\\dotsb`,"\\xrightarrow":`\\dotsb`,"\\xleftarrow":`\\dotsb`,"\\DOTSI":`\\dotsi`,"\\int":`\\dotsi`,"\\oint":`\\dotsi`,"\\iint":`\\dotsi`,"\\iiint":`\\dotsi`,"\\iiiint":`\\dotsi`,"\\idotsint":`\\dotsi`,"\\DOTSX":`\\dotsx`},_o=new Set([`bin`,`rel`]);Q(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in go?t=go[n]:(n.slice(0,4)===`\\not`||n in Zt.math&&_o.has(Zt.math[n].group))&&(t=`\\dotsb`),t});var vo={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Q(`\\dotso`,function(e){return e.future().text in vo?`\\ldots\\,`:`\\ldots`}),Q(`\\dotsc`,function(e){var t=e.future().text;return t in vo&&t!==`,`?`\\ldots\\,`:`\\ldots`}),Q(`\\cdots`,function(e){return e.future().text in vo?`\\@cdots\\,`:`\\@cdots`}),Q(`\\dotsb`,`\\cdots`),Q(`\\dotsm`,`\\cdots`),Q(`\\dotsi`,`\\!\\cdots`),Q(`\\dotsx`,`\\ldots\\,`),Q(`\\DOTSI`,`\\relax`),Q(`\\DOTSB`,`\\relax`),Q(`\\DOTSX`,`\\relax`),Q(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),Q(`\\,`,`\\tmspace+{3mu}{.1667em}`),Q(`\\thinspace`,`\\,`),Q(`\\>`,`\\mskip{4mu}`),Q(`\\:`,`\\tmspace+{4mu}{.2222em}`),Q(`\\medspace`,`\\:`),Q(`\\;`,`\\tmspace+{5mu}{.2777em}`),Q(`\\thickspace`,`\\;`),Q(`\\!`,`\\tmspace-{3mu}{.1667em}`),Q(`\\negthinspace`,`\\!`),Q(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),Q(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),Q(`\\enspace`,`\\kern.5em `),Q(`\\enskip`,`\\hskip.5em\\relax`),Q(`\\quad`,`\\hskip1em\\relax`),Q(`\\qquad`,`\\hskip2em\\relax`),Q(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),Q(`\\tag@paren`,`\\tag@literal{({#1})}`),Q(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new A(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),Q(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),Q(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),Q(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),Q(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),Q(`\\newline`,`\\\\\\relax`),Q(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var yo=F(Wt[`Main-Regular`][84][1]-.7*Wt[`Main-Regular`][65][1]);Q(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+yo+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),Q(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+yo+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),Q(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),Q(`\\@hspace`,`\\hskip #1\\relax`),Q(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),Q(`\\ordinarycolon`,`:`),Q(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),Q(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),Q(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),Q(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),Q(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),Q(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),Q(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),Q(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),Q(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),Q(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),Q(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),Q(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),Q(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),Q(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),Q(`∷`,`\\dblcolon`),Q(`∹`,`\\eqcolon`),Q(`≔`,`\\coloneqq`),Q(`≕`,`\\eqqcolon`),Q(`⩴`,`\\Coloneqq`),Q(`\\ratio`,`\\vcentcolon`),Q(`\\coloncolon`,`\\dblcolon`),Q(`\\colonequals`,`\\coloneqq`),Q(`\\coloncolonequals`,`\\Coloneqq`),Q(`\\equalscolon`,`\\eqqcolon`),Q(`\\equalscoloncolon`,`\\Eqqcolon`),Q(`\\colonminus`,`\\coloneq`),Q(`\\coloncolonminus`,`\\Coloneq`),Q(`\\minuscolon`,`\\eqcolon`),Q(`\\minuscoloncolon`,`\\Eqcolon`),Q(`\\coloncolonapprox`,`\\Colonapprox`),Q(`\\coloncolonsim`,`\\Colonsim`),Q(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Q(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Q(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),Q(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),Q(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Q(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),Q(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),Q(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),Q(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),Q(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),Q(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),Q(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),Q(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),Q(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),Q(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),Q(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),Q(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),Q(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),Q(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),Q(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),Q(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),Q(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),Q(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),Q(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),Q(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),Q(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),Q(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),Q(`\\imath`,`\\html@mathml{\\@imath}{ı}`),Q(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),Q(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Q(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Q(`⟦`,`\\llbracket`),Q(`⟧`,`\\rrbracket`),Q(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Q(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Q(`↤`,`\\mapsfrom`),Q(`\\mapsfrom`,"\\html@mathml{\\mathrel{\\mathreflectbox{\\mapsto}}}{\\mathrel{\\char`↤}}"),Q(`⦃`,`\\lBrace`),Q(`⦄`,`\\rBrace`),Q(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Q(`⦵`,`\\minuso`),Q(`\\darr`,`\\downarrow`),Q(`\\dArr`,`\\Downarrow`),Q(`\\Darr`,`\\Downarrow`),Q(`\\lang`,`\\langle`),Q(`\\rang`,`\\rangle`),Q(`\\uarr`,`\\uparrow`),Q(`\\uArr`,`\\Uparrow`),Q(`\\Uarr`,`\\Uparrow`),Q(`\\N`,`\\mathbb{N}`),Q(`\\R`,`\\mathbb{R}`),Q(`\\Z`,`\\mathbb{Z}`),Q(`\\alef`,`\\aleph`),Q(`\\alefsym`,`\\aleph`),Q(`\\Alpha`,`\\mathrm{A}`),Q(`\\Beta`,`\\mathrm{B}`),Q(`\\bull`,`\\bullet`),Q(`\\Chi`,`\\mathrm{X}`),Q(`\\clubs`,`\\clubsuit`),Q(`\\cnums`,`\\mathbb{C}`),Q(`\\Complex`,`\\mathbb{C}`),Q(`\\Dagger`,`\\ddagger`),Q(`\\diamonds`,`\\diamondsuit`),Q(`\\empty`,`\\emptyset`),Q(`\\Epsilon`,`\\mathrm{E}`),Q(`\\Eta`,`\\mathrm{H}`),Q(`\\exist`,`\\exists`),Q(`\\harr`,`\\leftrightarrow`),Q(`\\hArr`,`\\Leftrightarrow`),Q(`\\Harr`,`\\Leftrightarrow`),Q(`\\hearts`,`\\heartsuit`),Q(`\\image`,`\\Im`),Q(`\\infin`,`\\infty`),Q(`\\Iota`,`\\mathrm{I}`),Q(`\\isin`,`\\in`),Q(`\\Kappa`,`\\mathrm{K}`),Q(`\\larr`,`\\leftarrow`),Q(`\\lArr`,`\\Leftarrow`),Q(`\\Larr`,`\\Leftarrow`),Q(`\\lrarr`,`\\leftrightarrow`),Q(`\\lrArr`,`\\Leftrightarrow`),Q(`\\Lrarr`,`\\Leftrightarrow`),Q(`\\Mu`,`\\mathrm{M}`),Q(`\\natnums`,`\\mathbb{N}`),Q(`\\Nu`,`\\mathrm{N}`),Q(`\\Omicron`,`\\mathrm{O}`),Q(`\\plusmn`,`\\pm`),Q(`\\rarr`,`\\rightarrow`),Q(`\\rArr`,`\\Rightarrow`),Q(`\\Rarr`,`\\Rightarrow`),Q(`\\real`,`\\Re`),Q(`\\reals`,`\\mathbb{R}`),Q(`\\Reals`,`\\mathbb{R}`),Q(`\\Rho`,`\\mathrm{P}`),Q(`\\sdot`,`\\cdot`),Q(`\\sect`,`\\S`),Q(`\\spades`,`\\spadesuit`),Q(`\\sub`,`\\subset`),Q(`\\sube`,`\\subseteq`),Q(`\\supe`,`\\supseteq`),Q(`\\Tau`,`\\mathrm{T}`),Q(`\\thetasym`,`\\vartheta`),Q(`\\weierp`,`\\wp`),Q(`\\Zeta`,`\\mathrm{Z}`),Q(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),Q(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),Q(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),Q(`\\bra`,`\\mathinner{\\langle{#1}|}`),Q(`\\ket`,`\\mathinner{|{#1}\\rangle}`),Q(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),Q(`\\Bra`,`\\left\\langle#1\\right|`),Q(`\\Ket`,`\\left|#1\\right\\rangle`);var bo=e=>t=>{var n=t.consumeArg().tokens,r=t.consumeArg().tokens,i=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.macros.get(`|`),s=t.macros.get(`\\|`);t.macros.beginGroup();var c=t=>n=>{e&&(n.macros.set(`|`,o),i.length&&n.macros.set(`\\|`,s));var a=t;return!t&&i.length&&n.future().text===`|`&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};t.macros.set(`|`,c(!1)),i.length&&t.macros.set(`\\|`,c(!0));var l=t.consumeArg().tokens,u=t.expandTokens([...a,...l,...n]);return t.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};Q(`\\bra@ket`,bo(!1)),Q(`\\bra@set`,bo(!0)),Q(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),Q(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),Q(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),Q(`\\angln`,`{\\angl n}`),Q(`\\blue`,`\\textcolor{##6495ed}{#1}`),Q(`\\orange`,`\\textcolor{##ffa500}{#1}`),Q(`\\pink`,`\\textcolor{##ff00af}{#1}`),Q(`\\red`,`\\textcolor{##df0030}{#1}`),Q(`\\green`,`\\textcolor{##28ae7b}{#1}`),Q(`\\gray`,`\\textcolor{gray}{#1}`),Q(`\\purple`,`\\textcolor{##9d38bd}{#1}`),Q(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),Q(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),Q(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),Q(`\\blueD`,`\\textcolor{##11accd}{#1}`),Q(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),Q(`\\tealA`,`\\textcolor{##94fff5}{#1}`),Q(`\\tealB`,`\\textcolor{##26edd5}{#1}`),Q(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),Q(`\\tealD`,`\\textcolor{##01a995}{#1}`),Q(`\\tealE`,`\\textcolor{##208170}{#1}`),Q(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),Q(`\\greenB`,`\\textcolor{##8af281}{#1}`),Q(`\\greenC`,`\\textcolor{##74cf70}{#1}`),Q(`\\greenD`,`\\textcolor{##1fab54}{#1}`),Q(`\\greenE`,`\\textcolor{##0d923f}{#1}`),Q(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),Q(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),Q(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),Q(`\\goldD`,`\\textcolor{##e07d10}{#1}`),Q(`\\goldE`,`\\textcolor{##a75a05}{#1}`),Q(`\\redA`,`\\textcolor{##fca9a9}{#1}`),Q(`\\redB`,`\\textcolor{##ff8482}{#1}`),Q(`\\redC`,`\\textcolor{##f9685d}{#1}`),Q(`\\redD`,`\\textcolor{##e84d39}{#1}`),Q(`\\redE`,`\\textcolor{##bc2612}{#1}`),Q(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),Q(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),Q(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),Q(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),Q(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),Q(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),Q(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),Q(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),Q(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),Q(`\\purpleE`,`\\textcolor{##543b78}{#1}`),Q(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),Q(`\\mintB`,`\\textcolor{##edf2df}{#1}`),Q(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),Q(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),Q(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),Q(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),Q(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),Q(`\\grayE`,`\\textcolor{##babec2}{#1}`),Q(`\\grayF`,`\\textcolor{##888d93}{#1}`),Q(`\\grayG`,`\\textcolor{##626569}{#1}`),Q(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),Q(`\\grayI`,`\\textcolor{##21242c}{#1}`),Q(`\\kaBlue`,`\\textcolor{##314453}{#1}`),Q(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var xo={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},So=class{constructor(e,t,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new fo(po,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new uo(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,n,r;if(e){if(this.consumeSpaces(),this.future().text!==`[`)return null;t=this.popToken();var i=this.consumeArg([`]`]);r=i.tokens,n=i.end}else{var a=this.consumeArg();r=a.tokens,t=a.start,n=a.end}return this.pushToken(new ua(`EOF`,n.loc)),this.pushTokens(r),new ua(``,la.range(t,n))}consumeSpaces(){for(;this.future().text===` `;)this.stack.pop()}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var r=this.future(),i,a=0,o=0;do{if(i=this.popToken(),t.push(i),i.text===`{`)++a;else if(i.text===`}`){if(--a,a===-1)throw new A(`Extra }`,i)}else if(i.text===`EOF`)throw new A(`Unexpected end of input in a macro argument, expected '`+(e&&n?e[o]:`}`)+`'`,i);if(e&&n)if((a===0||a===1&&e[o]===`{`)&&i.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}while(a!==0||n);return r.text===`{`&&t[t.length-1].text===`}`&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:r,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new A(`The length of delimiters doesn't match the number of args!`);for(var n=t[0],r=0;r<n.length;r++){var i=this.popToken();if(n[r]!==i.text)throw new A(`Use of the macro doesn't match its definition`,i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new A(`Too many expansions: infinite loop or need to increase maxExpand setting`)}expandOnce(e){var t=this.popToken(),n=t.text,r=t.noexpand?null:this._getExpansion(n);if(r==null||e&&r.unexpandable){if(e&&r==null&&n[0]===`\\`&&!this.isDefined(n))throw new A(`Undefined control sequence: `+n);return this.pushToken(t),!1}this.countExpansion(1);var i=r.tokens,a=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var s=i[o];if(s.text===`#`){if(o===0)throw new A(`Incomplete placeholder at end of macro body`,s);if(s=i[--o],s.text===`#`)i.splice(o+1,1);else if(/^[1-9]$/.test(s.text))i.splice(o,2,...a[s.text-1]);else throw new A(`Not a valid argument number`,s)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text=`\\relax`),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new ua(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var r=this.stack.pop();r.treatAsRelax&&=(r.noexpand=!1,!1),t.push(r)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(e=>e.text).join(``)}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var r=typeof t==`function`?t(this):t;if(typeof r==`string`){var i=0;if(r.includes(`#`))for(var a=r.replace(/##/g,``);a.includes(`#`+(i+1));)++i;for(var o=new uo(r,this.settings),s=[],c=o.lex();c.text!==`EOF`;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return r}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call(to,e)||Object.prototype.hasOwnProperty.call(Zt.math,e)||Object.prototype.hasOwnProperty.call(Zt.text,e)||Object.prototype.hasOwnProperty.call(xo,e)}isExpandable(e){var t=this.macros.get(e);return t==null?Object.prototype.hasOwnProperty.call(to,e)&&!to[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},Co=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,wo=Object.freeze({"₊":`+`,"₋":`-`,"₌":`=`,"₍":`(`,"₎":`)`,"₀":`0`,"₁":`1`,"₂":`2`,"₃":`3`,"₄":`4`,"₅":`5`,"₆":`6`,"₇":`7`,"₈":`8`,"₉":`9`,ₐ:`a`,ₑ:`e`,ₕ:`h`,ᵢ:`i`,ⱼ:`j`,ₖ:`k`,ₗ:`l`,ₘ:`m`,ₙ:`n`,ₒ:`o`,ₚ:`p`,ᵣ:`r`,ₛ:`s`,ₜ:`t`,ᵤ:`u`,ᵥ:`v`,ₓ:`x`,ᵦ:`β`,ᵧ:`γ`,ᵨ:`ρ`,ᵩ:`ϕ`,ᵪ:`χ`,"⁺":`+`,"⁻":`-`,"⁼":`=`,"⁽":`(`,"⁾":`)`,"⁰":`0`,"¹":`1`,"²":`2`,"³":`3`,"⁴":`4`,"⁵":`5`,"⁶":`6`,"⁷":`7`,"⁸":`8`,"⁹":`9`,ᴬ:`A`,ᴮ:`B`,ᴰ:`D`,ᴱ:`E`,ᴳ:`G`,ᴴ:`H`,ᴵ:`I`,ᴶ:`J`,ᴷ:`K`,ᴸ:`L`,ᴹ:`M`,ᴺ:`N`,ᴼ:`O`,ᴾ:`P`,ᴿ:`R`,ᵀ:`T`,ᵁ:`U`,ⱽ:`V`,ᵂ:`W`,ᵃ:`a`,ᵇ:`b`,ᶜ:`c`,ᵈ:`d`,ᵉ:`e`,ᶠ:`f`,ᵍ:`g`,ʰ:`h`,ⁱ:`i`,ʲ:`j`,ᵏ:`k`,ˡ:`l`,ᵐ:`m`,ⁿ:`n`,ᵒ:`o`,ᵖ:`p`,ʳ:`r`,ˢ:`s`,ᵗ:`t`,ᵘ:`u`,ᵛ:`v`,ʷ:`w`,ˣ:`x`,ʸ:`y`,ᶻ:`z`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),To={"́":{text:`\\'`,math:`\\acute`},"̀":{text:"\\`",math:`\\grave`},"̈":{text:`\\"`,math:`\\ddot`},"̃":{text:`\\~`,math:`\\tilde`},"̄":{text:`\\=`,math:`\\bar`},"̆":{text:`\\u`,math:`\\breve`},"̌":{text:`\\v`,math:`\\check`},"̂":{text:`\\^`,math:`\\hat`},"̇":{text:`\\.`,math:`\\dot`},"̊":{text:`\\r`,math:`\\mathring`},"̋":{text:`\\H`},"̧":{text:`\\c`}},Eo={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},Do=class e{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode=`math`,this.gullet=new So(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new A(`Expected '`+e+`', got '`+this.fetch().text+`'`,this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken??=this.gullet.expandNextToken(),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set(`\\color`,`\\textcolor`);try{var e=this.parseExpression(!1);return this.expect(`EOF`),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new ua(`}`)),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect(`}`),this.nextToken=t,n}parseExpression(t,n){for(var r=[];;){this.mode===`math`&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&to[i.text]&&to[i.text].infix)break;var a=this.parseAtom(n);if(!a)break;a.type!==`internal`&&r.push(a)}return this.mode===`text`&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,n,r=0;r<e.length;r++){var i=e[r];if(i.type===`infix`){if(t!==-1)throw new A(`only one infix operator per group`,i.token);t=r,n=i.replaceWith}}if(t!==-1&&n){var a,o,s=e.slice(0,t),c=e.slice(t+1);return a=s.length===1&&s[0].type===`ordgroup`?s[0]:{type:`ordgroup`,mode:this.mode,body:s},o=c.length===1&&c[0].type===`ordgroup`?c[0]:{type:`ordgroup`,mode:this.mode,body:c},[n===`\\\\abovefrac`?this.callFunction(n,[a,e[t],o],[]):this.callFunction(n,[a,o],[])]}else return e}handleSupSubscript(e){var t=this.fetch(),n=t.text;this.consume(),this.consumeSpaces();var r;do r=this.parseGroup(e);while(r?.type===`internal`);if(!r)throw new A(`Expected group after '`+n+`'`,t);return r}formatUnsupportedCmd(e){for(var t=[],n=0;n<e.length;n++)t.push({type:`textord`,mode:`text`,text:e[n]});var r={type:`text`,mode:this.mode,body:t};return{type:`color`,mode:this.mode,color:this.settings.errorColor,body:[r]}}parseAtom(e){var t=this.parseGroup(`atom`,e);if(t?.type===`internal`||this.mode===`text`)return t;for(var n,r;;){this.consumeSpaces();var i=this.fetch();if(i.text===`\\limits`||i.text===`\\nolimits`){if(t&&t.type===`op`)t.limits=i.text===`\\limits`,t.alwaysHandleSupSub=!0;else if(t&&t.type===`operatorname`)t.alwaysHandleSupSub&&(t.limits=i.text===`\\limits`);else throw new A(`Limit controls must follow a math operator`,i);this.consume()}else if(i.text===`^`){if(n)throw new A(`Double superscript`,i);n=this.handleSupSubscript(`superscript`)}else if(i.text===`_`){if(r)throw new A(`Double subscript`,i);r=this.handleSupSubscript(`subscript`)}else if(i.text===`'`){if(n)throw new A(`Double superscript`,i);var a={type:`textord`,mode:this.mode,text:`\\prime`},o=[a];for(this.consume();this.fetch().text===`'`;)o.push(a),this.consume();this.fetch().text===`^`&&o.push(this.handleSupSubscript(`superscript`)),n={type:`ordgroup`,mode:this.mode,body:o}}else if(wo[i.text]){var s=Co.test(i.text),c=[];for(c.push(new ua(wo[i.text])),this.consume();;){var l=this.fetch().text;if(!wo[l]||Co.test(l)!==s)break;c.unshift(new ua(wo[l])),this.consume()}var u=this.subparse(c);s?r={type:`ordgroup`,mode:`math`,body:u}:n={type:`ordgroup`,mode:`math`,body:u}}else break}return n&&r?{type:`supsub`,mode:this.mode,base:t,sup:n,sub:r}:n?{type:`supsub`,mode:this.mode,base:t,sup:n}:r?{type:`supsub`,mode:this.mode,base:t,sub:r}:t}parseFunction(e,t){var n=this.fetch(),r=n.text,i=to[r];if(!i)return null;if(this.consume(),t&&t!==`atom`&&!i.allowedInArgument)throw new A(`Got function '`+r+`' with no arguments`+(t?` as `+t:``),n);if(this.mode===`text`&&!i.allowedInText)throw new A(`Can't use function '`+r+`' in text mode`,n);if(this.mode===`math`&&i.allowedInMath===!1)throw new A(`Can't use function '`+r+`' in math mode`,n);var a=this.parseArguments(r,i),o=a.args,s=a.optArgs;return this.callFunction(r,o,s,n,e)}callFunction(e,t,n,r,i){var a={funcName:e,parser:this,token:r,breakOnTokenText:i},o=to[e];if(o&&o.handler)return o.handler(a,t,n);throw new A(`No function handler for `+e)}parseArguments(e,t){var n=t.numOptionalArgs??0,r=t.numArgs+n;if(r===0)return{args:[],optArgs:[]};for(var i=[],a=[],o=0;o<r;o++){var s=t.argTypes?.[o],c=o<n;(`primitive`in t&&t.primitive&&s==null||t.type===`sqrt`&&o===1&&a[0]==null)&&(s=`primitive`);var l=this.parseGroupOfType(`argument to '`+e+`'`,s,c);if(c)a.push(l);else if(l!=null)i.push(l);else throw new A(`Null argument, please report this as a bug`)}return{args:i,optArgs:a}}parseGroupOfType(e,t,n){switch(t){case`color`:return this.parseColorGroup(n);case`size`:return this.parseSizeGroup(n);case`url`:return this.parseUrlGroup(n);case`math`:case`text`:return this.parseArgumentGroup(n,t);case`hbox`:var r=this.parseArgumentGroup(n,`text`);return r==null?null:{type:`styling`,mode:r.mode,body:[r],style:`text`,resetFont:!0};case`raw`:var i=this.parseStringGroup(n);return i==null?null:{type:`raw`,mode:`text`,string:i.text};case`primitive`:if(n)throw new A(`A primitive argument cannot be optional`);var a=this.parseGroup(e);if(a==null)throw new A(`Expected group as `+e,this.fetch());return a;case`original`:case void 0:return this.parseArgumentGroup(n);default:throw new A(`Unknown group type as `+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===` `;)this.consume()}parseStringGroup(e){var t=this.gullet.scanArgument(e);if(t==null)return null;for(var n=``,r;(r=this.fetch()).text!==`EOF`;)n+=r.text,this.consume();return this.consume(),t.text=n,t}parseRegexGroup(e,t){for(var n=this.fetch(),r=n,i=``,a;(a=this.fetch()).text!==`EOF`&&e.test(i+a.text);)r=a,i+=r.text,this.consume();if(i===``)throw new A(`Invalid `+t+`: '`+n.text+`'`,n);return n.range(r,i)}parseColorGroup(e){var t=this.parseStringGroup(e);if(t==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new A(`Invalid color: '`+t.text+`'`,t);var r=n[0];return/^[0-9a-f]{6}$/i.test(r)&&(r=`#`+r),{type:`color-token`,mode:this.mode,color:r}}parseSizeGroup(e){var t,n=!1;if(this.gullet.consumeSpaces(),t=!e&&this.gullet.future().text!==`{`?this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,`size`):this.parseStringGroup(e),!t)return null;!e&&t.text.length===0&&(t.text=`0pt`,n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!r)throw new A(`Invalid size: '`+t.text+`'`,t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!Tt(i))throw new A(`Invalid unit: '`+i.unit+`'`,t);return{type:`size`,mode:this.mode,value:i,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode(`%`,13),this.gullet.lexer.setCatcode(`~`,12);var t=this.parseStringGroup(e);if(this.gullet.lexer.setCatcode(`%`,14),this.gullet.lexer.setCatcode(`~`,13),t==null)return null;var n=t.text.replace(/\\([#$%&~_^{}])/g,`$1`);return{type:`url`,mode:this.mode,url:n}}parseArgumentGroup(e,t){var n=this.gullet.scanArgument(e);if(n==null)return null;var r=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var i=this.parseExpression(!1,`EOF`);this.expect(`EOF`),this.gullet.endGroup();var a={type:`ordgroup`,mode:this.mode,loc:n.loc,body:i};return t&&this.switchMode(r),a}parseGroup(e,t){var n=this.fetch(),r=n.text,i;if(r===`{`||r===`\\begingroup`){this.consume();var a=r===`{`?`}`:`\\endgroup`;this.gullet.beginGroup();var o=this.parseExpression(!1,a),s=this.fetch();this.expect(a),this.gullet.endGroup(),i={type:`ordgroup`,mode:this.mode,loc:la.range(n,s),body:o,semisimple:r===`\\begingroup`||void 0}}else if(i=this.parseFunction(t,e)||this.parseSymbol(),i==null&&r[0]===`\\`&&!Object.prototype.hasOwnProperty.call(xo,r)){if(this.settings.throwOnError)throw new A(`Undefined control sequence: `+r,n);i=this.formatUnsupportedCmd(r),this.consume()}return i}formLigatures(e){for(var t=e.length-1,n=0;n<t;++n){var r=e[n];if(r.type===`textord`){var i=r.text,a=e[n+1];if(!(!a||a.type!==`textord`)){if(i===`-`&&a.text===`-`){var o=e[n+2];n+1<t&&o&&o.type===`textord`&&o.text===`-`?(e.splice(n,3,{type:`textord`,mode:`text`,loc:la.range(r,o),text:`---`}),t-=2):(e.splice(n,2,{type:`textord`,mode:`text`,loc:la.range(r,a),text:`--`}),--t)}(i===`'`||i==="`")&&a.text===i&&(e.splice(n,2,{type:`textord`,mode:`text`,loc:la.range(r,a),text:i+i}),--t)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var n=t.slice(5),r=n.charAt(0)===`*`;if(r&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new A(`\\verb assertion failed --
257
+ please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}Object.prototype.hasOwnProperty.call(Eo,t[0])&&!Zt[this.mode][t[0]]&&(this.settings.strict&&this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Accented Unicode text character "`+t[0]+`" used in math mode`,e),t=Eo[t[0]]+t.slice(1));var i=co.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(Zt[this.mode][t]){this.settings.strict&&this.mode===`math`&&bn.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=Zt[this.mode][t].group,s=la.range(e);a=ii(o)?{type:`atom`,mode:this.mode,family:o,loc:s,text:t}:{type:o,mode:this.mode,loc:s,text:t}}else if(t.charCodeAt(0)>=128)this.settings.strict&&(ct(t.charCodeAt(0))?this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Unicode text character "`+t[0]+`" used in math mode`,e):this.settings.reportNonstrict(`unknownSymbol`,`Unrecognized Unicode character "`+t[0]+`"`+(` (`+t.charCodeAt(0)+`)`),e)),a={type:`textord`,mode:`text`,loc:la.range(e),text:t};else return null;if(this.consume(),i)for(var c=0;c<i[0].length;c++){var l=i[0][c];if(!To[l])throw new A(`Unknown accent ' `+l+`'`,e);var u=To[l][this.mode]||To[l].text;if(!u)throw new A(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:la.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};Do.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var Oo=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new Do(e,t);delete n.gullet.macros.current[`\\df@tag`];var r=n.parse();if(delete n.gullet.macros.current[`\\current@color`],delete n.gullet.macros.current[`\\color`],n.gullet.macros.get(`\\df@tag`)){if(!t.displayMode)throw new A(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new ua(`\\df@tag`)])}]}return r},ko=function(e,t,n){t.textContent=``;var r=No(e,n).toNode();t.appendChild(r)};typeof document<`u`&&document.compatMode!==`CSS1Compat`&&(typeof console<`u`&&console.warn(`Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.`),ko=function(){throw new A(`KaTeX doesn't work in quirks mode.`)});var Ao=function(e,t){return No(e,t).toMarkup()},jo=function(e,t){return Oo(e,new Ue(t))},Mo=function(e,t,n){if(n.throwOnError||!(e instanceof A))throw e;var r=K([`katex-error`],[new Lt(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},No=function(e,t){var n=new Ue(t);try{return Kr(Oo(e,n),e,n)}catch(t){return Mo(t,e,n)}},Po={version:`0.18.7`,render:ko,renderToString:Ao,ParseError:A,SETTINGS_SCHEMA:Be,__parse:jo,__renderToDomTree:No,__renderToHTMLTree:function(e,t){var n=new Ue(t);try{return qr(Oo(e,n),e,n)}catch(t){return Mo(t,e,n)}},__setFontMetrics:qt,__defineSymbol:I,__defineFunction:J,__defineMacro:Q,__domTree:{Span:Nt,Anchor:Pt,SymbolNode:Lt,SvgNode:Rt,PathNode:zt,LineNode:Bt}};let Fo=new Map;function Io(e,t=!1){let n=`${t?`D`:`I`}${e}`,r=Fo.get(n);if(r===void 0){try{r=Po.renderToString(String(e),{displayMode:t,throwOnError:!1,strict:`ignore`,trust:!1,maxSize:20,maxExpand:500,output:`htmlAndMathml`})}catch{r=null}Fo.size>2e3&&Fo.clear(),Fo.set(n,r)}return r}function Lo({tex:e,display:t=!1}){let n=Io(e,t);return n===null?(0,i.jsx)(`code`,{children:e}):(0,i.jsx)(`span`,{className:t?`aha-tex aha-tex-display`:`aha-tex`,dangerouslySetInnerHTML:{__html:n}})}let Ro=new Set([`svg`,`g`,`path`,`line`,`polyline`,`polygon`,`rect`,`circle`,`ellipse`,`text`,`tspan`,`textPath`,`defs`,`marker`,`lineargradient`,`radialgradient`,`stop`,`title`,`desc`,`clippath`,`mask`,`pattern`,`use`,`symbol`]),zo=new Set(`xmlns.viewbox.width.height.x.y.x1.y1.x2.y2.cx.cy.r.rx.ry.d.points.transform.fill.stroke.stroke-width.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.opacity.fill-opacity.stroke-opacity.fill-rule.clip-rule.font-size.font-family.font-weight.font-style.text-anchor.dominant-baseline.alignment-baseline.letter-spacing.text-decoration.dx.dy.rotate.marker-start.marker-mid.marker-end.refx.refy.markerwidth.markerheight.markerunits.orient.offset.stop-color.stop-opacity.gradientunits.gradienttransform.fx.fy.id.clip-path.mask.preserveaspectratio.vector-effect.patternunits.patterncontentunits.href.xlink:href.startoffset.textlength.lengthadjust.style.class`.split(`.`)),Bo=new Set([`fill`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-linecap`,`stroke-linejoin`,`opacity`,`fill-opacity`,`stroke-opacity`,`font-size`,`font-family`,`font-weight`,`font-style`,`text-anchor`,`dominant-baseline`,`letter-spacing`]);function Vo(e,t){let n=String(t).toLowerCase();return/javascript:|data:|expression\(|@import|<|>/u.test(n)||n.includes(`url(`)&&!/^url\(\s*#[\w-]+\s*\)$/u.test(n.trim())||(e===`href`||e===`xlink:href`)&&!/^#[\w-]+$/u.test(String(t).trim())?null:t}function Ho(e){let t=[];for(let n of String(e).split(`;`)){let[e,...r]=n.split(`:`),i=e?.trim().toLowerCase(),a=r.join(`:`).trim();!i||!a||!Bo.has(i)||Vo(i,a)!==null&&t.push(`${i}:${a}`)}return t.join(`;`)}function Uo(e){for(let t of[...e.childNodes]){if(t.nodeType===8){t.remove();continue}if(t.nodeType!==1)continue;let e=String(t.localName||t.nodeName).toLowerCase();if(!Ro.has(e)){t.remove();continue}for(let e of[...t.attributes]){let n=e.name.toLowerCase();if(n.startsWith(`on`)||!zo.has(n)){t.removeAttribute(e.name);continue}if(n===`style`){let n=Ho(e.value);n?t.setAttribute(`style`,n):t.removeAttribute(`style`);continue}Vo(n,e.value)===null&&t.removeAttribute(e.name)}Uo(t)}}function Wo(e,{DOMParserImpl:t=globalThis.DOMParser,XMLSerializerImpl:n=globalThis.XMLSerializer}={}){if(typeof e!=`string`||!/^\s*<svg[\s>]/iu.test(e)||e.length>64*1024||!t)return null;let r;try{r=new t().parseFromString(e,`image/svg+xml`)}catch{return null}let i=r?.documentElement;if(!i||String(i.localName||i.nodeName).toLowerCase()!==`svg`||r.getElementsByTagName(`parsererror`).length)return null;for(let e of[...i.attributes]){let t=e.name.toLowerCase();(t.startsWith(`on`)||!zo.has(t)||Vo(t,e.value)===null)&&i.removeAttribute(e.name)}i.getAttribute(`xmlns`)||i.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),Uo(i);let a=n?new n().serializeToString(i):i.outerHTML;return/^\s*<svg[\s>]/iu.test(a)?a:null}function Go(e,t=`light`){let n=String(e??``),r=t===`dark`?`dark`:`light`,i=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data: blob:; font-src data:; media-src data: blob:"><meta charset="utf-8"><meta name="color-scheme" content="${r}"><style>:root{color-scheme:${r}}html,body{margin:0;background:transparent;overflow:hidden}canvas,svg{max-width:100%;height:auto}</style>`;return/<head[^>]*>/iu.test(n)?n.replace(/<head[^>]*>/iu,e=>`${e}${i}`):/<html[^>]*>/iu.test(n)?n.replace(/<html[^>]*>/iu,e=>`${e}<head>${i}</head>`):`<!doctype html><html><head>${i}</head><body>${n}</body></html>`}function Ko({room:e,natural:t,widest:n=t,floor:r=.7}){if(!(e>0)||!(t>e))return{mode:`fit`,scale:1};let i=Math.min(1,e/n),a=e/t;return a>=r*i?{mode:`shrink`,scale:a}:{mode:`wrap`,scale:i}}function qo(e){return[...e.querySelectorAll(`.katex-html > .katex-base, .katex-html > .katex-tag`)]}function Jo(e){e.style.fontSize=``,e.removeAttribute(`data-fit`);let t=e.clientWidth,n=qo(e).map(e=>e.getBoundingClientRect().width),r=Ko({room:t,natural:e.scrollWidth,widest:Math.max(0,...n)});if(r.mode===`fit`)return r.mode;e.dataset.fit=r.mode;let i=(Number.parseFloat(getComputedStyle(e).fontSize)||20)*r.scale;r.scale<1&&(e.style.fontSize=`${i}px`);for(let t=0;t<3&&e.scrollWidth>e.clientWidth;t+=1)i*=(e.clientWidth-1)/e.scrollWidth,e.style.fontSize=`${i}px`;return r.mode}function Yo(e){let t=[],n=null;for(let r of e){if(!(r.right>r.left))continue;let e=t.at(-1);e&&r.left>=n.right-2&&r.top<e.bottom?(e.right=Math.max(e.right,r.right),e.top=Math.min(e.top,r.top),e.bottom=Math.max(e.bottom,r.bottom)):t.push({left:r.left,right:r.right,top:r.top,bottom:r.bottom}),n=r}return t}function Xo(e){let t=e.getBoundingClientRect();return Yo(qo(e).map(e=>{let n=e.getBoundingClientRect();return{left:n.left-t.left,right:n.right-t.left,top:n.top-t.top,bottom:n.bottom-t.top}}))}let Zo=e=>`${Math.round(e*10)/10}px`;function Qo(e,t){if(t>=1)return{clip:``,pen:null};if(!e.length)return{clip:`inset(0 ${Math.round((1-Math.max(0,t))*1e3)/10}% 0 0)`,pen:null};let n=e.reduce((e,t)=>e+(t.right-t.left),0),r=Math.max(0,t)*n;for(let[t,n]of e.entries()){let i=n.right-n.left;if(r>i&&t<e.length-1){r-=i;continue}let a=n.left+Math.min(i,r),o=t?Zo((e[t-1].bottom+n.top)/2):`0`,s=t<e.length-1?Zo((n.bottom+e[t+1].top)/2):`100%`;return{clip:`polygon(0 0, 100% 0, 100% ${o}, ${Zo(a)} ${o}, ${Zo(a)} ${s}, 0 ${s})`,pen:{x:a,y:n.bottom}}}return{clip:``,pen:null}}let $o=/\$[^$\n]+\$/gu,es=/(\$[^$\n]+\$|\*\*(?:\$[^$\n]+\$|[^*\n])+?\*\*|==(?:\$[^$\n]+\$|=(?!=)|[^=\n])+?==)/gu;function ts(e,t,n){let r=0;for(let i of t.matchAll($o))i.index>r&&e.push({kind:n,text:t.slice(r,i.index)}),e.push({kind:`math`,tex:i[0].slice(1,-1),style:n}),r=i.index+i[0].length;r<t.length&&e.push({kind:n,text:t.slice(r)})}function ns(e){let t=[],n=String(e??``),r=0;for(let e of n.matchAll(es)){e.index>r&&t.push({kind:`text`,text:n.slice(r,e.index)});let i=e[0];i.startsWith(`$`)?t.push({kind:`math`,tex:i.slice(1,-1)}):ts(t,i.slice(2,-2),i.startsWith(`**`)?`bold`:`mark`),r=e.index+i.length}return r<n.length&&t.push({kind:`text`,text:n.slice(r)}),t}function rs(e){return e.kind===`math`?Math.min(10,Math.max(2,e.tex.length/2)):[...e.text].length}function is(e){return e.reduce((e,t)=>e+rs(t),0)}function as(e,t){let n=[],r=t;for(let t of e){if(r<=0)break;let e=rs(t);if(t.kind===`math`){r>=e&&n.push(t),r-=e;continue}let i=[...t.text];i.length<=r?n.push(t):n.push({...t,text:i.slice(0,Math.max(0,Math.floor(r))).join(``)}),r-=i.length}return n}let os={alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,varepsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,vartheta:`ϑ`,iota:`ι`,kappa:`κ`,varkappa:`ϰ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,pi:`π`,varpi:`ϖ`,rho:`ρ`,varrho:`ϱ`,sigma:`σ`,varsigma:`ς`,tau:`τ`,upsilon:`υ`,phi:`φ`,varphi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,Gamma:`Γ`,Delta:`Δ`,Theta:`Θ`,Lambda:`Λ`,Xi:`Ξ`,Pi:`Π`,Sigma:`Σ`,Upsilon:`Υ`,Phi:`Φ`,Psi:`Ψ`,Omega:`Ω`},ss={cdot:`·`,times:`×`,div:`÷`,pm:`±`,mp:`∓`,ast:`∗`,star:`⋆`,bullet:`•`,oplus:`⊕`,otimes:`⊗`,odot:`⊙`,setminus:`∖`,backslash:`∖`,le:`≤`,leq:`≤`,leqslant:`≤`,ge:`≥`,geq:`≥`,geqslant:`≥`,lt:`<`,gt:`>`,neq:`≠`,ne:`≠`,approx:`≈`,equiv:`≡`,cong:`≅`,simeq:`≃`,sim:`∼`,propto:`∝`,ll:`≪`,gg:`≫`,doteq:`≐`,mid:`|`,vert:`|`,lvert:`|`,rvert:`|`,Vert:`‖`,lVert:`‖`,rVert:`‖`,parallel:`∥`,perp:`⊥`,to:`→`,rightarrow:`→`,longrightarrow:`→`,gets:`←`,leftarrow:`←`,longleftarrow:`←`,leftrightarrow:`↔`,longleftrightarrow:`↔`,Rightarrow:`⇒`,Longrightarrow:`⇒`,implies:`⇒`,Leftarrow:`⇐`,Longleftarrow:`⇐`,impliedby:`⇐`,Leftrightarrow:`⇔`,Longleftrightarrow:`⇔`,iff:`⇔`,mapsto:`↦`,longmapsto:`↦`,uparrow:`↑`,downarrow:`↓`,Uparrow:`⇑`,Downarrow:`⇓`,updownarrow:`↕`,nearrow:`↗`,searrow:`↘`,rightleftharpoons:`⇌`,leftrightharpoons:`⇋`,rightharpoonup:`⇀`,hookrightarrow:`↪`,in:`∈`,notin:`∉`,ni:`∋`,subset:`⊂`,subseteq:`⊆`,subsetneq:`⊊`,supset:`⊃`,supseteq:`⊇`,cup:`∪`,cap:`∩`,emptyset:`∅`,varnothing:`∅`,forall:`∀`,exists:`∃`,nexists:`∄`,neg:`¬`,lnot:`¬`,land:`∧`,wedge:`∧`,lor:`∨`,vee:`∨`,therefore:`∴`,because:`∵`,sum:`Σ`,prod:`Π`,int:`∫`,iint:`∬`,iiint:`∭`,oint:`∮`,partial:`∂`,nabla:`∇`,infty:`∞`,hbar:`ħ`,ell:`ℓ`,aleph:`ℵ`,Re:`ℜ`,Im:`ℑ`,degree:`°`,circ:`°`,prime:`′`,angle:`∠`,measuredangle:`∡`,triangle:`△`,square:`□`,ldots:`…`,dots:`…`,dotsc:`…`,cdots:`⋯`,dotsb:`⋯`,vdots:`⋮`,ddots:`⋱`,langle:`⟨`,rangle:`⟩`,lfloor:`⌊`,rfloor:`⌋`,lceil:`⌈`,rceil:`⌉`,lbrace:`{`,rbrace:`}`,lbrack:`[`,rbrack:`]`,colon:`:`},cs={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`,"+":`⁺`,"-":`⁻`,"=":`⁼`,"(":`⁽`,")":`⁾`,n:`ⁿ`,i:`ⁱ`,x:`ˣ`,T:`ᵀ`},ls={0:`₀`,1:`₁`,2:`₂`,3:`₃`,4:`₄`,5:`₅`,6:`₆`,7:`₇`,8:`₈`,9:`₉`,"+":`₊`,"-":`₋`,"=":`₌`,"(":`₍`,")":`₎`,a:`ₐ`,e:`ₑ`,i:`ᵢ`,n:`ₙ`,x:`ₓ`,k:`ₖ`,t:`ₜ`},us=new Set(`sin.cos.tan.cot.sec.csc.arcsin.arccos.arctan.sinh.cosh.tanh.coth.log.ln.lg.exp.lim.limsup.liminf.max.min.sup.inf.det.dim.ker.deg.arg.gcd.hom.Pr`.split(`.`)),ds={xrightarrow:`→`,xleftarrow:`←`,xRightarrow:`⇒`,xLeftarrow:`⇐`,xleftrightarrow:`↔`,xLeftrightarrow:`⇔`,xrightleftharpoons:`⇌`,xleftrightharpoons:`⇋`,xhookrightarrow:`↪`,xmapsto:`↦`,xlongequal:`=`,xtofrom:`⇄`},fs={bar:`̄`,overline:`̅`,vec:`⃗`,overrightarrow:`⃗`,overleftarrow:`⃖`,overleftrightarrow:`⃡`,hat:`̂`,widehat:`̂`,tilde:`̃`,widetilde:`̃`,check:`̌`,breve:`̆`,acute:`́`,grave:`̀`,dot:`̇`,ddot:`̈`,mathring:`̊`},ps={C:`ℂ`,H:`ℍ`,N:`ℕ`,P:`ℙ`,Q:`ℚ`,R:`ℝ`,Z:`ℤ`},ms=new Set(`text.textrm.textbf.textit.textsf.texttt.textnormal.textup.emph.mathrm.mathbf.mathit.mathsf.mathtt.mathcal.mathscr.mathfrak.mathnormal.boldsymbol.bm.pmb.mbox.hbox.boxed.fbox.underline.cancel.bcancel.xcancel.sout.smash.mathop.mathord.mathrel.mathbin.mathpunct.mathopen.mathclose.mathinner.url`.split(`.`)),hs=new Set([`label`,`color`,`phantom`,`hphantom`,`vphantom`,`hspace`,`hspace*`,`vspace`,`vspace*`,`mspace`,`mkern`,`kern`,`hskip`,`mskip`]),gs={",":` `,":":` `,";":` `,">":` `," ":` `,"!":``,quad:` `,qquad:` `,enspace:` `,thinspace:` `,medspace:` `,thickspace:` `,space:` `,nobreakspace:` `},_s=new Set([`displaystyle`,`textstyle`,`scriptstyle`,`scriptscriptstyle`,`limits`,`nolimits`,`notag`,`nonumber`,`hline`,`hdashline`,`allowbreak`,`nobreak`,`relax`,`strut`,`negthinspace`,`negmedspace`,`negthickspace`]),vs=/^(?:left|right|middle|[bB]igg?[lrm]?)$/u,ys=new Set([`operatorname`,`tag`,`hspace`,`vspace`]),bs={matrix:``,smallmatrix:``,array:``,darray:``,pmatrix:`()`,bmatrix:`[]`,Bmatrix:`{}`,vmatrix:`||`,Vmatrix:`‖‖`},xs=/^(?:[\d.]+|[\p{L}\p{N}][\p{M}\p{Lm}′'⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎]*)$/u,Ss=(e,t)=>Object.hasOwn(e,t)?e[t]:void 0,Cs=e=>xs.test(e)?e:`(${e})`,ws=(e,t)=>[...e.replace(/\s+/gu,``)].map(e=>t[e]??e).join(``),Ts=(e,t)=>{let n=t.map(e=>e.trim()).filter(Boolean).join(`, `);return n?`${e}(${n})`:e};function Es(e,t){return e.map(e=>e.trim()).filter(Boolean).reduce((e,n)=>e?`${e}${/[,,;;::]$/u.test(e)?` `:t}${n}`:n,``)}function Ds(e,t){return!e.includes(``)&&!e.includes(``)?e:Es(e.split(``).map(e=>Es(e.split(``),t)),`; `)}function Os(e){let t=0,n=``,r=()=>{for(;/\s/u.test(e[t]??``);)t+=1},i=(n,r)=>{let i=t+1,a=0;for(;t<e.length;t+=1)if(e[t]===`\\`)t+=1;else if(e[t]===n)a+=1;else if(e[t]===r&&--a===0)return e.slice(i,t++);return e.slice(i)},a=()=>{let n=t;for(;/[a-zA-Z]/u.test(e[t]??``);)t+=1;return t===n?e[t++]??``:(e[t]===`*`&&ys.has(e.slice(n,t))&&(t+=1),e.slice(n,t))},o=()=>{if(r(),t>=e.length)return``;if(e[t]===`{`)return Ds(Os(i(`{`,`}`)),` `);if(e[t]===`\\`)return t+=1,l(a());let n=String.fromCodePoint(e.codePointAt(t));return t+=n.length,n},s=()=>(r(),e[t]===`[`?Ds(Os(i(`[`,`]`)),` `):``),c=()=>{let n=o().trim();/^(?:d?array|subarray|alignat\*?|alignedat)$/u.test(n)&&o();let r=`\\begin{${n}}`,i=`\\end{${n}}`,a=1,s=t,c=e.length;for(;s<e.length;){let t=e.indexOf(i,s);if(t<0)break;let n=e.indexOf(r,s);if(n>=0&&n<t){a+=1,s=n+r.length;continue}if(--a,!a){c=t;break}s=t+i.length}let l=Os(e.slice(t,c));t=Math.min(e.length,c+i.length);let u=Ss(bs,n);return u===void 0?Ds(l,/^d?r?cases\*?$/u.test(n)?`, `:` `):`${u.charAt(0)}${Ds(l,`, `)}${u.charAt(1)}`},l=n=>{let i=Ss(gs,n)??Ss(os,n)??Ss(ss,n);if(i!==void 0)return i;if(_s.has(n))return``;if(vs.test(n))return r(),e[t]===`.`&&(t+=1),``;if(us.has(n))return`${n}`;let a=Ss(ds,n);if(a){let e=s();return Ts(a,[o(),e])}let l=Ss(fs,n);if(l)return[...o()].map(e=>/\s/u.test(e)?e:`${e}${l}`).join(``);if(ms.has(n))return o();if(hs.has(n)){let n=/^\s*-?[\d.]+\s*(?:em|ex|mu|pt|px|cm|mm|in|bp|pc|dd|cc|sp)/u.exec(e.slice(t));return n?t+=n[0].length:o(),` `}switch(n){case`frac`:case`dfrac`:case`tfrac`:case`cfrac`:{let e=o();return`${Cs(e)}/${Cs(o())}`}case`binom`:case`dbinom`:case`tbinom`:return`C(${o()}, ${o()})`;case`sqrt`:{let e=s();return`${ws(e,cs)}√${Cs(o())}`}case`overset`:case`underset`:case`stackrel`:{let e=o();return Ts(o(),[e])}case`overbrace`:case`underbrace`:{let n=o();return r(),e[t]!==`^`&&e[t]!==`_`?n:(t+=1,Ts(n,[o()]))}case`mathbb`:case`Bbb`:return[...o()].map(e=>ps[e]??e).join(``);case`operatorname`:case`operatorname*`:return`${o()}`;case`textcolor`:case`colorbox`:case`href`:return o(),o();case`fcolorbox`:return o(),o(),o();case`tag`:return` (${o()})`;case`tag*`:return` ${o()}`;case`pmod`:return` (mod ${o()})`;case`pod`:return` (${o()})`;case`bmod`:case`mod`:return` mod `;case`not`:return`${o()}\u0338`;case`begin`:return c();case`end`:return o(),``;case`\\`:case`cr`:case`newline`:return s(),``;case`|`:return`‖`;default:return n.length===1&&!/[a-zA-Z]/u.test(n)?n:``}};for(;t<e.length;){let r=e[t];r===`\\`?(t+=1,n+=l(a())):r===`{`?n+=Os(i(`{`,`}`)):r===`^`||r===`_`?(t+=1,n+=ws(o(),r===`^`?cs:ls)):(t+=1,n+=r===`&`?``:r===`~`?` `:r===`}`?``:r)}return n}function ks(e){return Ds(Os(String(e??``)),` `).replace(/\u0001(?=[\p{Lu}\p{Ll}\p{Lo}\d])/gu,` `).replace(/[\u0001-\u0003]/gu,``).replace(/\s+/gu,` `).trim().normalize(`NFC`)}function As(e){return ns(e).map(e=>e.kind===`math`?ks(e.tex):e.text).join(``)}let js=new Set([`。`,`!`,`?`,`!`,`?`,`;`,`;`]),Ms=new Set([`”`,`’`,`」`,`』`,`)`,`)`,`】`,`]`,`"`,`'`,`…`]);function Ns(e){let t=String(e??``),n=[],r=``,i=()=>{let e=r.trim();e&&n.push(e),r=``},a=0,o=e=>{let t=[...e];for(let e=0;e<t.length;e+=1){let n=t[e];if(n===`
258
+ `){i();continue}r+=n;let a=n===`.`&&(e+1===t.length||/\s/u.test(t[e+1])&&/[\p{Lu}\p{Lo}]/u.test(t[e+2]??``));if(!(!js.has(n)&&!a)){for(;e+1<t.length&&(js.has(t[e+1])||Ms.has(t[e+1]));)r+=t[++e];i()}}};for(let e of t.matchAll($o))o(t.slice(a,e.index)),r+=e[0],a=e.index+e[0].length;return o(t.slice(a)),i(),n}function Ps(e,t){return Math.max(1,Math.ceil(String(e??``).length/t))}function Fs(e){switch(e.t){case`title`:return 1.6;case`h`:return 1.4;case`p`:return Ps(e.text,26)*1.05;case`math`:{let t=[...ks(e.tex)].length;return t<=40?2:2+(Math.ceil(t/28)-1)*1.2}case`list`:return e.items.reduce((e,t)=>e+Ps(t,24),0)*1.05;case`note`:return Ps(e.text,24)+1;case`table`:return(e.rows.length+1)*1.1+.6;case`code`:return Math.min(14,e.code.split(`
259
+ `).length*.8+1);case`svg`:case`chart`:return 8.5;case`anim`:return Math.round(e.height/34);default:return 0}}function Is(e){let t=[],n=new Map,r=null,i=0,a=0,o=!1,s=e=>{r={title:e??``,columns:[[],[]]},t.push(r),i=0,a=0,o=!1};return s(``),e.forEach((e,c)=>{for(let l of e.ops??[]){if(l.t===`page`){r.columns[0].length||r.columns[1].length?s(l.title):r.title=l.title||r.title,n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`col`){i===0?(i=1,a=0):o?o=!1:s(``),n.set(l.id,{page:t.length-1,column:i});continue}if(l.t===`mark`){n.set(l.id,n.get(l.ref)??{page:t.length-1,column:i});continue}if(l.t===`title`){r.columns[0].length||r.columns[1].length?s(l.text):r.title=l.text,n.set(l.id,{page:t.length-1,column:0,title:!0});continue}let e=Fs(l);a>0&&a+e>26&&(i===0?(i=1,a=0,o=!0):s(``)),r.columns[i].push({op:l,step:c}),n.set(l.id,{page:t.length-1,column:i}),a+=e}}),{pages:t,where:n}}function Ls(e,t){return e.map((e,n)=>{let r=new Map(e.ops.map(e=>[e.id,`${t}${e.id}`]));return{...e,id:`${t}${e.id??n}`,aside:!0,ops:e.ops.map(e=>({...e,id:r.get(e.id),...e.t===`mark`?{ref:r.get(e.ref)??e.ref}:{}})),...e.check?{check:{...e.check,id:`${t}${e.check.id}`}}:{}}})}function Rs(e,t=12e3){let n=[];for(let t of e)for(let e of t.ops)if(e.text&&n.push(e.text),e.caption&&n.push(e.caption),e.items&&n.push(...e.items),e.head&&n.push(...e.head),e.rows)for(let t of e.rows)n.push(...t);return[...new Set([...n.join(``)])].join(``).slice(0,t)}function zs(e,t,n){return!n||e<n.index?1:e>n.index?0:t<n.op?1:t>n.op?0:n.progress}function Bs({text:e,reveal:t=1}){let n=(0,r.useMemo)(()=>ns(e),[e]),a=(0,r.useMemo)(()=>is(n),[n]);return(t>=1?n:as(n,a*t)).map((e,t)=>{if(e.kind===`math`){let n=(0,i.jsx)(Lo,{tex:e.tex},t);return e.style===`mark`?(0,i.jsx)(`mark`,{children:n},t):e.style===`bold`?(0,i.jsx)(`strong`,{children:n},t):n}return e.kind===`bold`?(0,i.jsx)(`strong`,{children:e.text},t):e.kind===`mark`?(0,i.jsx)(`mark`,{children:e.text},t):(0,i.jsx)(`span`,{children:e.text},t)})}function Vs({markup:e,reveal:t,caption:n}){let a=(0,r.useRef)(null),o=(0,r.useMemo)(()=>Wo(e),[e]);return(0,r.useLayoutEffect)(()=>{let e=a.current?.querySelector(`svg`);if(!e)return;let n=[...e.querySelectorAll(`path,line,polyline,polygon,rect,circle,ellipse`)],r=[...e.querySelectorAll(`text`)],i=r.length?.8:1;n.forEach((e,r)=>{let a=0;try{a=e.getTotalLength?.()??0}catch{a=0}let o=r/Math.max(1,n.length)*i,s=(r+1)/Math.max(1,n.length)*i,c=Math.min(1,Math.max(0,(t-o)/Math.max(1e-4,s-o)));a>0&&c<1?(e.style.strokeDasharray=`${a}`,e.style.strokeDashoffset=`${a*(1-c)}`):(e.style.strokeDasharray=``,e.style.strokeDashoffset=``),e.style.fillOpacity=c>=1?``:String(c*.6),a||(e.style.opacity=String(c))});let o=r.length?Math.min(1,Math.max(0,(t-i)/(1-i))):1;r.forEach(e=>{e.style.opacity=String(t>=1?1:o)})},[t,o]),o?(0,i.jsxs)(`div`,{className:`aha-op-figure`,children:[(0,i.jsx)(`div`,{ref:a,dangerouslySetInnerHTML:{__html:o}}),n?(0,i.jsx)(`div`,{className:`aha-figCaption`,style:{opacity:t>=1?1:.4},children:n}):null]}):null}function Hs({op:e,reveal:t,theme:n}){let a=(0,r.useMemo)(()=>Go(e.html,n),[e.html,n]),o=(0,r.useRef)(null),[s,c]=(0,r.useState)(e.height);return(0,r.useLayoutEffect)(()=>{let t=o.current;if(!t||typeof ResizeObserver!=`function`)return;let n=()=>c(Math.round(Math.max(120,Math.min(e.height,e.height*t.clientWidth/560))));n();let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[e.height,t>0]),t<=0?null:(0,i.jsxs)(`div`,{className:`aha-op-figure`,style:{opacity:Math.min(1,t*3)},children:[(0,i.jsx)(`iframe`,{ref:o,className:`aha-op-anim`,title:e.caption||`animation`,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,srcDoc:a,style:{height:s,colorScheme:n===`dark`?`dark`:`light`}}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]})}function Us({tex:e,reveal:t}){let n=(0,r.useRef)(null),[a,o]=(0,r.useState)([]);(0,r.useLayoutEffect)(()=>{let e=n.current;if(!e)return;let t=-1,r=()=>{t=e.clientWidth,Jo(e),o(Xo(e))};r();let i=0,a=typeof ResizeObserver==`function`?new ResizeObserver(()=>{e.clientWidth!==t&&(cancelAnimationFrame(i),i=requestAnimationFrame(r))}):null;a?.observe(e);let s=typeof document<`u`?document.fonts:null;return s?.addEventListener?.(`loadingdone`,r),()=>{a?.disconnect(),cancelAnimationFrame(i),s?.removeEventListener?.(`loadingdone`,r)}},[e]);let{clip:s,pen:c}=Qo(a,t);return(0,i.jsx)(`div`,{ref:n,className:`aha-op-math`,style:s?{clipPath:s}:void 0,"data-pen":c?`${Math.round(c.x)} ${Math.round(c.y)}`:void 0,children:(0,i.jsx)(Lo,{tex:e,display:!0})})}function Ws({op:e,label:t}){return e.poster?(0,i.jsx)(Vs,{markup:e.poster,reveal:1,caption:e.caption}):(0,i.jsxs)(`div`,{className:`aha-op-note`,"data-tone":`tip`,children:[`▶ `,e.caption||t]})}function Gs({op:e,reveal:t,marks:n,aside:r,now:a,opRef:o,theme:s,still:c=!1,animationLabel:l=``}){let u=n.map(e=>(0,i.jsx)(`span`,{className:e.style===`circle`?`aha-markRing`:e.style===`box`?`aha-markBox`:`aha-markLine`,style:{opacity:e.reveal,clipPath:`inset(0 ${100-e.reveal*100}% 0 0)`}},e.id)),d;switch(e.t){case`h`:d=(0,i.jsx)(`div`,{className:`aha-op-h`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(Bs,{text:e.text,reveal:t})})});break;case`p`:d=(0,i.jsx)(`div`,{className:`aha-op-p`,children:(0,i.jsx)(Bs,{text:e.text,reveal:t})});break;case`math`:d=(0,i.jsx)(Us,{tex:e.tex,reveal:t});break;case`list`:{let n=e.items.reduce((e,t)=>e+is(ns(t)),0)*t;d=(0,i.jsx)(e.ordered?`ol`:`ul`,{className:`aha-op-list`,children:e.items.map((e,r)=>{let a=is(ns(e)),o=t>=1?1:Math.max(0,Math.min(1,n/Math.max(1,a)));return n-=a,o>0?(0,i.jsx)(`li`,{children:(0,i.jsx)(Bs,{text:e,reveal:o})},r):null})});break}case`note`:d=(0,i.jsx)(`div`,{className:`aha-op-note`,"data-tone":e.tone,children:(0,i.jsx)(Bs,{text:e.text,reveal:t})});break;case`svg`:d=(0,i.jsx)(Vs,{markup:e.svg,reveal:t,caption:e.caption});break;case`chart`:d=(0,i.jsx)(Vs,{markup:Ae(e),reveal:t,caption:``});break;case`table`:{let n=t>=1?e.rows.length:Math.floor(e.rows.length*t);d=(0,i.jsxs)(`table`,{className:`aha-op-table`,children:[e.head.length?(0,i.jsx)(`thead`,{children:(0,i.jsx)(`tr`,{children:e.head.map((e,t)=>(0,i.jsx)(`th`,{children:(0,i.jsx)(Bs,{text:e})},t))})}):null,(0,i.jsx)(`tbody`,{children:e.rows.slice(0,n).map((e,t)=>(0,i.jsx)(`tr`,{children:e.map((e,t)=>(0,i.jsx)(`td`,{children:(0,i.jsx)(Bs,{text:e})},t))},t))})]});break}case`code`:{let n=e.code.split(`
260
+ `);d=(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`pre`,{className:`aha-op-code`,children:(t>=1?n:n.slice(0,Math.ceil(n.length*t))).join(`
261
+ `)}),e.caption?(0,i.jsx)(`div`,{className:`aha-figCaption`,children:e.caption}):null]});break}case`anim`:d=c?(0,i.jsx)(Ws,{op:e,label:l}):(0,i.jsx)(Hs,{op:e,reveal:t,theme:s});break;default:d=null}return(0,i.jsxs)(`div`,{ref:o,className:`aha-op`,"data-t":e.t,"data-aside":r?`true`:void 0,"data-now":a?`true`:void 0,"data-op":e.id,children:[d,u]})}function Ks({target:e,active:t,stage:n}){let[a,o]=(0,r.useState)(null);return(0,r.useLayoutEffect)(()=>{let r=e?.current,i=n?.current;if(!t||!r||!i){o(e=>e===null?e:null);return}let a=r.getBoundingClientRect(),s=i.getBoundingClientRect(),c=r.querySelector(`.aha-op-math`),l=c?[]:r.querySelectorAll(`span,strong,mark,li,td,pre`),u=l[l.length-1]?.getBoundingClientRect(),d=u&&u.width?u.right:a.left+a.width*t.progress,f=u&&u.height?u.bottom-4:a.top+a.height/2;if(c?.dataset.pen){let[e,t]=c.dataset.pen.split(` `).map(Number),n=c.getBoundingClientRect();d=n.left+e,f=n.top+t-4}let p={left:Math.round(d-s.left+i.scrollLeft),top:Math.round(f-s.top+i.scrollTop),glide:!c};o(e=>e&&e.left===p.left&&e.top===p.top&&e.glide===p.glide?e:p)}),a?(0,i.jsxs)(`svg`,{className:`aha-pencil`,style:{left:a.left,top:a.top},"data-glide":a.glide,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,i.jsx)(`path`,{d:`M3 21l3.5-1 11-11-2.5-2.5-11 11L3 21z`,fill:`var(--pencil)`,stroke:`var(--ink)`,strokeWidth:`1.2`,strokeLinejoin:`round`}),(0,i.jsx)(`path`,{d:`M14.5 6.5l2.5 2.5 2-2a1.77 1.77 0 0 0-2.5-2.5l-2 2z`,fill:`var(--accent)`,stroke:`var(--ink)`,strokeWidth:`1.2`})]}):null}function qs({steps:e,position:t,theme:n=`light`,font:a=`hand`,buffering:o=!1,bufferingLabel:s=``}){let c=(0,r.useMemo)(()=>Is(e),[e]),l=(0,r.useMemo)(()=>a===`hand`?Rs(e):``,[e,a]);(0,r.useEffect)(()=>{if(!(!l||typeof document>`u`||!document.fonts?.load))for(let e of[`Aha Hand Latin`,`Aha Hand`])document.fonts.load(`20px '${e}'`,l).catch(()=>void 0)},[l]);let u=(0,r.useMemo)(()=>{let t=new Map;return e.forEach((e,n)=>e.ops.forEach((r,i)=>t.set(r.id,{stepIndex:n,opIndex:i,aside:e.aside===!0}))),t},[e]),d=t&&e[t.index]?.ops[t.op],f=d?c.where.get(d.id)?.page??0:t?Ys(c,e,t):0,[p,m]=(0,r.useState)(null);(0,r.useEffect)(()=>{m(null)},[f]);let h=Math.min(c.pages.length-1,p??f),g=c.pages[h],_=e=>{let n=u.get(e);return n?zs(n.stepIndex,n.opIndex,t):0},v=new Map;e.forEach(e=>e.ops.forEach(e=>{if(e.t!==`mark`)return;let t=_(e.id);if(t<=0)return;let n=v.get(e.ref)??[];n.push({id:e.id,style:e.style,reveal:t}),v.set(e.ref,n)}));let y=new Set(t?.now??[]),b=e.flatMap(e=>e.ops).find(e=>e.t===`title`&&c.where.get(e.id)?.page===h),x=b?_(b.id):1,S=(0,r.useRef)(null),C=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=S.current,t=d?e?.querySelector(`[data-op="${d.id}"]`):null;if(!e||!t)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();n.bottom>r.bottom-24?e.scrollTo({top:e.scrollTop+n.bottom-r.bottom+56,behavior:`smooth`}):n.top<r.top+8&&e.scrollTo({top:Math.max(0,e.scrollTop-(r.top-n.top)-24),behavior:`smooth`})},[d?`${d.id}:${Math.round((t?.progress??0)*4)}`:``,h]);let w=c.pages.map((e,t)=>t).filter(e=>e<=Math.max(f,p??0)||!t);return(0,i.jsxs)(`div`,{className:`aha-board`,"data-theme":n,"data-font":a,children:[w.length>1?(0,i.jsx)(`div`,{className:`aha-pager`,children:w.map(e=>(0,i.jsx)(`button`,{type:`button`,"data-active":e===h,onClick:()=>m(e),children:e+1},e))}):null,(0,i.jsxs)(`div`,{className:`aha-boardScroll`,ref:S,children:[g?.title&&x>0?(0,i.jsx)(`h2`,{className:`aha-boardTitle`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(Bs,{text:g.title,reveal:x})})}):null,(0,i.jsx)(`div`,{className:`aha-cols`,children:g?.columns.map((e,t)=>(0,i.jsx)(`div`,{className:`aha-colBody`,children:e.map(({op:e})=>{let t=_(e.id);if(t<=0)return null;let r=d?.id===e.id&&t<1;return(0,i.jsx)(Gs,{op:e,reveal:t,marks:v.get(e.id)??[],aside:u.get(e.id)?.aside,now:y.has(e.id),opRef:r?C:void 0,theme:n},e.id)})},t))}),(0,i.jsx)(Ks,{target:C,stage:S,active:d&&t&&t.progress<1&&[`p`,`h`,`list`,`note`,`math`,`title`].includes(d.t)?t:null})]}),o?(0,i.jsxs)(`div`,{className:`aha-buffering`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),s]}):null]})}function Js({steps:e,title:t=``,theme:n=`light`,font:a=`hand`,footer:o={},animationLabel:s=``}){let c=(0,r.useMemo)(()=>Is(e),[e]),l=(0,r.useMemo)(()=>new Set(e.flatMap(e=>e.aside?e.ops.map(e=>e.id):[])),[e]),u=(0,r.useMemo)(()=>{let t=new Map;for(let n of e)for(let e of n.ops)e.t===`mark`&&t.set(e.ref,[...t.get(e.ref)??[],{id:e.id,style:e.style,reveal:1}]);return t},[e]),d=c.pages.filter(e=>e.columns.some(e=>e.length));return d.map((e,r)=>{let c=e.title||(r===0?t:``);return(0,i.jsxs)(`div`,{className:`aha-board aha-exportPage`,"data-theme":n,"data-font":a,"data-sheet":r,children:[c?(0,i.jsx)(`h2`,{className:`aha-boardTitle`,children:(0,i.jsx)(`span`,{children:(0,i.jsx)(Bs,{text:c})})}):null,(0,i.jsx)(`div`,{className:`aha-cols`,children:e.columns.map((e,t)=>(0,i.jsx)(`div`,{className:`aha-colBody`,children:e.map(({op:e})=>(0,i.jsx)(Gs,{op:e,reveal:1,marks:u.get(e.id)??[],aside:l.has(e.id),now:!1,theme:n,still:!0,animationLabel:s},e.id))},t))}),(0,i.jsxs)(`div`,{className:`aha-exportFoot`,children:[(0,i.jsx)(`span`,{children:o.left??``}),(0,i.jsx)(`span`,{children:[o.right,`${r+1} / ${d.length}`].filter(Boolean).join(` · `)})]})]},r)})}function Ys(e,t,n){let r=0;return t.forEach((t,i)=>t.ops.forEach((t,a)=>{zs(i,a,n)>0&&(r=Math.max(r,e.where.get(t.id)?.page??0))})),r}function Xs(e){let t=new Uint8Array(e);globalThis.crypto.getRandomValues(t);let n=``;for(let e of t)n+=(e%36).toString(36);return n}function Zs(e){if(!/^[a-z]{2,6}$/u.test(e))throw TypeError(`invalid id prefix "${e}"`);return`${e}_${Date.now().toString(36)}${Xs(6)}`}Object.freeze({questions:6,options:5,units:12,lecturesPerUnit:8,lessonsPerLecture:8,lessons:120,objectives:5,concepts:6,projects:3,milestones:6,rubric:8,starterFiles:12,starterFileBytes:64*1024,practiceItems:12,options4:6,cards:60,sheetSections:24,sheetItems:16});function Qs(e,t=400){return e==null?``:String(e).replace(/\u0000/gu,``).trim().slice(0,t)}function $s(e){let t=Qs(e,200),n=t.search(/[::]/u);return n>0?t.slice(0,n).trim():t}function ec(e){let t=[];for(let n of e?.units??[])for(let e of n.lectures??[])for(let r of e.lessons??[])t.push({unit:n,lecture:e,lesson:r,index:t.length});return t}function tc(e,t){let n=e=>{let t=new Map;for(let n of e?.units??[])for(let e of n.lectures??[])for(let r of e.lessons??[])t.set(r.id,{lesson:r,unit:n.title});return t},r=e=>JSON.stringify([e.summary??``,e.objectives??[],e.estMinutes??0,(e.concepts??[]).map(e=>e.name)]),i=n(e),a=n(t),o=[],s=[],c=[];for(let[e,t]of a){let n=i.get(e);n?n.lesson.title===t.lesson.title?(r(n.lesson)!==r(t.lesson)||n.unit!==t.unit)&&c.push({title:t.lesson.title,unit:t.unit}):s.push({from:n.lesson.title,to:t.lesson.title,unit:t.unit}):o.push({title:t.lesson.title,unit:t.unit})}let l=[...i].filter(([e])=>!a.has(e)).map(([,e])=>({title:e.lesson.title,unit:e.unit})),u=new Set((e?.units??[]).map(e=>e.id)),d=new Set((t?.units??[]).map(e=>e.id));return{title:(e?.title??``)===(t?.title??``)?null:{from:e?.title??``,to:t?.title??``},unitsAdded:(t?.units??[]).filter(e=>!u.has(e.id)).map(e=>e.title),unitsRemoved:(e?.units??[]).filter(e=>!d.has(e.id)).map(e=>e.title),added:o,removed:l,renamed:s,changed:c}}function nc(e){return!e.title&&!e.unitsAdded.length&&!e.unitsRemoved.length&&!e.added.length&&!e.removed.length&&!e.renamed.length&&!e.changed.length}function rc(e){let t=new Map;for(let{lesson:n}of ec(e))for(let e of n.concepts??[])t.set(e.id,{...e,lessonId:n.id});return t}function ic(e,t){return e?.lessons?.[t]?.status??`new`}function ac(e,t){let n=ec(e),r=n.filter(e=>ic(t,e.lesson.id)===`done`),i=n.filter(e=>ic(t,e.lesson.id)!==`done`).reduce((e,t)=>e+(t.lesson.estMinutes||15),0);return{total:n.length,done:r.length,percent:n.length?Math.round(r.length/n.length*100):0,minutesLeft:i}}function oc(e,t){let n=ec(e);return n.find(e=>ic(t,e.lesson.id)===`learning`)??n.find(e=>ic(t,e.lesson.id)===`new`)??null}function sc(e,t){let n=ec(e),r=n.findIndex(e=>e.lesson.id===t);return r>=0?n[r+1]??null:null}Object.freeze({steps:48,opsPerStep:14,say:1200,opText:1600,listItems:12,tableRows:16,tableCols:8,svgBytes:48*1024,animBytes:64*1024,codeBytes:12*1024,chartPoints:400,chartSeries:6}),Object.freeze([`title`,`h`,`p`,`math`,`list`,`svg`,`chart`,`table`,`code`,`note`,`mark`,`anim`,`col`,`page`]),Object.freeze({heading:`h`,header:`h`,subtitle:`h`,text:`p`,paragraph:`p`,write:`p`,formula:`math`,equation:`math`,latex:`math`,bullets:`list`,bullet:`list`,diagram:`svg`,drawing:`svg`,figure:`svg`,graph:`chart`,plot:`chart`,callout:`note`,highlight:`mark`,underline:`mark`,animation:`anim`,interactive:`anim`,column:`col`,newcolumn:`col`,newpage:`page`,clear:`page`});let cc=/[぀-ヿ㐀-䶿一-鿿가-힯]/gu;function lc(e,t=1){let n=String(e??``),r=(n.match(cc)??[]).length,i=n.replace(cc,` `).split(/\s+/u).filter(Boolean).length,a=r/4.4+i/2.6;return Math.round(a*1e3/Math.max(.5,Math.min(2,t||1)))}function uc(e){switch(e.t){case`title`:case`h`:case`p`:case`note`:return e.text.length;case`math`:return Math.min(80,e.tex.length);case`list`:return e.items.join(` `).length;case`table`:return e.rows.flat().join(` `).length/2;case`code`:return Math.min(400,e.code.length/2);default:return 60}}function dc(e){return e.t===`col`||e.t===`page`?0:e.t===`mark`?600:e.t===`svg`||e.t===`chart`||e.t===`anim`?2200:Math.min(7e3,Math.max(450,uc(e)*55))}function fc(e,{rate:t=1,speechMs:n}={}){let r=n??lc(e.say,t),i=e.ops.map(dc),a=i.reduce((e,t)=>e+t,0),o=r>0?r*.85:a,s=a>0&&o>0?Math.min(1.6,Math.max(.35,o/a)):1,c=i.map(e=>Math.round(e*s));return{speechMs:r,writeMs:c,durationMs:Math.max(r,c.reduce((e,t)=>e+t,0))+350}}function pc(e){let t=[];e.title&&t.push(`# ${e.title}`,``);for(let n of e.steps){for(let e of n.ops)if(e.t===`title`)t.push(`## ${e.text}`,``);else if(e.t===`h`)t.push(`### ${e.text}`,``);else if(e.t===`p`)t.push(e.text,``);else if(e.t===`math`)t.push(`$$${e.tex}$$`,``);else if(e.t===`list`)t.push(...e.items.map((t,n)=>e.ordered?`${n+1}. ${t}`:`- ${t}`),``);else if(e.t===`note`)t.push(`> ${e.text}`,``);else if(e.t===`code`)t.push(`\`\`\`${e.lang}`,e.code,"```",``);else if(e.t===`table`){let n=e.head.length?e.head:e.rows[0].map(()=>` `);t.push(`| ${n.join(` | `)} |`,`| ${n.map(()=>`---`).join(` | `)} |`,...e.rows.map(e=>`| ${e.join(` | `)} |`),``)}else e.caption&&t.push(`*${e.caption}*`,``);n.say&&t.push(`<!-- ${n.say.replace(/--/gu,`—`)} -->`,``)}return t.join(`
262
262
  `).replace(/\n{3,}/gu,`
263
263
 
264
264
  `).trim()+`
265
- `}function xs({speech:e,onChange:t,now:n=()=>performance.now(),frame:r,cancelFrame:i,startIndex:a=0}){let o=r??(e=>requestAnimationFrame(e)),s=i??(e=>cancelAnimationFrame(e)),c=[],l=!1,u=1,d=null,f=null,p=new Set,m={index:Math.max(0,a),op:0,progress:0,sentence:0,status:`idle`},h=()=>{if(!f?.synced||m.status!==`playing`&&m.status!==`paused`)return[];let e=Math.max(0,f.sentences.length-1);return f.step.ops.filter((t,n)=>n<=m.op&&Math.min(t.at,e)===m.sentence).map(e=>e.t===`mark`?e.ref:e.id)},g=()=>({...m,total:c.length,complete:l,rate:u,step:c[m.index]??null,now:h()}),_=()=>t?.(g());function v(){d!==null&&s(d),d=null}function y(){v(),e?.cancel?.();let t=c[m.index];if(!t){m.status=l?`ended`:`buffering`,_();return}m.op=0,m.progress=0,m.sentence=0,m.status=`playing`;let r=ys(t,{rate:u}),i=Yo(t.say).map(Ko),a=!!t.say&&t.ops.some(e=>Number.isInteger(e.at));f={step:t,timing:r,startedAt:n(),elapsedBefore:0,speechDone:!t.say,silentUntil:null,token:{},sentences:i,exactSentence:!1,synced:a,written:0,lastTime:0,finishAt:null};let o=f.token;t.say&&((e?.speak(Ko(t.say),{rate:u,sentences:i,onSentence:e=>{!f||f.token!==o||(f.exactSentence=!0,m.sentence!==e&&(m.sentence=e,_()))}})??{done:Promise.resolve({silent:!0})}).done.then(e=>{!f||f.token!==o||(e?.silent||e?.error?f.silentUntil=gs(t.say,u)*.8:f.speechDone=!0)}),e?.prefetch?.(Ko(c[m.index+1]?.say??``))),_(),S()}function b(e){let t=f?.sentences??[];if(t.length<2)return 0;if(f.speechDone)return t.length-1;let n=gs(f.step.say,u),r=t.map(e=>[...e].length),i=r.reduce((e,t)=>e+t,0)||1,a=0;for(let t=0;t<r.length;t+=1)if(a+=r[t],e<a/i*n)return t;return t.length-1}function x(){return f?f.elapsedBefore+(m.status===`playing`?n()-f.startedAt:0):0}function S(){d=o(w)}function C(e,t,n){if(!f.synced)return e;let r=Math.max(0,e-f.lastTime);f.lastTime=e;let i=Math.max(0,f.sentences.length-1),a=f.speechDone?1/0:t,o=0,s=0;for(;o<n.length&&Math.min(f.step.ops[o].at,i)<=a;)s+=n[o],o+=1;return f.written=Math.min(f.written+r,s),f.written}function w(){if(d=null,m.status!==`playing`||!f)return;let e=x(),t=f.timing.writeMs;f.silentUntil!==null&&e>=f.silentUntil&&(f.speechDone=!0);let n=f.exactSentence?m.sentence:b(e),r=C(e,n,t),i=0,a=t.length,o=1;for(let e=0;e<t.length;e+=1){if(r<i+t[e]){a=e,o=t[e]?(r-i)/t[e]:1;break}i+=t[e]}let s=a!==m.op||Math.abs(o-m.progress)>.002||n!==m.sentence;if(m.op=a,m.sentence=n,m.progress=Math.min(1,Math.max(0,o)),a>=t.length&&f.speechDone&&(f.finishAt??=f.synced?e+450:i+450,e>=f.finishAt)){T();return}s&&_(),S()}function T(){let e=c[m.index];if(m.op=e?.ops.length??0,m.progress=1,e?.check&&!p.has(e.check.id)){m.status=`check`,_();return}E()}function E(){m.index+=1,y()}return{get state(){return g()},setSteps(e,{done:t=!1}={}){c=e,l=t,m.status===`buffering`&&c[m.index]?y():(m.status===`buffering`&&l&&(m.status=`ended`),_())},play(){if(m.status!==`playing`){if(m.status===`paused`&&f){m.status=`playing`,f.startedAt=n(),e?.resume?.(),_(),S();return}m.status===`ended`&&(m.index=0),m.status!==`check`&&y()}},pause(){m.status!==`playing`||!f||(f.elapsedBefore=x(),m.status=`paused`,v(),e?.pause?.(),_())},toggle(){m.status===`playing`?this.pause():this.play()},next(){let t=c[m.index];m.status===`check`&&t?.check&&p.add(t.check.id),t&&(v(),e?.cancel?.(),E())},prev(){v(),e?.cancel?.();let t=m.op===0&&m.progress<.05;m.index=Math.max(0,Math.min(c.length-1,t?m.index-1:m.index)),y()},seek(t){v(),e?.cancel?.(),m.index=Math.min(Math.max(0,t),Math.max(0,c.length)),y()},answer(e){p.add(e),m.status===`check`&&E()},setRate(t){let r=Math.min(2,Math.max(.5,Number(t)||1));if(f&&m.status===`playing`){let e=x(),t=u/r;f.elapsedBefore=e*t,f.startedAt=n(),f.timing=ys(f.step,{rate:r}),f.written*=t,f.lastTime=f.elapsedBefore,f.finishAt=null}u=r,e?.setRate?.(r),_()},insertAfterCurrent(e){if(!e?.length)return c;let t=Math.min(c.length,m.index+1);return c=[...c.slice(0,t),...e,...c.slice(t)],_(),c},dispose(){v(),e?.cancel?.(),f=null}}}function Ss(e,t,n,r=!1){if(!n)return[];if(!e.some(e=>Number.isInteger(e.goal)))return null;if(r)return Array(n).fill(`done`);let i=Array(n).fill(-1);e.forEach((e,t)=>{Number.isInteger(e.goal)&&e.goal<n&&(i[e.goal]=Math.max(i[e.goal],t))});let a=e[t]?.goal;return i.map((e,n)=>a===n?`current`:e>=0&&t>e?`done`:`todo`)}function Cs(e,t,n=[]){let r=[],i=new Set,a=e=>n.find(t=>e.startsWith(`${t.id}_`));e.forEach((e,n)=>{if(!(n>t)){if(e.aside){let t=a(e.id);t&&!i.has(t.id)&&(i.add(t.id),r.push({key:`${t.id}:ask`,kind:t.kind===`question`?`question`:`reexplain`,text:t.label,stepIndex:n,aside:!0}))}e.say&&r.push({key:e.id,kind:`say`,text:e.say,stepIndex:n,aside:e.aside===!0})}});for(let e of n)e.streaming&&!e.steps.length&&r.push({key:`${e.id}:ask`,kind:e.kind===`question`?`question`:`reexplain`,text:e.label,stepIndex:-1,aside:!0,pending:!0});return r}function $({label:e}){return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),e?(0,i.jsx)(`span`,{className:`aha-hint`,children:e}):null]})}function ws({value:e}){return(0,i.jsx)(`div`,{className:`aha-progress`,children:(0,i.jsx)(`div`,{style:{width:`${Math.max(0,Math.min(100,e))}%`}})})}function Ts({progress:e,label:t,onCancel:n}){let{t:r}=f(),a=e?.total?Math.round(e.done/e.total*100):0;return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:6},children:[(0,i.jsx)($,{label:t}),e?.total?(0,i.jsx)(ws,{value:a}):null,n?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:n,children:r(`cancel`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:r(`keepsRunning`)})]}):null]})}function Es({title:e,onClose:t,children:n,footer:r,width:a}){return(0,i.jsx)(`div`,{className:`aha-modalBack`,onMouseDown:e=>{e.target===e.currentTarget&&t?.()},children:(0,i.jsxs)(`div`,{className:`aha-modal`,role:`dialog`,"aria-label":e,style:a?{width:`min(${a}px,100%)`}:void 0,children:[e?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,"aria-label":`close`,children:`✕`})]}):null,n,r?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`flex-end`},children:r}):null]})})}function Ds({text:e,onConfirm:t,onCancel:n,danger:r=!1}){let{t:a}=f();return(0,i.jsx)(Es,{title:a(`confirm`),onClose:n,footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:n,children:a(`cancel`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":r?`danger`:`primary`,onClick:t,children:a(`confirm`)})]}),children:(0,i.jsx)(`p`,{children:e})})}function Os({error:e}){let{t}=f();if(!e)return null;let n=String(e.code??``).replace(/^aha-tutor\//u,``),r=`err_${n}`;return(0,i.jsx)(`div`,{className:`aha-error`,role:`alert`,children:(n&&t(r)!==r?t(r):null)??t(`errorGeneric`,{message:e.message??String(e)})})}function ks({children:e}){return(0,i.jsx)(`div`,{className:`aha-empty`,children:e})}function As(){let{api:e}=f(),[t,n]=(0,r.useState)(null),[i,a]=(0,r.useState)(null);async function o(t){try{let n=await fetch(new URL(`api/aha-tutor/upload?name=${encodeURIComponent(t.name)}`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":t.type||`application/octet-stream`},body:t});if(n.status!==404){let t=await n.json();if(!t?.ok)throw Error(t?.error?.message??`Upload failed`);return(await e.follow(t.value)).material}}catch(e){if(e?.message!==`Failed to fetch`)throw e}let n=await c(t);return(await e.run(`material/upload`,{name:t.name,base64:n})).material}async function s(e){let t=[];a(null);for(let r of e){n(r.name);try{t.push(await o(r))}catch(e){a(e)}}return n(null),t}async function l(t){n(t),a(null);try{return[(await e.run(`material/url`,{url:t})).material]}catch(e){return a(e),[]}finally{n(null)}}return{upload:s,addUrl:l,busy:t,error:i}}function js({onAdded:e,compact:t=!1}){let{t:n}=f(),a=(0,r.useRef)(null),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(!1),{upload:u,addUrl:d,busy:p,error:m}=As(),h=async t=>{let n=await u([...t]);n.length&&e?.(n)};return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-empty`,style:{padding:t?14:24,borderColor:c?`var(--aha-brand)`:void 0,cursor:`pointer`},onClick:()=>a.current?.click(),onDragOver:e=>{e.preventDefault(),l(!0)},onDragLeave:()=>l(!1),onDrop:e=>{e.preventDefault(),l(!1),h(e.dataTransfer.files)},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[(0,i.jsx)(re,{name:`upload`}),n(`dropHere`)]}),(0,i.jsx)(`input`,{ref:a,type:`file`,multiple:!0,accept:`.pdf,.docx,.pptx,.md,.markdown,.txt,.csv,.json,.tex,.py,.js,.ts,.html,.png,.jpg,.jpeg,.webp,.gif`,hidden:!0,onChange:e=>{h(e.currentTarget.files),e.currentTarget.value=``}})]}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:async t=>{if(t.preventDefault(),!o.trim())return;let n=await d(o.trim());n.length&&(s(``),e?.(n))},children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:o,placeholder:n(`urlPlaceholder`),onChange:e=>s(e.currentTarget.value)}),(0,i.jsxs)(`button`,{type:`submit`,className:`aha-btn`,disabled:!o.trim()||!!p,children:[(0,i.jsx)(re,{name:`link`}),n(`addUrl`)]})]}),p?(0,i.jsx)($,{label:`${n(`reading`)} ${p}`}):null,(0,i.jsx)(Os,{error:m})]})}function Ms({selected:e,onChange:t,onClose:n}){let{api:r,t:a}=f(),o=p(()=>r.call(`material/list`),[]),s=n=>t(e.includes(n)?e.filter(e=>e!==n):[...e,n].slice(0,8));return(0,i.jsxs)(Es,{title:a(`pickMaterials`),onClose:n,width:640,footer:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:n,children:a(`confirm`)}),children:[(0,i.jsx)(js,{compact:!0,onAdded:n=>{o.reload(),t([...e,...n.map(e=>e.id)].slice(0,8))}}),o.loading&&!o.value?(0,i.jsx)($,{label:a(`loading`)}):null,(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6,maxHeight:320,overflow:`auto`},children:(o.value??[]).map(t=>(0,i.jsxs)(`label`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:10},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:e.includes(t.id),onChange:()=>s(t.id)}),(0,i.jsxs)(`span`,{className:`aha-col`,style:{gap:0},children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`small`,{children:Ns(t,a)})]})]},t.id))})]})}function Ns(e,t){let n=[e.kind.toUpperCase()];return e.pages&&n.push(t(`pages`,{count:e.pages})),e.slides&&n.push(t(`slides`,{count:e.slides})),e.kind===`image`&&n.push(t(`imageNeedsVision`)),n.join(` · `)}function Ps({value:e}){let t=Math.round((Number(e)||0)/20);return(0,i.jsx)(`span`,{className:`aha-meter`,title:`${Math.round(e??0)}%`,children:[0,1,2,3,4].map(e=>(0,i.jsx)(`i`,{"data-on":e<t},e))})}function Fs(e){return navigator.clipboard?.writeText(e).catch(()=>void 0)}let Is=Object.freeze([`choice`,`multi`,`blank`,`number`,`order`]),Ls=/[!-~]/gu;function Rs(e){return String(e??``).normalize(`NFKC`).replace(Ls,e=>String.fromCharCode(e.charCodeAt(0)-65248)).toLowerCase().replace(/[\s ]+/gu,` `).replace(/^[\s.,;:!?'"`,。;:!?、“”‘’]+|[\s.,;:!?'"`,。;:!?、“”‘’]+$/gu,``).trim()}function zs(e){if(typeof e==`number`)return e;let t=Rs(e).replace(/,/gu,``).replace(/\s/gu,``),n=/^(-?\d+(?:\.\d+)?)\/(\d+(?:\.\d+)?)$/u.exec(t);if(n)return Number(n[1])/Number(n[2]);let r=/^(-?\d+(?:\.\d+)?)%$/u.exec(t);if(r)return Number(r[1])/100;let i=Number(t);return Number.isFinite(i)?i:NaN}function Bs(e,t){if(!e||!Is.includes(e.kind))return{score:0,correct:!1,gradable:!1};if(e.kind===`choice`){let n=String(t??``)===String(e.answer??``);return{score:+!!n,correct:n,gradable:!0}}if(e.kind===`multi`){let n=new Set((Array.isArray(e.answer)?e.answer:[e.answer]).map(String)),r=new Set((Array.isArray(t)?t:[]).map(String));if(!n.size)return{score:0,correct:!1,gradable:!1};let i=0,a=0;for(let e of r)n.has(e)?i+=1:a+=1;let o=Math.max(0,(i-a)/n.size),s=i===n.size&&a===0;return{score:Vs(o),correct:s,gradable:!0}}if(e.kind===`order`){let n=(Array.isArray(e.answer)?e.answer:[]).map(String),r=(Array.isArray(t)?t:[]).map(String);if(!n.length)return{score:0,correct:!1,gradable:!1};let i=0;return n.forEach((e,t)=>{r[t]===e&&(i+=1)}),{score:Vs(i/n.length),correct:i===n.length,gradable:!0}}if(e.kind===`number`){let n=zs(e.answer),r=zs(t);if(!Number.isFinite(n))return{score:0,correct:!1,gradable:!1};if(!Number.isFinite(r))return{score:0,correct:!1,gradable:!0};let i=Number.isFinite(Number(e.tolerance))&&Number(e.tolerance)>=0?Number(e.tolerance):Math.max(1e-9,Math.abs(n)*.01),a=Math.abs(r-n)<=i;return{score:+!!a,correct:a,gradable:!0}}let n=(Array.isArray(e.answer)?e.answer:[e.answer]).map(Rs).filter(Boolean);if(!n.length)return{score:0,correct:!1,gradable:!1};let r=Rs(t),i=n.includes(r);if(i)return{score:1,correct:i,gradable:!0};let a=zs(t),o=n.map(zs).filter(Number.isFinite);return Number.isFinite(a)&&o.some(e=>Math.abs(e-a)<=Math.max(1e-9,Math.abs(e)*.001))?{score:1,correct:!0,gradable:!0}:{score:0,correct:!1,gradable:!0}}function Vs(e){return Math.round(e*100)/100}function Hs({text:e,compact:t=!1,streaming:n=!1}){let{t:o}=f(),s=(0,r.useMemo)(()=>({code:{copyLabel:o(`copyCode`),copiedLabel:o(`copied`)},footnotes:o(`footnotes`)}),[o]);return(0,i.jsx)(`div`,{className:`aha-markdown`,children:(0,i.jsx)(a.MarkdownText,{text:String(e??``),labels:s,streaming:n,variant:t?`compact`:`body`})})}let Us=[[`sure`,`confSure`],[`unsure`,`confUnsure`],[`guess`,`confGuess`]];function Ws({item:e,language:t,onResult:n,onContinue:a,continueLabel:o,askConfidence:s=!0,compact:c=!1}){let{api:l,t:u}=f(),[d,p]=(0,r.useState)(e.kind===`multi`||e.kind===`order`?[]:``),[m,h]=(0,r.useState)(null),[g,_]=(0,r.useState)(0),[v,y]=(0,r.useState)(null),[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(null),w=(0,r.useRef)(Date.now());(0,r.useEffect)(()=>{p(e.kind===`multi`||e.kind===`order`?e.kind===`order`?e.options.map(e=>e.id):[]:``),h(null),_(0),y(null),C(null),w.current=Date.now()},[e]);let T=(e.kind===`multi`?d.length>0:e.kind===`order`||String(d).trim()!==``)&&(!s||m);async function E(){if(!T||v||b)return;let r=Date.now()-w.current,i;if(e.kind===`short`){x(!0),C(null);try{let n=await l.call(`lesson/grade`,{item:{prompt:e.prompt,answer:e.answer,rubric:e.rubric},response:d,language:t});i={score:n.score,correct:n.verdict===`correct`,partial:n.verdict===`partial`,feedback:n.feedback,errorTag:n.errorTag,misconception:n.misconception}}catch(e){C(e.message),x(!1);return}x(!1)}else{let t=Bs(e,d);i={score:t.score,correct:t.correct,partial:!t.correct&&t.score>0,errorTag:t.correct?``:Ks(e,d)}}let a={...i,confidence:m??void 0,timeMs:r,hintsUsed:g};y(a),n?.(a)}let ee=e=>p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),D=(e,t)=>p(n=>{let r=[...n],i=e+t;return i<0||i>=r.length?n:([r[e],r[i]]=[r[i],r[e]],r)}),te=t=>{if(v)return(Array.isArray(e.answer)?e.answer:[e.answer]).includes(t.id)?`right`:(Array.isArray(d)?d.includes(t.id):d===t.id)?`wrong`:void 0};return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:c?8:12},children:[(0,i.jsx)(Hs,{text:e.prompt,compact:!0}),e.kind===`choice`||e.kind===`multi`?(0,i.jsx)(`div`,{className:`aha-col aha-options`,style:{gap:6},"data-grid":e.options.every(e=>e.text.length<=22),children:e.options.map(t=>{let n=e.kind===`multi`?d.includes(t.id):d===t.id,r=te(t);return(0,i.jsx)(`button`,{type:`button`,className:`aha-option`,"data-active":n,disabled:!!v,style:r===`right`?{borderColor:`var(--aha-ok)`}:r===`wrong`?{borderColor:`var(--aha-bad)`}:void 0,onClick:()=>e.kind===`multi`?ee(t.id):p(t.id),children:(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8,flexWrap:`nowrap`},children:[(0,i.jsxs)(`b`,{children:[t.id.toUpperCase(),`.`]}),(0,i.jsx)(Hs,{text:t.text,compact:!0})]})},t.id)})}):null,e.kind===`order`?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:d.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:8},children:[(0,i.jsx)(`span`,{style:{flex:1},children:(0,i.jsx)(Hs,{text:e.options.find(e=>e.id===t)?.text??t,compact:!0})}),v?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>D(n,-1),"aria-label":u(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>D(n,1),"aria-label":u(`moveDown`),children:`↓`})]})]},t))}):null,e.kind===`blank`||e.kind===`number`?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:360},value:d,disabled:!!v,placeholder:u(`yourAnswer`),inputMode:e.kind===`number`?`decimal`:void 0,onChange:e=>p(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&E()}}),e.unit?(0,i.jsx)(`span`,{className:`aha-hint`,children:e.unit}):null]}):null,e.kind===`short`?(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:d,disabled:!!v,placeholder:u(`yourAnswer`),onChange:e=>p(e.currentTarget.value)}):null,e.hints?.length&&!v?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[e.hints.slice(0,g).map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-hint`,children:[`💡 `,e]},t)),g<e.hints.length?(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>_(e=>e+1),children:[u(`hint`),` (`,g+1,`/`,e.hints.length,`)`]})}):null]}):null,s&&!v?(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:u(`confidence`)}),Us.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":m===e,onClick:()=>h(e),children:u(t)},e))]}):null,S?(0,i.jsx)(`div`,{className:`aha-error`,children:u(`errorGeneric`,{message:S})}):null,v?(0,i.jsxs)(`div`,{className:`aha-feedback`,"data-ok":v.correct?`true`:v.partial?void 0:`false`,children:[(0,i.jsx)(`b`,{children:v.correct?u(`correct`):v.partial?u(`partial`):u(`incorrect`)}),v.feedback?(0,i.jsx)(Hs,{text:v.feedback,compact:!0}):null,e.explanation?(0,i.jsx)(Hs,{text:e.explanation,compact:!0}):null,e.kind!==`short`&&!v.correct?(0,i.jsx)(`div`,{className:`aha-hint`,children:Gs(e)}):null]}):null,(0,i.jsxs)(`div`,{className:`aha-row aha-itemActions`,children:[v?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!T||b,onClick:E,children:b?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),u(`grading`)]}):u(`submit`)}),v&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:a,children:o??u(`continue`)}):null,!v&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:a,children:u(`skip`)}):null]})]})}function Gs(e){return e.kind===`choice`?`✔ ${e.answer.toUpperCase()}. ${e.options.find(t=>t.id===e.answer)?.text??``}`:e.kind===`multi`?`✔ ${e.answer.map(e=>e.toUpperCase()).join(`, `)}`:e.kind===`order`?`✔ ${e.answer.map(t=>e.options.find(e=>e.id===t)?.text??t).join(` → `)}`:e.kind===`number`?`✔ ${e.answer}${e.unit?` ${e.unit}`:``}`:e.kind===`blank`?`✔ ${e.answer.join(` / `)}`:``}function Ks(e,t){return e.kind===`choice`?`chose ${String(t).toUpperCase()}: ${(e.options.find(e=>e.id===t)?.text??``).slice(0,50)}`:e.kind===`number`||e.kind===`blank`?`answered ${String(t).slice(0,40)}`:`wrong`}let qs=[.75,1,1.25,1.5,2],Js=[[`analogy`,`styleAnalogy`],[`visual`,`styleVisual`],[`example`,`styleExample`],[`simpler`,`styleSimpler`],[`deeper`,`styleDeeper`]];function Ys({id:e,kind:t,label:n,anchorId:r,steps:i=[],streaming:a=!1}){return{id:e,kind:t,label:n,anchorId:r,streaming:a,steps:$o(i,`${e}_`).map(e=>({...e,anchorId:r}))}}function Xs({scope:e,title:t,crumb:n,steps:a=[],stream:o=null,asides:s=[],objectives:c=[],language:l,startIndex:u=0,autoplay:d=!0,onPosition:p,onEnded:m,onStreamDone:h,header:v,stageClass:y,recordChecks:b=!0}){let{api:x,t:S,speech:C,settings:w}=f(),T=_(),E=w.boardTheme===`dark`||w.boardTheme!==`light`&&T?`dark`:`light`,ee=e=>S(Js.find(([t])=>t===e)?.[1]??`reexplain`),[D,te]=(0,r.useState)(a),[O,ne]=(0,r.useState)(()=>s.map(e=>Ys({id:e.id,kind:e.kind,label:e.kind===`question`?e.question:S(`reexplainedAs`,{style:ee(e.style)}),anchorId:e.anchorStepId,steps:e.steps??[]}))),[re,ie]=g(`classPanel`,!0),ae=(0,r.useRef)(null),oe=(0,r.useRef)(null),[se,ce]=(0,r.useState)(!o),[k,le]=(0,r.useState)(null),[ue,de]=(0,r.useState)(!0),[fe,pe]=(0,r.useState)(!1),[me,he]=(0,r.useState)(!1),[ge,_e]=(0,r.useState)(``),[ve,A]=(0,r.useState)(null),[ye,be]=(0,r.useState)(!1),[xe,Se]=(0,r.useState)(null),Ce=(0,r.useRef)(0),we=(0,r.useRef)(null);we.current||=new AbortController,(0,r.useEffect)(()=>()=>we.current.abort(),[]);let j=(0,r.useMemo)(()=>{let e=[];for(let t of D){e.push(t);for(let n of O)n.anchorId===t.id&&e.push(...n.steps)}return e},[D,O]),Te=(0,r.useMemo)(()=>{let e=O.find(e=>e.streaming),t=e?j.findIndex(t=>t.id===e.anchorId):-1;if(t<0)return null;let n=t+1;for(;n<j.length&&j[n].aside;)n+=1;return n},[j,O]),Ee=(0,r.useMemo)(()=>Te===null?j:j.slice(0,Te),[j,Te]),M=(0,r.useMemo)(()=>{let e=D[Math.min(u,D.length-1)]?.id,t=e?j.findIndex(t=>t.id===e):-1;return xs({speech:C,onChange:le,startIndex:t>=0?t:u})},[C]);(0,r.useEffect)(()=>()=>M.dispose(),[M]),(0,r.useEffect)(()=>{M.setSteps(Ee,{done:se&&Te===null})},[M,Ee,se,Te]),(0,r.useEffect)(()=>{C.configure({engine:fe?`off`:w.voiceEngine??`browser`,voiceId:w.voiceId||void 0,language:l})},[C,fe,w.voiceEngine,w.voiceId,l]),(0,r.useEffect)(()=>{M.setRate(w.voiceRate??1)},[M,w.voiceRate]),(0,r.useEffect)(()=>{if(!o)return;let e=new AbortController;return ce(!1),x.follow({job:o},{signal:e.signal,onPartial:e=>te(t=>{let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return r.length?[...t,...r]:t})}).then(e=>{let t=e?.board??e?.item?.board??e;t?.steps?.length&&te(t.steps),ce(!0),h?.(e)}).catch(t=>{e.signal.aborted||(Se(t.message),ce(!0))}),()=>e.abort()},[o]);let De=(0,r.useRef)(!1);(0,r.useEffect)(()=>{!d||De.current||!j.length||(De.current=!0,M.play())},[j.length,d,M]);let Oe=k?.index??0,[ke,Ae]=(0,r.useState)(0);(0,r.useEffect)(()=>{Ae(e=>Math.max(e,Oe))},[Oe]);let je=k?.status===`ended`&&se,Me=(0,r.useRef)(!1);(0,r.useEffect)(()=>{je&&!Me.current&&(Me.current=!0,m?.()),je||(Me.current=!1)},[je]),(0,r.useEffect)(()=>{let e=e=>{e.target instanceof HTMLElement&&/input|textarea|select/iu.test(e.target.tagName)||(e.key===` `?(e.preventDefault(),M.toggle()):e.key===`ArrowRight`?M.next():e.key===`ArrowLeft`&&M.prev())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[M]);let Ne=(0,r.useCallback)(e=>{for(let t=Math.min(e,j.length-1);t>=0;--t)if(!j[t]?.aside)return j[t]?.id;return D[0]?.id},[j,D]),Pe=(0,r.useCallback)(e=>{let t=Math.max(0,Math.min(e,j.length-1)),n=j[t]?.aside?Ne(t):j[t]?.id;return Math.max(0,D.findIndex(e=>e.id===n))},[j,D,Ne]);(0,r.useEffect)(()=>{k&&p?.(Pe(Oe))},[Oe]),(0,r.useEffect)(()=>{if(!ve)return;let e=Ee.findIndex(e=>e.id===ve);e>=0&&(A(null),M.seek(e))},[Ee,ve,M]);async function Fe({endpoint:t,payload:n,kind:r,label:i,anchorIndex:a,onStarted:o}){let s=Ne(a);Ce.current+=1;let c=`a${Ce.current}`,l=we.current.signal,u=!1,d=e=>{let t=Ys({id:c,kind:r,label:i,anchorId:s,steps:e,streaming:!0});ne(e=>e.map(e=>e.id===c?{...e,steps:t.steps}:e)),!u&&t.steps.length&&(u=!0,he(!1),A(t.steps[0].id))};Se(null);try{let{job:u}=await x.call(t,{...n,scope:e,stepIndex:Pe(a),anchorStepId:s});o?.(),ne(e=>[...e,Ys({id:c,kind:r,label:i,anchorId:s,streaming:!0})]);let f=[],p=await x.follow({job:u},{signal:l,onPartial:e=>{f.push(...e),d([...f])}});d(p?.steps?.length?p.steps:f),ne(e=>e.map(e=>e.id===c?{...e,streaming:!1}:e)),he(!1)}catch(e){if(l.aborted)return;ne(e=>e.flatMap(e=>e.id===c?e.steps.length?[{...e,streaming:!1}]:[]:[e])),he(!1),r===`question`&&!u&&_e(e=>e||i),Se(e.message)}}async function Ie(e){e?.preventDefault();let t=ge.trim();t&&(M.pause(),he(`answering`),await Fe({endpoint:`lesson/ask`,payload:{question:t},kind:`question`,label:t,anchorIndex:Oe,onStarted:()=>_e(``)}))}async function Le(e){be(!1),M.pause(),he(`reexplaining`),await Fe({endpoint:`lesson/reexplain`,payload:{style:e},kind:`reexplain`,label:S(`reexplainedAs`,{style:ee(e)}),anchorIndex:Math.max(0,Math.min(Oe,j.length-1))})}function Re(){M.pause(),ie(!0),setTimeout(()=>ae.current?.focus(),0)}let ze=Pe(Oe),Be=(0,r.useMemo)(()=>Ss(D,ze,c.length,k?.status===`ended`&&se),[D,ze,c.length,k?.status,se]),Ve=(0,r.useMemo)(()=>Cs(j,Math.max(ke,Oe),O),[j,ke,Oe,O]);(0,r.useEffect)(()=>{let e=oe.current;e&&(e.scrollTop=e.scrollHeight)},[Ve.length,re]);let He=k?.step,Ue=k?.status===`check`?He?.check:null,We=(0,r.useMemo)(()=>Yo(He?.say),[He?.say]),Ge=We[Math.min(k?.sentence??0,We.length-1)]??``;function Ke(t){!b||e.kind!==`lesson`||x.call(`lesson/record`,{courseId:e.courseId,lessonId:e.lessonId,conceptIds:Ue?.conceptIds??[],evidence:{kind:`check`,score:t.score,confidence:t.confidence,hintsUsed:t.hintsUsed,timeMs:t.timeMs,expectedMs:4e4,errorTag:t.errorTag}}).catch(()=>void 0)}let N=k?.status??`idle`,qe=(N===`buffering`||!j.length&&!se)&&!xe,Je=j.length+ +!se,Ye=O.find(e=>e.streaming),Xe=me===`answering`||Ye?.kind===`question`?S(`answering`):me===`reexplaining`||Ye?S(`generating`):j.length?S(`bufferingLesson`):S(`preparingLesson`),Ze=Be?Be.filter(e=>e===`done`).length:0,Qe=!!Ye||me===`answering`||me===`reexplaining`;return(0,i.jsxs)(`div`,{className:`aha-class`,"data-panel":re?`open`:`closed`,children:[(0,i.jsxs)(`div`,{className:`aha-classBar`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:0},children:[n?(0,i.jsx)(`span`,{className:`aha-crumb`,children:n}):null,(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:t})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:v})]}),(0,i.jsxs)(`div`,{className:`aha-classBody`,children:[(0,i.jsxs)(`div`,{className:`aha-classMain`,children:[(0,i.jsxs)(`div`,{className:`aha-stage ${y??``}`,children:[(0,i.jsx)(ss,{steps:j,position:k?{index:k.index,op:k.op,progress:k.progress,now:k.now}:{index:0,op:0,progress:0},theme:E,font:w.boardFont===`standard`?`standard`:`hand`,buffering:qe||!!me,bufferingLabel:Xe}),Ue?(0,i.jsxs)(`div`,{className:`aha-checkCard`,children:[(0,i.jsx)(`div`,{className:`aha-spread`,children:(0,i.jsx)(`b`,{children:S(`checkTitle`)})}),(0,i.jsx)(Ws,{item:Ue,language:l,onResult:Ke,onContinue:()=>M.answer(Ue.id)})]}):null]}),ue&&Ge?(0,i.jsx)(`div`,{className:`aha-caption`,children:(0,i.jsx)(ns,{text:Ge})}):(0,i.jsx)(`div`,{className:`aha-caption`}),xe?(0,i.jsx)(`div`,{className:`aha-error`,style:{textAlign:`center`},children:S(`errorGeneric`,{message:xe})}):null,(0,i.jsxs)(`div`,{className:`aha-controls`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>M.prev(),title:S(`prevStep`),"aria-label":S(`prevStep`),children:`⏮`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>M.toggle(),disabled:!j.length,"aria-label":S(N===`playing`?`pause`:`play`),children:[N===`playing`?`⏸`:`▶`,` `,S(N===`playing`?`pause`:`play`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>M.next(),title:S(`nextStep`),"aria-label":S(`nextStep`),children:`⏭`}),(0,i.jsx)(`span`,{className:`aha-tag`,children:S(`stepOf`,{current:Math.min(Oe+1,Math.max(1,j.length)),total:Math.max(Je,1)})}),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:k?.rate??1,onChange:e=>M.setRate(Number(e.currentTarget.value)),"aria-label":S(`speed`),children:qs.map(e=>(0,i.jsxs)(`option`,{value:e,children:[e,`×`]},e))}),(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":!fe,onClick:()=>pe(e=>!e),children:fe?`🔇 ${S(`voiceOff`)}`:`🔊 ${S(`voiceOn`)}`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":ue,onClick:()=>de(e=>!e),children:[`CC `,S(`captions`)]}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:Re,disabled:!j.length,children:[`✋ `,S(`raiseHand`)]}),(0,i.jsxs)(`span`,{style:{position:`relative`},children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>be(e=>!e),disabled:!j.length,children:[`🔄 `,S(`reexplain`)]}),ye?(0,i.jsx)(`div`,{className:`aha-card`,style:{position:`absolute`,bottom:`110%`,left:0,zIndex:10,padding:6,gap:2,minWidth:140},children:Js.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>Le(e),children:S(t)},e))}):null]}),re?null:(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"aria-expanded":!1,onClick:()=>ie(!0),children:[`📋 `,S(`showPanel`)]})]})]}),re?(0,i.jsxs)(`aside`,{className:`aha-panel`,"aria-label":S(`panelTitle`),children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:c.length?S(`lessonGoals`):S(`transcript`)}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:6},children:[c.length&&Be?(0,i.jsxs)(`span`,{className:`aha-tag`,children:[Ze,`/`,c.length]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>ie(!1),title:S(`hidePanel`),"aria-label":S(`hidePanel`),children:`›`})]})]}),c.length?(0,i.jsx)(`ol`,{className:`aha-goals`,children:c.map((e,t)=>(0,i.jsxs)(`li`,{"data-state":Be?.[t]??`plain`,children:[(0,i.jsx)(`span`,{className:`aha-goalMark`,"aria-hidden":`true`,children:Be?.[t]===`done`?`✓`:t+1}),(0,i.jsx)(`span`,{children:e})]},t))}):null,c.length?(0,i.jsx)(`b`,{className:`aha-panelHead`,children:S(`transcript`)}):null,(0,i.jsx)(`div`,{ref:oe,className:`aha-transcript`,role:`list`,children:Ve.map(e=>(0,i.jsxs)(`button`,{type:`button`,role:`listitem`,className:`aha-line`,"data-kind":e.kind,"data-aside":e.aside?`true`:void 0,"data-current":e.stepIndex===Oe?`true`:void 0,disabled:e.stepIndex<0,onClick:()=>M.seek(e.stepIndex),children:[e.kind===`question`?(0,i.jsx)(`span`,{className:`aha-lineTag`,children:`✋`}):e.kind===`reexplain`?(0,i.jsx)(`span`,{className:`aha-lineTag`,children:`🔄`}):null,(0,i.jsx)(`span`,{className:`aha-lineText`,children:(0,i.jsx)(ns,{text:e.text})}),e.pending?(0,i.jsx)($,{}):null]},e.key))}),(0,i.jsxs)(`form`,{className:`aha-askBox`,onSubmit:Ie,children:[(0,i.jsx)(`textarea`,{ref:ae,className:`aha-textarea`,rows:2,value:ge,placeholder:S(`askPlaceholder`),disabled:!j.length,onChange:e=>_e(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&Ie(e)}}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,"data-kind":`primary`,disabled:!ge.trim()||Qe,children:S(`ask`)})]})]}):null]})]})}let Zs=[[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`]];function Qs({draftMode:e,draftRequest:t,draftMaterials:n,token:a}){let{api:o,t:s}=f(),c=p(()=>o.call(`items/list`,{kind:`assist`}),[]),[l,u]=(0,r.useState)(Zs.some(([t])=>t===e)?e:`explain`),[d,m]=(0,r.useState)(t??``),[g,_]=(0,r.useState)(Array.isArray(n)?n:[]),[v,y]=(0,r.useState)(!1),[b,x]=(0,r.useState)(null),[S,C]=(0,r.useState)(null),w=h(a);async function T(e=d){let t=e.trim();if(!t)return;C(null);let n=b?.threadId??us(`thd`);b?.stream&&!b.done&&o.cancel(b.stream);try{let{job:e}=await o.call(`assist/ask`,{mode:l,request:t,materialIds:g,threadId:b?.threadId,newThreadId:b?.threadId?void 0:n});x(r=>({threadId:n,turn:r?r.turn+1:0,stream:e,done:!1,steps:[],title:t.slice(0,80),language:void 0,key:`${n}:${Date.now()}`})),m(``)}catch(e){C(e)}}(0,r.useEffect)(()=>{w&&t&&T(t)},[]);async function E(e){C(null);try{let{item:t}=await o.call(`items/get`,{kind:`assist`,id:e}),n=t.turns.length-1;x({threadId:t.id,turn:n,stream:null,steps:t.turns[n]?.board?.steps??[],title:t.turns[n]?.request??t.title,language:t.language,key:`${t.id}:${n}:open`})}catch(e){C(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[b?(0,i.jsx)(Xs,{scope:{kind:`thread`,id:b.threadId,turn:b.turn},title:b.title,steps:b.steps,stream:b.stream,language:b.language,recordChecks:!1,onStreamDone:e=>{x(t=>t?.stream?.id===b.stream?.id?{...t,done:!0,turn:Number.isInteger(e?.turn)?e.turn:t.turn}:t),c.reload()}},b.key):(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:s(`assistTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:s(`assistHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:Zs.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":l===e,onClick:()=>u(e),children:[n,` `,s(t)]},e))}),(0,i.jsx)(`textarea`,{value:d,placeholder:s(b?`followUp`:`assistPlaceholder`),onChange:e=>m(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&T()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>y(!0),children:g.length?s(`attached`,{count:g.length}):s(`attach`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[b?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>x(null),children:s(`newThread`)}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!d.trim(),onClick:()=>T(),children:s(`ask`)})]})]})]}),(0,i.jsx)(Os,{error:S})]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:s(`history`)}),c.loading&&!c.value?(0,i.jsx)($,{}):(c.value??[]).map(e=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,onClick:()=>E(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`small`,{children:new Date(e.updatedAt).toLocaleString()})]},e.id))]})]}),v?(0,i.jsx)(Ms,{selected:g,onChange:_,onClose:()=>y(!1)}):null]})}Object.freeze({pInit:.2,pTransit:.15,pSlip:.1,pGuess:.2}),Object.freeze([{id:`struggling`,min:0},{id:`learning`,min:.4},{id:`proficient`,min:.7},{id:`mastered`,min:.9}]);let $s=(e,t,n)=>Math.min(n,Math.max(t,e));function ec(e){return Math.round($s(Number(e?.pKnown)||0,0,1)*100)}let tc=[[`outline`,`tabOutline`],[`practice`,`tabPractice`],[`sheets`,`tabSheets`],[`cards`,`tabCards`],[`projects`,`tabProjects`],[`progress`,`tabProgress`]];function nc({courseId:e,tab:t=`outline`}){let{api:n,t:a,navigate:o,toast:s}=f(),c=p(()=>n.call(`course/get`,{courseId:e}),[e]),[u,d]=(0,r.useState)(t),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(!1),b=c.value?.course,x=c.value?.progress,S=(0,r.useMemo)(()=>b?.units?ps(b,x):null,[b,x]),C=(0,r.useMemo)(()=>b?.units?ms(b,x):null,[b,x]);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{label:a(`loading`)})});if(!b)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{error:c.error})});if(b.status!==`ready`)return o(`craft`,{courseId:e},{replace:!0}),null;let w=e=>ec(x?.concepts?.[e]??{pKnown:.2}),T=e=>e.concepts.length?e.concepts.reduce((e,t)=>e+w(t.id),0)/e.concepts.length:0,E=e=>x?.lessons?.[e]?.status??`new`;async function ee(t){_(!1);try{let r=await n.call(`course/export`,{courseId:e,includeProgress:t});l(r.fileName,r.json)}catch(e){s(a(`errorGeneric`,{message:e.message}))}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1,minWidth:260},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:30},children:b.emoji}),(0,i.jsx)(`h2`,{className:`aha-title`,children:b.title})]}),b.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:b.subtitle}):null,S?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,maxWidth:480},children:[(0,i.jsx)(ws,{value:S.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`lessonsCount`,S),` · `,a(`minutesLeft`,{minutes:S.minutesLeft})]})]}):null]}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{position:`relative`},children:[C?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`lesson`,{courseId:e,lessonId:C.lesson.id}),children:[(0,i.jsx)(re,{name:`play`,size:14}),a(`continueLearning`)]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>h(e=>!e),children:`⋯`}),m?(0,i.jsxs)(`div`,{className:`aha-card`,style:{position:`absolute`,right:0,top:`110%`,zIndex:20,padding:6,gap:2,minWidth:180},onMouseLeave:()=>h(!1),children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>{h(!1),_(!0)},children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:async()=>{h(!1),await n.call(`course/update`,{courseId:e,archived:!b.archived}),c.reload()},children:b.archived?a(`unarchive`):a(`archive`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`,color:`var(--aha-bad)`},onClick:()=>{h(!1),y(!0)},children:a(`deleteCourse`)})]}):null]})]}),(0,i.jsx)(`div`,{className:`aha-tabs`,children:tc.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-tab`,"data-active":u===e,onClick:()=>d(e),children:a(t)},e))}),u===`outline`?(0,i.jsx)(`div`,{className:`aha-tree`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:4},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:a(`unitSheet`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]})]}),t.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:t.summary}):null,t.lectures.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-hint`,style:{fontWeight:600},children:[a(`lectureN`,{n:n+1}),` · `,t.title]}),t.lessons.map(t=>(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`,"data-state":E(t.id)}),(0,i.jsx)(`span`,{style:{flex:1,cursor:`pointer`},onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),title:t.summary,children:t.title}),t.kind===`remedial`?(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`remedial`)}):null,(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`estMinutes`,{minutes:t.estMinutes})}),(0,i.jsx)(Ps,{value:T(t)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),children:a(`learn`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:a(`practice`)})]},t.id))]},t.id))]},t.id))}):null,u===`practice`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`practice`,{review:!0}),children:a(`startReview`)})}),b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:t.lectures.flatMap(e=>e.lessons).map(t=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:t.title},t.id))})]},t.id))]}):null,u===`sheets`?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`unitN`,{n:n+1})}),(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`span`,{className:`aha-tag`,children:c.value.ready.sheets.includes(t.id)?a(`open`):a(`generate`)})]},t.id))}):null,u===`cards`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`p`,{children:a(`cardsTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`cards`,{courseId:e}),children:a(`open`)})})]}):null,u===`projects`?b.projects?.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.projects.map(t=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`project`,{courseId:e,projectId:t.id}),children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t.brief.slice(0,160)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:x?.projects?.[t.id]?.status===`passed`?`✔`:t.kind})]},t.id))}):(0,i.jsx)(ks,{children:a(`empty`)}):null,u===`progress`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`conceptMastery`)}),(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:4},children:ds(b).flatMap(({lesson:e})=>e.concepts.map(t=>({concept:t,lesson:e}))).map(({concept:e,lesson:t})=>{let n=x?.concepts?.[e.id];return(0,i.jsxs)(`div`,{className:`aha-spread`,style:{padding:`3px 0`,borderBottom:`1px solid var(--aha-border)`},children:[(0,i.jsxs)(`span`,{children:[e.name,` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`· `,t.title]})]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[n?.misconceptions?.length?(0,i.jsxs)(`span`,{className:`aha-tag`,title:n.misconceptions.join(`
266
- `),children:[`⚠ `,n.misconceptions.length]}):null,(0,i.jsx)(Ps,{value:w(e.id)}),(0,i.jsx)(`span`,{className:`aha-hint`,style:{width:36,textAlign:`right`},children:n?`${w(e.id)}%`:`—`})]})]},e.id)})})]}):null,g?(0,i.jsx)(Es,{title:a(`exportPack`),onClose:()=>_(!1),footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>ee(!1),children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>ee(!0),children:a(`exportWithProgress`)})]}),children:(0,i.jsx)(`p`,{className:`aha-hint`,children:b.title})}):null,v?(0,i.jsx)(Ds,{danger:!0,text:a(`deleteConfirm`,{title:b.title}),onCancel:()=>y(!1),onConfirm:async()=>{await n.call(`course/remove`,{courseId:e}),o(`courses`,{},{replace:!0})}}):null]})}let rc=[[`all`,`filterAll`],[`active`,`filterActive`],[`done`,`filterDone`],[`archived`,`filterArchived`]];function ic(){let{api:e,t,navigate:n,toast:a}=f(),o=p(()=>e.call(`course/list`),[]),[s,c]=(0,r.useState)(`all`),[l,u]=(0,r.useState)(``),[d,m]=(0,r.useState)(null),h=(0,r.useRef)(null),g=(o.value??[]).filter(e=>s===`archived`?e.archived:e.archived?!1:s===`active`?e.status!==`ready`||e.progress.percent<100:s!==`done`||e.status===`ready`&&e.progress.percent>=100).filter(e=>!l.trim()||`${e.title} ${e.subtitle}`.toLowerCase().includes(l.trim().toLowerCase()));async function _(r){m(null);try{let i=await r.text(),o=await e.call(`course/import`,{json:i});a(t(`courseReady`)),n(`course`,{courseId:o.id})}catch(e){m(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`coursesTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>h.current?.click(),children:t(`importPack`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>n(`home`),children:[`+ `,t(`modeCourse`)]}),(0,i.jsx)(`input`,{ref:h,type:`file`,accept:`.json,application/json`,hidden:!0,onChange:e=>{let t=e.currentTarget.files?.[0];t&&_(t),e.currentTarget.value=``}})]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:rc.map(([e,n])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":s===e,onClick:()=>c(e),children:t(n)},e))}),(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:260},value:l,placeholder:t(`searchCourses`),onChange:e=>u(e.currentTarget.value)})]}),(0,i.jsx)(Os,{error:d??o.error}),o.loading&&!o.value?(0,i.jsx)($,{label:t(`loading`)}):g.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:g.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:26},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.subtitle}):null,e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ws,{value:e.progress.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[t(`lessonsCount`,e.progress),e.next?` · ${t(`nextUp`,{title:e.next.title})}`:``]})]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))}):(0,i.jsx)(ks,{children:t(`noCourses`)})]})}let ac=[[`intensive`,`paceIntensive`,`paceIntensiveHint`],[`balanced`,`paceBalanced`,`paceBalancedHint`],[`relaxed`,`paceRelaxed`,`paceRelaxedHint`]],oc=[60,120,180,300,420,600];function sc({jobId:e,courseId:t}){let{api:n,t:a,navigate:o}=f(),[s,c]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e||t)return;let r=new AbortController;return n.follow({job:{id:e,status:`running`}},{signal:r.signal}).then(e=>o(`craft`,{courseId:e.courseId},{replace:!0})).catch(e=>{r.signal.aborted||c(e)}),()=>r.abort()},[e,t]),t?(0,i.jsx)(cc,{courseId:t}):(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:a(`craftQuestionsTitle`)}),s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Os,{error:s}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>o(`home`),children:a(`back`)})]}):(0,i.jsx)($,{label:a(`thinkingQuestions`)})]})}function cc({courseId:e}){let{api:t,t:n,navigate:a}=f(),o=p(()=>t.call(`course/get`,{courseId:e}),[e]),s=m(),c=o.value?.course;return(0,r.useEffect)(()=>{let e=o.value?.jobs?.questions??o.value?.jobs?.blueprint??o.value?.jobs?.confirm;!e||s.running||s.run(null,null,{existing:e}).then(()=>o.reload()).catch(()=>void 0)},[o.value]),(0,r.useEffect)(()=>{c?.status===`ready`&&!s.running&&a(`course`,{courseId:e},{replace:!0})},[c?.status]),o.loading&&!o.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{label:n(`loading`)})}):o.error&&!o.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{error:o.error})}):c?c.status===`intake`?(0,i.jsx)(lc,{course:c,intake:o.value.intake,job:s,onDone:()=>o.reload()}):(0,i.jsx)(fc,{course:c,job:s,onChange:()=>o.reload()}):null}function lc({course:e,intake:t,job:n,onDone:a}){let{t:o}=f(),s=t?.questionnaire?.questions??[],[c,l]=(0,r.useState)({}),[u,d]=(0,r.useState)(`balanced`),[p,m]=(0,r.useState)(180),[h,g]=(0,r.useState)(``),_=(e,t)=>l(n=>{let r=n[e.id]??{choice:[],other:``},i=e.multi?r.choice.includes(t)?r.choice.filter(e=>e!==t):[...r.choice,t]:[t];return{...n,[e.id]:{...r,choice:i}}});async function v(){try{await n.run(`course/intake`,{courseId:e.id,answers:c,timeline:u,weeklyMinutes:p,deadline:h||void 0}),a()}catch{}}if(n.running){let t=n.progress?.label===`questions`?o(`thinkingQuestions`):n.progress?.done?o(`blueprintSoFar`,{count:n.progress.done}):o(`designingBlueprint`);return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:e.goal}),(0,i.jsx)(Ts,{progress:n.progress,label:t,onCancel:n.cancel})]})}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`craftQuestionsTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.goal}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`craftQuestionsHint`)})]}),s.map((e,t)=>(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-cardTitle`,children:[t+1,`. `,e.prompt]}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(220px,1fr))`},children:e.options.map(t=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":c[e.id]?.choice?.includes(t.id)??!1,onClick:()=>_(e,t.id),children:[(0,i.jsx)(`b`,{children:t.label}),t.detail?(0,i.jsx)(`small`,{children:t.detail}):null]},t.id))}),(0,i.jsx)(`input`,{className:`aha-input`,placeholder:o(`craftOther`),value:c[e.id]?.other??``,onChange:t=>{let n=t.currentTarget.value;l(t=>({...t,[e.id]:{choice:t[e.id]?.choice??[],other:n}}))}})]},e.id)),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:o(`craftPace`)}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(200px,1fr))`},children:ac.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":u===e,onClick:()=>d(e),children:[(0,i.jsx)(`b`,{children:o(t)}),(0,i.jsx)(`small`,{children:o(n)})]},e))}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:p,onChange:e=>m(Number(e.currentTarget.value)),children:oc.map(e=>(0,i.jsx)(`option`,{value:e,children:o(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`deadline`),(0,i.jsx)(`input`,{className:`aha-input`,type:`date`,value:h,onChange:e=>g(e.currentTarget.value)})]})]})]}),(0,i.jsx)(Os,{error:n.error}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:v,children:o(`makeBlueprint`)})})]})}function uc(e){return JSON.parse(JSON.stringify(e??[]))}function dc(e,t,n){let r=[...e],i=t+n;return i<0||i>=r.length?e:([r[t],r[i]]=[r[i],r[t]],r)}function fc({course:e,job:t,onChange:n}){let{api:a,t:o,toast:s}=f(),[c,l]=(0,r.useState)(()=>uc(e.units)),[u,d]=(0,r.useState)(e.title),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(null);(0,r.useEffect)(()=>{l(uc(e.units)),d(e.title),m(!1)},[e]);let x=e=>{l(t=>{let n=uc(t);return e(n),n.filter(e=>e.lectures.length).map(e=>({...e,lectures:e.lectures.filter(e=>e.lessons.length)}))}),m(!0)},S=(0,r.useMemo)(()=>c.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.length,0),0),[c]),C=(0,r.useMemo)(()=>c.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.reduce((e,t)=>e+(t.estMinutes||15),0),0),0),[c]);async function w(){v(!0),b(null);try{return await a.call(`course/save-blueprint`,{courseId:e.id,blueprint:{...e,title:u,units:c}}),m(!1),s(o(`saved`)),n(),!0}catch(e){return b(e),!1}finally{v(!1)}}async function T(r){if(r.preventDefault(),h.trim()&&!(p&&!await w()))try{await t.run(`course/revise`,{courseId:e.id,instruction:h}),g(``),n()}catch{}}async function E(){if(!(p&&!await w()))try{await t.run(`course/confirm`,{courseId:e.id}),n()}catch{}}if(t.running){let n=t.progress?.label===`practice`||t.progress?.label===`projects`?o(`confirming`,{done:t.progress.done,total:t.progress.total}):t.progress?.done?o(`revisingSoFar`,{count:t.progress.done}):o(`revising`);return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[e.emoji,` `,e.title]}),(0,i.jsx)(Ts,{progress:t.progress,label:n,onCancel:t.cancel})]})}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`blueprintTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:28},children:e.emoji}),(0,i.jsx)(`input`,{className:`aha-input aha-title`,style:{border:`none`,padding:`2px 4px`},value:u,onChange:e=>{d(e.currentTarget.value),m(!0)}})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.subtitle}):null,(0,i.jsxs)(`p`,{className:`aha-hint`,children:[o(`lessonsCount`,{done:0,total:S}),` · `,o(`minutesLeft`,{minutes:C})]})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[p?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:_,onClick:w,children:o(`saveEdits`)}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:E,children:o(`confirmCourse`)})]})]}),e.summary?(0,i.jsx)(`p`,{children:e.summary}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`blueprintHint`)}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:T,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:h,placeholder:o(`revisePlaceholder`),onChange:e=>g(e.currentTarget.value),"aria-label":o(`reviseLabel`)}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,disabled:!h.trim(),children:o(`revise`)})]}),(0,i.jsx)(Os,{error:y??t.error}),(0,i.jsxs)(`div`,{className:`aha-tree`,children:[c.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:650},children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:o(`unitN`,{n:t+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let n=e.currentTarget.value;x(e=>{e[t].title=n})}}),(0,i.jsx)(pc,{onUp:()=>x(e=>{e.splice(0,e.length,...dc(e,t,-1))}),onDown:()=>x(e=>{e.splice(0,e.length,...dc(e,t,1))}),onRemove:()=>x(e=>{e.splice(t,1)})})]}),e.lectures.map((e,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:600},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`lectureN`,{n:n+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let r=e.currentTarget.value;x(e=>{e[t].lectures[n].title=r})}}),(0,i.jsx)(pc,{onUp:()=>x(e=>{let r=e[t].lectures;r.splice(0,r.length,...dc(r,n,-1))}),onDown:()=>x(e=>{let r=e[t].lectures;r.splice(0,r.length,...dc(r,n,1))}),onRemove:()=>x(e=>{e[t].lectures.splice(n,1)})})]}),e.lessons.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`}),(0,i.jsx)(`input`,{value:e.title,title:e.summary,onChange:e=>{let i=e.currentTarget.value;x(e=>{e[t].lectures[n].lessons[r].title=i})}}),(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`estMinutes`,{minutes:e.estMinutes})}),(0,i.jsx)(pc,{onUp:()=>x(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...dc(i,r,-1))}),onDown:()=>x(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...dc(i,r,1))}),onRemove:()=>x(e=>{e[t].lectures[n].lessons.splice(r,1)})})]},e.id??r)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>x(e=>{e[t].lectures[n].lessons.push({title:o(`untitled`),objectives:[],concepts:[],estMinutes:15})}),children:[`+ `,o(`addLesson`)]})})]},e.id??n)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>x(e=>{e[t].lectures.push({title:o(`untitled`),lessons:[{title:o(`untitled`),objectives:[],concepts:[],estMinutes:15}]})}),children:[`+ `,o(`addLecture`)]})})]},e.id??t)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>x(e=>{e.push({title:o(`untitled`),objectives:[],lectures:[{title:o(`untitled`),lessons:[{title:o(`untitled`),objectives:[],concepts:[],estMinutes:15}]}]})}),children:[`+ `,o(`addUnit`)]})})]}),e.projects?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:o(`projects`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:e.projects.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief})]},e.id))})]}):null]})}function pc({onUp:e,onDown:t,onRemove:n}){let{t:r}=f();return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:2,flexWrap:`nowrap`},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:e,title:r(`moveUp`),"aria-label":r(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,title:r(`moveDown`),"aria-label":r(`moveDown`),children:`↓`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:n,title:r(`remove`),"aria-label":r(`remove`),children:`✕`})]})}function mc(e){let t=e instanceof Date?e:new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}let hc=[[`course`,`modeCourse`,`🎓`],[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`],[`digest`,`modeDigest`,`📚`],[`short`,`modeShort`,`🎬`]];function gc(){let{api:e,t,navigate:n,toast:a}=f(),[o,s]=(0,r.useState)(`course`),[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(null),b=p(()=>e.call(`course/list`),[]),x=p(()=>e.call(`plan/get`,{today:mc(new Date)}),[]),S=p(()=>e.call(`samples/list`),[]);async function C(t=!1){let r=c.trim();if(y(null),o===`course`){if(!r&&!u.length)return;_(!0);try{let{job:i}=await e.call(`course/start`,{goal:r,materialIds:u,quick:t});n(`craft`,{jobId:i.id})}catch(e){y(e)}finally{_(!1)}return}if(o===`digest`){if(!u.length){h(!0);return}n(`item`,{kind:`digest`,materialId:u[0]});return}if(o===`short`){let e=/^https?:\/\//iu.test(r);n(`shorts`,{draftTopic:e?``:r,draftUrl:e?r:``,token:Date.now().toString(36)});return}r&&n(`assist`,{draftMode:o,draftRequest:r,draftMaterials:u,token:Date.now().toString(36)})}let w=(b.value??[]).filter(e=>e.status===`ready`&&!e.archived&&e.progress.percent<100).slice(0,3),T=(b.value??[]).filter(e=>e.status!==`ready`&&!e.archived).slice(0,2),E=x.value?.today??[];return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`section`,{className:`aha-hero`,children:[(0,i.jsx)(`div`,{className:`aha-heroTitle`,children:t(`heroTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:t(`heroHint`)}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`textarea`,{value:c,placeholder:t(`heroPlaceholder`),onChange:e=>l(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&C()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>h(!0),children:[(0,i.jsx)(re,{name:`plus`,size:15}),u.length?t(`attached`,{count:u.length}):t(`attach`)]})}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[o===`course`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,disabled:g,onClick:()=>C(!0),children:t(`quickStart`)}):null,(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:g||!c.trim()&&!u.length,onClick:()=>C(!1),children:[g?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(`start`)]})]})]})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:8},children:hc.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":o===e,onClick:()=>s(e),children:[r,` `,t(n)]},e))}),(0,i.jsx)(Os,{error:v})]}),w.length||T.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`continueLearning`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:[...T,...w].map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ws,{value:e.progress.percent}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`lessonsCount`,e.progress)}),e.next?(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`nextUp`,{title:e.next.title})}):null]}),e.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:t=>{t.stopPropagation(),n(`lesson`,{courseId:e.id,lessonId:e.next.lessonId})},children:[(0,i.jsx)(re,{name:`play`,size:14}),t(`continueLearning`)]}):null]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))})]}):null,(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`todayPlan`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>n(`plan`),children:[t(`navPlan`),` →`]})]}),x.loading&&!x.value?(0,i.jsx)($,{}):E.length?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:E.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-card`,style:{flexDirection:`row`,alignItems:`center`,padding:`10px 14px`},children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`lesson`?t(`lessonItem`):e.kind===`review`?t(`reviewItem`):t(`examItem`)}),(0,i.jsxs)(`span`,{style:{flex:1},children:[e.title,e.courseTitle?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.courseTitle]}):null]}),e.minutes?(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`minutesUnit`,{minutes:e.minutes})}):null,e.kind===`lesson`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`lesson`,{courseId:e.courseId,lessonId:e.refId}),children:t(`learn`)}):null,e.kind===`review`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`practice`,{review:!0}),children:t(`review`)}):null]},`${e.refId}-${r}`))}):(0,i.jsx)(ks,{children:t(`noPlanToday`)})]}),S.value?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`sampleCourses`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`sampleHint`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:S.value.map(r=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:r.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:r.title})]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:r.subtitle}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:async()=>{try{let i=await e.call(`samples/import`,{id:r.id});a(t(`courseReady`)),n(`course`,{courseId:i.id})}catch(e){a(t(`errorGeneric`,{message:e.message}))}},children:t(`importSample`)})]},r.id))})]}):null,m?(0,i.jsx)(Ms,{selected:u,onChange:d,onClose:()=>h(!1)}):null]})}let _c=Object.freeze([Object.freeze({family:`Aha Hand Latin`,file:`caveat-latin-d0b7b931.woff2`,bytes:48836,unicodeRange:`U+0,U+D,U+20-7E,U+A0-FF,U+131,U+152-153,U+20AC,U+2122`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-0-88f1a875.woff2`,bytes:93632,unicodeRange:`U+20-7E,U+A0-AC,U+AE-FF,U+101,U+113,U+11B,U+12B,U+14D,U+16B,U+1CE,U+1D0,U+1D2,U+1D4,U+1D6,U+1D8,U+1DA,U+1DC,U+2C7,U+2C9,U+391-3A1,U+3A3-3A9,U+3B1-3C1,U+3C3-3C9,U+401,U+410-44F,U+451,U+2010-2016,U+2018-2022,U+2025-2027,U+2030-2037,U+2039-203F,U+2042,U+2044,U+2047-2049,U+2051-2052,U+205A,U+205D,U+2100-2101,U+2103,U+2105-2106,U+2109-210A,U+210E-210F,U+2113,U+2116-2117,U+211E,U+2120-2122,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135,U+213B,U+2141-2144,U+214B,U+214D-214E,U+2150-218B,U+2190-2199,U+21B6-21B9,U+21C4-21C6,U+21CB-21D0,U+21D2,U+21D4,U+21E6-21EA,U+21F5,U+2200-220D,U+220F,U+2211-2213,U+2215-2216,U+2219-2220,U+2223-2230,U+2234-2237,U+223C-223E,U+2242-2243,U+2245,U+2248,U+224B-224C,U+2251-2253,U+225C,U+2260-2262,U+2264-226B,U+226E-226F,U+2272-2273,U+2276-2277,U+2282-228B,U+2295-2299,U+229C-229E,U+22A0,U+22A2-22A5,U+22BF-22C5,U+22DA-22DB,U+22EE-22F1,U+2312,U+2460-249F,U+2500-25AB,U+25B1-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25C6-25C7,U+25C9-25CC,U+25CE-25D3,U+25E2-25E6,U+25EF,U+25FB-25FC,U+2605-2606,U+2640,U+2642,U+3000-302D,U+3030,U+3033-303F,U+3041-3093,U+30A1-30F6,U+30FB,U+3105-3129,U+3220-3229,U+FF01-FF5E,U+FFE0-FFE1,U+FFE3,U+FFE5`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-1-78a38e72.woff2`,bytes:315108,unicodeRange:`U+4E01,U+4E0D,U+4E11,U+4E19,U+4E1B-4E1C,U+4E22,U+4E2A,U+4E30,U+4E32,U+4E39,U+4E4E-4E4F,U+4E56,U+4E58,U+4E8C,U+4E92,U+4EA4-4EA5,U+4EA7-4EA8,U+4EC7,U+4ECE,U+4ED3,U+4ED8,U+4EE3,U+4EF6-4EF7,U+4EFD,U+4EFF,U+4F0E-4F10,U+4F19-4F1A,U+4F20,U+4F2F-4F30,U+4F34,U+4F43,U+4F46,U+4F4E,U+4F55,U+4F5B,U+4F70,U+4F73,U+4F88,U+4F97,U+4F9B,U+4FA7,U+4FAF,U+4FBF,U+4FC3-4FC4,U+4FD8,U+4FDD,U+4FED,U+4FEF,U+4FFA,U+500D,U+5012,U+5019,U+5021,U+5047,U+5065,U+507F,U+5085,U+508D,U+50A3,U+50A8,U+50AC,U+50B2,U+50F5,U+513F,U+5145,U+5149,U+5151,U+515A,U+515C,U+516B-516C,U+5171,U+5173,U+5175,U+5178,U+517C,U+5180,U+5188,U+518C,U+51A0,U+51AC,U+51AF-51B0,U+51B2,U+51BB,U+51CB,U+51CF,U+51D1,U+51E0-51E1,U+51E4,U+51F0,U+51F3,U+51F9-51FB,U+51FD,U+5200-5201,U+5206,U+5212,U+521A-521B,U+521D,U+522B,U+522E,U+5230,U+523A,U+523D,U+5241-5242,U+5250-5251,U+5265,U+526A,U+526F,U+5272,U+529E-52A0,U+52A8,U+52C3,U+52FE,U+5305-5306,U+5316-5317,U+5319,U+5320,U+532A,U+5349-534A,U+534E,U+5351,U+5355,U+535A,U+535C,U+535E,U+5373,U+5382,U+5384,U+5395,U+539A,U+53A8,U+53C2,U+53C9-53CA,U+53CD,U+53D1,U+53D8,U+53E0,U+53E4,U+53ED-53EE,U+53F7,U+53FC,U+5403-5404,U+5408-540A,U+540E,U+5420,U+5426-5429,U+542B,U+5435,U+5439,U+543C,U+5446,U+5448,U+544A,U+5475,U+547C,U+548C,U+5490,U+5495,U+54C0,U+54C4,U+54C6,U+54C8,U+54CE,U+54D7,U+54E5,U+54FA,U+54FC,U+5507,U+5509,U+5524,U+552C,U+5531,U+554A,U+5561,U+5589-558A,U+5598,U+559D,U+5609,U+560E,U+5632,U+563F,U+5676,U+568E,U+56DE,U+56E4,U+56F1,U+56FA,U+56FD,U+572D,U+5730,U+573A,U+573E,U+574A,U+574F,U+575A,U+575D,U+575F,U+5782,U+579B,U+57A2,U+57AB,U+57C2-57C3,U+57CE,U+57E0,U+57FA,U+5806,U+5815,U+5821,U+5824,U+5835,U+58A9,U+58C1,U+58D5,U+58F6,U+5904,U+5907,U+590D,U+591A,U+591F,U+5927,U+592B,U+592F,U+5939-593A,U+5949,U+594B,U+5954,U+5956,U+5960,U+5965,U+5978,U+597D,U+5987,U+5992-5993,U+59A8,U+59D1,U+59DC,U+59EC,U+5A25,U+5A5A,U+5AC1,U+5AC9,U+5AE1,U+5B58,U+5B63-5B64,U+5B69,U+5B75,U+5B89,U+5B8F,U+5B98,U+5B9A,U+5B9D,U+5BA0,U+5BA6,U+5BAB,U+5BB3,U+5BB6,U+5BBE,U+5BC2,U+5BC4,U+5BCC,U+5BD2,U+5BDF,U+5BE1,U+5BF8-5BF9,U+5BFC,U+5C01,U+5C06,U+5C14,U+5C16,U+5C18,U+5C1D,U+5C3A,U+5C42,U+5C94,U+5C97,U+5C9B,U+5CB8,U+5CE8,U+5CF0,U+5D07,U+5D14,U+5D29,U+5DDD,U+5DE2,U+5DE5,U+5DE9,U+5DEE,U+5DF1,U+5DF4,U+5E01,U+5E03,U+5E06,U+5E1B,U+5E1D,U+5E26,U+5E2E,U+5E38,U+5E45,U+5E4C,U+5E62,U+5E72,U+5E76,U+5E7B,U+5E7F,U+5E87,U+5E8A,U+5E95,U+5E97,U+5E9A,U+5E9C,U+5E9F,U+5EA6,U+5EFA,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F1F,U+5F27,U+5F39,U+5F52-5F53,U+5F69-5F6A,U+5F6C,U+5F7B-5F7C,U+5F85,U+5F88,U+5F8A,U+5F97,U+5FB7,U+5FBD,U+5FC5,U+5FCC,U+5FF1,U+5FFD,U+5FFF-6000,U+6016,U+6020,U+6025,U+602A,U+604D,U+6052,U+6062,U+6068-6069,U+606B,U+606D,U+6076,U+608D,U+6094,U+60A3,U+60B2,U+60B8,U+60BC,U+60D1,U+60E0,U+60E6,U+60E8-60E9,U+60EB,U+60ED-60F0,U+60F6,U+6101,U+611F,U+6124,U+6148,U+614C,U+6167,U+618B,U+61A8,U+61BE,U+61C2,U+61CA,U+6208,U+6210,U+6216,U+6233-6234,U+6237,U+623F,U+6241,U+624D,U+6252-6253,U+626E-626F,U+6273,U+6276,U+627C,U+627F-6280,U+6284,U+628A,U+6296,U+629A,U+62A4-62A5,U+62B1,U+62B5,U+62BD,U+62C2,U+62C5-62C6,U+62CC,U+62D0,U+62D4,U+62DC,U+62E3,U+62E8,U+62F1,U+6301-6302,U+6309,U+6321,U+6324-6325,U+6328,U+632B,U+634C-634D,U+6355,U+6361-6363,U+6376,U+6382,U+6387,U+6389,U+63A3,U+63AA,U+63B8,U+63BA,U+63D2,U+63E3,U+6400-6401,U+640F-6410,U+6413,U+641E,U+642C-642D,U+643D,U+6446,U+6448,U+6467,U+6491,U+64A4,U+64AD-64AE,U+64BC,U+64CD,U+64E6,U+6539,U+653B,U+653E,U+6545,U+654C,U+6556,U+655D-655E,U+6562,U+6566,U+6577,U+658C,U+6591,U+6597,U+65A5,U+65A7,U+65AD,U+65B9,U+65E2,U+65E6,U+65F1,U+6602,U+660C,U+660F,U+6625,U+6643,U+6666,U+6668,U+6697,U+66B4,U+66F4,U+66F9,U+670D,U+671D,U+672C,U+6735,U+673A,U+6746,U+6750-6751,U+675C,U+6760,U+676D,U+676F,U+677F,U+6781,U+6784,U+679C,U+67AB,U+67B6-67B7,U+67C4,U+67CF,U+67D1,U+67DC,U+67E5,U+67EC,U+67F4,U+6807,U+680B,U+6838-6839,U+683C,U+6842,U+6848,U+6853,U+6863,U+6868,U+6886,U+6897,U+68C0,U+68CD,U+68D2,U+68D8,U+68FA,U+6912,U+693D,U+693F,U+695A,U+6982,U+699C,U+69D0,U+69DB,U+69FD,U+6A0A,U+6A2A,U+6A59,U+6A71,U+6B21-6B22,U+6B4C,U+6B64-6B65,U+6B79,U+6B7C,U+6B86,U+6B8B,U+6BB5,U+6BBF,U+6BC1,U+6BD2,U+6BD4-6BD6,U+6BD9,U+6BEB,U+6C1B,U+6C1F,U+6C26,U+6C28,U+6C2E,U+6C47,U+6C49,U+6C57,U+6C5E-6C60,U+6C72,U+6C7E,U+6C89,U+6C9F,U+6CA7,U+6CAA,U+6CB3,U+6CB8,U+6CBD,U+6CCA,U+6CD5,U+6CDB,U+6CE2,U+6CF5,U+6D1E,U+6D2A,U+6D31,U+6D3B,U+6D46-6D47,U+6D4B,U+6D4E,U+6D51,U+6D69,U+6D6E,U+6D77,U+6DA3-6DA4,U+6DA7,U+6DAA,U+6DB5,U+6DB8,U+6DC0,U+6DE1,U+6DEC,U+6DEE,U+6DF3,U+6DF7,U+6E10,U+6E21,U+6E24,U+6E2F,U+6E56,U+6E85,U+6E89,U+6EC1,U+6EC7,U+6ED1,U+6EDA,U+6EE8,U+6EF4,U+6F6E,U+6F84,U+6F88,U+6FB3,U+6FC0,U+6FD2,U+704C,U+706B,U+706F-7070,U+707F,U+708A,U+7092,U+70B3,U+70B9,U+70BD,U+70D8,U+70E6,U+70E9,U+70FD,U+710A,U+7115,U+7119-711A,U+7126,U+714C,U+714E,U+71AC,U+7206,U+7231,U+7236,U+7238-7239,U+7248,U+728A,U+72AF,U+72C4,U+72C8,U+72D0,U+72D7,U+72E0,U+72EC,U+7316,U+731C,U+7334,U+733E,U+73AF,U+73BB,U+73D0,U+73ED,U+745A,U+7470,U+74DC,U+74E3,U+74F7,U+7518,U+752B,U+752D,U+7532,U+7535,U+7538,U+753B,U+7545,U+756A,U+7574,U+7578,U+7586,U+7599,U+75A4,U+75AE-75AF,U+75B5,U+75BE,U+75C5,U+75D5,U+75D8,U+75EA,U+75F4,U+75F9,U+7601,U+7629-762A,U+764C,U+7678,U+767B,U+767D-767E,U+7684,U+7687,U+768B,U+7691,U+76CE,U+76D1-76D2,U+76D6-76D7,U+76EF,U+76FE,U+7763,U+776C,U+7779,U+7785,U+77AA,U+77D7,U+77ED-77EE,U+77FE,U+7840,U+7845,U+7877,U+7889,U+788D,U+7891,U+7898,U+789F,U+78A7,U+78B1,U+78B4,U+78C1,U+78C5,U+78CB,U+78FA,U+7901,U+796D,U+7977-7978,U+798F,U+79BE,U+79C6,U+79C9,U+79E4,U+79EF-79F0,U+79FD,U+7A0B,U+7A17,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A7F,U+7A97,U+7A9C,U+7AEF,U+7AFF,U+7B06,U+7B14,U+7B1B,U+7B26,U+7B28,U+7B2C,U+7B3A,U+7B49,U+7B4F,U+7B54,U+7B56,U+7B79,U+7B80,U+7B8D,U+7B94-7B95,U+7BA1,U+7BAD,U+7BD9,U+7BE1,U+7C07,U+7C27,U+7C3F,U+7C4D,U+7C89,U+7C97,U+7CAA,U+7CB9,U+7CCA,U+7CD5,U+7CD9,U+7E41,U+7EA2,U+7EA7,U+7EAA,U+7EAF,U+7EB2,U+7EB7,U+7EBA,U+7ECA,U+7ED1,U+7ED8-7ED9,U+7EE7,U+7EE9,U+7EF0,U+7EF7-7EF8,U+7F04,U+7F09,U+7F0E,U+7F13-7F14,U+7F16,U+7F1A,U+7F1D,U+7F20,U+7F38,U+7F50,U+7F55,U+7F5A,U+7F62,U+7F94,U+7FB9,U+7FC5,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFB,U+800C,U+8015,U+8017,U+8019,U+8033,U+803B,U+803D,U+803F,U+806A,U+808C,U+809A-809B,U+809D,U+80A0-80A1,U+80A4-80A5,U+80A9-80AA,U+80AE,U+80BA,U+80C6,U+80CC,U+80DE,U+80E1,U+80F3,U+80F6,U+80FA,U+8106,U+810A,U+8116,U+812F,U+8150-8151,U+8179,U+8180,U+818A,U+818F,U+8198,U+81C2,U+81E3,U+81ED,U+822A,U+822C,U+8230-8231,U+8235-8236,U+8239,U+8270,U+827E,U+82AC-82AD,U+82B1,U+82B3,U+82CD,U+82DE-82DF,U+82EF,U+8303,U+8327-8328,U+832C,U+8336,U+8349,U+8350,U+8352,U+835A,U+8361,U+8364,U+8377,U+83B7,U+83C7,U+83CF,U+83DC,U+83E0,U+83F2,U+845B,U+8463,U+846B,U+8471,U+8482,U+848B,U+84D6,U+84DF,U+8521,U+853C-853D,U+8549,U+8584,U+85CF,U+85E9,U+864E,U+866B,U+8679,U+868C,U+8695,U+86CA-86CB,U+86D4,U+86E4,U+86FE,U+8702,U+8749,U+8757,U+8774,U+8776,U+8822,U+8861,U+8865,U+8868,U+886C,U+8884,U+888B,U+88AB,U+88B1,U+88C1,U+88F9,U+8902,U+8910,U+8912,U+8986,U+89C1-89C2,U+89C4,U+89E6,U+8BA1-8BA3,U+8BA5,U+8BB0,U+8BB2-8BB3,U+8BB9,U+8BBD,U+8BBF,U+8BCD,U+8BDA,U+8BDD-8BDE,U+8BE1,U+8BE5,U+8BE7,U+8BF2,U+8BFB,U+8BFD,U+8C03,U+8C0D-8C0E,U+8C17,U+8C24,U+8C37,U+8C41,U+8C46,U+8C62,U+8C6A,U+8C79-8C7A,U+8C89,U+8D1D,U+8D1F,U+8D21-8D22,U+8D25,U+8D27,U+8D29,U+8D2C-8D2D,U+8D2F-8D31,U+8D35,U+8D37,U+8D39-8D3A,U+8D3E-8D3F,U+8D4B-8D4C,U+8D50,U+8D63-8D64,U+8D6B,U+8D74,U+8D76,U+8D81,U+8D85,U+8DCB-8DCC,U+8DDF,U+8DEA,U+8DF5,U+8DFA,U+8E0C,U+8E29,U+8E48,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E87,U+8EAC,U+8EB2,U+8F66,U+8F68,U+8F70,U+8F85,U+8F88-8F8A,U+8F90-8F91,U+8F9C,U+8F9E-8F9F,U+8FA8-8FA9,U+8FAB,U+8FB0,U+8FB9,U+8FBE,U+8FC7,U+8FD4,U+8FD8,U+8FDF,U+8FEA,U+8FED,U+8FF8-8FF9,U+9012,U+9017,U+901B,U+901E,U+9022,U+902E,U+903C,U+9041,U+904D,U+904F,U+9053,U+907F,U+9093,U+90A6,U+90AF,U+90CA,U+90DD,U+90E8,U+90ED,U+90F4,U+90F8,U+90FD,U+9102,U+9119,U+915A,U+9163,U+916C,U+9171,U+9187,U+918B,U+91C7,U+91DC,U+9274,U+9489,U+9492-9493,U+9499,U+949D-949E,U+94A1-94A2,U+94A9,U+94B5,U+94BE,U+94C2,U+94EC,U+94F2,U+9504-9505,U+950B,U+9519,U+9524,U+952D-952E,U+953B,U+9540,U+9550-9551,U+957F,U+95ED,U+95EF,U+95F4,U+95FA,U+9600-9602,U+9610,U+961C,U+961F,U+9632,U+963F,U+9644-9645,U+9648,U+964D,U+965B,U+9661,U+9664,U+9694,U+9698,U+96C6-96C7,U+96CC,U+96CF,U+96D5,U+96F9,U+970D,U+9738,U+975B,U+975E,U+9769,U+9776,U+978D,U+97AD,U+97E9,U+9876,U+987E-987F,U+9881,U+988A,U+989D,U+98A0,U+98A4,U+98CE,U+98DE,U+9910,U+9965,U+996D,U+996F,U+9971,U+9975,U+997C,U+997F,U+9986,U+998B,U+9A70,U+9A73,U+9A7E,U+9A84,U+9A87,U+9A8B,U+9AA8,U+9AB8,U+9AD8,U+9B3C,U+9B42,U+9C8D,U+9CD6,U+9E21,U+9E3D,U+9E3F,U+9E45,U+9E64,U+9EC4,U+9ED1,U+9F0E,U+9F13,U+9F3B,U+9F7F,U+9F9A,U+9F9F`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-2-2a649892.woff2`,bytes:317648,unicodeRange:`U+4E03,U+4E09-4E0A,U+4E14,U+4E16,U+4E18,U+4E24,U+4E27,U+4E34,U+4E3D-4E3E,U+4E43,U+4E45,U+4E48,U+4E50,U+4E52-4E54,U+4E5D-4E5E,U+4E70-4E71,U+4E73,U+4E7E,U+4E86,U+4E8B,U+4E8F,U+4E95,U+4EA2,U+4EA9,U+4EAC,U+4EAE,U+4EB2,U+4EBA,U+4EC0-4EC1,U+4EC5-4EC6,U+4ECA-4ECB,U+4ECD,U+4ED1,U+4ED5,U+4EDF,U+4EE4,U+4EEC,U+4EFB,U+4F01,U+4F1E,U+4F24,U+4F26,U+4F36,U+4F38,U+4F60,U+4F69,U+4F6C,U+4F7F,U+4F8B,U+4F8D,U+4FA3,U+4FA5,U+4FA8-4FA9,U+4FB5,U+4FCA,U+4FCF-4FD0,U+4FE9,U+4FF1,U+5014,U+501F,U+5026,U+502A,U+503E,U+504F,U+5076,U+5080,U+5088,U+50BB,U+50DA,U+50E7,U+50FB,U+5112,U+5121,U+514B,U+514D,U+5162,U+5165,U+5168,U+516D,U+5170,U+5176-5177,U+5185,U+5189,U+5192,U+5195,U+5197,U+519B-519C,U+51B3,U+51B5,U+51B7,U+51C0,U+51C4,U+51C9,U+51CC,U+51DB,U+51DD,U+51ED,U+51EF,U+5203,U+5207,U+520A,U+5217-5218,U+5220,U+5224,U+5228-5229,U+5238-5239,U+523B,U+524D,U+5256,U+5267,U+5269,U+527F,U+5288,U+529B,U+529D,U+52A3,U+52AA-52AB,U+52B1-52B3,U+52BF,U+52C9,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+5321,U+5339-533A,U+533F,U+5341,U+5343,U+5347,U+5356-5357,U+5361-5362,U+5364,U+536F,U+5374-5375,U+5377,U+537F,U+5386,U+5389,U+5398,U+53A9,U+53BB,U+53C1,U+53D6-53D7,U+53DB,U+53E3,U+53E5-53E6,U+53EB,U+53EF,U+53F2,U+540D,U+540F,U+5415,U+5417,U+541B,U+541D,U+542D,U+542F,U+5450,U+5455,U+545B,U+5462,U+5478,U+547B,U+547D,U+5480,U+5486,U+548E,U+5496,U+5499,U+54AF,U+54B3,U+54C1,U+54E6,U+54E8-54EA,U+54ED,U+552E,U+5543,U+5546,U+5564-5566,U+556A,U+556E,U+5580,U+5584,U+5587,U+55B7,U+55D3,U+55DC,U+561B,U+5668,U+566C,U+56B7,U+56BC,U+56CA,U+56DA,U+56F0,U+5703,U+5708,U+5723,U+5747,U+574E,U+5751,U+5757,U+5761,U+5764,U+576A,U+576F,U+5777,U+5783-5784,U+5792,U+57A6,U+57AE,U+57CB,U+57D4,U+57F9,U+5811,U+582A,U+585E,U+5883,U+5892-5893,U+5899,U+58A8,U+58E4,U+58EB-58EC,U+58F0,U+58F3,U+5931,U+5938,U+5947-5948,U+594E,U+5951,U+5962,U+5973-5974,U+5976,U+5982,U+5988,U+598A,U+5999,U+59AE,U+59B9,U+59BB,U+59C6,U+59CB,U+59D0,U+59E5,U+5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A29,U+5A36,U+5A46,U+5A6A,U+5A76,U+5A92,U+5A9A,U+5AC2,U+5AE9,U+5B54,U+5B5F,U+5B6A,U+5B7A,U+5B7D,U+5B81,U+5B88,U+5B9E,U+5BA1-5BA2,U+5BA4,U+5BB9,U+5BBD,U+5BC6-5BC7,U+5BD0,U+5BDD-5BDE,U+5BE5,U+5BFF,U+5C04,U+5C11,U+5C1A,U+5C31,U+5C38,U+5C3C-5C3D,U+5C3F-5C41,U+5C45,U+5C48,U+5C4A,U+5C4E-5C4F,U+5C61,U+5C65,U+5C71,U+5C82,U+5CAD,U+5CBF,U+5CE6,U+5CED,U+5CFB,U+5D0E,U+5D4C,U+5DE7-5DE8,U+5DFE,U+5E02,U+5E08,U+5E15,U+5E18,U+5E3D,U+5E42,U+5E55,U+5E73-5E74,U+5E86,U+5E90,U+5E93,U+5E99,U+5E9E,U+5EB7,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5F00,U+5F03-5F04,U+5F0F,U+5F25,U+5F31,U+5F3A,U+5F55,U+5F6D,U+5F84,U+5F8B,U+5F98,U+5FCD,U+5FD9,U+5FEB,U+5FF5,U+6012,U+6015,U+601C,U+602F,U+6043,U+604B,U+6050,U+6070,U+6073,U+607C,U+6084,U+60A8,U+60AF,U+60C5,U+60CA,U+60E7,U+60F9,U+6127,U+614E,U+6151,U+6155,U+6162,U+6168,U+6177,U+61D2,U+61E6,U+620E,U+6212,U+621A,U+622A,U+622E,U+6247,U+624B,U+6251,U+6254,U+625B,U+6263,U+6266,U+6269,U+626B,U+626D,U+6270,U+6279,U+6289,U+6297,U+629B,U+62A0-62A2,U+62A8,U+62AB,U+62B9,U+62BF,U+62C7-62C9,U+62CD-62CE,U+62D2,U+62D8,U+62DF,U+62E2,U+62E6-62E7,U+62EC-62ED,U+62F3,U+62F7,U+62FC,U+62FE-62FF,U+630E,U+631B,U+6320,U+632A,U+6346,U+634E-6350,U+635E,U+6367,U+636E,U+6377,U+637B,U+6388,U+6390,U+6392,U+6398,U+63A0,U+63A5,U+63A7,U+63B3,U+63C9,U+63CF,U+63E9-63EA,U+63ED,U+63FD,U+6402,U+6405,U+6414,U+6444,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6492,U+64A9,U+64AC,U+64B5,U+64C2,U+64C5,U+64CE,U+64D2,U+6500,U+6518,U+652B,U+6536,U+654F,U+6551,U+6559,U+655B,U+6563,U+656C,U+6572,U+6599,U+65A4,U+65BD,U+65C1,U+65C5,U+65D7,U+65E5,U+65E7,U+65F6-65F7,U+6606,U+660E,U+6627,U+662F,U+664B-664C,U+6652,U+666E-666F,U+6674,U+6676,U+667E,U+6696,U+66AE,U+66DD,U+66F2,U+66FC,U+670B,U+6717,U+671F,U+6728,U+672B,U+6734,U+6740,U+6743,U+6749,U+674E,U+6765,U+6770,U+6797,U+679A,U+67AA,U+67AF,U+67D0,U+67D2-67D4,U+67E0,U+67EF,U+67F3,U+67FF,U+680F,U+6816-6817,U+6846,U+6851,U+6854,U+6865,U+6881,U+6885,U+68A2,U+68A6,U+68A8,U+68C9,U+68CB,U+68DA,U+68EE,U+68F1,U+68F5,U+695E,U+6977,U+697C,U+6994,U+69B4,U+69B7,U+6A21,U+6A47,U+6AAC,U+6B20,U+6B27,U+6B3A,U+6B3E,U+6B49,U+6B67,U+6BB4,U+6BCD,U+6BCF,U+6BD7,U+6BDB,U+6C0F,U+6C11,U+6C13-6C14,U+6C16,U+6C22,U+6C2F-6C30,U+6C42,U+6C55,U+6C5D,U+6C7D,U+6C81,U+6C88,U+6C8F,U+6C99,U+6C9B,U+6CA1,U+6CA4-6CA6,U+6CAB,U+6CAE,U+6CC5,U+6CC9,U+6CCC,U+6CDE,U+6CE1,U+6CE3,U+6CE5,U+6CEA,U+6CFC,U+6D01,U+6D12,U+6D1B,U+6D25,U+6D3D-6D3E,U+6D41,U+6D45,U+6D53,U+6D5A,U+6D66,U+6D6A,U+6D78,U+6D85,U+6D89,U+6D9D,U+6D9F,U+6DA6,U+6DA9,U+6DCB,U+6DD6,U+6DF1,U+6E05,U+6E17,U+6E20,U+6E34,U+6E3A,U+6E43,U+6E7F,U+6E83,U+6E9C,U+6EB6,U+6EBA,U+6EE1,U+6EE4-6EE6,U+6F02,U+6F06,U+6F0F,U+6F13,U+6F20,U+6F2B,U+6F58,U+6F5C,U+6F5E,U+6F66,U+6F8E,U+6F9C,U+7011,U+706D,U+7075,U+7078,U+7089,U+7094-7095,U+70AC,U+70AE-70AF,U+70BC,U+70C2,U+70C8,U+70D9,U+70E4,U+70E7,U+70EC-70ED,U+70F9,U+7136,U+715E,U+7164,U+717D,U+7194,U+71C3,U+71CE,U+722C,U+7235,U+7247,U+724C,U+725B,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+7281,U+72AC,U+72C2,U+72D9,U+72DE,U+72E1,U+72EE,U+72F8,U+72FC,U+730E,U+731B,U+732B,U+7387,U+7396,U+739B,U+73AB,U+73B2,U+73CA,U+7403,U+7405-7406,U+7409,U+7433-7436,U+743C,U+745E-745F,U+7483,U+74E2,U+74E4,U+74F6,U+751A,U+751F,U+7525,U+7533,U+7537,U+754C,U+7554,U+7559,U+7565-7566,U+7597,U+759A,U+759F,U+75A5,U+75B2,U+75BD,U+75C9-75CA,U+75DE,U+75E2,U+7624,U+7638,U+7686,U+76AE,U+76BF,U+76C6,U+76D4,U+76D8,U+76DB,U+76DF,U+76EE,U+76F2,U+76FC,U+7701,U+7709,U+770B,U+7720,U+772F,U+7736-7737,U+775B,U+7766,U+776B,U+7784,U+7792,U+77A5,U+77A7,U+77DB,U+77E2,U+77E9,U+77EB,U+77F3,U+77FF,U+7801-7802,U+780C-780D,U+7812,U+7830,U+7834,U+7837,U+783E,U+786B,U+786E,U+787C,U+788C,U+78B0,U+78BE,U+78CA,U+78D0,U+78D5,U+78E8,U+78F7,U+793A,U+793C,U+793E,U+7941,U+7948,U+795E,U+7968,U+7981,U+7984,U+79BB,U+79BD,U+79CB,U+79D1-79D2,U+79D8,U+79E6,U+79F8,U+7A0D,U+7A46,U+7A76-7A77,U+7A7A,U+7A83,U+7A8D,U+7A96,U+7A98,U+7A9F,U+7AA5,U+7ABF,U+7ACB,U+7ADE-7ADF,U+7AE3,U+7AED,U+7B3C,U+7B4B,U+7B50,U+7B5B,U+7B77,U+7B7E,U+7BA9,U+7BC7,U+7BD3,U+7BEE,U+7BF1,U+7BF7,U+7C73,U+7C7B,U+7C92,U+7C95,U+7CAE,U+7CB1,U+7CB3,U+7CBE,U+7CDC,U+7CE0,U+7CEF,U+7D27,U+7D2F,U+7EA0,U+7EAB,U+7EB1,U+7EB3,U+7EB6,U+7EBD,U+7EC3,U+7EC5,U+7ECD,U+7ECF,U+7ED2-7ED3,U+7ED5,U+7EDC-7EDE,U+7EE2,U+7EF3,U+7EF5,U+7EFF,U+7F05-7F06,U+7F15,U+7F2E,U+7F34,U+7F3A,U+7F57,U+7F8C,U+7F8E,U+7F9A,U+7FA4,U+7FD8,U+8001,U+8003,U+8010,U+802A,U+8042,U+804A-804B,U+8054,U+8058,U+805A,U+8089,U+808B,U+80AF,U+80BE,U+80D6,U+80DA,U+80DC,U+80EF,U+80FD,U+8109,U+8110-8111,U+8113,U+811A,U+8138,U+813E,U+814A,U+8154,U+816E,U+817B,U+819C,U+81A8,U+81B3,U+81FC,U+8205,U+820C-820D,U+826F,U+8272,U+8282,U+828D,U+8292,U+82A5-82A6,U+82B9,U+82D7,U+82DB,U+82E5-82E6,U+82EB,U+82F9,U+8302,U+8304-8305,U+830E,U+832B,U+8338-8339,U+8346,U+8354,U+8363,U+8386,U+8389,U+838E,U+83AB,U+83B1-83B2,U+83BD,U+83CA,U+83CC,U+83E9,U+83F1,U+840C-840D,U+841D,U+8428,U+843D,U+8461,U+8475,U+8499,U+84B2,U+84C9,U+84DD,U+84EC,U+8511,U+8513,U+852B,U+8537,U+854A,U+857E,U+85C9,U+85D0,U+85D5,U+8611,U+864F-8651,U+8671,U+8680,U+8682,U+86C6-86C7,U+86EE,U+871C,U+8721,U+878D,U+879F,U+87BA,U+8815,U+8857,U+886B,U+888D,U+88C2,U+88D9,U+88E4,U+88F3-88F4,U+88F8,U+8925,U+895F,U+89C5-89C6,U+89C8-89C9,U+89D2,U+89E3,U+8A93,U+8B66,U+8B6C,U+8BA4,U+8BA9,U+8BAB,U+8BBA,U+8BBE,U+8BC0,U+8BC4,U+8BC6,U+8BD5,U+8BD7,U+8BEB,U+8BF7,U+8BFA,U+8BFE,U+8C05,U+8C0B,U+8C1C,U+8C26,U+8C28-8C29,U+8C2C,U+8C30-8C31,U+8C34,U+8C8C,U+8D2B,U+8D38,U+8D41-8D42,U+8D4A,U+8D4F,U+8D54,U+8D56,U+8D5B,U+8D61,U+8D66,U+8D77,U+8D8B,U+8DA3,U+8DB4,U+8DD1,U+8DDD,U+8DE8,U+8DEF,U+8E1E,U+8EAB,U+8EAF,U+8F6E-8F6F,U+8F7B,U+8F7F,U+8F83,U+8F86,U+8FA3,U+8FB1,U+8FBD,U+8FC1,U+8FC4,U+8FC8,U+8FD1,U+8FDB,U+8FDE,U+8FEB,U+8FF7,U+9002,U+9006,U+901D,U+903B,U+9063,U+90A3,U+90B1,U+90B5,U+90BB,U+90CE,U+90E1,U+914B,U+914D,U+9152,U+916A,U+9175-9177,U+917F,U+919A-919B,U+91CA,U+91CC,U+91CF,U+91D1,U+948E,U+94A0,U+94A6-94A7,U+94AE,U+94B1,U+94B3,U+94C3,U+94C5-94C6,U+94DD,U+94ED,U+94F0,U+94FA,U+94FE,U+9510,U+951A,U+9523,U+9526,U+952F-9530,U+9539,U+9541,U+954A,U+954D,U+955C,U+9563,U+956D,U+9570,U+95E8,U+95EA,U+95F0,U+95F7,U+95F9,U+95FD,U+9611,U+9614,U+962E,U+9636,U+9646-9647,U+964B-964C,U+9655,U+966A,U+9675,U+9686,U+96B6,U+96BE,U+96C0,U+96F6-96F7,U+9709,U+9713,U+9716,U+9732,U+9739,U+9752,U+9756,U+9759,U+9760-9762,U+9773,U+9798,U+97A0,U+97E7,U+97ED,U+97F6,U+9877,U+9885-9888,U+9891,U+9897,U+98A7,U+98D8,U+98DF,U+9970,U+9976,U+997A,U+9981,U+9988,U+998F,U+9992,U+9996,U+9A6C,U+9A71,U+9A74,U+9A76,U+9A79,U+9A82,U+9A86,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9B41,U+9B44,U+9B54,U+9C81,U+9CA4,U+9CB8,U+9CC3,U+9CDE,U+9E1F,U+9E23,U+9E25,U+9E43,U+9E4A,U+9E4F,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9ECE,U+9ED4,U+9ED8,U+9F50,U+9F84,U+9F8B,U+9F99`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-3-6949c050.woff2`,bytes:311704,unicodeRange:`U+4E00,U+4E07-4E08,U+4E0B,U+4E0E,U+4E13,U+4E1A,U+4E1D,U+4E25,U+4E2B,U+4E2D,U+4E38,U+4E3A-4E3B,U+4E49,U+4E4B-4E4D,U+4E59,U+4E5F-4E61,U+4E66,U+4E88-4E89,U+4E8E,U+4E91,U+4E94,U+4E9A-4E9B,U+4EA1,U+4EA6,U+4EAB,U+4EAD,U+4EBF,U+4ED4,U+4ED6-4ED7,U+4ED9,U+4EE5,U+4EEA,U+4EF0,U+4EF2,U+4F0A,U+4F0D,U+4F11,U+4F17-4F18,U+4F1F,U+4F2A,U+4F3A,U+4F3C,U+4F4D,U+4F4F-4F51,U+4F53,U+4F59,U+4F5C,U+4F63,U+4F6F,U+4F84,U+4F9D,U+4FA0,U+4FA6,U+4FAE,U+4FD7,U+4FDE,U+4FE1,U+4FEE,U+5018,U+501A,U+503A,U+503C,U+505A,U+505C,U+5077,U+50CF,U+50F3,U+5141,U+5143-5144,U+5146,U+5148,U+5154,U+5174,U+5179,U+517B,U+517D,U+518D,U+5199,U+51A4,U+51B6,U+51C6,U+51F6,U+51F8,U+51FF,U+5211,U+5219,U+5236-5237,U+5243,U+524A,U+5254,U+52A1,U+52A9,U+52C7,U+52CB,U+52FF-5300,U+5308,U+531D,U+5323,U+533B,U+5348,U+534F,U+5352-5353,U+5360,U+5367,U+536B,U+5370-5371,U+5378,U+5385,U+538B-538C,U+539F,U+53A2,U+53A6,U+53BF,U+53C8,U+53CB-53CC,U+53D4,U+53D9,U+53EA,U+53EC,U+53F0,U+53F3,U+53F6,U+53F8-53F9,U+5401,U+540C,U+5410-5411,U+5413,U+541E-541F,U+542C,U+542E,U+5431,U+5434,U+5438,U+543B,U+543E,U+5440,U+5458,U+545C,U+5468,U+5473,U+548B,U+548F,U+5492,U+54A8,U+54AC,U+54B1,U+54B8,U+54BD,U+54C7,U+54C9,U+54CD,U+54D1,U+54DF,U+54EE,U+54F2,U+5501,U+5506,U+5510,U+552F,U+553E,U+5544,U+5578,U+557C,U+5582,U+559C,U+55A7,U+55B3,U+55BB,U+55C5,U+55E1,U+55E3,U+55FD,U+5618,U+5631,U+5634,U+5636,U+563B,U+564E,U+566A,U+568F,U+56A3,U+56DB,U+56E0,U+56E2,U+56ED,U+56F4,U+56FE,U+5706,U+571F,U+5728,U+5740,U+574D,U+5750,U+575B,U+575E,U+5760,U+5766,U+578B,U+57A3,U+57DF,U+5802,U+5830,U+584C,U+5851,U+5854,U+5858,U+586B,U+5885,U+589E-589F,U+58EE,U+58F9,U+590F,U+5915-5916,U+591C,U+5929-592A,U+592E,U+5934,U+5937,U+5944,U+594F,U+5957,U+5979,U+5984,U+5986,U+5996,U+59A5,U+59D3-59D4,U+59DA,U+59E8,U+59FB,U+59FF,U+5A01,U+5A03,U+5A31,U+5A49,U+5A74,U+5A7F,U+5AB3,U+5ACC,U+5B50,U+5B55,U+5B57,U+5B59,U+5B5C-5B5D,U+5B66,U+5B70,U+5B83,U+5B85,U+5B87,U+5B8B-5B8C,U+5B97,U+5B99,U+5B9B-5B9C,U+5BA3,U+5BAA,U+5BB0,U+5BB4-5BB5,U+5BBF,U+5BC5,U+5BD3,U+5BE8,U+5BFA-5BFB,U+5C09-5C0A,U+5C0F,U+5C24,U+5C27,U+5C39,U+5C3E,U+5C49,U+5C4B,U+5C51,U+5C55,U+5C5E,U+5C60,U+5C6F,U+5C79,U+5C7F,U+5C81,U+5CA9,U+5CB3,U+5CD9,U+5CE1,U+5CEA,U+5D16,U+5D2D,U+5DCD,U+5DDE,U+5DE1,U+5DE6,U+5DEB,U+5DF2-5DF3,U+5DF7,U+5E05,U+5E0C,U+5E10,U+5E16,U+5E1A,U+5E1C,U+5E27,U+5E2D,U+5E78,U+5E7C-5E7D,U+5E84,U+5E8F,U+5E94,U+5EA7,U+5EAD,U+5EB6,U+5EB8,U+5EF6-5EF7,U+5F02,U+5F15,U+5F20,U+5F26,U+5F2F,U+5F5D,U+5F62,U+5F64,U+5F66,U+5F70-5F71,U+5F79,U+5F80-5F81,U+5F90,U+5F92,U+5FA1,U+5FAA,U+5FAE,U+5FC3,U+5FC6,U+5FD7-5FD8,U+5FE0,U+5FE7,U+5FFB,U+6001-6002,U+600E,U+6014,U+601D,U+6027-6028,U+603B,U+6055,U+6064,U+606C,U+606F,U+607F,U+6089,U+609F-60A0,U+60A6,U+60AC,U+60CB,U+60D5,U+60DC,U+60DF,U+60F3,U+60FA,U+6108-6109,U+610F,U+611A,U+613F,U+6170,U+618E,U+61C8,U+620A,U+620C-620D,U+620F,U+6211,U+6218,U+6240,U+624E,U+6258,U+6267,U+626C,U+627E,U+6291-6293,U+6295,U+6298,U+62AC,U+62BC,U+62C4,U+62D3,U+62D6,U+62D9,U+62DB,U+62E5,U+62E9,U+62EF,U+62F4,U+62FD,U+6307,U+6311,U+6316,U+631A,U+631D-631F,U+6323,U+632F,U+633A,U+633D,U+6342,U+6345,U+6349,U+635F,U+6380,U+638C,U+638F,U+6396,U+63A2,U+63A8-63A9,U+63B7,U+63CD,U+63D0,U+63D6,U+63E1,U+63F4,U+641C,U+642A,U+643A,U+6447,U+644A,U+6454,U+6458,U+6495,U+649E,U+64B0,U+64DE,U+6512,U+652F,U+653F,U+6548,U+6570,U+6574,U+6587,U+658B,U+659C,U+659F,U+65A1,U+65A9,U+65AF-65B0,U+65CB,U+65CF,U+65E0,U+65E8-65E9,U+65EC-65ED,U+65FA,U+6613-6614,U+661F-6620,U+6628,U+662D,U+663C,U+663E,U+6653,U+6655,U+665A,U+6664,U+6670,U+667A,U+6682,U+6687,U+6691,U+66D9,U+66F0,U+66F3,U+66FE-6700,U+6708-6709,U+6714,U+671B,U+672A,U+672D,U+672F,U+6731,U+673D,U+6742,U+674F,U+6756,U+675F,U+6761,U+6768,U+677E,U+6789,U+6790,U+6795,U+679D,U+67A2-67A3,U+67DE,U+67F1,U+6805,U+6808,U+6811,U+6813,U+6821,U+682A,U+6837,U+683D,U+6843,U+6845,U+684C,U+6850,U+6869,U+6876,U+68A7,U+68AD,U+68AF-68B0,U+68B3,U+68D5,U+68E0,U+6905,U+690D-690E,U+692D,U+6930,U+6954,U+6986,U+69A8,U+6A1F,U+6A31,U+6A61,U+6A80,U+6A84,U+6B23,U+6B32,U+6B47,U+6B62-6B63,U+6B66,U+6B6A,U+6B7B,U+6B83,U+6B89-6B8A,U+6B96,U+6BB7,U+6BC5,U+6BCB,U+6BE1,U+6BEF,U+6C27,U+6C34,U+6C38,U+6C40-6C41,U+6C50,U+6C5B,U+6C61,U+6C64,U+6C6A,U+6C70,U+6C79,U+6C82-6C83,U+6CB9,U+6CBB-6CBC,U+6CBE-6CBF,U+6CC4,U+6CE8,U+6CF0,U+6CF3,U+6CFB,U+6CFD,U+6D0B,U+6D17,U+6D32,U+6D3C,U+6D4A,U+6D59,U+6D74,U+6D82,U+6D88,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6DA1,U+6DA8,U+6DAF,U+6DB2,U+6DC4,U+6DC6,U+6DCC,U+6DD1,U+6DD8,U+6DE4,U+6DEB,U+6DF9,U+6DFB,U+6E0A,U+6E0D,U+6E14,U+6E1D,U+6E23,U+6E29,U+6E2D,U+6E38,U+6E4D,U+6E58,U+6E5B,U+6E7E,U+6E90,U+6EA2,U+6EAA,U+6EAF,U+6ECB,U+6ED3-6ED4,U+6EDE,U+6EE9,U+6F14,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F6D,U+6FA1,U+7076,U+707C,U+707E,U+708E,U+7099,U+70AD,U+70B8,U+70C1,U+70C3,U+70DB,U+70DF,U+70EB,U+70EF,U+70F7,U+7109,U+7130,U+7167,U+716E,U+7184,U+718A,U+718F,U+7199,U+719F,U+71D5,U+71E5,U+722A,U+7237,U+723D,U+7259,U+7269,U+7279-727A,U+7280,U+72B6,U+72B9,U+72ED,U+72F0-72F1,U+7329-732A,U+732E,U+733F,U+736D,U+7384,U+7389,U+738B,U+73A9,U+73B0,U+73CD,U+73E0,U+7410,U+7422,U+7476,U+74E6,U+74EE,U+7504,U+751C,U+7528-7529,U+7530-7531,U+754F,U+755C,U+758F,U+7591,U+75A1,U+75AB,U+75B9,U+75BC,U+75C7-75C8,U+75D2,U+75D4,U+75DB,U+75F0,U+761F,U+7626,U+762B,U+7634,U+7663,U+7682,U+7696,U+76B1,U+76C2,U+76C5,U+76C8,U+76CA,U+76CF-76D0,U+76F4,U+76F8,U+771F,U+7728-7729,U+773A,U+773C,U+7740-7741,U+7761,U+778E,U+77A9,U+77AC,U+77B3,U+77BB,U+77E3,U+77E5,U+77FD,U+7814,U+7816,U+781A,U+7827,U+7838,U+7852,U+7855,U+785D,U+786C,U+788E,U+7897,U+78B3,U+7956,U+795D,U+795F,U+7965,U+79B9,U+79C0-79C1,U+79C3,U+79CD,U+79DF,U+79E7,U+79E9,U+79FB,U+7A00,U+7A0E,U+7A1A,U+7A33,U+7A57,U+7A74,U+7A81,U+7A84,U+7A91-7A92,U+7A9D,U+7AD6,U+7AD9,U+7AE0,U+7AE5,U+7AF9,U+7B0B,U+7B11,U+7B51-7B52,U+7B97,U+7BB1,U+7BC6,U+7C7D,U+7C98,U+7C9F,U+7CA4-7CA5,U+7CD6,U+7CDF,U+7CFB,U+7D0A,U+7D20,U+7D22,U+7D2B,U+7D6E,U+7E82,U+7EA4,U+7EA6,U+7EAC,U+7EB5,U+7EB8-7EB9,U+7EBF,U+7EC4,U+7EC6-7EC8,U+7ECE,U+7EDA,U+7EDF,U+7EE3,U+7EE5-7EE6,U+7EEA,U+7EED,U+7EF4,U+7EFC-7EFD,U+7F00,U+7F18,U+7F28-7F29,U+7F51,U+7F69-7F6A,U+7F6E,U+7F72,U+7F8A,U+7F9E,U+7FA1,U+7FBD,U+7FC1,U+7FCC,U+7FD4,U+7FFC,U+8000,U+8005,U+800D,U+8018,U+8036,U+8038,U+804C,U+8083-8084,U+8086-8087,U+8096,U+8098,U+80A2,U+80B2,U+80BF-80C1,U+80C3,U+80CE,U+80F0,U+80F8,U+8102,U+810F,U+8131,U+8146,U+814B,U+8155,U+8165,U+8170,U+817A,U+817E-817F,U+819B,U+819D,U+81C0,U+81C3,U+81C6,U+81EA,U+81F3-81F4,U+81FB,U+8200,U+8206,U+8212,U+8214,U+821C,U+821E-821F,U+8237,U+8247,U+8258,U+8273,U+827A,U+828B,U+829C-829D,U+82AF,U+82BD,U+82C7,U+82CF,U+82D1,U+82D4,U+82F1,U+8301,U+8335,U+8367,U+836B,U+836F,U+83B9,U+8404,U+840E,U+8424-8425,U+8427,U+8457,U+846C,U+849C,U+84B8,U+84C4,U+84D1,U+8517,U+851A,U+852C,U+8574,U+859B,U+85AA,U+85AF,U+85E4,U+85FB,U+8638,U+865A,U+865E,U+867D-867E,U+8681,U+868A,U+869C,U+86A4,U+86C0,U+86D9,U+86DB,U+86F0,U+86F9,U+8700,U+8712,U+8715,U+8717-8718,U+8747,U+874E,U+87F9,U+8840,U+8845,U+884C-884D,U+8854,U+8859,U+8863,U+8870,U+8877,U+8881,U+8892,U+8896,U+889C,U+88AD,U+88C5,U+88D4-88D5,U+892A,U+8944,U+897F,U+8981,U+8A00,U+8A79,U+8A89-8A8A,U+8BA8,U+8BAD-8BAF,U+8BB6,U+8BB8,U+8BBC,U+8BC1,U+8BC5,U+8BC8-8BCA,U+8BCC,U+8BD1,U+8BDB,U+8BE2-8BE3,U+8BE6,U+8BEC-8BED,U+8BEF,U+8BF1,U+8BF4-8BF5,U+8BF8,U+8C01,U+8C06,U+8C08,U+8C0A,U+8C10,U+8C13,U+8C1A,U+8C22-8C23,U+8C2D,U+8C4C,U+8C61,U+8C6B,U+8D1E,U+8D23-8D24,U+8D26,U+8D28,U+8D2A,U+8D2E,U+8D34,U+8D3C,U+8D43-8D44,U+8D4E,U+8D58,U+8D5A,U+8D5E,U+8D60,U+8D62,U+8D70,U+8D75,U+8D8A,U+8D9F,U+8DB3,U+8DBE,U+8DC3,U+8DF3,U+8E0A,U+8E0F,U+8E22,U+8E2A,U+8E44,U+8E4B,U+8E81,U+8EBA,U+8F67,U+8F69,U+8F6C,U+8F74,U+8F7D,U+8F93,U+8F95-8F97,U+8F99,U+8F9B,U+8FC2,U+8FC5,U+8FCE,U+8FD0,U+8FD9,U+8FDC-8FDD,U+8FE2,U+8FF0,U+8FFD,U+9000-9001,U+9003,U+9009-900A,U+900F-9010,U+9014,U+901A,U+901F-9020,U+9038,U+903E,U+9042,U+9047,U+9057,U+9065,U+906D-906E,U+9075,U+9080,U+9091,U+90A2,U+90AA,U+90AE,U+90B9,U+90C1,U+90D1,U+90E7,U+9149,U+914C,U+9157,U+915D-915E,U+9165,U+916E,U+9178,U+9189,U+9192,U+91C9,U+91CD-91CE,U+9488,U+949F,U+94A5,U+94A8,U+94BB,U+94C0-94C1,U+94DC,U+94E1,U+94E3,U+94F1,U+94F6,U+94F8,U+9500-9501,U+9508,U+950C,U+9511,U+9517,U+9521,U+9525,U+9528,U+9547,U+9576,U+95EE,U+95F2,U+95F8,U+95FB,U+9605,U+9609,U+960E,U+9633-9635,U+963B,U+9640,U+9650,U+9662,U+9668-9669,U+9676-9677,U+9685,U+968B,U+968F-9690,U+9699,U+969C,U+96A7,U+96C1,U+96C4-96C5,U+96CD,U+96E8,U+96EA,U+96FE,U+9700,U+9704,U+9707,U+971C,U+971E,U+9774,U+978B,U+97E6,U+97F3,U+97F5,U+9875,U+9879-987B,U+987D,U+9882,U+9884,U+9890,U+9893,U+9896,U+9898,U+989C,U+996E,U+9972,U+9985,U+9999,U+9A6D-9A6F,U+9A7B-9A7C,U+9A8C,U+9AA4,U+9AD3,U+9B03,U+9B4F,U+9C7C,U+9C9C,U+9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E70,U+9ECD,U+9F20`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-4-375dc3b3.woff2`,bytes:257596,unicodeRange:`U+4E0C,U+4E10,U+4E15,U+4E1E,U+4E28,U+4E36,U+4E3F,U+4E47,U+4E5C,U+4E69,U+4E8D,U+4E93,U+4E98,U+4E9F-4EA0,U+4EB3,U+4EB5,U+4EBB,U+4EC2-4EC4,U+4EC9,U+4EDD-4EDE,U+4EE1,U+4EE8,U+4EEB,U+4EF3,U+4EF5,U+4F09,U+4F1B,U+4F22,U+4F25,U+4F27,U+4F2B,U+4F32,U+4F3D,U+4F57-4F58,U+4F5A,U+4F5D-4F5F,U+4F64-4F65,U+4F67,U+4F74,U+4F76,U+4F7B-4F7C,U+4F7E,U+4F83,U+4F89,U+4F8F,U+4F91,U+4F94,U+4FAA,U+4FAC,U+4FC5,U+4FCE,U+4FD1,U+4FDA,U+4FDC,U+4FDF,U+4FE3,U+4FE6,U+4FE8,U+4FEA,U+4FF3,U+4FF8,U+4FFE,U+500C,U+500F,U+501C,U+5025,U+5028-5029,U+502C-502E,U+5043,U+5048,U+504C,U+504E,U+5055,U+506C,U+507B,U+507E,U+50A5,U+50A7,U+50A9,U+50BA,U+50D6,U+50E6,U+50EC-50EE,U+5106-5107,U+510B,U+5140,U+5155-5156,U+516E,U+5181-5182,U+5196,U+51A2,U+51A5,U+51AB,U+51B1,U+51BC-51BD,U+51C7,U+51EB,U+51F5,U+51FC,U+5202,U+5208,U+520D-520E,U+522D,U+5233,U+523F-5240,U+524C,U+525C,U+525E,U+5261,U+527D,U+5281-5282,U+5290,U+5293,U+52A2,U+52AC-52AD,U+52BE,U+52D0,U+52D6,U+52F0,U+52F9,U+530D,U+530F-5310,U+5315,U+531A,U+5326,U+532E,U+533E,U+5345,U+535F,U+5363,U+5366,U+5369,U+536E,U+537A,U+538D,U+539D,U+53A3,U+53A5,U+53AE,U+53B6,U+53DF,U+53E8-53E9,U+53F1,U+53F5,U+53FB,U+53FD,U+5406,U+5412,U+5416,U+5421,U+5423,U+5432,U+5443,U+544B,U+5452-5454,U+5456-5457,U+5459,U+5464,U+5466,U+5471-5472,U+5476-5477,U+5482,U+5484,U+5494,U+549A-549B,U+549D,U+54A3-54A4,U+54A6-54A7,U+54A9-54AA,U+54AD,U+54B4,U+54BB,U+54BF,U+54C2,U+54CC,U+54CF-54D0,U+54D2-54D5,U+54D9-54DA,U+54DC-54DE,U+54E7,U+54F3,U+54FD,U+54FF,U+550F,U+5511,U+5514,U+551B,U+5520,U+5522-5523,U+5527,U+552A,U+5530,U+5533,U+5537,U+553C,U+553F,U+5541,U+5549,U+5550,U+5555-5556,U+555C,U+5567,U+556C-556D,U+5575-5577,U+557B,U+557E,U+5581,U+5583,U+5588,U+558B,U+558F,U+5591,U+5594,U+5599,U+559F,U+55B1,U+55B5,U+55B9,U+55BD-55BE,U+55C4,U+55C9,U+55CC-55CD,U+55D1-55D2,U+55D4,U+55D6,U+55DD,U+55DF,U+55E4-55E6,U+55E8,U+55EA-55EC,U+55EF,U+55F2-55F3,U+55F5,U+55F7,U+55FE,U+5600-5601,U+5608,U+560C,U+560F,U+561E-561F,U+5623-5624,U+5627,U+562C-562D,U+5639,U+564C-564D,U+5654,U+5657-5659,U+565C,U+5662,U+5664,U+5669,U+566B,U+5671,U+567B-567C,U+5685-5686,U+5693,U+56AF,U+56D4,U+56D7,U+56DD,U+56DF,U+56E1,U+56EB,U+56F5,U+56F9,U+56FF,U+5704,U+5709-570A,U+571C,U+5729-572A,U+572C,U+572E-572F,U+5733,U+5739,U+573B,U+5742,U+574C,U+575C,U+5768-5769,U+576B,U+576D,U+5773,U+5776,U+577B-577C,U+5785-5786,U+578C,U+5793,U+57A0-57A1,U+57A4,U+57A7,U+57A9,U+57AD,U+57B2,U+57B4,U+57B8,U+57CF,U+57D2,U+57D5,U+57D8-57DA,U+57DD,U+57E4,U+57ED,U+57EF,U+57F4,U+57F8,U+57FD,U+5800,U+5807,U+580B,U+580D,U+5819,U+581E,U+5820,U+5844,U+5865,U+586C,U+587E,U+5880-5881,U+5889,U+589A,U+58BC,U+58C5,U+58D1,U+5902,U+5914,U+5919,U+5924-5925,U+592D,U+593C,U+5941-5942,U+5955,U+5958,U+595A,U+5B34,U+5B5B,U+5B6C,U+5C22,U+5C25,U+5C2C,U+5C34,U+5C7A,U+5C88,U+5C8C-5C8D,U+5C90-5C91,U+5C96,U+5C98-5C9A,U+5C9C,U+5CA2-5CA3,U+5CAB-5CAC,U+5CB1,U+5CB5,U+5CB7,U+5CBD,U+5CC1,U+5CC4,U+5CCB,U+5CD2,U+5CE4-5CE5,U+5D02-5D03,U+5D06,U+5D1B,U+5D1E,U+5D24,U+5D26-5D27,U+5D2E,U+5D34,U+5D3D-5D3E,U+5D4A-5D4B,U+5D58,U+5D5B,U+5D5D,U+5D69,U+5D6B-5D6C,U+5D6F,U+5D74,U+5D82,U+5D99,U+5D9D,U+5DB7,U+5DC5,U+5DEF,U+5DFD,U+5E0F,U+5E11,U+5E14,U+5E19,U+5E31,U+5E37,U+5E3B-5E3C,U+5E44,U+5E54,U+5E5B,U+5E5E,U+5E61,U+5E80,U+5E8B,U+5E91,U+5E96,U+5EA0,U+5EA5,U+5EB3,U+5EB5,U+5EB9,U+5EBE,U+5ED1-5ED2,U+5EDB,U+5EE8,U+5EEA,U+5EF4,U+5EFE-5EFF,U+5F01,U+5F08,U+5F0B,U+5F11,U+5F61,U+5F73,U+5F77,U+5F82,U+5F87,U+5F89,U+5F8C,U+5F95,U+5F99,U+5F9C,U+5FA8,U+5FAD,U+5FB5,U+5FBC,U+5FD2,U+61FF,U+624C,U+626A,U+629F,U+62BB,U+62CA,U+62D7,U+62DA,U+62EE,U+62F6,U+6322,U+6339,U+6343,U+634B,U+6369,U+636D,U+6371,U+637A,U+638A,U+638E,U+63AC-63AE,U+63B4,U+63BC,U+63BE,U+63C4,U+63C6,U+63CE,U+63DE,U+63E0,U+63F2,U+63F6,U+63F8,U+63FF,U+640B-640C,U+641B,U+6420-6421,U+6426,U+6441,U+6445,U+6452,U+645E,U+646D,U+647A,U+6484,U+6496,U+6499,U+64B7-64B8,U+64BA,U+64C0,U+64D0,U+64D7,U+64E2,U+64E4,U+6509,U+6525,U+652E,U+6538,U+6BD3,U+6C10,U+6C3D,U+6C46,U+71EE,U+723B,U+72AD,U+72B0,U+72B4,U+72B7-72B8,U+72C1,U+72C3,U+72CD-72CE,U+72D2,U+72E8-72E9,U+72EF,U+72F2-72F4,U+72F7,U+72FA-72FB,U+7301,U+7303,U+730A,U+7313,U+7315,U+7317,U+731D-731E,U+7321-7322,U+7325,U+732C,U+7331,U+7338-7339,U+734D,U+7350,U+7357,U+7360,U+736C,U+736F,U+737E,U+750D,U+7519,U+755A,U+777E,U+77A2,U+77CD,U+7980,U+79BA,U+7C74,U+7F54,U+7FB8,U+8037,U+80E4,U+8114,U+81BA,U+821B,U+8279,U+827D,U+827F,U+8284,U+8288,U+828A,U+828E-828F,U+8291,U+8297-8299,U+829F,U+82A1,U+82A4,U+82A8-82AB,U+82AE,U+82B0,U+82B4,U+82B7-82B8,U+82BE,U+82C1,U+82C4,U+82C8,U+82CA-82CC,U+82CE,U+82D2-82D3,U+82D5,U+82D8,U+82DC,U+82E0-82E1,U+82E3-82E4,U+82F4,U+82F7,U+82FB,U+8306-8309,U+830C,U+830F,U+8311,U+8314-8315,U+8317,U+831A-831C,U+832D,U+832F,U+8331,U+8333-8334,U+833A,U+833C,U+8340,U+8343,U+8347,U+834F,U+8351,U+835B-835C,U+835E-8360,U+8365-8366,U+8368-836A,U+836C-836E,U+8378,U+837B-837D,U+8385,U+8392-8393,U+8398,U+839B-839C,U+839E,U+83A0,U+83A8-83AA,U+83B0,U+83B3-83B4,U+83B6,U+83B8,U+83BA,U+83BC,U+83C0-83C1,U+83C5,U+83D4,U+83D6,U+83D8,U+83DD,U+83DF,U+83E1,U+83E5,U+83EA,U+83F0,U+83F8-83F9,U+83FD,U+8401,U+8403,U+8406,U+840B,U+840F,U+8411,U+8418,U+841C,U+8426,U+8431,U+8438,U+843C,U+8446,U+8451,U+8459-845A,U+845C,U+8469,U+846D,U+8473,U+8476,U+8478,U+847A,U+8487-8489,U+848C,U+848E,U+8497,U+84A1,U+84AF,U+84B4,U+84B9-84BA,U+84BD,U+84BF,U+84C1,U+84CA,U+84CD,U+84D0,U+84D3,U+84E0,U+84E3,U+84E5-84E6,U+84F0,U+84FC,U+84FF,U+850C,U+851F,U+8538-853B,U+8543,U+8548,U+8556,U+8559,U+855E,U+8564,U+8568,U+8572,U+8579-857B,U+8585,U+8587,U+858F,U+859C,U+85A4,U+85A8,U+85AE,U+85B0,U+85B7,U+85B9,U+85C1,U+85D3,U+85DC,U+85FF,U+8605,U+8616,U+8627,U+8629,U+863C,U+8803,U+8862,U+886E,U+88A4,U+88D2,U+8A07,U+8BA0,U+8BA6-8BA7,U+8BAA,U+8BB4-8BB5,U+8BB7,U+8BC2-8BC3,U+8BCB,U+8BCE-8BCF,U+8BD2-8BD4,U+8BD6,U+8BD8-8BD9,U+8BDC,U+8BDF-8BE0,U+8BE4,U+8BE8-8BE9,U+8BEE,U+8BF0,U+8BF3,U+8BF6,U+8BF9,U+8BFC,U+8BFF-8C00,U+8C02,U+8C04,U+8C07,U+8C0C,U+8C0F,U+8C11-8C12,U+8C14-8C16,U+8C18-8C19,U+8C1B,U+8C1D,U+8C1F-8C21,U+8C25,U+8C27,U+8C2A-8C2B,U+8C2E-8C2F,U+8C32-8C33,U+8C35-8C36,U+8C73,U+8D53,U+8D5C-8D5D,U+8F94,U+9097,U+9099,U+909B,U+909D,U+90A1,U+90AC,U+90B0,U+90B3-90B4,U+90B6,U+90B8,U+90BA,U+90BE,U+90C4-90C5,U+90C7,U+90CF-90D0,U+90D3,U+90D7,U+90DB-90DC,U+90E2,U+90E6,U+90EB,U+90EF,U+90FE,U+9104,U+911E,U+9122-9123,U+912F,U+9131,U+9139,U+9143,U+9146,U+961D,U+9621-9622,U+962A,U+9631,U+963C-963D,U+9642,U+9649,U+9654,U+965F,U+9667,U+966C,U+9672,U+9674,U+9688,U+968D,U+9697,U+96B0,U+9765,U+98E7,U+9963,U+9967-996C,U+9974,U+9977,U+997D,U+9980,U+9984,U+9987,U+998A,U+998D,U+9990-9991,U+9993-9995,U+9997-9998,U+99A8,U+9B2F,U+9B32,U+9EC9,U+9F10,U+9F17,U+9F19,U+9FA0`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-5-d0359bbc.woff2`,bytes:278908,unicodeRange:`U+4E2C,U+5216,U+54AB,U+584D,U+5981,U+5983,U+598D,U+5997,U+599E,U+59A3-59A4,U+59A9-59AB,U+59AF,U+59B2,U+59BE,U+59CA,U+59D2,U+59D7-59D8,U+59DD,U+59E3,U+59F9,U+5A05-5A06,U+5A08-5A09,U+5A0C,U+5A11,U+5A13,U+5A23,U+5A32,U+5A34,U+5A3C,U+5A40,U+5A4A,U+5A55,U+5A62,U+5A67,U+5A75,U+5A77,U+5A7A,U+5A9B,U+5AAA,U+5AB2,U+5AB5,U+5AB8,U+5ABE,U+5AD2,U+5AD4,U+5AD6,U+5AD8,U+5ADC,U+5AE0,U+5AE3,U+5AE6,U+5AEB,U+5AF1,U+5B09,U+5B16-5B17,U+5B32,U+5B37,U+5B40,U+5B51,U+5B53,U+5B5A,U+5B62,U+5B65,U+5B71,U+5B73,U+5B80,U+5B84,U+5B93,U+5B95,U+5BA5,U+5BB8,U+5BE4,U+5BEE,U+5BF0,U+5C15,U+5C1C,U+5C3B,U+5C50,U+5C59,U+5C63,U+5C66,U+5C6E,U+5DDB,U+5E7A,U+5F29-5F2A,U+5F2D,U+5F3C,U+5F40,U+5F50,U+5F56-5F58,U+5FC4,U+5FC9,U+5FCF-5FD1,U+5FD6,U+5FDD,U+5FE1,U+5FE4,U+5FEA,U+5FED-5FEE,U+5FF8,U+5FFE,U+6003-6006,U+600A,U+600D,U+600F,U+6019,U+601B,U+6021,U+6026,U+6029,U+602B,U+6035,U+603C,U+603F,U+6041-6042,U+6059-605A,U+605D,U+6063,U+6067,U+606A,U+6078-607B,U+607D,U+6083,U+608C,U+6092,U+6096,U+609A-609B,U+609D,U+60AB,U+60AD,U+60B1,U+60B4,U+60BB,U+60C6,U+60D8,U+60DA,U+60DD,U+60EC,U+60F4,U+6100,U+6106,U+610D-610E,U+6115,U+6120,U+6123,U+6126,U+612B,U+614A,U+615D,U+6175,U+6194,U+619D,U+61A7,U+61A9,U+61AC,U+61B7,U+61CB,U+61D1,U+61D4,U+61F5,U+6206,U+620B,U+6215,U+6217,U+621B,U+621F,U+6221-6222,U+6224-6225,U+622C,U+623D-623E,U+6243,U+6248-6249,U+6308,U+6332,U+63B0,U+6434,U+643F,U+64D8,U+6534-6535,U+6555,U+656B,U+6590,U+6593,U+65AB,U+65BC,U+65C3-65C4,U+65C6,U+65CC,U+65CE,U+65D2,U+65D6,U+65EE-65F0,U+6600,U+6603,U+660A,U+6615,U+6619,U+661D,U+6631,U+6634-6636,U+6641,U+664F,U+6654,U+6656-6657,U+665F,U+6661,U+6677,U+6684,U+668C,U+669D,U+66A7,U+66B9,U+66BE,U+66DB-66DC,U+66E6,U+66E9,U+66F7,U+670A,U+6710,U+6715,U+6726,U+6748,U+674C,U+6753,U+675E,U+6769-676A,U+6772-6773,U+6775,U+6777,U+677C,U+6787,U+678B,U+6798,U+679E,U+67A5,U+67A7-67A8,U+67AD,U+67B0,U+67B3,U+67B5,U+67B8,U+67C1,U+67C3,U+67D8-67DA,U+67DD,U+67E2,U+67E9,U+67F0,U+67FD,U+6800,U+6809-680A,U+680C,U+680E,U+681D,U+6829,U+6832-6833,U+683E,U+6840-6841,U+6844,U+6849-684A,U+684E,U+6855,U+6860-6862,U+6864,U+6866-6867,U+686B,U+6874,U+6877,U+6883,U+688F,U+6893,U+68B5,U+68C2,U+68E3,U+68F0,U+68F9,U+68FC,U+6901,U+690B,U+6910,U+691F-6920,U+6924,U+6934,U+6939,U+6942,U+6957,U+695D,U+6960,U+6963,U+6966,U+696B,U+696E,U+6971,U+6978-6979,U+6980,U+6984,U+6987-6989,U+698D,U+6995,U+6998,U+699B,U+69A7,U+69AB,U+69AD,U+69B1,U+69BB,U+69C1,U+69CA,U+69CC,U+69CE,U+69D4,U+69DF-69E0,U+69ED,U+69F2,U+69FF,U+6A17-6A18,U+6A28,U+6A2F,U+6A35,U+6A3D-6A3E,U+6A44,U+6A50,U+6A58,U+6A5B,U+6A65,U+6A79,U+6A7C,U+6A8E,U+6A90-6A91,U+6A97,U+6AA0,U+6AA9,U+6AAB,U+6B24,U+6B37,U+6B39,U+6B43,U+6B46,U+6B59,U+6B81-6B82,U+6B84,U+6B87,U+6B8D,U+6B92-6B93,U+6B9A-6B9B,U+6BA1,U+6BAA,U+6BB3,U+6BC2,U+6BEA,U+6BF3,U+6BF5,U+6BF9,U+6BFD,U+6C05-6C07,U+6C0D,U+6C15,U+6C18-6C1A,U+6C21,U+6C24,U+6C29-6C2A,U+6C32,U+6C35,U+6C4A,U+6C54,U+6C5C,U+6C68-6C69,U+6C74,U+6C76,U+6C85-6C86,U+6C8C,U+6C90,U+6C93-6C94,U+6CA3,U+6CA9,U+6CAD,U+6CB1-6CB2,U+6CD0,U+6CD3-6CD4,U+6CD6-6CD7,U+6CE0,U+6CEB,U+6CEE-6CEF,U+6CF1,U+6CF6-6CF8,U+6CFA,U+6CFE,U+6D04,U+6D07,U+6D0C,U+6D0E,U+6D19-6D1A,U+6D27,U+6D2B,U+6D2E,U+6D33,U+6D35,U+6D39,U+6D43,U+6D48,U+6D4D,U+6D4F,U+6D52,U+6D54,U+6D5C,U+6D5E,U+6D60,U+6D63,U+6D6F,U+6D7C,U+6D91,U+6D93-6D94,U+6D9E,U+6DA0,U+6DAB,U+6DAE,U+6DBF,U+6DC5,U+6DC7,U+6DD9,U+6DDD-6DDE,U+6DE0,U+6DE6,U+6DFC,U+6E0C,U+6E0E,U+6E11,U+6E16,U+6E1A,U+6E25,U+6E2B,U+6E32,U+6E44,U+6E4E,U+6E53-6E54,U+6E5F,U+6E6B,U+6E6E,U+6E86,U+6E8F,U+6E98,U+6E9F,U+6EA5,U+6EA7,U+6EB1-6EB2,U+6EB4,U+6EB7,U+6EBB,U+6EBD,U+6EC2,U+6ECF,U+6ED5,U+6ED7,U+6EDF-6EE0,U+6EE2,U+6EF9,U+6F09,U+6F15,U+6F24,U+6F29-6F2A,U+6F2D,U+6F2F,U+6F36,U+6F46-6F47,U+6F4B,U+6F62,U+6F72,U+6F74,U+6F78,U+6F7A,U+6F7C,U+6F89,U+6F8C-6F8D,U+6FA7,U+6FB6,U+6FB9,U+6FC2,U+6FC9,U+6FD1,U+6FDE,U+6FE0-6FE1,U+6FEE-6FEF,U+701A-701B,U+7023,U+7035,U+7039,U+704F,U+705E,U+706C,U+7080,U+7085,U+7096,U+709C-709D,U+70AB,U+70B1,U+70B7,U+70BB,U+70C0,U+70CA,U+70E8,U+7110,U+7113,U+7116,U+7118,U+712F,U+7131,U+7145,U+714A,U+715C,U+7166,U+7168,U+7172-7173,U+7178,U+717A,U+7198,U+71A0,U+71A8,U+71B3,U+71B5,U+71B9,U+71D4,U+71E0,U+71E7,U+71F9,U+721D,U+7228,U+7230,U+723F,U+724D,U+7252,U+7256,U+725D,U+7266,U+726E-726F,U+727E-727F,U+7284,U+728B,U+728D,U+728F,U+7292,U+729F,U+7337,U+7352,U+738E,U+7391,U+739F,U+73A2,U+73AE,U+73B3,U+73B7,U+73BA,U+73C0,U+73C2,U+73C8-73C9,U+73CF,U+73D1,U+73D9,U+73DE,U+73E5,U+73E7,U+73E9,U+73F2,U+740A,U+740F,U+741A-741B,U+7425-7426,U+7428,U+742A,U+742C,U+742E,U+7430,U+7441,U+7455,U+7457,U+7459,U+745B-745C,U+746D,U+7477,U+747E,U+7480-7481,U+7487,U+748B,U+748E,U+7490,U+749C,U+749E,U+74A7-74A9,U+74BA,U+74D2,U+74EF,U+74F4,U+74FF,U+750F,U+7511,U+7513,U+752F,U+753E,U+757F,U+77F6,U+77F8,U+7800,U+7809,U+7811,U+7817-7818,U+781C-781D,U+782D,U+793B,U+7940,U+7946,U+7949,U+7953,U+7957,U+795A-795C,U+7960,U+7962,U+7967,U+796F,U+797A,U+7985,U+798A,U+799A,U+79A7,U+79B3,U+7E9F,U+7EA1,U+7EA3,U+7EA5,U+7EA8-7EA9,U+7EAD,U+7EB0,U+7EBE,U+7EC0-7EC2,U+7EC9,U+7ECB-7ECC,U+7ED0,U+7ED4,U+7ED7,U+7EDB,U+7EE0-7EE1,U+7EE8,U+7EEB,U+7EEE-7EEF,U+7EF1-7EF2,U+7EF6,U+7EFA-7EFB,U+7EFE,U+7F01-7F03,U+7F07-7F08,U+7F0B-7F0D,U+7F0F,U+7F11-7F12,U+7F17,U+7F19,U+7F1B-7F1C,U+7F1F,U+7F21-7F27,U+7F2A-7F2D,U+7F2F-7F33,U+7F35,U+7FBC,U+8004,U+8006,U+807F-8080,U+8093,U+809C,U+809F,U+80AB,U+80AD,U+80B1,U+80B4,U+80B7,U+80BC-80BD,U+80C2,U+80C4,U+80CD,U+80D7,U+80D9,U+80DB,U+80DD,U+80E7-80ED,U+80F1-80F2,U+80F4,U+80FC,U+810D-810E,U+8112,U+8118,U+811E,U+812C,U+8132,U+8136,U+8148,U+814C,U+8153,U+8159-815A,U+8160,U+8167,U+8169,U+816D,U+8171,U+8174,U+817C-817D,U+8182,U+8188,U+8191,U+81A3,U+81A6,U+81AA,U+81BB,U+81C1,U+81CA,U+81CC,U+81E7,U+8274,U+8662,U+8930,U+89C7,U+89CA-89CC,U+89CE-89D1,U+89F3,U+8B07,U+8C5A,U+8D32-8D33,U+8D36,U+8D3B,U+8D3D,U+8D40,U+8D45-8D49,U+8D4D,U+8D55,U+8D59,U+8E47,U+8ECE,U+8F6B,U+8F6D,U+8F71-8F73,U+8F75-8F7A,U+8F7C,U+8F7E,U+8F81-8F82,U+8F84,U+8F87,U+8F8B,U+8F8D-8F8F,U+8F98,U+8F9A,U+8FB6,U+8FD3,U+8FD5,U+8FE4-8FE6,U+8FE8-8FE9,U+8FEE,U+8FF3,U+9004-9005,U+900B,U+900D,U+9011,U+9016,U+9021,U+9026,U+902D,U+902F,U+9035-9036,U+9044,U+9050-9052,U+9058,U+905B,U+9062,U+9068,U+9074,U+907D,U+9082-9083,U+9088,U+908B,U+9095,U+95E9,U+95EB,U+95F1,U+95F3,U+95F5-95F6,U+95FC,U+95FE,U+9603-9604,U+9606,U+9608,U+960A-960D,U+960F,U+9612,U+9615-9617,U+9619-961A,U+96B3,U+97EA-97EC,U+987C,U+98D1-98D3,U+98D5,U+98D9-98DA,U+9A75,U+9A77-9A78,U+9A7A,U+9A7D,U+9A7F-9A81,U+9A85,U+9A88,U+9A8A,U+9A90,U+9A92-9A93,U+9A96,U+9A98,U+9A9B-9AA0,U+9AA2-9AA3,U+9AA5,U+9AA7,U+9B3B,U+9F51`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-6-a238b41c.woff2`,bytes:307604,unicodeRange:`U+5D47,U+6549,U+659B,U+66A8,U+74DE,U+74E0,U+752C,U+753A,U+7540,U+7548,U+754B,U+754E,U+755B,U+7572,U+7579,U+7583,U+758B,U+7592,U+7594,U+7596,U+759D,U+75A0,U+75A3,U+75AC,U+75B0-75B1,U+75B3-75B4,U+75B8,U+75C2-75C4,U+75CD,U+75D6,U+75E3-75E4,U+75E6-75E8,U+75EB,U+75F1,U+75FC,U+75FF-7600,U+7603,U+7605,U+760A,U+760C,U+7610,U+7615,U+7617-7619,U+761B,U+7620,U+7622,U+7625,U+762D,U+7630,U+7633,U+7635,U+763C,U+763E-7640,U+7643,U+764D,U+7654,U+7656,U+765C,U+765E,U+766B,U+766F,U+7688,U+768E,U+7693,U+7699,U+76A4,U+76B2,U+76B4,U+76CD,U+76E5,U+76F1,U+76F9,U+7704,U+7707-7708,U+770D,U+7719-771A,U+7722,U+7726,U+772D,U+7735,U+7738,U+7743,U+7747,U+7750-7751,U+775A,U+7762,U+7765,U+7768,U+777D,U+777F-7780,U+778C-778D,U+7791,U+779F-77A0,U+77B0,U+77B5,U+77BD,U+77BF,U+77DC,U+77E7,U+77EC,U+781F,U+7823,U+7825-7826,U+7829,U+782C,U+7839-783C,U+7847,U+784C,U+784E,U+7850,U+7856-7857,U+786A,U+786D,U+7887,U+7893,U+789A-789C,U+78A1,U+78A3,U+78A5,U+78B2,U+78B9,U+78C9,U+78D4,U+78D9,U+78EC,U+78F2,U+78F4,U+7905,U+7913,U+791E,U+7924,U+7934,U+79D5,U+79E3,U+79EB,U+79ED,U+7A02-7A03,U+7A06,U+7A14,U+7A1E,U+7A23,U+7A37,U+7A39,U+7A51,U+7A70,U+7A78-7A79,U+7A80,U+7A86,U+7A88,U+7A95,U+7AA0,U+7AA6,U+7AA8,U+7AAC-7AAD,U+7AB3,U+7AE6,U+7AFA,U+7AFD,U+7B03-7B04,U+7B08,U+7B0A,U+7B0F,U+7B15,U+7B19,U+7B1E,U+7B20,U+7B24-7B25,U+7B2A-7B2B,U+7B2E,U+7B31,U+7B33,U+7B38,U+7B3E,U+7B45,U+7B47,U+7B4C,U+7B58,U+7B5A,U+7B5D,U+7B60,U+7B62,U+7B6E,U+7B71-7B72,U+7B75,U+7B7B,U+7B85,U+7B90,U+7B9C-7B9D,U+7BA2,U+7BA6-7BA8,U+7BAA-7BAC,U+7BB4,U+7BB8,U+7BC1,U+7BCC,U+7BD1,U+7BDA,U+7BDD,U+7BE5-7BE6,U+7BEA,U+7BFC,U+7BFE,U+7C0B-7C0C,U+7C0F,U+7C16,U+7C1F,U+7C26,U+7C2A,U+7C38,U+7C40-7C41,U+7C7C,U+7C91,U+7C9C-7C9E,U+7CA2,U+7CB2,U+7CBC-7CBD,U+7CC1,U+7CC5,U+7CC7-7CC8,U+7CCC-7CCD,U+7CD7,U+7CE8,U+7CF8,U+7D77,U+7DA6,U+7DAE,U+7E3B,U+7E47,U+7E9B,U+7F36,U+7F42,U+7F44-7F45,U+7F58,U+7F5F,U+7F61,U+7F68,U+7F71,U+7F74,U+7F79,U+7F7E,U+7F81,U+7F9D,U+7F9F,U+7FA7,U+7FAF-7FB0,U+7FB2,U+7FBF,U+7FCA,U+7FCE,U+7FD5,U+7FE1,U+7FE5-7FE6,U+7FE9,U+7FEE,U+7FF3,U+800B,U+8012,U+8014,U+8016,U+801C,U+8020,U+8022,U+8025-8029,U+8031,U+8035,U+8043,U+8046,U+804D,U+8052,U+8069,U+8071,U+80E5,U+81EC,U+81FE,U+8201-8202,U+8204,U+8210,U+8221-8223,U+8228,U+822B,U+822D,U+822F,U+8233-8234,U+8238,U+823B,U+823E,U+8244,U+8249,U+824B,U+824F,U+825A,U+825F,U+8268,U+826E,U+864D,U+8654,U+866C,U+866E,U+867A-867C,U+867F,U+868B,U+868D,U+8693,U+869D,U+86A3,U+86A7-86AA,U+86AC,U+86AF-86B1,U+86B4-86B6,U+86BA,U+86C4,U+86C9,U+86CE-86D1,U+86D8,U+86DE-86DF,U+86E9,U+86ED,U+86F1-86F4,U+86F8,U+8703,U+8707-870A,U+870D,U+8713,U+871A,U+871E,U+8722-8723,U+8725,U+8729,U+872E,U+8731,U+8734,U+8737,U+873B,U+873E-873F,U+8748,U+874C,U+8753,U+8759,U+8760,U+8763-8765,U+876E,U+8770,U+877B-877E,U+8782-8783,U+8785,U+8788,U+878B,U+8793,U+8797,U+87A8,U+87AB-87AD,U+87AF,U+87B3,U+87B5,U+87BD,U+87C0,U+87C6,U+87CA-87CB,U+87D1-87D3,U+87DB,U+87E0,U+87E5,U+87EA,U+87EE,U+87FE,U+880A,U+8813,U+8816,U+881B,U+8821,U+8832,U+8839,U+883C,U+8844,U+8864,U+8869,U+8872,U+887D-887F,U+8882,U+8885,U+8888,U+88A2,U+88B7,U+88BC,U+88C6,U+88C9,U+88CE,U+88D8,U+88DF,U+88E2-88E3,U+88E5,U+88E8,U+88F0-88F1,U+88FC,U+88FE,U+890A,U+8913,U+8919-891B,U+8921,U+892B,U+8934,U+8936,U+8941,U+895E,U+8966,U+897B,U+8983,U+89D6,U+89DA,U+89DC,U+89DE,U+89E5,U+89EB,U+89EF,U+8A3E,U+8A48,U+8B26,U+8C47,U+8C49,U+8C55,U+8C78,U+8C82,U+8C85,U+8C8A,U+8C94,U+8C98,U+8D67,U+8D6D,U+8D73,U+8D84,U+8D91,U+8D94,U+8DB1,U+8DB5,U+8DB8,U+8DBA,U+8DBC,U+8DBF,U+8DC4,U+8DC6,U+8DCE-8DCF,U+8DD6-8DD7,U+8DDA-8DDB,U+8DDE,U+8DE3-8DE4,U+8DEB-8DEC,U+8DF7-8DF9,U+8DFB,U+8DFD,U+8E05,U+8E09,U+8E14,U+8E1D,U+8E1F,U+8E23,U+8E2C,U+8E2E-8E2F,U+8E31,U+8E35,U+8E39-8E3A,U+8E3D,U+8E40-8E42,U+8E49-8E4A,U+8E51-8E52,U+8E59,U+8E69,U+8E6F-8E70,U+8E74,U+8E76,U+8E7C,U+8E85,U+8E8F-8E90,U+8E94,U+8E9C,U+8E9E,U+914A,U+914E-9150,U+9161-9162,U+9164,U+9169,U+916F-9170,U+9172,U+9174,U+9179,U+917D-917E,U+9185,U+918C-918D,U+9190-9191,U+91A2-91A3,U+91AA,U+91AD-91AF,U+91B4-91B5,U+91BA,U+928E,U+92AE,U+92C8,U+933E,U+936A,U+938F,U+93CA,U+93D6,U+943E,U+946B,U+9485-9487,U+948A-948D,U+948F-9490,U+9494-9495,U+9497,U+949A-949C,U+94A3-94A4,U+94AA-94AD,U+94AF-94B0,U+94B2,U+94B4,U+94B6-94BA,U+94BC-94BD,U+94BF,U+94C4,U+94C8-94CE,U+94D0-94D2,U+94D5-94D9,U+94DB,U+94DE-94E0,U+94E2,U+94E4-94E5,U+94E7-94EB,U+94EE-94EF,U+94F3-94F5,U+94F7,U+94F9,U+94FC-94FD,U+94FF,U+9502-9503,U+9506-9507,U+9509-950A,U+950D-950F,U+9512-9516,U+9518,U+951B,U+951D-951F,U+9522,U+9529-952C,U+9531-9532,U+9534-9538,U+953A,U+953C,U+953E-953F,U+9542,U+9544-9546,U+9549,U+954C,U+954E-954F,U+9552-9554,U+9556-9559,U+955B,U+955D-955F,U+9561-9562,U+9564-956C,U+956F,U+9571-9573,U+96B9,U+96BC-96BD,U+96C9,U+96CE,U+96D2,U+96E0,U+96E9,U+96EF,U+96F3,U+9701,U+9706,U+9708,U+970E-970F,U+972A,U+972D,U+9730,U+973E,U+9753,U+977C,U+9785,U+9791-9792,U+9794,U+97A3,U+97AB,U+97AF,U+97B2,U+97B4,U+9878,U+9880,U+9883,U+9889,U+988C-988D,U+988F,U+9894,U+989A-989B,U+989E-989F,U+98A1-98A2,U+98A5-98A6,U+98E8,U+990D,U+992E,U+9954-9955,U+99A5,U+9AB0-9AB1,U+9AB6-9AB7,U+9ABA,U+9ABC,U+9AC0-9AC2,U+9AC5,U+9ACB-9ACC,U+9AD1,U+9ADF,U+9AE1,U+9AE6,U+9AEB,U+9AED,U+9AEF,U+9AF9,U+9AFB,U+9B08,U+9B0F,U+9B13,U+9B1F,U+9B23,U+9B43,U+9B45,U+9B47-9B49,U+9B4D,U+9B51,U+9C7F,U+9C82,U+9C85-9C88,U+9C8B,U+9C8E,U+9C90-9C92,U+9C94-9C95,U+9C9A-9C9B,U+9C9E-9CA3,U+9CA5-9CA9,U+9CAB,U+9CAD-9CAE,U+9CB0-9CB7,U+9CBA-9CBD,U+9CC4-9CC7,U+9CCA-9CD0,U+9CD3-9CD5,U+9CD7-9CD9,U+9CDC-9CDD,U+9CDF,U+9CE2,U+9E20,U+9E22,U+9E28-9E2C,U+9E31-9E32,U+9E36-9E3A,U+9E3E,U+9E41-9E42,U+9E44,U+9E46-9E49,U+9E4B-9E4C,U+9E4E,U+9E51,U+9E55,U+9E57-9E58,U+9E5A-9E5C,U+9E5E,U+9E63,U+9E66-9E6D,U+9E71,U+9E73,U+9E7E,U+9E82,U+9E87-9E88,U+9E8B,U+9E92,U+9E9D,U+9E9F,U+9EB4,U+9EB8,U+9EBD-9EBE,U+9ECF,U+9EDB-9EDD,U+9EDF-9EE0,U+9EE2,U+9EE5,U+9EE7,U+9EE9-9EEA,U+9EEF,U+9EF9,U+9EFB-9EFC,U+9EFE,U+9F0B,U+9F0D,U+9F22,U+9F2C,U+9F2F,U+9F37,U+9F39,U+9F3D-9F3E,U+9F44,U+9F80,U+9F83,U+9F85-9F8A,U+9F8C,U+9F9B`})]),vc=`'Aha Hand Latin','Aha Hand','Segoe Print','Ink Free','Bradley Hand','Chalkboard SE','Noteworthy','Comic Sans MS','LXGW WenKai','Kaiti SC','STKaiti','KaiTi','楷体',cursive`,yc=`${_c.map(e=>`@font-face{font-family:'${e.family}';font-style:normal;font-weight:400;font-display:swap;src:url('api/aha-tutor/font?f=${e.file}') format('woff2');unicode-range:${e.unicodeRange}}`).join(`
265
+ `}function mc({speech:e,onChange:t,onNarration:n,now:r=()=>performance.now(),frame:i,cancelFrame:a,startIndex:o=0}){let s=i??(e=>requestAnimationFrame(e)),c=a??(e=>cancelAnimationFrame(e)),l=[],u=!1,d=1,f=null,p=null,m=new Set,h={index:Math.max(0,o),op:0,progress:0,sentence:0,status:`idle`},g=()=>{if(!p?.synced||h.status!==`playing`&&h.status!==`paused`)return[];let e=Math.max(0,p.sentences.length-1);return p.step.ops.filter((t,n)=>n<=h.op&&Math.min(t.at,e)===h.sentence).map(e=>e.t===`mark`?e.ref:e.id)},_=()=>({...h,total:l.length,complete:u,rate:d,step:l[h.index]??null,now:g()}),v=()=>t?.(_());function y(){f!==null&&c(f),f=null}function b(){y(),e?.cancel?.();let t=l[h.index];if(!t){h.status=u?`ended`:`buffering`,v();return}h.op=0,h.progress=0,h.sentence=0,h.status=`playing`;let i=fc(t,{rate:d}),a=Ns(t.say).map(As),o=!!t.say&&t.ops.some(e=>Number.isInteger(e.at));p={step:t,timing:i,startedAt:r(),elapsedBefore:0,speechDone:!t.say,silentUntil:null,token:{},sentences:a,exactSentence:!1,synced:o,written:0,lastTime:0,finishAt:null};let s=p.token;t.say&&((e?.speak(As(t.say),{rate:d,sentences:a,onSentence:e=>{!p||p.token!==s||(p.exactSentence=!0,h.sentence!==e&&(h.sentence=e,v()))}})??{done:Promise.resolve({silent:!0})}).done.then(e=>{!p||p.token!==s||(e?.silent||e?.error?p.silentUntil=lc(t.say,d)*.8:p.speechDone=!0,n?.(e))}),e?.prefetch?.(As(l[h.index+1]?.say??``))),v(),C()}function x(e){let t=p?.sentences??[];if(t.length<2)return 0;if(p.speechDone)return t.length-1;let n=lc(p.step.say,d),r=t.map(e=>[...e].length),i=r.reduce((e,t)=>e+t,0)||1,a=0;for(let t=0;t<r.length;t+=1)if(a+=r[t],e<a/i*n)return t;return t.length-1}function S(){return p?p.elapsedBefore+(h.status===`playing`?r()-p.startedAt:0):0}function C(){f=s(T)}function w(e,t,n){if(!p.synced)return e;let r=Math.max(0,e-p.lastTime);p.lastTime=e;let i=Math.max(0,p.sentences.length-1),a=p.speechDone?1/0:t,o=0,s=0;for(;o<n.length&&Math.min(p.step.ops[o].at,i)<=a;)s+=n[o],o+=1;return p.written=Math.min(p.written+r,s),p.written}function T(){if(f=null,h.status!==`playing`||!p)return;let e=S(),t=p.timing.writeMs;p.silentUntil!==null&&e>=p.silentUntil&&(p.speechDone=!0);let n=p.exactSentence?h.sentence:x(e),r=w(e,n,t),i=0,a=t.length,o=1;for(let e=0;e<t.length;e+=1){if(r<i+t[e]){a=e,o=t[e]?(r-i)/t[e]:1;break}i+=t[e]}let s=a!==h.op||Math.abs(o-h.progress)>.002||n!==h.sentence;if(h.op=a,h.sentence=n,h.progress=Math.min(1,Math.max(0,o)),a>=t.length&&p.speechDone&&(p.finishAt??=p.synced?e+450:i+450,e>=p.finishAt)){E();return}s&&v(),C()}function E(){let e=l[h.index];if(h.op=e?.ops.length??0,h.progress=1,e?.check&&!m.has(e.check.id)){h.status=`check`,v();return}D()}function D(){h.index+=1,b()}return{get state(){return _()},setSteps(e,{done:t=!1}={}){l=e,u=t,h.status===`buffering`&&l[h.index]?b():(h.status===`buffering`&&u&&(h.status=`ended`),v())},play(){if(h.status!==`playing`){if(h.status===`paused`&&p){h.status=`playing`,p.startedAt=r(),e?.resume?.(),v(),C();return}h.status===`ended`&&(h.index=0),h.status!==`check`&&b()}},pause(){h.status!==`playing`||!p||(p.elapsedBefore=S(),h.status=`paused`,y(),e?.pause?.(),v())},toggle(){h.status===`playing`?this.pause():this.play()},next(){let t=l[h.index];h.status===`check`&&t?.check&&m.add(t.check.id),t&&(y(),e?.cancel?.(),D())},prev(){y(),e?.cancel?.();let t=h.op===0&&h.progress<.05;h.index=Math.max(0,Math.min(l.length-1,t?h.index-1:h.index)),b()},seek(t){y(),e?.cancel?.(),h.index=Math.min(Math.max(0,t),Math.max(0,l.length)),b()},answer(e){m.add(e),h.status===`check`&&D()},setRate(t){let n=Math.min(2,Math.max(.5,Number(t)||1));if(p&&h.status===`playing`){let e=S(),t=d/n;p.elapsedBefore=e*t,p.startedAt=r(),p.timing=fc(p.step,{rate:n}),p.written*=t,p.lastTime=p.elapsedBefore,p.finishAt=null}d=n,e?.setRate?.(n),v()},insertAfterCurrent(e){if(!e?.length)return l;let t=Math.min(l.length,h.index+1);return l=[...l.slice(0,t),...e,...l.slice(t)],v(),l},dispose(){y(),e?.cancel?.(),p=null}}}function hc(e,t,n,r=!1){if(!n)return[];if(!e.some(e=>Number.isInteger(e.goal)))return null;if(r)return Array(n).fill(`done`);let i=Array(n).fill(-1);e.forEach((e,t)=>{Number.isInteger(e.goal)&&e.goal<n&&(i[e.goal]=Math.max(i[e.goal],t))});let a=e[t]?.goal;return i.map((e,n)=>a===n?`current`:e>=0&&t>e?`done`:`todo`)}function gc(e,t,n=[]){let r=[],i=e=>e.kind===`question`||e.kind===`correction`?e.kind:`reexplain`,a=new Set,o=e=>n.find(t=>e.startsWith(`${t.id}_`));e.forEach((e,n)=>{if(!(n>t)){if(e.aside){let t=o(e.id);t&&!a.has(t.id)&&(a.add(t.id),r.push({key:`${t.id}:ask`,kind:i(t),text:t.label,stepIndex:n,aside:!0}))}e.say&&r.push({key:e.id,kind:`say`,text:e.say,stepIndex:n,aside:e.aside===!0})}});for(let e of n)e.streaming&&!e.steps.length&&r.push({key:`${e.id}:ask`,kind:i(e),text:e.label,stepIndex:-1,aside:!0,pending:!0});return r}function _c({label:e}){return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),e?(0,i.jsx)(`span`,{className:`aha-hint`,children:e}):null]})}function vc({value:e}){return(0,i.jsx)(`div`,{className:`aha-progress`,children:(0,i.jsx)(`div`,{style:{width:`${Math.max(0,Math.min(100,e))}%`}})})}function yc({progress:e,label:t,onCancel:n}){let{t:r}=v(),a=e?.total?Math.round(e.done/e.total*100):0;return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:6},children:[(0,i.jsx)(_c,{label:t}),e?.total?(0,i.jsx)(vc,{value:a}):null,n?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:n,children:r(`cancel`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:r(`keepsRunning`)})]}):null]})}function bc({title:e,onClose:t,children:n,footer:r,width:a}){return(0,i.jsx)(`div`,{className:`aha-modalBack`,onMouseDown:e=>{e.target===e.currentTarget&&t?.()},children:(0,i.jsxs)(`div`,{className:`aha-modal`,role:`dialog`,"aria-label":e,style:a?{width:`min(${a}px,100%)`}:void 0,children:[e?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,"aria-label":`close`,children:`✕`})]}):null,n,r?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`flex-end`},children:r}):null]})})}function xc({text:e,onConfirm:t,onCancel:n,danger:r=!1}){let{t:a}=v();return(0,i.jsx)(bc,{title:a(`confirm`),onClose:n,footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:n,children:a(`cancel`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":r?`danger`:`primary`,onClick:t,children:a(`confirm`)})]}),children:(0,i.jsx)(`p`,{children:e})})}function Sc(e,t){let n=String(t?.code??``).replace(/^aha-tutor\//u,``),r=`err_${n}`;return n&&e(r)!==r?e(r):e(`errorGeneric`,{message:t?.message??String(t)})}function $({error:e,style:t,reveal:n=!1}){let{t:a}=v(),o=(0,r.useRef)(null);return(0,r.useEffect)(()=>{n&&e&&o.current?.scrollIntoView?.({block:`nearest`})},[n,e]),e?(0,i.jsx)(`div`,{ref:o,className:`aha-error`,role:`alert`,style:t,title:e.message??void 0,children:Sc(a,e)}):null}function Cc({children:e}){return(0,i.jsx)(`div`,{className:`aha-empty`,children:e})}function wc(){let{api:e}=v(),[t,n]=(0,r.useState)(null),[i,a]=(0,r.useState)(null);async function o(t){try{let n=await fetch(new URL(`api/aha-tutor/upload?name=${encodeURIComponent(t.name)}`,document.baseURI),{method:`POST`,credentials:`same-origin`,headers:{"content-type":t.type||`application/octet-stream`},body:t});if(n.status!==404){let t=await n.json();if(!t?.ok)throw new u(t?.error?.code??`failed`,t?.error?.message??`Upload failed`);return(await e.follow(t.value)).material}}catch(e){if(e?.message!==`Failed to fetch`)throw e}let n=await p(t);return(await e.run(`material/upload`,{name:t.name,base64:n})).material}async function s(e){let t=[];a(null);for(let r of e){n(r.name);try{t.push(await o(r))}catch(e){a(e)}}return n(null),t}async function c(t){n(t),a(null);try{return[(await e.run(`material/url`,{url:t})).material]}catch(e){return a(e),[]}finally{n(null)}}return{upload:s,addUrl:c,busy:t,error:i}}function Tc({onAdded:e,compact:t=!1}){let{t:n}=v(),a=(0,r.useRef)(null),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(!1),{upload:u,addUrl:d,busy:f,error:p}=wc(),m=async t=>{let n=await u([...t]);n.length&&e?.(n)};return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-empty`,style:{padding:t?14:24,borderColor:c?`var(--aha-brand)`:void 0,cursor:`pointer`},onClick:()=>a.current?.click(),onDragOver:e=>{e.preventDefault(),l(!0)},onDragLeave:()=>l(!1),onDrop:e=>{e.preventDefault(),l(!1),m(e.dataTransfer.files)},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[(0,i.jsx)(me,{name:`upload`}),n(`dropHere`)]}),(0,i.jsx)(`input`,{ref:a,type:`file`,multiple:!0,accept:`.pdf,.docx,.pptx,.md,.markdown,.txt,.csv,.json,.tex,.py,.js,.ts,.html,.png,.jpg,.jpeg,.webp,.gif`,hidden:!0,onChange:e=>{m(e.currentTarget.files),e.currentTarget.value=``}})]}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:async t=>{if(t.preventDefault(),!o.trim())return;let n=await d(o.trim());n.length&&(s(``),e?.(n))},children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:o,placeholder:n(`urlPlaceholder`),onChange:e=>s(e.currentTarget.value)}),(0,i.jsxs)(`button`,{type:`submit`,className:`aha-btn`,disabled:!o.trim()||!!f,children:[(0,i.jsx)(me,{name:`link`}),n(`addUrl`)]})]}),f?(0,i.jsx)(_c,{label:`${n(`reading`)} ${f}`}):null,(0,i.jsx)($,{error:p})]})}function Ec({selected:e,onChange:t,onClose:n}){let{api:r,t:a}=v(),o=y(()=>r.call(`material/list`),[]),s=n=>t(e.includes(n)?e.filter(e=>e!==n):[...e,n].slice(0,8));return(0,i.jsxs)(bc,{title:a(`pickMaterials`),onClose:n,width:640,footer:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:n,children:a(`confirm`)}),children:[(0,i.jsx)(Tc,{compact:!0,onAdded:n=>{o.reload(),t([...e,...n.map(e=>e.id)].slice(0,8))}}),o.loading&&!o.value?(0,i.jsx)(_c,{label:a(`loading`)}):null,(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6,maxHeight:320,overflow:`auto`},children:(o.value??[]).map(t=>(0,i.jsxs)(`label`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:10},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:e.includes(t.id),onChange:()=>s(t.id)}),(0,i.jsxs)(`span`,{className:`aha-col`,style:{gap:0},children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`small`,{children:Dc(t,a)})]})]},t.id))})]})}function Dc(e,t){let n=[e.kind.toUpperCase()];return e.pages&&n.push(t(`pages`,{count:e.pages})),e.slides&&n.push(t(`slides`,{count:e.slides})),e.kind===`image`&&n.push(t(`imageNeedsVision`)),n.join(` · `)}function Oc({sources:e}){return(0,i.jsx)(`ol`,{className:`aha-sourceList`,children:(e??[]).filter(e=>/^https?:\/\//iu.test(String(e?.url??``))).map(e=>(0,i.jsxs)(`li`,{children:[(0,i.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,children:e.title||e.url}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,new URL(e.url).hostname]}),e.snippet?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.snippet}):null]},e.url))})}function kc({title:e,emoji:t}){return e?(0,i.jsxs)(`span`,{className:`aha-hint`,title:e,children:[` · `,t?`${t} `:``,$s(e)]}):null}function Ac({value:e,stage:t,label:n}){let r=t===`none`?0:Math.round((Number(e)||0)/20),a=n?t===`none`?n:`${n} · ${Math.round(e??0)}%`:`${Math.round(e??0)}%`;return(0,i.jsx)(`span`,{className:`aha-meter`,title:a,"aria-label":a,role:`img`,"data-stage":t,children:[0,1,2,3,4].map(e=>(0,i.jsx)(`i`,{"data-on":e<r},e))})}function jc(e){return navigator.clipboard?.writeText(e).catch(()=>void 0)}let Mc=Object.freeze([`choice`,`multi`,`blank`,`number`,`order`]),Nc=/[!-~]/gu;function Pc(e){return String(e??``).normalize(`NFKC`).replace(Nc,e=>String.fromCharCode(e.charCodeAt(0)-65248)).toLowerCase().replace(/[\s ]+/gu,` `).replace(/^[\s.,;:!?'"`,。;:!?、“”‘’]+|[\s.,;:!?'"`,。;:!?、“”‘’]+$/gu,``).trim()}function Fc(e){if(typeof e==`number`)return e;let t=Pc(e).replace(/,/gu,``).replace(/\s/gu,``),n=/^(-?\d+(?:\.\d+)?)\/(\d+(?:\.\d+)?)$/u.exec(t);if(n)return Number(n[1])/Number(n[2]);let r=/^(-?\d+(?:\.\d+)?)%$/u.exec(t);if(r)return Number(r[1])/100;let i=Number(t);return Number.isFinite(i)?i:NaN}function Ic(e,t){if(!e||!Mc.includes(e.kind))return{score:0,correct:!1,gradable:!1};if(e.kind===`choice`){let n=String(t??``)===String(e.answer??``);return{score:+!!n,correct:n,gradable:!0}}if(e.kind===`multi`){let n=new Set((Array.isArray(e.answer)?e.answer:[e.answer]).map(String)),r=new Set((Array.isArray(t)?t:[]).map(String));if(!n.size)return{score:0,correct:!1,gradable:!1};let i=0,a=0;for(let e of r)n.has(e)?i+=1:a+=1;let o=Math.max(0,(i-a)/n.size),s=i===n.size&&a===0;return{score:Lc(o),correct:s,gradable:!0}}if(e.kind===`order`){let n=(Array.isArray(e.answer)?e.answer:[]).map(String),r=(Array.isArray(t)?t:[]).map(String);if(!n.length)return{score:0,correct:!1,gradable:!1};let i=0;return n.forEach((e,t)=>{r[t]===e&&(i+=1)}),{score:Lc(i/n.length),correct:i===n.length,gradable:!0}}if(e.kind===`number`){let n=Fc(e.answer),r=Fc(t);if(!Number.isFinite(n))return{score:0,correct:!1,gradable:!1};if(!Number.isFinite(r))return{score:0,correct:!1,gradable:!0};let i=Number.isFinite(Number(e.tolerance))&&Number(e.tolerance)>=0?Number(e.tolerance):Math.max(1e-9,Math.abs(n)*.01),a=Math.abs(r-n)<=i;return{score:+!!a,correct:a,gradable:!0}}let n=(Array.isArray(e.answer)?e.answer:[e.answer]).map(Pc).filter(Boolean);if(!n.length)return{score:0,correct:!1,gradable:!1};let r=Pc(t),i=n.includes(r);if(i)return{score:1,correct:i,gradable:!0};let a=Fc(t),o=n.map(Fc).filter(Number.isFinite);return Number.isFinite(a)&&o.some(e=>Math.abs(e-a)<=Math.max(1e-9,Math.abs(e)*.001))?{score:1,correct:!0,gradable:!0}:{score:0,correct:!1,gradable:!0}}function Lc(e){return Math.round(e*100)/100}function Rc({text:e,compact:t=!1,streaming:n=!1}){let{t:o}=v(),s=(0,r.useMemo)(()=>({code:{copyLabel:o(`copyCode`),copiedLabel:o(`copied`)},footnotes:o(`footnotes`)}),[o]);return(0,i.jsx)(`div`,{className:`aha-markdown`,children:(0,i.jsx)(a.MarkdownText,{text:String(e??``),labels:s,streaming:n,variant:t?`compact`:`body`})})}let zc=[[`sure`,`confSure`],[`unsure`,`confUnsure`],[`guess`,`confGuess`]];function Bc({item:e,language:t,onResult:n,onContinue:a,continueLabel:o,askConfidence:s=!0,compact:c=!1,keyboard:l=!1}){let{api:u,t:d}=v(),[f,p]=(0,r.useState)(e.kind===`multi`||e.kind===`order`?[]:``),[m,h]=(0,r.useState)(null),[g,_]=(0,r.useState)(0),[y,b]=(0,r.useState)(null),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(null),[T,E]=(0,r.useState)(!1),D=(0,r.useRef)(Date.now());(0,r.useEffect)(()=>{p(e.kind===`multi`||e.kind===`order`?e.kind===`order`?e.options.map(e=>e.id):[]:``),h(null),_(0),b(null),w(null),E(!1),D.current=Date.now()},[e]);let ee=e.kind===`multi`?f.length>0:e.kind===`order`||String(f).trim()!==``,te=ee&&(!s||m);async function ne(){if(!te||y||x)return;let r=Date.now()-D.current,i;if(e.kind===`short`||e.kind===`work`){S(!0),w(null);try{let n=await u.call(`lesson/grade`,{item:{kind:e.kind,prompt:e.prompt,answer:e.answer,rubric:e.rubric},response:f,language:t});i={score:n.score,correct:n.verdict===`correct`,partial:n.verdict===`partial`,feedback:n.feedback,errorTag:n.errorTag,misconception:n.misconception},e.kind===`work`&&Object.assign(i,{wrongStep:n.wrongStep??``,why:n.why??``,fix:n.fix??``})}catch(e){w(e),S(!1);return}S(!1)}else{let t=Ic(e,f);i={score:t.score,correct:t.correct,partial:!t.correct&&t.score>0,errorTag:t.correct?``:Uc(e,f)}}let a={...i,response:typeof f==`string`?f:void 0,confidence:m??void 0,timeMs:r,hintsUsed:g};b(a),n?.(a)}let re=e=>p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),ie=(0,r.useRef)(null);ie.current={result:y,ready:te,answered:ee,confidence:m,hints:g,submit:ne,toggle:re,onContinue:a},(0,r.useEffect)(()=>{if(!l)return;let t=t=>{if(t.defaultPrevented||t.metaKey||t.ctrlKey||t.altKey||t.isComposing)return;let n=ie.current,r=t.target,i=r instanceof HTMLElement&&(/^(input|textarea|select)$/iu.test(r.tagName)||r.isContentEditable);if(t.key===`Enter`){if(i)return;n.result?n.onContinue&&(t.preventDefault(),n.onContinue()):n.ready?(t.preventDefault(),n.submit()):n.answered&&s&&!n.confidence&&E(!0);return}if(!(i||n.result))if(/^[1-9]$/u.test(t.key)&&(e.kind===`choice`||e.kind===`multi`)){let r=e.options[Number(t.key)-1];if(!r)return;t.preventDefault(),e.kind===`multi`?n.toggle(r.id):p(r.id)}else(t.key===`h`||t.key===`H`)&&n.hints<(e.hints?.length??0)&&(t.preventDefault(),_(e=>e+1))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[l,e,s]);let O=(e,t)=>p(n=>{let r=[...n],i=e+t;return i<0||i>=r.length?n:([r[e],r[i]]=[r[i],r[e]],r)}),k=t=>{if(y)return(Array.isArray(e.answer)?e.answer:[e.answer]).includes(t.id)?`right`:(Array.isArray(f)?f.includes(t.id):f===t.id)?`wrong`:void 0};return(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:c?8:12},children:[(0,i.jsx)(Rc,{text:e.prompt,compact:!0}),e.svg?(0,i.jsx)(Vc,{svg:e.svg}):null,e.kind===`choice`||e.kind===`multi`?(0,i.jsx)(`div`,{className:`aha-col aha-options`,style:{gap:6},"data-grid":e.options.every(e=>e.text.length<=22),children:e.options.map(t=>{let n=e.kind===`multi`?f.includes(t.id):f===t.id,r=k(t);return(0,i.jsx)(`button`,{type:`button`,className:`aha-option`,"data-active":n,disabled:!!y,style:r===`right`?{borderColor:`var(--aha-ok)`}:r===`wrong`?{borderColor:`var(--aha-bad)`}:void 0,onClick:()=>e.kind===`multi`?re(t.id):p(t.id),children:(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8,flexWrap:`nowrap`},children:[(0,i.jsxs)(`b`,{children:[t.id.toUpperCase(),`.`]}),(0,i.jsx)(Rc,{text:t.text,compact:!0})]})},t.id)})}):null,e.kind===`order`?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:f.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{flexDirection:`row`,alignItems:`center`,gap:8},children:[(0,i.jsx)(`span`,{style:{flex:1},children:(0,i.jsx)(Rc,{text:e.options.find(e=>e.id===t)?.text??t,compact:!0})}),y?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>O(n,-1),"aria-label":d(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>O(n,1),"aria-label":d(`moveDown`),children:`↓`})]})]},t))}):null,e.kind===`blank`||e.kind===`number`?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:360},value:f,disabled:!!y,placeholder:d(`yourAnswer`),inputMode:e.kind===`number`?`decimal`:void 0,onChange:e=>p(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&ne()}}),e.unit?(0,i.jsx)(`span`,{className:`aha-hint`,children:e.unit}):null]}):null,e.kind===`short`?(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:f,disabled:!!y,placeholder:d(`yourAnswer`),onChange:e=>p(e.currentTarget.value)}):null,e.kind===`work`?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:6},children:[(0,i.jsx)(`textarea`,{className:`aha-textarea aha-work`,rows:6,value:f,disabled:!!y,placeholder:d(`workPlaceholder`),onChange:e=>p(e.currentTarget.value)}),!y&&/\$[^$\n]+\$/u.test(f)?(0,i.jsx)(`div`,{className:`aha-workPreview`,"aria-label":d(`workPreview`),children:f.split(`
266
+ `).filter(e=>e.trim()).map((e,t)=>(0,i.jsx)(Rc,{text:e,compact:!0},t))}):null]}):null,e.hints?.length&&!y?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[e.hints.slice(0,g).map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-hint`,children:[`💡 `,e]},t)),g<e.hints.length?(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>_(e=>e+1),children:[d(`hint`),` (`,g+1,`/`,e.hints.length,`)`]})}):null]}):null,s&&!y?(0,i.jsxs)(`div`,{className:`aha-row aha-confidence`,style:{gap:6},"data-nudge":T&&!m?`true`:void 0,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:d(`confidence`)}),zc.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":m===e,onClick:()=>{h(e),E(!1)},children:d(t)},e))]}):null,(0,i.jsx)($,{error:C}),y?(0,i.jsxs)(`div`,{className:`aha-feedback`,"data-ok":y.correct?`true`:y.partial?void 0:`false`,children:[(0,i.jsx)(`b`,{children:y.correct?d(`correct`):y.partial?d(`partial`):d(`incorrect`)}),y.feedback?(0,i.jsx)(Rc,{text:y.feedback,compact:!0}):null,e.explanation?(0,i.jsx)(Rc,{text:e.explanation,compact:!0}):null,y.wrongStep?(0,i.jsxs)(`div`,{className:`aha-wrongStep`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:d(`wrongStep`)}),(0,i.jsx)(Rc,{text:y.wrongStep,compact:!0}),y.fix?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:d(`fixedStep`)}),(0,i.jsx)(Rc,{text:y.fix,compact:!0})]}):null]}):null,e.kind!==`short`&&e.kind!==`work`&&!y.correct?(0,i.jsx)(`div`,{className:`aha-hint`,children:Hc(e)}):null]}):null,(0,i.jsxs)(`div`,{className:`aha-row aha-itemActions`,children:[y?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!te||x,onClick:ne,children:x?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),d(`grading`)]}):d(`submit`)}),y&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:a,children:o??d(`continue`)}):null,!y&&a?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:a,children:d(`skip`)}):null]})]})}function Vc({svg:e}){let t=(0,r.useMemo)(()=>Wo(e),[e]);return t?(0,i.jsx)(`div`,{className:`aha-itemFigure`,dangerouslySetInnerHTML:{__html:t}}):null}function Hc(e){return e.kind===`choice`?`✔ ${e.answer.toUpperCase()}. ${e.options.find(t=>t.id===e.answer)?.text??``}`:e.kind===`multi`?`✔ ${e.answer.map(e=>e.toUpperCase()).join(`, `)}`:e.kind===`order`?`✔ ${e.answer.map(t=>e.options.find(e=>e.id===t)?.text??t).join(` → `)}`:e.kind===`number`?`✔ ${e.answer}${e.unit?` ${e.unit}`:``}`:e.kind===`blank`?`✔ ${e.answer.join(` / `)}`:``}function Uc(e,t){return e.kind===`choice`?`chose ${String(t).toUpperCase()}: ${(e.options.find(e=>e.id===t)?.text??``).slice(0,50)}`:e.kind===`number`||e.kind===`blank`?`answered ${String(t).slice(0,40)}`:`wrong`}let Wc=[[`thinking`,`prepThinking`],[`writing`,`prepWriting`]];function Gc(e){if(!((e?.thinking??0)>0))return null;let t=Wc.findIndex(([t])=>t===e.phase);return Wc.map(([e,n],r)=>({name:e,key:n,state:r<t?`done`:r===t?`now`:`next`}))}function Kc({prep:e,label:t,first:n,hand:a=!0}){let{t:o}=v(),[s,c]=(0,r.useState)(()=>performance.now());(0,r.useEffect)(()=>{if(!n)return;let e=setInterval(()=>c(performance.now()),1e3);return()=>clearInterval(e)},[n]);let l=e.phase??`starting`,u=n?Gc(e):null,d=Math.max(0,Math.round(((e.elapsedMs??0)+s-(e.receivedAt??s))/1e3));return(0,i.jsxs)(`div`,{className:`aha-prep`,role:`status`,"aria-live":`polite`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8,flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),(0,i.jsx)(`b`,{children:t})]}),n?(0,i.jsx)(`span`,{className:`aha-hint`,children:o(`prepSeconds`,{seconds:d})}):null]}),u?(0,i.jsx)(`ol`,{className:`aha-prepStages`,children:u.map(e=>(0,i.jsx)(`li`,{"data-state":e.state,children:o(e.key)},e.name))}):null,(0,i.jsx)(`div`,{className:`aha-prepNow`,children:l===`writing`?(0,i.jsxs)(i.Fragment,{children:[o(`prepStep`,{n:(e.steps??0)+1}),e.current?(0,i.jsxs)(i.Fragment,{children:[`:`,(0,i.jsx)(`span`,{className:`aha-prepHint`,"data-hand":a?`true`:void 0,children:(0,i.jsx)(Bs,{text:e.current})})]}):`…`]}):l===`thinking`?o(`prepThinkingDetail`,{chars:(e.thinking??0).toLocaleString()}):o(`prepStarting`)}),l===`writing`?(0,i.jsx)(`div`,{className:`aha-hint`,children:o(`prepCounts`,{steps:e.steps??0,chars:(e.chars??0).toLocaleString()})}):null]})}function qc(e,{reducedMotion:t=Jc()}={}){let n=e?.closest?.(`.aha-main`);if(!n||n.scrollHeight<=n.clientHeight)return!1;let r=e.getBoundingClientRect().top-n.getBoundingClientRect().top-12;return Math.abs(r)<1?!1:(n.scrollTo({top:Math.max(0,n.scrollTop+r),behavior:t?`auto`:`smooth`}),!0)}function Jc(){return globalThis.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches===!0}let Yc=[.75,1,1.25,1.5,2],Xc=[[`analogy`,`styleAnalogy`],[`visual`,`styleVisual`],[`example`,`styleExample`],[`simpler`,`styleSimpler`],[`deeper`,`styleDeeper`]];function Zc({id:e,kind:t,label:n,anchorId:r,steps:i=[],streaming:a=!1}){return{id:e,kind:t,label:n,anchorId:r,streaming:a,steps:Ls(i,`${e}_`).map(e=>({...e,anchorId:r}))}}function Qc({scope:e,title:t,crumb:n,steps:a=[],stream:o=null,asides:s=[],objectives:c=[],language:l,startIndex:u=0,autoplay:d=!0,onPosition:p,onEnded:m,onStreamDone:h,header:g,stageClass:_,recordChecks:y=!0,reveal:b}){let{api:x,t:T,speech:E,settings:D,dsh:ee}=v(),te=w(),ne=D.boardTheme===`dark`||D.boardTheme!==`light`&&te?`dark`:`light`,re=e=>T(Xc.find(([t])=>t===e)?.[1]??`reexplain`),ie=e=>e?T(`correctionOf`,{tag:e}):T(`correction`),[O,k]=(0,r.useState)(a),[oe,se]=(0,r.useState)(()=>s.map(e=>Zc({id:e.id,kind:e.kind,label:e.kind===`question`?e.question:e.kind===`correction`?ie(e.errorTag):T(`reexplainedAs`,{style:re(e.style)}),anchorId:e.anchorStepId,steps:e.steps??[]}))),[ce,le]=C(`classPanel`,!0),ue=(0,r.useRef)(null),de=(0,r.useRef)(null),pe=(0,r.useRef)(null),[me,he]=(0,r.useState)(!o),[ge,_e]=(0,r.useState)(null),[ve,ye]=(0,r.useState)(!0),[be,xe]=(0,r.useState)(!1),[Se,Ce]=(0,r.useState)(null),we=(0,r.useRef)({failures:0,down:!1}),[Te,Ee]=(0,r.useState)(!1),[De,Oe]=(0,r.useState)(``),[ke,Ae]=(0,r.useState)(null),[A,je]=(0,r.useState)(null),[Me,Ne]=(0,r.useState)(null),Pe=(0,r.useRef)(new Set),[Fe,Ie]=(0,r.useState)(!1),[Le,Re]=(0,r.useState)(null),ze=(0,r.useRef)(0),Be=(0,r.useRef)(null);Be.current||=new AbortController,(0,r.useEffect)(()=>()=>Be.current.abort(),[]),(0,r.useEffect)(()=>{qc(ue.current)},[b]);let j=(0,r.useMemo)(()=>{let e=[];for(let t of O){e.push(t);for(let n of oe)n.anchorId===t.id&&e.push(...n.steps)}return e},[O,oe]),Ve=(0,r.useMemo)(()=>{let e=oe.find(e=>e.streaming),t=e?j.findIndex(t=>t.id===e.anchorId):-1;if(t<0)return null;let n=t+1;for(;n<j.length&&j[n].aside;)n+=1;return n},[j,oe]),He=(0,r.useMemo)(()=>Ve===null?j:j.slice(0,Ve),[j,Ve]),Ue=(0,r.useRef)(null);Ue.current=e=>{if(we.current.down)return;let t=ae(we.current.failures,e);we.current.failures=t.failures,t.stop&&(we.current.down=!0,E.configure({engine:`off`}),Ce({engine:D.voiceEngine??`browser`,...t.stop,dismissed:!1}))};let M=(0,r.useMemo)(()=>{let e=O[Math.min(u,O.length-1)]?.id,t=e?j.findIndex(t=>t.id===e):-1;return mc({speech:E,onChange:_e,onNarration:e=>Ue.current(e),startIndex:t>=0?t:u})},[E]);(0,r.useEffect)(()=>()=>M.dispose(),[M]),(0,r.useEffect)(()=>{M.setSteps(He,{done:me&&Ve===null})},[M,He,me,Ve]);let We=be||Se?`off`:D.voiceEngine??`browser`;(0,r.useEffect)(()=>{E.configure({engine:We,voiceId:D.voiceId||void 0,language:l})},[E,We,D.voiceId,l]),(0,r.useEffect)(()=>{M.setRate(D.voiceRate??1)},[M,D.voiceRate]);let[Ge,Ke]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!o)return;let e=new AbortController;return he(!1),x.follow({job:o},{signal:e.signal,onPartial:e=>k(t=>{let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return r.length?[...t,...r]:t}),onPreview:(e,t)=>Ke(e?.phase?{...e,elapsedMs:t?.elapsedMs??0,receivedAt:performance.now()}:null)}).then(e=>{let t=e?.board??e?.item?.board??e;t?.steps?.length&&k(t.steps),Ke(null),he(!0),h?.(e)}).catch(t=>{e.signal.aborted||(Ke(null),Re(t),he(!0))}),()=>e.abort()},[o]);let qe=(0,r.useRef)(!1);(0,r.useEffect)(()=>{!d||qe.current||!j.length||(qe.current=!0,M.play())},[j.length,d,M]);let Je=ge?.index??0,[Ye,Xe]=(0,r.useState)(0);(0,r.useEffect)(()=>{Xe(e=>Math.max(e,Je))},[Je]);let Ze=ge?.status===`ended`&&me,Qe=(0,r.useRef)(!1);(0,r.useEffect)(()=>{Ze&&!Qe.current&&(Qe.current=!0,m?.()),Ze||(Qe.current=!1)},[Ze]),(0,r.useEffect)(()=>{let e=e=>{e.target instanceof HTMLElement&&/input|textarea|select/iu.test(e.target.tagName)||(e.key===` `?(e.preventDefault(),M.toggle()):e.key===`ArrowRight`?M.next():e.key===`ArrowLeft`&&M.prev())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[M]);let $e=(0,r.useCallback)(e=>{for(let t=Math.min(e,j.length-1);t>=0;--t)if(!j[t]?.aside)return j[t]?.id;return O[0]?.id},[j,O]),et=(0,r.useCallback)(e=>{let t=Math.max(0,Math.min(e,j.length-1)),n=j[t]?.aside?$e(t):j[t]?.id;return Math.max(0,O.findIndex(e=>e.id===n))},[j,O,$e]);(0,r.useEffect)(()=>{ge&&p?.(et(Je))},[Je]),(0,r.useEffect)(()=>{if(!ke)return;let e=He.findIndex(e=>e.id===ke);e>=0&&(Ae(null),M.seek(e))},[He,ke,M]);async function tt({endpoint:t,payload:n,kind:r,label:i,anchorIndex:a,onStarted:s,onAdded:c,onFailed:l}){let u=$e(a);ze.current+=1;let d=`a${ze.current}`,p=Be.current.signal,m=!1,h=e=>{let t=Zc({id:d,kind:r,label:i,anchorId:u,steps:e,streaming:!0});se(e=>e.map(e=>e.id===d?{...e,steps:t.steps}:e)),!m&&t.steps.length&&(m=!0,Ee(!1),Ae(t.steps[0].id))},g=!1;Re(null);try{let{job:l}=await x.call(t,{...n,scope:f(e,o),stepIndex:et(a),anchorStepId:u});s?.(),se(e=>[...e,Zc({id:d,kind:r,label:i,anchorId:u,streaming:!0})]),g=!0,c?.(d);let m=[],_=await x.follow({job:l},{signal:p,onPartial:e=>{m.push(...e),h([...m])}});h(_?.steps?.length?_.steps:m),se(e=>e.map(e=>e.id===d?{...e,streaming:!1}:e)),Ee(!1)}catch(e){if(p.aborted)return;se(e=>e.flatMap(e=>e.id===d?e.steps.length?[{...e,streaming:!1}]:[]:[e])),Ee(!1),r===`question`&&!m&&Oe(e=>e||i),g||l?.(),Re(e)}}async function nt(e){e?.preventDefault();let t=De.trim();t&&(M.pause(),Ee(`answering`),await tt({endpoint:`lesson/ask`,payload:{question:t},kind:`question`,label:t,anchorIndex:Je,onStarted:()=>Oe(``)}))}async function rt(e){Ie(!1),M.pause(),Ee(`reexplaining`),await tt({endpoint:`lesson/reexplain`,payload:{style:e},kind:`reexplain`,label:T(`reexplainedAs`,{style:re(e)}),anchorIndex:Math.max(0,Math.min(Je,j.length-1))})}async function it(e,t){Ee(`correcting`),await tt({endpoint:`lesson/correct`,payload:{item:{prompt:e.prompt,answer:e.answer},response:t.response,grade:{feedback:t.feedback,errorTag:t.errorTag,wrongStep:t.wrongStep,why:t.why,fix:t.fix}},kind:`correction`,label:ie(t.errorTag),anchorIndex:Je,onAdded:t=>Ne({checkId:e.id,asideId:t}),onFailed:()=>M.answer(e.id)})}(0,r.useEffect)(()=>{!Me||!oe.some(e=>e.id===Me.asideId)||(Ne(null),M.answer(Me.checkId))},[oe,Me,M]);function N(){M.pause(),le(!0),setTimeout(()=>de.current?.focus(),0)}let at=et(Je),ot=(0,r.useMemo)(()=>hc(O,at,c.length,ge?.status===`ended`&&me),[O,at,c.length,ge?.status,me]),st=(0,r.useMemo)(()=>gc(j,Math.max(Ye,Je),oe),[j,Ye,Je,oe]);(0,r.useEffect)(()=>{let e=pe.current;e&&(e.scrollTop=e.scrollHeight)},[st.length,ce]);let ct=ge?.step,P=ge?.status===`check`?ct?.check:null,lt=(0,r.useMemo)(()=>Ns(ct?.say),[ct?.say]),ut=lt[Math.min(ge?.sentence??0,lt.length-1)]??``;function dt(t){je({checkId:P?.id,result:t}),!(!y||e.kind!==`lesson`)&&x.call(`lesson/record`,{courseId:e.courseId,lessonId:e.lessonId,conceptIds:P?.conceptIds??[],evidence:{kind:`check`,score:t.score,confidence:t.confidence,hintsUsed:t.hintsUsed,timeMs:t.timeMs,expectedMs:4e4,errorTag:t.errorTag}}).catch(()=>void 0)}let ft=ge?.status??`idle`,pt=(ft===`buffering`||!j.length&&!me)&&!Le,mt=j.length+ +!me,ht=oe.find(e=>e.streaming),gt=Te===`answering`||ht?.kind===`question`?T(`answering`):Te===`correcting`||ht?.kind===`correction`?T(`correcting`):Te===`reexplaining`||ht?T(`generating`):j.length?T(`bufferingLesson`):T(`preparingLesson`),_t=S(pt&&!Te&&!ht&&!me,3e3)&&!!Ge,vt=ot?ot.filter(e=>e===`done`).length:0,yt=!!ht||Te===`answering`||Te===`reexplaining`||Te===`correcting`,bt=P?.kind===`work`&&A?.checkId===P.id&&!A.result.correct&&!!A.result.response?.trim();function xt(){if(P){if(bt){if(Pe.current.has(P.id))return;Pe.current.add(P.id),it(P,A.result);return}M.answer(P.id)}}function St({replay:e}){we.current={failures:0,down:!1},Ce(null),xe(!1),E.configure({engine:D.voiceEngine??`browser`}),e&&(ft===`playing`||ft===`paused`)&&M.seek(Je)}let Ct=be||!!Se,wt=!Se||Se.dismissed?null:Se.engine===`cloud`?T(`voiceDownCloud`,{reason:Sc(T,Se)}):T(`voiceDownSystem`,{reason:Sc(T,Se)});return(0,i.jsxs)(`div`,{ref:ue,className:`aha-class`,"data-panel":ce?`open`:`closed`,children:[(0,i.jsxs)(`div`,{className:`aha-classBar`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:0},children:[n?(0,i.jsx)(`span`,{className:`aha-crumb`,children:n}):null,(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:t})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:typeof g==`function`?g({steps:j}):g})]}),(0,i.jsxs)(`div`,{className:`aha-classBody`,children:[(0,i.jsxs)(`div`,{className:`aha-classMain`,children:[(0,i.jsxs)(`div`,{className:`aha-stage ${_??``}`,children:[(0,i.jsx)(qs,{steps:j,position:ge?{index:ge.index,op:ge.op,progress:ge.progress,now:ge.now}:{index:0,op:0,progress:0},theme:ne,font:D.boardFont===`standard`?`standard`:`hand`,buffering:(pt||!!Te)&&!_t,bufferingLabel:gt}),_t?(0,i.jsx)(Kc,{prep:Ge,label:gt,first:!j.length,hand:D.boardFont!==`standard`}):null,P?(0,i.jsxs)(`div`,{className:`aha-checkCard`,children:[(0,i.jsx)(`div`,{className:`aha-spread`,children:(0,i.jsx)(`b`,{children:T(`checkTitle`)})}),(0,i.jsx)(Bc,{item:P,language:l,onResult:dt,onContinue:xt,continueLabel:bt?T(`seeCorrection`):void 0,keyboard:!0})]}):null]}),ve&&ut?(0,i.jsx)(`div`,{className:`aha-caption`,children:(0,i.jsx)(Bs,{text:ut})}):(0,i.jsx)(`div`,{className:`aha-caption`}),(0,i.jsx)($,{error:Le,style:{textAlign:`center`}}),wt?(0,i.jsxs)(`div`,{className:`aha-voiceNote`,role:`status`,children:[(0,i.jsxs)(`span`,{className:`aha-voiceNoteText`,children:[`🔇 `,wt]}),(0,i.jsxs)(`span`,{className:`aha-voiceNoteActions`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>St({replay:!0}),children:T(`retry`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>fe(ee,`settings`),children:T(`openSettings`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>Ce(e=>e&&{...e,dismissed:!0}),title:T(`close`),"aria-label":T(`close`),children:`×`})]})]}):null,(0,i.jsxs)(`div`,{className:`aha-controls`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>M.prev(),title:T(`prevStep`),"aria-label":T(`prevStep`),children:`⏮`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>M.toggle(),disabled:!j.length,"aria-label":T(ft===`playing`?`pause`:`play`),children:[ft===`playing`?`⏸`:`▶`,` `,T(ft===`playing`?`pause`:`play`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>M.next(),title:T(`nextStep`),"aria-label":T(`nextStep`),children:`⏭`}),(0,i.jsx)(`span`,{className:`aha-tag`,children:T(`stepOf`,{current:Math.min(Je+1,Math.max(1,j.length)),total:Math.max(mt,1)})}),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:ge?.rate??1,onChange:e=>M.setRate(Number(e.currentTarget.value)),"aria-label":T(`speed`),children:Yc.map(e=>(0,i.jsxs)(`option`,{value:e,children:[e,`×`]},e))}),(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":!Ct,onClick:()=>Se?St({replay:!1}):xe(e=>!e),children:Ct?`🔇 ${T(`voiceOff`)}`:`🔊 ${T(`voiceOn`)}`}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":ve,onClick:()=>ye(e=>!e),children:[`CC `,T(`captions`)]}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:N,disabled:!j.length,children:[`✋ `,T(`raiseHand`)]}),(0,i.jsxs)(`span`,{style:{position:`relative`},children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>Ie(e=>!e),disabled:!j.length,children:[`🔄 `,T(`reexplain`)]}),Fe?(0,i.jsx)(`div`,{className:`aha-card`,style:{position:`absolute`,bottom:`110%`,left:0,zIndex:10,padding:6,gap:2,minWidth:140},children:Xc.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>rt(e),children:T(t)},e))}):null]}),ce?null:(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"aria-expanded":!1,onClick:()=>le(!0),children:[`📋 `,T(`showPanel`)]})]})]}),ce?(0,i.jsxs)(`aside`,{className:`aha-panel`,"aria-label":T(`panelTitle`),children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:c.length?T(`lessonGoals`):T(`transcript`)}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:6},children:[c.length&&ot?(0,i.jsxs)(`span`,{className:`aha-tag`,children:[vt,`/`,c.length]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>le(!1),title:T(`hidePanel`),"aria-label":T(`hidePanel`),children:`›`})]})]}),c.length?(0,i.jsx)(`ol`,{className:`aha-goals`,children:c.map((e,t)=>(0,i.jsxs)(`li`,{"data-state":ot?.[t]??`plain`,children:[(0,i.jsx)(`span`,{className:`aha-goalMark`,"aria-hidden":`true`,children:ot?.[t]===`done`?`✓`:t+1}),(0,i.jsx)(`span`,{children:e})]},t))}):null,c.length?(0,i.jsx)(`b`,{className:`aha-panelHead`,children:T(`transcript`)}):null,(0,i.jsx)(`div`,{ref:pe,className:`aha-transcript`,role:`list`,children:st.map(e=>(0,i.jsxs)(`button`,{type:`button`,role:`listitem`,className:`aha-line`,"data-kind":e.kind,"data-aside":e.aside?`true`:void 0,"data-current":e.stepIndex===Je?`true`:void 0,disabled:e.stepIndex<0,onClick:()=>M.seek(e.stepIndex),children:[e.kind===`question`?(0,i.jsx)(`span`,{className:`aha-lineTag`,children:`✋`}):e.kind===`reexplain`?(0,i.jsx)(`span`,{className:`aha-lineTag`,children:`🔄`}):e.kind===`correction`?(0,i.jsx)(`span`,{className:`aha-lineTag`,children:`✏️`}):null,(0,i.jsx)(`span`,{className:`aha-lineText`,children:(0,i.jsx)(Bs,{text:e.text})}),e.pending?(0,i.jsx)(_c,{}):null]},e.key))}),(0,i.jsxs)(`form`,{className:`aha-askBox`,onSubmit:nt,children:[(0,i.jsx)(`textarea`,{ref:de,className:`aha-textarea`,rows:2,value:De,placeholder:T(`askPlaceholder`),disabled:!j.length,onChange:e=>Oe(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&nt(e)}}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,"data-kind":`primary`,disabled:!De.trim()||yt,children:T(`ask`)})]})]}):null]})]})}let $c=[[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`]];function el({draftMode:e,draftRequest:t,draftMaterials:n,token:a}){let{api:o,t:s}=v(),c=y(()=>o.call(`items/list`,{kind:`assist`}),[]),[l,u]=(0,r.useState)($c.some(([t])=>t===e)?e:`explain`),[d,f]=(0,r.useState)(t??``),[p,m]=(0,r.useState)(Array.isArray(n)?n:[]),[h,g]=(0,r.useState)(!1),[_,b]=(0,r.useState)(null),[S,C]=(0,r.useState)(null),w=x(a);async function T(e=d){let t=e.trim();if(!t)return;C(null);let n=_?.threadId??Zs(`thd`);_?.stream&&!_.done&&o.cancel(_.stream);try{let{job:e}=await o.call(`assist/ask`,{mode:l,request:t,materialIds:p,threadId:_?.threadId,newThreadId:_?.threadId?void 0:n});b(r=>({threadId:n,turn:r?r.turn+1:0,stream:e,done:!1,steps:[],title:t.slice(0,80),language:void 0,key:`${n}:${Date.now()}`})),f(``)}catch(e){C(e)}}(0,r.useEffect)(()=>{w&&t&&T(t)},[]);async function E(e){C(null);try{let{item:t}=await o.call(`items/get`,{kind:`assist`,id:e}),n=t.turns.length-1;b({threadId:t.id,turn:n,stream:null,steps:t.turns[n]?.board?.steps??[],title:t.turns[n]?.request??t.title,language:t.language,key:`${t.id}:${n}:open`,opened:Date.now()})}catch(e){C(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[_?(0,i.jsx)(Qc,{scope:{kind:`thread`,id:_.threadId,turn:_.turn},title:_.title,steps:_.steps,stream:_.stream,language:_.language,recordChecks:!1,reveal:_.opened,onStreamDone:e=>{b(t=>t?.stream?.id===_.stream?.id?{...t,done:!0,turn:Number.isInteger(e?.turn)?e.turn:t.turn}:t),c.reload()}},_.key):(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:s(`assistTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:s(`assistHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:$c.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":l===e,onClick:()=>u(e),children:[n,` `,s(t)]},e))}),(0,i.jsx)(`textarea`,{value:d,placeholder:s(_?`followUp`:`assistPlaceholder`),onChange:e=>f(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&T()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>g(!0),children:p.length?s(`attached`,{count:p.length}):s(`attach`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[_?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>b(null),children:s(`newThread`)}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!d.trim(),onClick:()=>T(),children:s(`ask`)})]})]})]}),(0,i.jsx)($,{error:S})]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:s(`history`)}),c.loading&&!c.value?(0,i.jsx)(_c,{}):(c.value??[]).map(e=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,onClick:()=>E(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`small`,{children:new Date(e.updatedAt).toLocaleString()})]},e.id))]})]}),h?(0,i.jsx)(Ec,{selected:p,onChange:m,onClose:()=>g(!1)}):null]})}Object.freeze({pInit:.2,pTransit:.15,pSlip:.1,pGuess:.2}),Object.freeze([{id:`struggling`,min:0},{id:`learning`,min:.4},{id:`proficient`,min:.7},{id:`mastered`,min:.9}]);let tl=(e,t,n)=>Math.min(n,Math.max(t,e));function nl(e){return Math.round(tl(Number(e?.pKnown)||0,0,1)*100)}Object.freeze([`none`,`weak`,`learning`,`proficient`,`mastered`]);function rl(e){return!e||!e.attempts&&!e.history?.length?`none`:il(nl(e))}function il(e){let t=Number(e);return Number.isFinite(t)?t>=90?`mastered`:t>=70?`proficient`:t>=40?`learning`:`weak`:`none`}let al=Object.freeze({none:`stageNone`,weak:`stageWeak`,learning:`stageLearning`,proficient:`stageProficient`,mastered:`stageMastered`});function ol(e){let t=e.filter(Boolean),n=t.length?t.reduce((e,t)=>e+(Number(t.score)||0),0)/t.length:0,r=0,i=0;for(let e of t)r=e.correct?r+1:0,i=Math.max(i,r);return{answered:t.length,correct:t.filter(e=>e.correct).length,accuracy:n,stars:n>=.9?3:n>=.6?2:1,streak:r,bestStreak:i}}function sl(e,{lessonId:t,unitId:n,nextLessonId:r}={}){let i=e?.action;return i===`remediate`?t?{kind:`relearn`,lessonId:t}:{kind:`review`}:i===`review`?{kind:`review`}:i===`challenge`&&n?{kind:`quiz`,unitId:n}:r?{kind:`next`,lessonId:r}:{kind:`course`}}function cl(e,t){let n=(e.concepts??[]).map(e=>t?.concepts?.[e.id]);if(!n.some(e=>rl(e)!==`none`))return{stage:`none`,percent:0};let r=Math.round(n.reduce((e,t)=>e+nl(t??{pKnown:.2}),0)/n.length);return{stage:il(r),percent:r}}function ll(e,t,{now:n=Date.now()}={}){let r=rc(e),i=Object.entries(t?.reviews??{}).filter(([e,t])=>r.has(e)&&Date.parse(t?.dueAt)<=n).length;if(i)return{kind:`review`,count:i};let a=[...r.values()].map(e=>({concept:e,state:t?.concepts?.[e.id]})).filter(e=>rl(e.state)===`weak`).sort((e,t)=>e.state.pKnown-t.state.pKnown)[0];if(a)return{kind:`practice`,lessonId:a.concept.lessonId,concept:a.concept.name};let o=oc(e,t);return o?{kind:`lesson`,lessonId:o.lesson.id,title:o.lesson.title}:{kind:`done`,unitId:e.units?.at(-1)?.id??null}}let ul=[[`outline`,`tabOutline`],[`practice`,`tabPractice`],[`sheets`,`tabSheets`],[`cards`,`tabCards`],[`projects`,`tabProjects`],[`progress`,`tabProgress`]];function dl({courseId:e,tab:t=`outline`}){let{api:n,t:a,navigate:o,toast:s}=v(),c=y(()=>n.call(`course/get`,{courseId:e}),[e]),[l,u]=(0,r.useState)(t),[d,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),b=c.value?.course,x=c.value?.progress,S=(0,r.useMemo)(()=>b?.units?ac(b,x):null,[b,x]),C=(0,r.useMemo)(()=>b?.units?oc(b,x):null,[b,x]),w=(0,r.useMemo)(()=>b?.units?ll(b,x):null,[b,x]);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(_c,{label:a(`loading`)})});if(!b)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:c.error})});if(b.status!==`ready`)return o(`craft`,{courseId:e},{replace:!0}),null;let T=e=>nl(x?.concepts?.[e]??{pKnown:.2}),E=e=>x?.lessons?.[e]?.status??`new`;async function D(t){m(!1);try{let r=await n.call(`course/export`,{courseId:e,includeProgress:t});h(r.fileName,r.json)}catch(e){s(Sc(a,e))}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1,minWidth:260},children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:30},children:b.emoji}),(0,i.jsx)(`h2`,{className:`aha-title`,children:b.title})]}),b.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:b.subtitle}):null,S?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,maxWidth:480},children:[(0,i.jsx)(vc,{value:S.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`lessonsCount`,S),` · `,a(`minutesLeft`,{minutes:S.minutesLeft})]})]}):null]}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{position:`relative`},children:[C?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`lesson`,{courseId:e,lessonId:C.lesson.id}),children:[(0,i.jsx)(me,{name:`play`,size:14}),a(`continueLearning`)]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>f(e=>!e),children:`⋯`}),d?(0,i.jsxs)(`div`,{className:`aha-card`,style:{position:`absolute`,right:0,top:`110%`,zIndex:20,padding:6,gap:2,minWidth:180},onMouseLeave:()=>f(!1),children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>{f(!1),o(`craft`,{courseId:e,edit:!0})},children:a(`editOutline`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:()=>{f(!1),m(!0)},children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`},onClick:async()=>{f(!1),await n.call(`course/update`,{courseId:e,archived:!b.archived}),c.reload()},children:b.archived?a(`unarchive`):a(`archive`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,style:{justifyContent:`flex-start`,color:`var(--aha-bad)`},onClick:()=>{f(!1),_(!0)},children:a(`deleteCourse`)})]}):null]})]}),w?(0,i.jsx)(fl,{step:w,courseId:e}):null,(0,i.jsx)(`div`,{className:`aha-tabs`,children:ul.map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-tab`,"data-active":l===e,onClick:()=>u(e),children:a(t)},e))}),l===`outline`?(0,i.jsx)(`div`,{className:`aha-tree`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:4},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:a(`unitSheet`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]})]}),t.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:t.summary}):null,t.lectures.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-hint`,style:{fontWeight:600},children:[a(`lectureN`,{n:n+1}),` · `,t.title]}),t.lessons.map(t=>(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`,"data-state":E(t.id)}),(0,i.jsx)(`span`,{style:{flex:1,cursor:`pointer`},onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),title:t.summary,children:t.title}),t.kind===`remedial`?(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`remedial`)}):null,(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`estMinutes`,{minutes:t.estMinutes})}),(0,i.jsx)(pl,{lesson:t,progress:x}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`lesson`,{courseId:e,lessonId:t.id}),children:a(`learn`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:a(`practice`)})]},t.id))]},t.id))]},t.id))}):null,l===`outline`&&b.sources?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`courseSources`)}),(0,i.jsx)(Oc,{sources:b.sources})]}):null,l===`practice`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`practice`,{courseId:e,review:!0}),children:a(`startReview`)})}),b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[a(`unitN`,{n:n+1}),` · `,t.title]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,unitId:t.id}),children:a(`unitQuiz`)})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:t.lectures.flatMap(e=>e.lessons).map(t=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,onClick:()=>o(`practice`,{courseId:e,lessonId:t.id}),children:t.title},t.id))})]},t.id))]}):null,l===`sheets`?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.units.map((t,n)=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`sheet`,{courseId:e,unitId:t.id}),children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`unitN`,{n:n+1})}),(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`span`,{className:`aha-tag`,children:c.value.ready.sheets.includes(t.id)?a(`open`):a(`generate`)})]},t.id))}):null,l===`cards`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`p`,{children:a(`cardsTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>o(`cards`,{courseId:e}),children:a(`open`)})})]}):null,l===`projects`?b.projects?.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:b.projects.map(t=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>o(`project`,{courseId:e,projectId:t.id}),children:[(0,i.jsx)(`b`,{children:t.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t.brief.slice(0,160)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:x?.projects?.[t.id]?.status===`passed`?`✔`:t.kind})]},t.id))}):(0,i.jsx)(Cc,{children:a(`empty`)}):null,l===`progress`?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`conceptMastery`)}),(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:4},children:ec(b).flatMap(({lesson:e})=>e.concepts.map(t=>({concept:t,lesson:e}))).map(({concept:e,lesson:t})=>{let n=x?.concepts?.[e.id],r=rl(n);return(0,i.jsxs)(`div`,{className:`aha-spread`,style:{padding:`3px 0`,borderBottom:`1px solid var(--aha-border)`},children:[(0,i.jsxs)(`span`,{children:[e.name,` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`· `,t.title]})]}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[n?.misconceptions?.length?(0,i.jsxs)(`span`,{className:`aha-tag`,title:n.misconceptions.join(`
267
+ `),children:[`⚠ `,n.misconceptions.length]}):null,(0,i.jsx)(`span`,{className:`aha-level`,"data-level":r,children:a(al[r])}),(0,i.jsx)(Ac,{value:T(e.id),stage:r,label:a(al[r])}),(0,i.jsx)(`span`,{className:`aha-hint`,style:{width:36,textAlign:`right`},children:r===`none`?`—`:`${T(e.id)}%`})]})]},e.id)})})]}):null,p?(0,i.jsx)(bc,{title:a(`exportPack`),onClose:()=>m(!1),footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>D(!1),children:a(`exportPack`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>D(!0),children:a(`exportWithProgress`)})]}),children:(0,i.jsx)(`p`,{className:`aha-hint`,children:b.title})}):null,g?(0,i.jsx)(xc,{danger:!0,text:a(`deleteConfirm`,{title:b.title}),onCancel:()=>_(!1),onConfirm:async()=>{await n.call(`course/remove`,{courseId:e}),o(`courses`,{},{replace:!0})}}):null]})}function fl({step:e,courseId:t}){let{t:n,navigate:r}=v(),a={review:[n(`nextStepReview`,{count:e.count}),n(`startReview`),()=>r(`practice`,{courseId:t,review:!0})],practice:[n(`nextStepWeak`,{concept:e.concept}),n(`practiceThis`),()=>r(`practice`,{courseId:t,lessonId:e.lessonId})],lesson:[n(`nextStepLesson`,{title:e.title}),n(`continueLearning`),()=>r(`lesson`,{courseId:t,lessonId:e.lessonId})],done:[n(`nextStepDone`),n(`unitQuiz`),e.unitId?()=>r(`practice`,{courseId:t,unitId:e.unitId}):null]}[e.kind];if(!a)return null;let[o,s,c]=a;return(0,i.jsxs)(`div`,{className:`aha-card aha-nextStep`,"data-kind":e.kind,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2,flex:1,minWidth:200},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:n(`nextStepTitle`)}),(0,i.jsx)(`b`,{children:o})]}),c?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:c,children:s}):null]})}function pl({lesson:e,progress:t}){let{t:n}=v(),{stage:r,percent:a}=cl(e,t);return(0,i.jsx)(Ac,{value:a,stage:r,label:n(al[r])})}let ml=[[`all`,`filterAll`],[`active`,`filterActive`],[`done`,`filterDone`],[`archived`,`filterArchived`]];function hl(){let{api:e,t,navigate:n,toast:a}=v(),o=y(()=>e.call(`course/list`),[]),[s,c]=(0,r.useState)(`all`),[l,u]=(0,r.useState)(``),[d,f]=(0,r.useState)(null),p=(0,r.useRef)(null),m=(o.value??[]).filter(e=>s===`archived`?e.archived:e.archived?!1:s===`active`?e.status!==`ready`||e.progress.percent<100:s!==`done`||e.status===`ready`&&e.progress.percent>=100).filter(e=>!l.trim()||`${e.title} ${e.subtitle}`.toLowerCase().includes(l.trim().toLowerCase()));async function h(r){f(null);try{let i=await r.text(),o=await e.call(`course/import`,{json:i});a(t(`courseReady`)),n(`course`,{courseId:o.id})}catch(e){f(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`coursesTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>p.current?.click(),children:t(`importPack`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>n(`home`),children:[`+ `,t(`modeCourse`)]}),(0,i.jsx)(`input`,{ref:p,type:`file`,accept:`.json,application/json`,hidden:!0,onChange:e=>{let t=e.currentTarget.files?.[0];t&&h(t),e.currentTarget.value=``}})]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:ml.map(([e,n])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":s===e,onClick:()=>c(e),children:t(n)},e))}),(0,i.jsx)(`input`,{className:`aha-input`,style:{maxWidth:260},value:l,placeholder:t(`searchCourses`),onChange:e=>u(e.currentTarget.value)})]}),(0,i.jsx)($,{error:d??o.error}),o.loading&&!o.value?(0,i.jsx)(_c,{label:t(`loading`)}):m.length?(0,i.jsx)(`div`,{className:`aha-grid`,children:m.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:26},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.subtitle}):null,e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(vc,{value:e.progress.percent}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[t(`lessonsCount`,e.progress),e.next?` · ${t(`nextUp`,{title:e.next.title})}`:``]})]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))}):(0,i.jsx)(Cc,{children:t(`noCourses`)})]})}let gl=[[`intensive`,`paceIntensive`,`paceIntensiveHint`],[`balanced`,`paceBalanced`,`paceBalancedHint`],[`relaxed`,`paceRelaxed`,`paceRelaxedHint`]],_l=[[`auto`,`sizeAuto`,`sizeAutoHint`],[`short`,`sizeShort`,`sizeShortHint`],[`standard`,`sizeStandard`,`sizeStandardHint`],[`full`,`sizeFull`,`sizeFullHint`]],vl=[60,120,180,300,420,600];function yl({jobId:e,courseId:t,edit:n=!1}){let{api:a,t:o,navigate:s}=v(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(`questions`);return(0,r.useEffect)(()=>{if(!e||t)return;let n=new AbortController;return a.follow({job:{id:e,status:`running`}},{signal:n.signal,onProgress:e=>d(e?.label===`research`?`research`:`questions`)}).then(e=>s(`craft`,{courseId:e.courseId},{replace:!0})).catch(e=>{n.signal.aborted||l(e)}),()=>n.abort()},[e,t]),t?(0,i.jsx)(bl,{courseId:t,edit:n}):(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`craftQuestionsTitle`)}),c?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)($,{error:c}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>s(`home`),children:o(`back`)})]}):(0,i.jsx)(_c,{label:o(u===`research`?`researching`:`thinkingQuestions`)})]})}function bl({courseId:e,edit:t}){let{api:n,t:a,navigate:o}=v(),s=y(()=>n.call(`course/get`,{courseId:e}),[e]),c=b(),l=s.value?.course;return(0,r.useEffect)(()=>{let e=s.value?.jobs?.questions??s.value?.jobs?.blueprint??s.value?.jobs?.confirm;!e||c.running||c.run(null,null,{existing:e}).then(()=>s.reload()).catch(()=>void 0)},[s.value]),(0,r.useEffect)(()=>{l?.status===`ready`&&!c.running&&!t&&o(`course`,{courseId:e},{replace:!0})},[l?.status]),s.loading&&!s.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(_c,{label:a(`loading`)})}):s.error&&!s.value?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:s.error})}):l?l.status===`intake`?(0,i.jsx)(xl,{course:l,intake:s.value.intake,job:c,onDone:()=>s.reload()}):(0,i.jsx)(El,{course:l,proposal:s.value.proposal,progress:s.value.progress,boards:s.value.ready?.boards??[],job:c,onChange:()=>s.reload()}):null}function xl({course:e,intake:t,job:n,onDone:a}){let{t:o}=v(),s=t?.questionnaire?.questions??[],[c,l]=(0,r.useState)({}),[u,d]=(0,r.useState)(`balanced`),[f,p]=(0,r.useState)(`auto`),[m,h]=(0,r.useState)(180),[g,_]=(0,r.useState)(``),y=(e,t)=>l(n=>{let r=n[e.id]??{choice:[],other:``},i=e.multi?r.choice.includes(t)?r.choice.filter(e=>e!==t):[...r.choice,t]:[t];return{...n,[e.id]:{...r,choice:i}}});async function b(){try{await n.run(`course/intake`,{courseId:e.id,answers:c,timeline:u,size:f,weeklyMinutes:m,deadline:g||void 0}),a()}catch{}}return n.running?n.progress?.label===`questions`?(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:e.goal}),(0,i.jsx)(yc,{progress:n.progress,label:o(`thinkingQuestions`),onCancel:n.cancel})]}):(0,i.jsx)(Cl,{course:e,job:n,research:t?.research}):(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`craftQuestionsTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.goal}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`craftQuestionsHint`)}),t?.research?(0,i.jsx)(Sl,{research:t.research}):null]}),s.map((e,t)=>(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-cardTitle`,children:[t+1,`. `,e.prompt]}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(220px,1fr))`},children:e.options.map(t=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":c[e.id]?.choice?.includes(t.id)??!1,onClick:()=>y(e,t.id),children:[(0,i.jsx)(`b`,{children:t.label}),t.detail?(0,i.jsx)(`small`,{children:t.detail}):null]},t.id))}),(0,i.jsx)(`input`,{className:`aha-input`,placeholder:o(`craftOther`),value:c[e.id]?.other??``,onChange:t=>{let n=t.currentTarget.value;l(t=>({...t,[e.id]:{choice:t[e.id]?.choice??[],other:n}}))}})]},e.id)),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:o(`craftSize`)}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(180px,1fr))`},children:_l.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":f===e,onClick:()=>p(e),children:[(0,i.jsx)(`b`,{children:o(t)}),(0,i.jsx)(`small`,{children:o(n)})]},e))})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`div`,{className:`aha-cardTitle`,children:o(`craftPace`)}),(0,i.jsx)(`div`,{className:`aha-grid`,style:{gridTemplateColumns:`repeat(auto-fill,minmax(200px,1fr))`},children:gl.map(([e,t,n])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-option`,"data-active":u===e,onClick:()=>d(e),children:[(0,i.jsx)(`b`,{children:o(t)}),(0,i.jsx)(`small`,{children:o(n)})]},e))}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:m,onChange:e=>h(Number(e.currentTarget.value)),children:vl.map(e=>(0,i.jsx)(`option`,{value:e,children:o(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`label`,{className:`aha-label`,style:{flex:1,minWidth:220},children:[o(`deadline`),(0,i.jsx)(`input`,{className:`aha-input`,type:`date`,value:g,onChange:e=>_(e.currentTarget.value)})]})]})]}),(0,i.jsx)($,{error:n.error}),(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:b,children:o(`makeBlueprint`)})})]})}function Sl({research:e}){let{t}=v();return e.skipped?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`researchSkipped`,{reason:t(`researchSkipped_${e.skipped}`)})}):(0,i.jsxs)(`details`,{className:`aha-sources`,children:[(0,i.jsx)(`summary`,{children:t(`researchFound`,{count:e.sources.length})}),(0,i.jsx)(Oc,{sources:e.sources})]})}function Cl({course:e,job:t,research:n}){let{t:r}=v(),a=t.preview?.units??[],o=a.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.length,0),0),s=t.progress?.label===`materials`?`materials`:a.length?`lessons`:`units`,c=[...n?.sources?.length?[[`research`,r(`buildResearch`,{count:n.sources.length})]]:[],[`answers`,r(`buildAnswers`)],...e.materialIds?.length?[[`materials`,r(`buildMaterials`)]]:[],[`units`,r(`buildUnits`)],[`lessons`,o?r(`buildLessonsSoFar`,{count:o}):r(`buildLessons`)]],l=c.findIndex(([e])=>e===s);return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t.preview?.title||e.goal}),(0,i.jsxs)(`p`,{className:`aha-hint`,children:[r(`designingBlueprint`),` `,r(`keepsRunning`)]})]}),(0,i.jsx)(`ol`,{className:`aha-buildLog`,children:c.map(([e,t],n)=>(0,i.jsxs)(`li`,{"data-state":n<l?`done`:n===l?`current`:`todo`,children:[(0,i.jsx)(`span`,{className:`aha-buildMark`,"aria-hidden":`true`,children:n<l?`✓`:n===l?(0,i.jsx)(`span`,{className:`aha-spinner`}):``}),(0,i.jsx)(`span`,{children:t})]},e))}),a.length?(0,i.jsx)(`div`,{className:`aha-outlinePreview`,children:a.map((e,t)=>(0,i.jsxs)(`section`,{className:`aha-card`,"data-writing":t===a.length-1?`true`:void 0,children:[(0,i.jsxs)(`div`,{className:`aha-cardTitle`,children:[r(`unitN`,{n:t+1}),` · `,e.title]}),e.lectures.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[e.title?(0,i.jsx)(`span`,{className:`aha-hint`,children:e.title}):null,(0,i.jsx)(`ul`,{className:`aha-outlineLessons`,children:e.lessons.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]},t))]},t))}):null,(0,i.jsx)(`div`,{className:`aha-row`,children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:t.cancel,children:r(`cancel`)})})]})}function wl(e){return JSON.parse(JSON.stringify(e??[]))}function Tl(e,t,n){let r=[...e],i=t+n;return i<0||i>=r.length?e:([r[t],r[i]]=[r[i],r[t]],r)}function El({course:e,proposal:t,progress:n,boards:a,job:o,onChange:s}){let{api:c,t:l,toast:u,navigate:d}=v(),f=e.status===`ready`,[p,m]=(0,r.useState)(()=>wl(e.units)),[h,g]=(0,r.useState)(e.title),[_,y]=(0,r.useState)(!1),[x,S]=(0,r.useState)(``),[C,w]=(0,r.useState)(!1),[T,E]=(0,r.useState)(null),[D,ee]=(0,r.useState)(null),[te,ne]=(0,r.useState)(null),[re,ie]=(0,r.useState)(null),O=b();(0,r.useEffect)(()=>{m(wl(e.units)),g(e.title),y(!1)},[e]);let k=e=>{m(t=>{let n=wl(t);return e(n),n.filter(e=>e.lectures.length).map(e=>({...e,lectures:e.lectures.filter(e=>e.lessons.length)}))}),y(!0)},ae=(0,r.useMemo)(()=>p.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.length,0),0),[p]),oe=(0,r.useMemo)(()=>p.reduce((e,t)=>e+t.lectures.reduce((e,t)=>e+t.lessons.reduce((e,t)=>e+(t.estMinutes||15),0),0),0),[p]),se=(0,r.useMemo)(()=>t?.blueprint?.units?tc(e,t.blueprint):null,[e,t]),ce=e=>!!e.id&&((n?.lessons?.[e.id]?.status??`new`)!==`new`||a.includes(e.id)),le=!!se||!!re;async function ue(){w(!0),E(null);try{return await c.call(`course/save-blueprint`,{courseId:e.id,blueprint:{...e,title:h,units:p}}),y(!1),u(l(`saved`)),s(),!0}catch(e){return E(e),!1}finally{w(!1)}}async function de(t,n){t?.preventDefault();let r=n??x.trim();if(r&&!(_&&!await ue()))try{await o.run(`course/revise`,{courseId:e.id,instruction:r}),S(``),s()}catch{}}async function fe(t,n){E(null);try{await c.call(t,{courseId:e.id}),n&&u(n),s()}catch(e){E(e)}}async function pe(t,n,r,i){ne(null);let a=p[t],o=a.lectures[n];ie(`${t}.${n}.${r}`);try{let s=await O.run(`course/rework-lesson`,{courseId:e.id,lesson:o.lessons[r],unitTitle:a.title,lectureTitle:o.title,mode:i});k(e=>{e[t].lectures[n].lessons.splice(r,1,...s.lessons)}),u(l(i===`split`?`splitDone`:`deepenDone`))}catch{}finally{ie(null)}}async function me(){if(!(_&&!await ue()))try{await o.run(`course/confirm`,{courseId:e.id}),s()}catch{}}async function he(){_&&!await ue()||d(`course`,{courseId:e.id})}if(o.running){let t=o.progress?.label===`practice`||o.progress?.label===`projects`?l(`confirming`,{done:o.progress.done,total:o.progress.total}):o.progress?.done?l(`revisingSoFar`,{count:o.progress.done}):l(`revising`);return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[e.emoji,` `,e.title]}),(0,i.jsx)(yc,{progress:o.progress,label:t,onCancel:o.cancel})]})}let ge=(e,t)=>ee({text:e,run:t});return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4,flex:1},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:l(f?`editOutline`:`blueprintTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{flexWrap:`nowrap`},children:[(0,i.jsx)(`span`,{style:{fontSize:28},children:e.emoji}),(0,i.jsx)(`input`,{className:`aha-input aha-title`,style:{border:`none`,padding:`2px 4px`},value:h,disabled:le,onChange:e=>{g(e.currentTarget.value),y(!0)}})]}),e.subtitle?(0,i.jsx)(`p`,{className:`aha-subtitle`,children:e.subtitle}):null,(0,i.jsxs)(`p`,{className:`aha-hint`,children:[l(`lessonsCount`,{done:0,total:ae}),` · `,l(`minutesLeft`,{minutes:oe})]})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[_?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:C||le,onClick:ue,children:l(`saveEdits`)}):null,f?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:C||le,onClick:he,children:l(_?`saveAndBack`:`backToCourse`)}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:le,onClick:me,children:l(`confirmCourse`)})]})]}),e.summary?(0,i.jsx)(`p`,{children:e.summary}):null,se?(0,i.jsxs)(`section`,{className:`aha-card aha-proposal`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsx)(`b`,{children:l(`proposalTitle`)}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`“`,t.instruction,`”`]})]}),nc(se)?(0,i.jsx)(`p`,{className:`aha-hint`,children:l(`proposalNoChange`)}):(0,i.jsxs)(`ul`,{className:`aha-diff`,children:[se.title?(0,i.jsxs)(`li`,{"data-kind":`renamed`,children:[(0,i.jsx)(`span`,{className:`aha-diffTag`,children:l(`diffRenamed`)}),se.title.from,` → `,se.title.to]}):null,se.unitsAdded.map((e,t)=>(0,i.jsxs)(`li`,{"data-kind":`added`,children:[(0,i.jsx)(`span`,{className:`aha-diffTag`,children:l(`diffAdded`)}),l(`diffUnit`,{title:e})]},`ua${t}`)),se.unitsRemoved.map((e,t)=>(0,i.jsxs)(`li`,{"data-kind":`removed`,children:[(0,i.jsx)(`span`,{className:`aha-diffTag`,children:l(`diffRemoved`)}),l(`diffUnit`,{title:e})]},`ur${t}`)),se.added.map((e,t)=>(0,i.jsxs)(`li`,{"data-kind":`added`,children:[(0,i.jsx)(`span`,{className:`aha-diffTag`,children:l(`diffAdded`)}),e.title,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.unit]})]},`a${t}`)),se.removed.map((e,t)=>(0,i.jsxs)(`li`,{"data-kind":`removed`,children:[(0,i.jsx)(`span`,{className:`aha-diffTag`,children:l(`diffRemoved`)}),e.title,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.unit]})]},`r${t}`)),se.renamed.map((e,t)=>(0,i.jsxs)(`li`,{"data-kind":`renamed`,children:[(0,i.jsx)(`span`,{className:`aha-diffTag`,children:l(`diffRenamed`)}),e.from,` → `,e.to]},`n${t}`)),se.changed.map((e,t)=>(0,i.jsxs)(`li`,{"data-kind":`changed`,children:[(0,i.jsx)(`span`,{className:`aha-diffTag`,children:l(`diffChanged`)}),e.title,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.unit]})]},`c${t}`))]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>fe(`course/proposal-apply`,l(`proposalApplied`)),children:l(`applyProposal`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>fe(`course/proposal-discard`),children:l(`discardProposal`)})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`p`,{className:`aha-hint`,children:l(`blueprintHint`)}),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:de,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},value:x,placeholder:l(`revisePlaceholder`),onChange:e=>S(e.currentTarget.value),"aria-label":l(`reviseLabel`)}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,disabled:!x.trim()||le,children:l(`revise`)}),f?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:le,onClick:()=>de(null,l(`extendInstruction`)),children:l(`extendCourse`)}):null]})]}),(0,i.jsx)($,{error:T??o.error??O.error}),(0,i.jsxs)(`fieldset`,{className:`aha-tree`,disabled:le,children:[p.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-unit`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:650},children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:l(`unitN`,{n:t+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let n=e.currentTarget.value;k(e=>{e[t].title=n})}}),(0,i.jsx)(Dl,{onUp:()=>k(e=>{e.splice(0,e.length,...Tl(e,t,-1))}),onDown:()=>k(e=>{e.splice(0,e.length,...Tl(e,t,1))}),onRemove:()=>ge(l(`confirmRemoveUnit`,{title:e.title}),()=>k(e=>{e.splice(t,1)}))})]}),e.lectures.map((e,n)=>(0,i.jsxs)(`div`,{className:`aha-lecture`,children:[(0,i.jsxs)(`div`,{className:`aha-lesson`,style:{fontWeight:600},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:l(`lectureN`,{n:n+1})}),(0,i.jsx)(`input`,{value:e.title,onChange:e=>{let r=e.currentTarget.value;k(e=>{e[t].lectures[n].title=r})}}),(0,i.jsx)(Dl,{onUp:()=>k(e=>{let r=e[t].lectures;r.splice(0,r.length,...Tl(r,n,-1))}),onDown:()=>k(e=>{let r=e[t].lectures;r.splice(0,r.length,...Tl(r,n,1))}),onRemove:()=>ge(l(`confirmRemoveLecture`,{title:e.title}),()=>k(e=>{e[t].lectures.splice(n,1)}))})]}),e.lessons.map((e,r)=>{let a=`${t}.${n}.${r}`,o=()=>k(e=>{e[t].lectures[n].lessons.splice(r,1)});return(0,i.jsxs)(`div`,{className:`aha-lesson`,children:[(0,i.jsx)(`span`,{className:`aha-dot`}),(0,i.jsx)(`input`,{value:e.title,title:e.summary,onChange:e=>{let i=e.currentTarget.value;k(e=>{e[t].lectures[n].lessons[r].title=i})}}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l(`estMinutes`,{minutes:e.estMinutes})}),re===a?(0,i.jsx)(_c,{}):ce(e)?null:(0,i.jsxs)(`span`,{className:`aha-menuAnchor`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,title:l(`reworkLesson`),"aria-label":l(`reworkLesson`),"aria-expanded":te===a,onClick:()=>ne(e=>e===a?null:a),children:`✦`}),te===a?(0,i.jsxs)(`div`,{className:`aha-card aha-menu`,onMouseLeave:()=>ne(null),children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>pe(t,n,r,`split`),children:l(`splitLesson`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>pe(t,n,r,`deepen`),children:l(`deepenLesson`)})]}):null]}),(0,i.jsx)(Dl,{onUp:()=>k(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...Tl(i,r,-1))}),onDown:()=>k(e=>{let i=e[t].lectures[n].lessons;i.splice(0,i.length,...Tl(i,r,1))}),onRemove:()=>ce(e)?ge(l(`confirmRemoveStarted`,{title:e.title}),o):o()})]},e.id??r)}),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>k(e=>{e[t].lectures[n].lessons.push({title:l(`untitled`),objectives:[],concepts:[],estMinutes:15})}),children:[`+ `,l(`addLesson`)]})})]},e.id??n)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>k(e=>{e[t].lectures.push({title:l(`untitled`),lessons:[{title:l(`untitled`),objectives:[],concepts:[],estMinutes:15}]})}),children:[`+ `,l(`addLecture`)]})})]},e.id??t)),(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>k(e=>{e.push({title:l(`untitled`),objectives:[],lectures:[{title:l(`untitled`),lessons:[{title:l(`untitled`),objectives:[],concepts:[],estMinutes:15}]}]})}),children:[`+ `,l(`addUnit`)]})})]}),e.projects?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:l(`projects`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:e.projects.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief})]},e.id))})]}):null,D?(0,i.jsx)(xc,{danger:!0,text:D.text,onConfirm:()=>{D.run(),ee(null)},onCancel:()=>ee(null)}):null]})}function Dl({onUp:e,onDown:t,onRemove:n}){let{t:r}=v();return(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:2,flexWrap:`nowrap`},children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:e,title:r(`moveUp`),"aria-label":r(`moveUp`),children:`↑`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t,title:r(`moveDown`),"aria-label":r(`moveDown`),children:`↓`}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:n,title:r(`remove`),"aria-label":r(`remove`),children:`✕`})]})}function Ol({item:e,day:t,today:n,onToggle:r}){let{t:a,navigate:o}=v(),s=e.kind!==`exam`&&t<=n,c=e.checked===`auto`;return(0,i.jsxs)(`div`,{className:`aha-planItem`,"data-checked":e.checked?`true`:void 0,children:[s?(0,i.jsx)(`input`,{type:`checkbox`,className:`aha-check`,checked:!!e.checked,disabled:c,title:c?a(`checkedAuto`):void 0,"aria-label":e.checked?a(`unmarkDone`):a(`markDone`),onChange:()=>r?.(e,t)}):null,(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`lesson`?a(`lessonItem`):e.kind===`review`?a(`reviewItem`):a(`examItem`)}),(0,i.jsxs)(`span`,{className:`aha-planTitle`,children:[e.title,(0,i.jsx)(kc,{title:e.courseTitle,emoji:e.courseEmoji})]}),e.minutes?(0,i.jsx)(`span`,{className:`aha-hint`,children:a(`minutesUnit`,{minutes:e.minutes})}):null,e.kind===`lesson`&&!e.checked?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`lesson`,{courseId:e.courseId,lessonId:e.refId}),children:a(`learn`)}):null,e.kind===`review`&&!e.checked&&t===n?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e.courseId??void 0,review:!0}),children:a(`review`)}):null]})}function kl(e,t,n,r){return t.checked===`manual`?e.call(`plan/uncheck`,{today:r,day:n,refId:t.refId}):e.call(`plan/check`,{today:r,day:n,item:t})}function Al(e){let t=e instanceof Date?e:new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function jl(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/u.exec(String(e));if(!t)throw TypeError(`invalid day "${e}"`);return new Date(Number(t[1]),Number(t[2])-1,Number(t[3]))}let Ml=[[`course`,`modeCourse`,`🎓`],[`explain`,`modeExplain`,`💡`],[`solve`,`modeSolve`,`🧮`],[`visualize`,`modeVisualize`,`📈`],[`digest`,`modeDigest`,`📚`],[`short`,`modeShort`,`🎬`]];function Nl(){let{api:e,t,navigate:n,toast:a}=v(),[o,s]=(0,r.useState)(`course`),[c,l]=C(`craftWeb`,!0),[u,d]=(0,r.useState)(null),[f,p]=(0,r.useState)(``),[m,h]=(0,r.useState)([]),[g,_]=(0,r.useState)(!1),[b,x]=(0,r.useState)(!1),[S,w]=(0,r.useState)(null),T=y(()=>e.call(`course/list`),[]),E=y(()=>e.call(`plan/get`,{today:Al(new Date)}),[]),D=y(()=>e.call(`samples/list`),[]),ee=u??(!m.length&&c);function te(){d(!ee),m.length||l(!ee)}async function ne(t=!1){let r=f.trim();if(w(null),o===`course`){if(!r&&!m.length)return;x(!0);try{let{job:i}=await e.call(`course/start`,{goal:r,materialIds:m,quick:t,web:ee});n(`craft`,{jobId:i.id})}catch(e){w(e)}finally{x(!1)}return}if(o===`digest`){if(!m.length){_(!0);return}n(`item`,{kind:`digest`,materialId:m[0]});return}if(o===`short`){let e=/^https?:\/\//iu.test(r);n(`shorts`,{draftTopic:e?``:r,draftUrl:e?r:``,token:Date.now().toString(36)});return}r&&n(`assist`,{draftMode:o,draftRequest:r,draftMaterials:m,token:Date.now().toString(36)})}let re=(T.value??[]).filter(e=>e.status===`ready`&&!e.archived&&e.progress.percent<100).slice(0,3),ie=(T.value??[]).filter(e=>e.status!==`ready`&&!e.archived).slice(0,2),O=E.value?.today??[],k=Al(new Date);async function ae(t,n){try{E.setValue(await kl(e,t,n,k))}catch(e){w(e)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`section`,{className:`aha-hero`,children:[(0,i.jsx)(`div`,{className:`aha-heroTitle`,children:t(`heroTitle`)}),(0,i.jsx)(`p`,{className:`aha-subtitle`,children:t(`heroHint`)}),(0,i.jsxs)(`div`,{className:`aha-composer`,children:[(0,i.jsx)(`textarea`,{value:f,placeholder:t(`heroPlaceholder`),onChange:e=>p(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&ne()}}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>_(!0),children:[(0,i.jsx)(me,{name:`plus`,size:15}),m.length?t(`attached`,{count:m.length}):t(`attach`)]}),o===`course`?(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":ee,"aria-pressed":ee,onClick:te,title:t(`webResearchHint`),children:[`🌐 `,t(`webResearch`)]}):null]}),(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[o===`course`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,disabled:b,onClick:()=>ne(!0),children:t(`quickStart`)}):null,(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:b||!f.trim()&&!m.length,onClick:()=>ne(!1),children:[b?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(`start`)]})]})]})]}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:8},children:Ml.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":o===e,onClick:()=>s(e),children:[r,` `,t(n)]},e))}),(0,i.jsx)($,{error:S})]}),re.length||ie.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`continueLearning`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:[...ie,...re].map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>n(e.status===`ready`?`course`:`craft`,{courseId:e.id}),children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:e.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:e.title})]}),e.status===`ready`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(vc,{value:e.progress.percent}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`lessonsCount`,e.progress)}),e.next?(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`nextUp`,{title:e.next.title})}):null]}),e.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:t=>{t.stopPropagation(),n(`lesson`,{courseId:e.id,lessonId:e.next.lessonId})},children:[(0,i.jsx)(me,{name:`play`,size:14}),t(`continueLearning`)]}):null]}):(0,i.jsx)(`span`,{className:`aha-tag`,children:e.status===`intake`?t(`statusIntake`):t(`statusBlueprint`)})]},e.id))})]}):null,(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`todayPlan`)}),(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>n(`plan`),children:[t(`navPlan`),` →`]})]}),E.loading&&!E.value?(0,i.jsx)(_c,{}):O.length?(0,i.jsx)(`div`,{className:`aha-col`,style:{gap:6},children:O.map(e=>(0,i.jsx)(`div`,{className:`aha-card`,style:{padding:`6px 14px`},children:(0,i.jsx)(Ol,{item:e,day:k,today:k,onToggle:ae})},`${e.kind}:${e.refId}`))}):(0,i.jsx)(Cc,{children:t(`noPlanToday`)})]}),D.value?.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:t(`sampleCourses`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`sampleHint`)}),(0,i.jsx)(`div`,{className:`aha-grid`,children:D.value.map(r=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{style:{fontSize:24},children:r.emoji}),(0,i.jsx)(`span`,{className:`aha-cardTitle`,children:r.title})]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:r.subtitle}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:async()=>{try{let i=await e.call(`samples/import`,{id:r.id});a(t(`courseReady`)),n(`course`,{courseId:i.id})}catch(e){a(Sc(t,e))}},children:t(`importSample`)})]},r.id))})]}):null,g?(0,i.jsx)(Ec,{selected:m,onChange:h,onClose:()=>_(!1)}):null]})}let Pl=`http://www.w3.org/2000/svg`,Fl=new Set([`SCRIPT`,`STYLE`,`TEMPLATE`,`IFRAME`,`BUTTON`,`INPUT`,`TEXTAREA`,`SELECT`]),Il=[`Top`,`Right`,`Bottom`,`Left`],Ll=[`fill`,`fill-opacity`,`fill-rule`,`stroke`,`stroke-width`,`stroke-opacity`,`stroke-dasharray`,`stroke-dashoffset`,`stroke-linecap`,`stroke-linejoin`,`stroke-miterlimit`,`opacity`,`font-family`,`font-size`,`font-style`,`font-weight`,`text-anchor`,`dominant-baseline`],Rl=typeof Intl<`u`&&typeof Intl.Segmenter==`function`?new Intl.Segmenter(void 0,{granularity:`grapheme`}):null;function zl(e){if(Rl)return Array.from(Rl.segment(e),e=>({index:e.index,text:e.segment}));let t=[],n=0;for(let r of e)t.push({index:n,text:r}),n+=r.length;return t}function Bl(e){if(!e||e===`transparent`||e===`none`)return!1;let t=/^(?:rgba?|hsla?|color|lab|lch|oklab|oklch)\((.*)\)$/u.exec(e.trim());if(!t)return!0;let n=t[1],r=n.includes(`/`)?n.split(`/`).pop():n.split(`,`).length===4?n.split(`,`).pop():null;return r===null||Number.parseFloat(r)>0}function Vl(e){if(!e||!e.startsWith(`linear-gradient(`))return[];let t=e.slice(16);if(/^\s*(?:to\s+(?!bottom)|-?[\d.]+(?:deg|turn|rad))/u.test(t)&&!/^\s*180deg/u.test(t))return[];let n=[...t.matchAll(/((?:rgba?|hsla?|color|oklab|oklch|lab|lch)\([^)]*\)|transparent|#[0-9a-f]{3,8})\s+(-?[\d.]+)%/giu)].map(e=>({color:e[1],at:Number.parseFloat(e[2])/100})),r=[];for(let e=0;e+1<n.length;e+=1){let[t,i]=[n[e],n[e+1]];t.color===i.color&&Bl(t.color)&&i.at>t.at&&r.push({color:t.color,from:Math.max(0,t.at),to:Math.min(1,i.at)})}return r}function Hl(e,t,n){let[r,i=r]=String(e||`0`).trim().split(/\s+/u),a=(e,t)=>e.endsWith(`%`)?Number.parseFloat(e)/100*t:Number.parseFloat(e)||0;return{x:a(r,t),y:a(i,n)}}function Ul(e,t,n){let r=[e.borderTopLeftRadius,e.borderTopRightRadius,e.borderBottomRightRadius,e.borderBottomLeftRadius].map(e=>Hl(e,t,n));return r.some(e=>e.x>0&&e.y>0)?r:null}function Wl(e){return`${e.fontStyle.startsWith(`oblique`)?`italic`:e.fontStyle} ${e.fontWeight} ${e.fontSize} ${e.fontFamily}`}function Gl(e,t){if(!e)return t;if(!t)return e;let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y);return{x:n,y:r,w:Math.max(0,Math.min(e.x+e.w,t.x+t.w)-n),h:Math.max(0,Math.min(e.y+e.h,t.y+t.h)-r)}}function Kl(e,t){let n=Math.min(e.x,t.x),r=Math.min(e.y,t.y);return{x:n,y:r,w:Math.max(e.x+e.w,t.x+t.w)-n,h:Math.max(e.y+e.h,t.y+t.h)-r}}function ql(e,t){return e===`dashed`?[t*3,t*2.2]:e===`dotted`?[.01,t*2]:null}async function Jl(e,{timeoutMs:t=1e4}={}){e.offsetHeight,await new Promise(e=>{setTimeout(e,50)});let n=document.fonts;if(!n)return;let r=(e.textContent??``).slice(0,2e4),i=[`Aha Hand Latin`,`Aha Hand`].map(e=>n.load?.(`20px '${e}'`,r).catch(()=>void 0));await Promise.race([Promise.all([...i,n.ready]),new Promise(e=>{setTimeout(e,t)})])}function Yl(e){for(let t of e.querySelectorAll(`.aha-op-math`))Jo(t);for(let t of e.querySelectorAll(`.aha-op-table`)){let e=t.closest(`.aha-op`)?.clientWidth??0;if(!e||t.offsetWidth<=e+1)continue;let n=e/t.offsetWidth,r=getComputedStyle(t);t.style.fontSize=`${Math.max(10,(Number.parseFloat(r.fontSize)||16)*n)}px`,t.style.lineHeight=`${Math.max(14,(Number.parseFloat(r.lineHeight)||24)*n)}px`}}function Xl(e,{scale:t=2}={}){let n=e.getBoundingClientRect(),r=[],i=new Map,a=document.createElement(`canvas`).getContext(`2d`),o=document.createRange(),s=e=>({x:e.left-n.left,y:e.top-n.top,w:e.width,h:e.height}),c=e=>{let t=i.get(e);if(!t){a.font=e;let n=a.measureText(`Hg`),r=Number.parseFloat(/([\d.]+)px/u.exec(e)?.[1]??`16`);t={ascent:Number.isFinite(n.fontBoundingBoxAscent)?n.fontBoundingBoxAscent:r*.8,descent:Number.isFinite(n.fontBoundingBoxDescent)?n.fontBoundingBoxDescent:r*.2},i.set(e,t)}return t},l=getComputedStyle(e);r.push({kind:`paper`,w:n.width,h:n.height,paper:l.getPropertyValue(`--paper`).trim()||l.backgroundColor,dot:l.getPropertyValue(`--grid`).trim()});let u=(e,t)=>{let i=e.data;if(!i||!/\S/u.test(i))return;let a=getComputedStyle(e.parentElement);if(!Bl(a.color))return;let s=Wl(a),{ascent:l}=c(s),u=null,d=()=>{u&&/\S/u.test(u.text)&&r.push({kind:`text`,text:u.text,x:u.x,y:u.top+l,font:s,color:a.color,alpha:t.alpha,clip:t.clip}),u=null};for(let t of zl(i)){if(t.text===`
268
+ `||t.text===`\r`||t.text===` `){d();continue}o.setStart(e,t.index),o.setEnd(e,t.index+t.text.length);let r=o.getClientRects(),i=r[r.length-1];if(!i||i.width<=0){/\s/u.test(t.text)||d();continue}let a=i.left-n.left,s=i.top-n.top;u&&Math.abs(s-u.top)<1&&Math.abs(a-u.right)<1?(u.text+=t.text,u.right=a+i.width):(d(),u={text:t.text,x:a,top:s,right:a+i.width})}d()},d=(e,t,n,i,a)=>{let o=t.backgroundColor,c=Vl(t.backgroundImage);for(let e of n){let n=s(e);Bl(o)&&r.push({kind:`fill`,box:n,color:o,radius:Ul(t,n.w,n.h),alpha:i,clip:a});for(let e of c)r.push({kind:`fill`,box:{x:n.x,y:n.y+n.h*e.from,w:n.w,h:n.h*(e.to-e.from)},color:e.color,alpha:i,clip:a})}let l=Il.map(e=>({width:Number.parseFloat(t[`border${e}Width`])||0,style:t[`border${e}Style`],color:t[`border${e}Color`]})),u=l.map(e=>e.width>0&&e.style!==`none`&&e.style!==`hidden`&&Bl(e.color));if(!u.some(Boolean))return;let d=(e.tagName===`TD`||e.tagName===`TH`)&&t.borderCollapse===`collapse`,f=!d&&u.every(Boolean)&&l.every(e=>e.width===l[0].width&&e.style===l[0].style&&e.color===l[0].color);for(let e of n){let n=s(e);if(f){let e=l[0].width,o=Ul(t,n.w,n.h)?.map(t=>({x:Math.max(0,t.x-e/2),y:Math.max(0,t.y-e/2)}))??null;r.push({kind:`stroke`,box:{x:n.x+e/2,y:n.y+e/2,w:Math.max(0,n.w-e),h:Math.max(0,n.h-e)},width:e,color:l[0].color,dash:ql(l[0].style,e),radius:o,alpha:i,clip:a});continue}l.forEach((e,t)=>{if(!u[t])return;let o=d?0:e.width/2,s=[[n.x,n.y+o,n.x+n.w,n.y+o],[n.x+n.w-o,n.y,n.x+n.w-o,n.y+n.h],[n.x,n.y+n.h-o,n.x+n.w,n.y+n.h-o],[n.x+o,n.y,n.x+o,n.y+n.h]][t];r.push({kind:`line`,points:s,width:e.width,color:e.color,dash:ql(e.style,e.width),alpha:i,clip:a})})}},f=(e,t,n,i)=>{let a=e.parentElement;if(!a||t.listStyleType===`none`||t.display!==`list-item`)return;let o=Wl(t),{ascent:l,descent:u}=c(o),d=Number.parseFloat(t.fontSize)||16,f=Number.parseFloat(t.lineHeight)||(l+u)*1.2,p=s(e.getBoundingClientRect()),m=[...a.children].filter(e=>e.tagName===`LI`),h=a.tagName===`OL`?`${m.indexOf(e)+(Number(a.getAttribute(`start`))||1)}.`:`•`;r.push({kind:`text`,text:h,align:`right`,x:p.x-d*.4,y:p.y+(Number.parseFloat(t.paddingTop)||0)+(f-l-u)/2+l,font:o,color:t.color,alpha:n,clip:i})},p=(e,i,a,o)=>{let l=e.getBoundingClientRect(),u=s(l),d=i.overflow===`visible`||i.overflowX===`visible`;if(d)try{let t=e.getBBox(),r=e.getScreenCTM();if(r&&(t.width||t.height)){let e=[[t.x,t.y],[t.x+t.width,t.y],[t.x,t.y+t.height],[t.x+t.width,t.y+t.height]].map(([e,t])=>[r.a*e+r.c*t+r.e-n.left,r.b*e+r.d*t+r.f-n.top]),i=e.map(e=>e[0]),a=e.map(e=>e[1]);u=Kl(u,{x:Math.min(...i)-4,y:Math.min(...a)-4,w:Math.max(...i)-Math.min(...i)+8,h:Math.max(...a)-Math.min(...a)+8})}}catch{}if(u=Gl(u,o??{x:0,y:0,w:n.width,h:n.height}),u.w<.5||u.h<.5)return;let f=[],p=e.cloneNode(!0),m=(e,t)=>{let r=getComputedStyle(e),i=Ll.map(e=>[e,r.getPropertyValue(e)]).filter(([,e])=>e&&!e.includes(`url(`));r.display===`none`&&i.push([`display`,`none`]),r.visibility===`hidden`&&i.push([`visibility`,`hidden`]),t.setAttribute(`style`,i.map(([e,t])=>`${e}:${t}`).join(`;`));let s=e.tagName.toLowerCase();if((s===`text`||s===`tspan`)&&![...e.children].length&&/\S/u.test(e.textContent??``)){let i=e.getScreenCTM?.(),s=i&&Math.abs(i.b)<.001&&Math.abs(i.c)<.001&&i.a>0,l=r.fill;if(s&&Bl(l)&&!l.includes(`url(`)&&!Bl(r.stroke)&&r.display!==`none`&&r.visibility!==`hidden`){let s=e.getBoundingClientRect(),u=(Number.parseFloat(r.fontSize)||16)*i.d,d=`${r.fontStyle.startsWith(`oblique`)?`italic`:r.fontStyle} ${r.fontWeight} ${u}px ${r.fontFamily}`,p=(Number.parseFloat(r.fillOpacity)||1)*(Number.parseFloat(r.opacity)||1);f.push({kind:`text`,text:e.textContent.replace(/\s+/gu,` `).trim(),x:s.left-n.left,y:s.top-n.top+c(d).ascent,font:d,color:l,alpha:a*p,clip:o}),t.setAttribute(`style`,`${t.getAttribute(`style`)};visibility:hidden`)}}let l=[...e.children],u=[...t.children];l.forEach((e,t)=>{u[t]&&m(e,u[t])})};m(e,p),p.setAttribute(`x`,String(l.left-n.left-u.x)),p.setAttribute(`y`,String(l.top-n.top-u.y)),p.setAttribute(`width`,String(l.width)),p.setAttribute(`height`,String(l.height)),d&&p.setAttribute(`overflow`,`visible`);let h=new XMLSerializer().serializeToString(p),g=`<svg xmlns="${Pl}" width="${Math.ceil(u.w*t)}" height="${Math.ceil(u.h*t)}" viewBox="0 0 ${u.w} ${u.h}" preserveAspectRatio="none">${h}</svg>`;r.push({kind:`image`,markup:g,box:u,alpha:a,clip:null}),r.push(...f)},m=(e,t)=>{if(Fl.has(e.tagName)||e.classList.contains(`katex-mathml`))return;let n=getComputedStyle(e);if(n.display===`none`||n.visibility===`hidden`||n.visibility===`collapse`)return;let r=t.alpha*(Number.parseFloat(n.opacity)||0);if(r<=.01)return;if(e.namespaceURI===Pl){e.tagName.toLowerCase()===`svg`&&p(e,n,r,t.clip);return}d(e,n,[...e.getClientRects()].filter(e=>e.width>0&&e.height>0),r,t.clip),e.tagName===`LI`&&f(e,n,r,t.clip);let i=n.overflowX!==`visible`||n.overflowY!==`visible`;h(e,{alpha:r,clip:i?Gl(t.clip,s(e.getBoundingClientRect())):t.clip})},h=(e,t)=>{for(let n of e.childNodes)n.nodeType===Node.TEXT_NODE?u(n,t):n.nodeType===Node.ELEMENT_NODE&&m(n,t)};return h(e,{alpha:1,clip:null}),o.detach?.(),{width:Math.ceil(n.width),height:Math.ceil(n.height),ops:r}}async function Zl(e){return await Promise.all(e.ops.map(async e=>{if(e.kind!==`image`)return;let t=new Image;t.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e.markup)}`;try{await t.decode(),e.image=t}catch{e.image=null}})),e}function Ql(e,t,n){e.beginPath(),n&&e.roundRect?e.roundRect(t.x,t.y,t.w,t.h,n):e.rect(t.x,t.y,t.w,t.h)}let $l={paper(e,t){if(e.fillStyle=t.paper||`#fdfcf8`,e.fillRect(0,0,t.w,t.h),t.dot){e.fillStyle=t.dot,e.beginPath();for(let n=22/2;n<t.w;n+=22)for(let r=22/2;r<t.h;r+=22)e.moveTo(n+1.1,r),e.arc(n,r,1.1,0,Math.PI*2);e.fill()}},fill(e,t){e.fillStyle=t.color,Ql(e,t.box,t.radius),e.fill()},stroke(e,t){e.strokeStyle=t.color,e.lineWidth=t.width,t.dash&&(e.setLineDash(t.dash),e.lineCap=t.dash[0]<.1?`round`:`butt`),Ql(e,t.box,t.radius),e.stroke()},line(e,t){e.strokeStyle=t.color,e.lineWidth=t.width,t.dash&&(e.setLineDash(t.dash),e.lineCap=t.dash[0]<.1?`round`:`butt`),e.beginPath(),e.moveTo(t.points[0],t.points[1]),e.lineTo(t.points[2],t.points[3]),e.stroke()},text(e,t){e.font=t.font,e.fillStyle=t.color,e.textBaseline=`alphabetic`,e.textAlign=t.align??`left`,e.fillText(t.text,t.x,t.y)},image(e,t){t.image&&e.drawImage(t.image,t.box.x,t.box.y,t.box.w,t.box.h)}};function eu(e,t=2){let n=document.createElement(`canvas`);n.width=Math.max(1,Math.round(e.width*t)),n.height=Math.max(1,Math.round(e.height*t));let r=n.getContext(`2d`);r.scale(t,t);for(let t of e.ops)r.save(),r.globalAlpha=Math.min(1,t.alpha??1),t.clip&&(r.beginPath(),r.rect(t.clip.x,t.clip.y,t.clip.w,t.clip.h),r.clip()),$l[t.kind]?.(r,t),r.restore();return n}function tu(e){let t=`FEFF`;for(let n of String(e??``)){let e=n.codePointAt(0),r=e>65535?[55296+(e-65536>>10),56320+(e-65536&1023)]:[e];for(let e of r)t+=e.toString(16).toUpperCase().padStart(4,`0`)}return`<${t}>`}function nu(e){let t=e=>String(e).padStart(2,`0`);return`(D:${e.getUTCFullYear()}${t(e.getUTCMonth()+1)}${t(e.getUTCDate())}${t(e.getUTCHours())}${t(e.getUTCMinutes())}${t(e.getUTCSeconds())}Z)`}let ru=e=>String(Math.round(e*.75*100)/100);function iu(e,{title:t=``,creator:n=``,date:r=new Date}={}){let i=new TextEncoder,a=[],o=[],s=0,c=e=>{let t=typeof e==`string`?i.encode(e):e;a.push(t),s+=t.length},l=(e,...t)=>{o[e]=s,c(`${e} 0 obj\n`);for(let e of t)c(e);c(`
269
+ endobj
270
+ `)};c(`%PDF-1.4
271
+ `),c(new Uint8Array([37,226,227,207,211,10]));let u=e=>4+e*3;l(1,`<< /Type /Catalog /Pages 2 0 R >>`),l(2,`<< /Type /Pages /Kids [${e.map((e,t)=>`${u(t)} 0 R`).join(` `)}] /Count ${e.length} >>`),l(3,`<< /Title ${tu(t)} /Creator ${tu(n)} /Producer ${tu(n)} /CreationDate ${nu(r)} >>`),e.forEach((e,t)=>{let n=u(t),r=ru(e.width),i=ru(e.height);l(n,`<< /Type /Page /Parent 2 0 R /MediaBox [0 0 ${r} ${i}] /Resources << /XObject << /P${t} ${n+2} 0 R >> >> /Contents ${n+1} 0 R >>`);let a=`q ${r} 0 0 ${i} 0 0 cm /P${t} Do Q`;l(n+1,`<< /Length ${a.length} >>\nstream\n`,a,`
272
+ endstream`);let{image:o}=e;l(n+2,`<< /Type /XObject /Subtype /Image /Width ${o.width} /Height ${o.height} /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /${o.filter} /Length ${o.data.length} >>\nstream\n`,o.data,`
273
+ endstream`)});let d=4+e.length*3,f=s;c(`xref\n0 ${d}\n0000000000 65535 f \n`);for(let e=1;e<d;e+=1)c(`${String(o[e]).padStart(10,`0`)} 00000 n \n`);c(`trailer\n<< /Size ${d} /Root 1 0 R /Info 3 0 R >>\nstartxref\n${f}\n%%EOF\n`);let p=new Uint8Array(s),m=0;for(let e of a)p.set(e,m),m+=e.length;return p}async function au(e){let t=new Blob([e]).stream().pipeThrough(new CompressionStream(`deflate`));return new Uint8Array(await new Response(t).arrayBuffer())}async function ou(e){let{width:t,height:n}=e;if(typeof CompressionStream==`function`){let{data:r}=e.getContext(`2d`).getImageData(0,0,t,n),i=new Uint8Array(t*n*3);for(let e=0,t=0;e<r.length;e+=4,t+=3)i[t]=r[e],i[t+1]=r[e+1],i[t+2]=r[e+2];return{width:t,height:n,filter:`FlateDecode`,data:await au(i)}}let r=await new Promise(t=>{e.toBlob(t,`image/jpeg`,.92)});if(!r)throw Error(`image encoding failed`);return{width:t,height:n,filter:`DCTDecode`,data:new Uint8Array(await r.arrayBuffer())}}let su=null;function cu(e){if(!su){su=new Uint32Array(256);for(let e=0;e<256;e+=1){let t=e;for(let e=0;e<8;e+=1)t=t&1?3988292384^t>>>1:t>>>1;su[e]=t>>>0}}let t=4294967295;for(let n of e)t=su[(t^n)&255]^t>>>8;return(t^4294967295)>>>0}function lu(e){return{time:e.getHours()<<11|e.getMinutes()<<5|Math.floor(e.getSeconds()/2),day:Math.max(0,e.getFullYear()-1980)<<9|e.getMonth()+1<<5|e.getDate()}}function uu(e,t=new Date){let n=new TextEncoder,{time:r,day:i}=lu(t),a=[],o=[],s=0;for(let t of e){let e=n.encode(t.name),c=cu(t.data),l=t.data.length,u=new DataView(new ArrayBuffer(30));u.setUint32(0,67324752,!0),u.setUint16(4,20,!0),u.setUint16(6,2048,!0),u.setUint16(8,0,!0),u.setUint16(10,r,!0),u.setUint16(12,i,!0),u.setUint32(14,c,!0),u.setUint32(18,l,!0),u.setUint32(22,l,!0),u.setUint16(26,e.length,!0),u.setUint16(28,0,!0),a.push(new Uint8Array(u.buffer),e,t.data);let d=new DataView(new ArrayBuffer(46));d.setUint32(0,33639248,!0),d.setUint16(4,20,!0),d.setUint16(6,20,!0),d.setUint16(8,2048,!0),d.setUint16(10,0,!0),d.setUint16(12,r,!0),d.setUint16(14,i,!0),d.setUint32(16,c,!0),d.setUint32(20,l,!0),d.setUint32(24,l,!0),d.setUint16(28,e.length,!0),d.setUint32(42,s,!0),o.push(new Uint8Array(d.buffer),e),s+=30+e.length+l}let c=o.reduce((e,t)=>e+t.length,0),l=new DataView(new ArrayBuffer(22));l.setUint32(0,101010256,!0),l.setUint16(8,e.length,!0),l.setUint16(10,e.length,!0),l.setUint32(12,c,!0),l.setUint32(16,s,!0);let u=[...a,...o,new Uint8Array(l.buffer)],d=new Uint8Array(u.reduce((e,t)=>e+t.length,0)),f=0;for(let e of u)d.set(e,f),f+=e.length;return d}function du(e){return new Promise((t,n)=>{e.toBlob(e=>e?t(e):n(Error(`image encoding failed`)),`image/png`)})}function fu({steps:e,title:t,kind:n=`ghost`}){let{t:a,settings:s,toast:c}=v(),l=w(),[u,d]=(0,r.useState)(!1),[f,p]=(0,r.useState)(null),_=(0,r.useRef)(null),y=(0,r.useRef)(null),b=s.boardTheme===`dark`||s.boardTheme!==`light`&&l?`dark`:`light`,x=s.boardFont===`standard`?`standard`:`hand`,S=m(t);function C(n){if(d(!1),!(!e?.length||f)){if(n===`md`){h(`${S}.md`,pc({title:t,steps:e}),`text/markdown`);return}p({id:Date.now(),format:n,done:0,total:0})}}function T(){y.current&&(y.current.cancelled=!0),y.current=null,p(null)}async function E(e,n){let r=_.current;if(!r)throw Error(`pages missing`);await Jl(r),Yl(r);let i=[...r.querySelectorAll(`[data-sheet]`)];p(e=>e&&{...e,total:i.length});let o=[];for(let[t,r]of i.entries()){if(n.cancelled)return;let i=await Zl(Xl(r,{scale:2})),a=eu(i,2);o.push(e===`pdf`?{width:i.width,height:i.height,image:await ou(a)}:await du(a)),p(e=>e&&{...e,done:t+1})}if(!(n.cancelled||!o.length))if(e===`pdf`)g(`${S}.pdf`,new Blob([iu(o,{title:t,creator:`${a(`appName`)} · ${a(`appTagline`)}`})],{type:`application/pdf`}));else if(o.length===1)g(`${S}.png`,o[0]);else{let e=await Promise.all(o.map(async(e,t)=>({name:`${S}-${String(t+1).padStart(2,`0`)}.png`,data:new Uint8Array(await e.arrayBuffer())})));g(`${S}.zip`,new Blob([uu(e)],{type:`application/zip`}))}}return(0,r.useEffect)(()=>{if(!f)return;let e={cancelled:!1};return y.current=e,E(f.format,e).catch(()=>{e.cancelled||c(a(`exportFailed`))}).finally(()=>{y.current===e&&(y.current=null,p(null))}),()=>{e.cancelled=!0}},[f?.id]),(0,i.jsxs)(`span`,{className:`aha-menuAnchor`,children:[f?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_c,{label:a(`exportingBoard`,{done:f.done,total:f.total||`…`})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":n??void 0,"data-size":`sm`,onClick:T,children:a(`cancel`)})]}):(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":n??void 0,"data-size":`sm`,disabled:!e?.length,"aria-haspopup":`menu`,"aria-expanded":u,onClick:()=>d(e=>!e),children:[a(`exportBoard`),` ▾`]}),u?(0,i.jsxs)(`div`,{className:`aha-card aha-menu`,role:`menu`,onMouseLeave:()=>d(!1),children:[(0,i.jsx)(`button`,{type:`button`,role:`menuitem`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>C(`pdf`),children:a(`exportPdf`)}),(0,i.jsx)(`button`,{type:`button`,role:`menuitem`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>C(`png`),children:a(`exportPng`)}),(0,i.jsx)(`button`,{type:`button`,role:`menuitem`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>C(`md`),children:a(`exportMarkdown`)})]}):null,f?(0,o.createPortal)((0,i.jsx)(`div`,{ref:_,className:`aha-exportPages`,"aria-hidden":`true`,children:(0,i.jsx)(Js,{steps:e,title:t,theme:b,font:x,footer:{left:t,right:`${a(`appName`)} · ${a(`appTagline`)}`},animationLabel:a(`animationStill`)})}),document.body):null]})}let pu=Object.freeze([Object.freeze({family:`Aha Hand Latin`,file:`caveat-latin-d0b7b931.woff2`,bytes:48836,unicodeRange:`U+0,U+D,U+20-7E,U+A0-FF,U+131,U+152-153,U+20AC,U+2122`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-0-88f1a875.woff2`,bytes:93632,unicodeRange:`U+20-7E,U+A0-AC,U+AE-FF,U+101,U+113,U+11B,U+12B,U+14D,U+16B,U+1CE,U+1D0,U+1D2,U+1D4,U+1D6,U+1D8,U+1DA,U+1DC,U+2C7,U+2C9,U+391-3A1,U+3A3-3A9,U+3B1-3C1,U+3C3-3C9,U+401,U+410-44F,U+451,U+2010-2016,U+2018-2022,U+2025-2027,U+2030-2037,U+2039-203F,U+2042,U+2044,U+2047-2049,U+2051-2052,U+205A,U+205D,U+2100-2101,U+2103,U+2105-2106,U+2109-210A,U+210E-210F,U+2113,U+2116-2117,U+211E,U+2120-2122,U+2126-2127,U+2129-212B,U+212E,U+2132,U+2135,U+213B,U+2141-2144,U+214B,U+214D-214E,U+2150-218B,U+2190-2199,U+21B6-21B9,U+21C4-21C6,U+21CB-21D0,U+21D2,U+21D4,U+21E6-21EA,U+21F5,U+2200-220D,U+220F,U+2211-2213,U+2215-2216,U+2219-2220,U+2223-2230,U+2234-2237,U+223C-223E,U+2242-2243,U+2245,U+2248,U+224B-224C,U+2251-2253,U+225C,U+2260-2262,U+2264-226B,U+226E-226F,U+2272-2273,U+2276-2277,U+2282-228B,U+2295-2299,U+229C-229E,U+22A0,U+22A2-22A5,U+22BF-22C5,U+22DA-22DB,U+22EE-22F1,U+2312,U+2460-249F,U+2500-25AB,U+25B1-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25C6-25C7,U+25C9-25CC,U+25CE-25D3,U+25E2-25E6,U+25EF,U+25FB-25FC,U+2605-2606,U+2640,U+2642,U+3000-302D,U+3030,U+3033-303F,U+3041-3093,U+30A1-30F6,U+30FB,U+3105-3129,U+3220-3229,U+FF01-FF5E,U+FFE0-FFE1,U+FFE3,U+FFE5`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-1-78a38e72.woff2`,bytes:315108,unicodeRange:`U+4E01,U+4E0D,U+4E11,U+4E19,U+4E1B-4E1C,U+4E22,U+4E2A,U+4E30,U+4E32,U+4E39,U+4E4E-4E4F,U+4E56,U+4E58,U+4E8C,U+4E92,U+4EA4-4EA5,U+4EA7-4EA8,U+4EC7,U+4ECE,U+4ED3,U+4ED8,U+4EE3,U+4EF6-4EF7,U+4EFD,U+4EFF,U+4F0E-4F10,U+4F19-4F1A,U+4F20,U+4F2F-4F30,U+4F34,U+4F43,U+4F46,U+4F4E,U+4F55,U+4F5B,U+4F70,U+4F73,U+4F88,U+4F97,U+4F9B,U+4FA7,U+4FAF,U+4FBF,U+4FC3-4FC4,U+4FD8,U+4FDD,U+4FED,U+4FEF,U+4FFA,U+500D,U+5012,U+5019,U+5021,U+5047,U+5065,U+507F,U+5085,U+508D,U+50A3,U+50A8,U+50AC,U+50B2,U+50F5,U+513F,U+5145,U+5149,U+5151,U+515A,U+515C,U+516B-516C,U+5171,U+5173,U+5175,U+5178,U+517C,U+5180,U+5188,U+518C,U+51A0,U+51AC,U+51AF-51B0,U+51B2,U+51BB,U+51CB,U+51CF,U+51D1,U+51E0-51E1,U+51E4,U+51F0,U+51F3,U+51F9-51FB,U+51FD,U+5200-5201,U+5206,U+5212,U+521A-521B,U+521D,U+522B,U+522E,U+5230,U+523A,U+523D,U+5241-5242,U+5250-5251,U+5265,U+526A,U+526F,U+5272,U+529E-52A0,U+52A8,U+52C3,U+52FE,U+5305-5306,U+5316-5317,U+5319,U+5320,U+532A,U+5349-534A,U+534E,U+5351,U+5355,U+535A,U+535C,U+535E,U+5373,U+5382,U+5384,U+5395,U+539A,U+53A8,U+53C2,U+53C9-53CA,U+53CD,U+53D1,U+53D8,U+53E0,U+53E4,U+53ED-53EE,U+53F7,U+53FC,U+5403-5404,U+5408-540A,U+540E,U+5420,U+5426-5429,U+542B,U+5435,U+5439,U+543C,U+5446,U+5448,U+544A,U+5475,U+547C,U+548C,U+5490,U+5495,U+54C0,U+54C4,U+54C6,U+54C8,U+54CE,U+54D7,U+54E5,U+54FA,U+54FC,U+5507,U+5509,U+5524,U+552C,U+5531,U+554A,U+5561,U+5589-558A,U+5598,U+559D,U+5609,U+560E,U+5632,U+563F,U+5676,U+568E,U+56DE,U+56E4,U+56F1,U+56FA,U+56FD,U+572D,U+5730,U+573A,U+573E,U+574A,U+574F,U+575A,U+575D,U+575F,U+5782,U+579B,U+57A2,U+57AB,U+57C2-57C3,U+57CE,U+57E0,U+57FA,U+5806,U+5815,U+5821,U+5824,U+5835,U+58A9,U+58C1,U+58D5,U+58F6,U+5904,U+5907,U+590D,U+591A,U+591F,U+5927,U+592B,U+592F,U+5939-593A,U+5949,U+594B,U+5954,U+5956,U+5960,U+5965,U+5978,U+597D,U+5987,U+5992-5993,U+59A8,U+59D1,U+59DC,U+59EC,U+5A25,U+5A5A,U+5AC1,U+5AC9,U+5AE1,U+5B58,U+5B63-5B64,U+5B69,U+5B75,U+5B89,U+5B8F,U+5B98,U+5B9A,U+5B9D,U+5BA0,U+5BA6,U+5BAB,U+5BB3,U+5BB6,U+5BBE,U+5BC2,U+5BC4,U+5BCC,U+5BD2,U+5BDF,U+5BE1,U+5BF8-5BF9,U+5BFC,U+5C01,U+5C06,U+5C14,U+5C16,U+5C18,U+5C1D,U+5C3A,U+5C42,U+5C94,U+5C97,U+5C9B,U+5CB8,U+5CE8,U+5CF0,U+5D07,U+5D14,U+5D29,U+5DDD,U+5DE2,U+5DE5,U+5DE9,U+5DEE,U+5DF1,U+5DF4,U+5E01,U+5E03,U+5E06,U+5E1B,U+5E1D,U+5E26,U+5E2E,U+5E38,U+5E45,U+5E4C,U+5E62,U+5E72,U+5E76,U+5E7B,U+5E7F,U+5E87,U+5E8A,U+5E95,U+5E97,U+5E9A,U+5E9C,U+5E9F,U+5EA6,U+5EFA,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F1F,U+5F27,U+5F39,U+5F52-5F53,U+5F69-5F6A,U+5F6C,U+5F7B-5F7C,U+5F85,U+5F88,U+5F8A,U+5F97,U+5FB7,U+5FBD,U+5FC5,U+5FCC,U+5FF1,U+5FFD,U+5FFF-6000,U+6016,U+6020,U+6025,U+602A,U+604D,U+6052,U+6062,U+6068-6069,U+606B,U+606D,U+6076,U+608D,U+6094,U+60A3,U+60B2,U+60B8,U+60BC,U+60D1,U+60E0,U+60E6,U+60E8-60E9,U+60EB,U+60ED-60F0,U+60F6,U+6101,U+611F,U+6124,U+6148,U+614C,U+6167,U+618B,U+61A8,U+61BE,U+61C2,U+61CA,U+6208,U+6210,U+6216,U+6233-6234,U+6237,U+623F,U+6241,U+624D,U+6252-6253,U+626E-626F,U+6273,U+6276,U+627C,U+627F-6280,U+6284,U+628A,U+6296,U+629A,U+62A4-62A5,U+62B1,U+62B5,U+62BD,U+62C2,U+62C5-62C6,U+62CC,U+62D0,U+62D4,U+62DC,U+62E3,U+62E8,U+62F1,U+6301-6302,U+6309,U+6321,U+6324-6325,U+6328,U+632B,U+634C-634D,U+6355,U+6361-6363,U+6376,U+6382,U+6387,U+6389,U+63A3,U+63AA,U+63B8,U+63BA,U+63D2,U+63E3,U+6400-6401,U+640F-6410,U+6413,U+641E,U+642C-642D,U+643D,U+6446,U+6448,U+6467,U+6491,U+64A4,U+64AD-64AE,U+64BC,U+64CD,U+64E6,U+6539,U+653B,U+653E,U+6545,U+654C,U+6556,U+655D-655E,U+6562,U+6566,U+6577,U+658C,U+6591,U+6597,U+65A5,U+65A7,U+65AD,U+65B9,U+65E2,U+65E6,U+65F1,U+6602,U+660C,U+660F,U+6625,U+6643,U+6666,U+6668,U+6697,U+66B4,U+66F4,U+66F9,U+670D,U+671D,U+672C,U+6735,U+673A,U+6746,U+6750-6751,U+675C,U+6760,U+676D,U+676F,U+677F,U+6781,U+6784,U+679C,U+67AB,U+67B6-67B7,U+67C4,U+67CF,U+67D1,U+67DC,U+67E5,U+67EC,U+67F4,U+6807,U+680B,U+6838-6839,U+683C,U+6842,U+6848,U+6853,U+6863,U+6868,U+6886,U+6897,U+68C0,U+68CD,U+68D2,U+68D8,U+68FA,U+6912,U+693D,U+693F,U+695A,U+6982,U+699C,U+69D0,U+69DB,U+69FD,U+6A0A,U+6A2A,U+6A59,U+6A71,U+6B21-6B22,U+6B4C,U+6B64-6B65,U+6B79,U+6B7C,U+6B86,U+6B8B,U+6BB5,U+6BBF,U+6BC1,U+6BD2,U+6BD4-6BD6,U+6BD9,U+6BEB,U+6C1B,U+6C1F,U+6C26,U+6C28,U+6C2E,U+6C47,U+6C49,U+6C57,U+6C5E-6C60,U+6C72,U+6C7E,U+6C89,U+6C9F,U+6CA7,U+6CAA,U+6CB3,U+6CB8,U+6CBD,U+6CCA,U+6CD5,U+6CDB,U+6CE2,U+6CF5,U+6D1E,U+6D2A,U+6D31,U+6D3B,U+6D46-6D47,U+6D4B,U+6D4E,U+6D51,U+6D69,U+6D6E,U+6D77,U+6DA3-6DA4,U+6DA7,U+6DAA,U+6DB5,U+6DB8,U+6DC0,U+6DE1,U+6DEC,U+6DEE,U+6DF3,U+6DF7,U+6E10,U+6E21,U+6E24,U+6E2F,U+6E56,U+6E85,U+6E89,U+6EC1,U+6EC7,U+6ED1,U+6EDA,U+6EE8,U+6EF4,U+6F6E,U+6F84,U+6F88,U+6FB3,U+6FC0,U+6FD2,U+704C,U+706B,U+706F-7070,U+707F,U+708A,U+7092,U+70B3,U+70B9,U+70BD,U+70D8,U+70E6,U+70E9,U+70FD,U+710A,U+7115,U+7119-711A,U+7126,U+714C,U+714E,U+71AC,U+7206,U+7231,U+7236,U+7238-7239,U+7248,U+728A,U+72AF,U+72C4,U+72C8,U+72D0,U+72D7,U+72E0,U+72EC,U+7316,U+731C,U+7334,U+733E,U+73AF,U+73BB,U+73D0,U+73ED,U+745A,U+7470,U+74DC,U+74E3,U+74F7,U+7518,U+752B,U+752D,U+7532,U+7535,U+7538,U+753B,U+7545,U+756A,U+7574,U+7578,U+7586,U+7599,U+75A4,U+75AE-75AF,U+75B5,U+75BE,U+75C5,U+75D5,U+75D8,U+75EA,U+75F4,U+75F9,U+7601,U+7629-762A,U+764C,U+7678,U+767B,U+767D-767E,U+7684,U+7687,U+768B,U+7691,U+76CE,U+76D1-76D2,U+76D6-76D7,U+76EF,U+76FE,U+7763,U+776C,U+7779,U+7785,U+77AA,U+77D7,U+77ED-77EE,U+77FE,U+7840,U+7845,U+7877,U+7889,U+788D,U+7891,U+7898,U+789F,U+78A7,U+78B1,U+78B4,U+78C1,U+78C5,U+78CB,U+78FA,U+7901,U+796D,U+7977-7978,U+798F,U+79BE,U+79C6,U+79C9,U+79E4,U+79EF-79F0,U+79FD,U+7A0B,U+7A17,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A7F,U+7A97,U+7A9C,U+7AEF,U+7AFF,U+7B06,U+7B14,U+7B1B,U+7B26,U+7B28,U+7B2C,U+7B3A,U+7B49,U+7B4F,U+7B54,U+7B56,U+7B79,U+7B80,U+7B8D,U+7B94-7B95,U+7BA1,U+7BAD,U+7BD9,U+7BE1,U+7C07,U+7C27,U+7C3F,U+7C4D,U+7C89,U+7C97,U+7CAA,U+7CB9,U+7CCA,U+7CD5,U+7CD9,U+7E41,U+7EA2,U+7EA7,U+7EAA,U+7EAF,U+7EB2,U+7EB7,U+7EBA,U+7ECA,U+7ED1,U+7ED8-7ED9,U+7EE7,U+7EE9,U+7EF0,U+7EF7-7EF8,U+7F04,U+7F09,U+7F0E,U+7F13-7F14,U+7F16,U+7F1A,U+7F1D,U+7F20,U+7F38,U+7F50,U+7F55,U+7F5A,U+7F62,U+7F94,U+7FB9,U+7FC5,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFB,U+800C,U+8015,U+8017,U+8019,U+8033,U+803B,U+803D,U+803F,U+806A,U+808C,U+809A-809B,U+809D,U+80A0-80A1,U+80A4-80A5,U+80A9-80AA,U+80AE,U+80BA,U+80C6,U+80CC,U+80DE,U+80E1,U+80F3,U+80F6,U+80FA,U+8106,U+810A,U+8116,U+812F,U+8150-8151,U+8179,U+8180,U+818A,U+818F,U+8198,U+81C2,U+81E3,U+81ED,U+822A,U+822C,U+8230-8231,U+8235-8236,U+8239,U+8270,U+827E,U+82AC-82AD,U+82B1,U+82B3,U+82CD,U+82DE-82DF,U+82EF,U+8303,U+8327-8328,U+832C,U+8336,U+8349,U+8350,U+8352,U+835A,U+8361,U+8364,U+8377,U+83B7,U+83C7,U+83CF,U+83DC,U+83E0,U+83F2,U+845B,U+8463,U+846B,U+8471,U+8482,U+848B,U+84D6,U+84DF,U+8521,U+853C-853D,U+8549,U+8584,U+85CF,U+85E9,U+864E,U+866B,U+8679,U+868C,U+8695,U+86CA-86CB,U+86D4,U+86E4,U+86FE,U+8702,U+8749,U+8757,U+8774,U+8776,U+8822,U+8861,U+8865,U+8868,U+886C,U+8884,U+888B,U+88AB,U+88B1,U+88C1,U+88F9,U+8902,U+8910,U+8912,U+8986,U+89C1-89C2,U+89C4,U+89E6,U+8BA1-8BA3,U+8BA5,U+8BB0,U+8BB2-8BB3,U+8BB9,U+8BBD,U+8BBF,U+8BCD,U+8BDA,U+8BDD-8BDE,U+8BE1,U+8BE5,U+8BE7,U+8BF2,U+8BFB,U+8BFD,U+8C03,U+8C0D-8C0E,U+8C17,U+8C24,U+8C37,U+8C41,U+8C46,U+8C62,U+8C6A,U+8C79-8C7A,U+8C89,U+8D1D,U+8D1F,U+8D21-8D22,U+8D25,U+8D27,U+8D29,U+8D2C-8D2D,U+8D2F-8D31,U+8D35,U+8D37,U+8D39-8D3A,U+8D3E-8D3F,U+8D4B-8D4C,U+8D50,U+8D63-8D64,U+8D6B,U+8D74,U+8D76,U+8D81,U+8D85,U+8DCB-8DCC,U+8DDF,U+8DEA,U+8DF5,U+8DFA,U+8E0C,U+8E29,U+8E48,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E87,U+8EAC,U+8EB2,U+8F66,U+8F68,U+8F70,U+8F85,U+8F88-8F8A,U+8F90-8F91,U+8F9C,U+8F9E-8F9F,U+8FA8-8FA9,U+8FAB,U+8FB0,U+8FB9,U+8FBE,U+8FC7,U+8FD4,U+8FD8,U+8FDF,U+8FEA,U+8FED,U+8FF8-8FF9,U+9012,U+9017,U+901B,U+901E,U+9022,U+902E,U+903C,U+9041,U+904D,U+904F,U+9053,U+907F,U+9093,U+90A6,U+90AF,U+90CA,U+90DD,U+90E8,U+90ED,U+90F4,U+90F8,U+90FD,U+9102,U+9119,U+915A,U+9163,U+916C,U+9171,U+9187,U+918B,U+91C7,U+91DC,U+9274,U+9489,U+9492-9493,U+9499,U+949D-949E,U+94A1-94A2,U+94A9,U+94B5,U+94BE,U+94C2,U+94EC,U+94F2,U+9504-9505,U+950B,U+9519,U+9524,U+952D-952E,U+953B,U+9540,U+9550-9551,U+957F,U+95ED,U+95EF,U+95F4,U+95FA,U+9600-9602,U+9610,U+961C,U+961F,U+9632,U+963F,U+9644-9645,U+9648,U+964D,U+965B,U+9661,U+9664,U+9694,U+9698,U+96C6-96C7,U+96CC,U+96CF,U+96D5,U+96F9,U+970D,U+9738,U+975B,U+975E,U+9769,U+9776,U+978D,U+97AD,U+97E9,U+9876,U+987E-987F,U+9881,U+988A,U+989D,U+98A0,U+98A4,U+98CE,U+98DE,U+9910,U+9965,U+996D,U+996F,U+9971,U+9975,U+997C,U+997F,U+9986,U+998B,U+9A70,U+9A73,U+9A7E,U+9A84,U+9A87,U+9A8B,U+9AA8,U+9AB8,U+9AD8,U+9B3C,U+9B42,U+9C8D,U+9CD6,U+9E21,U+9E3D,U+9E3F,U+9E45,U+9E64,U+9EC4,U+9ED1,U+9F0E,U+9F13,U+9F3B,U+9F7F,U+9F9A,U+9F9F`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-2-2a649892.woff2`,bytes:317648,unicodeRange:`U+4E03,U+4E09-4E0A,U+4E14,U+4E16,U+4E18,U+4E24,U+4E27,U+4E34,U+4E3D-4E3E,U+4E43,U+4E45,U+4E48,U+4E50,U+4E52-4E54,U+4E5D-4E5E,U+4E70-4E71,U+4E73,U+4E7E,U+4E86,U+4E8B,U+4E8F,U+4E95,U+4EA2,U+4EA9,U+4EAC,U+4EAE,U+4EB2,U+4EBA,U+4EC0-4EC1,U+4EC5-4EC6,U+4ECA-4ECB,U+4ECD,U+4ED1,U+4ED5,U+4EDF,U+4EE4,U+4EEC,U+4EFB,U+4F01,U+4F1E,U+4F24,U+4F26,U+4F36,U+4F38,U+4F60,U+4F69,U+4F6C,U+4F7F,U+4F8B,U+4F8D,U+4FA3,U+4FA5,U+4FA8-4FA9,U+4FB5,U+4FCA,U+4FCF-4FD0,U+4FE9,U+4FF1,U+5014,U+501F,U+5026,U+502A,U+503E,U+504F,U+5076,U+5080,U+5088,U+50BB,U+50DA,U+50E7,U+50FB,U+5112,U+5121,U+514B,U+514D,U+5162,U+5165,U+5168,U+516D,U+5170,U+5176-5177,U+5185,U+5189,U+5192,U+5195,U+5197,U+519B-519C,U+51B3,U+51B5,U+51B7,U+51C0,U+51C4,U+51C9,U+51CC,U+51DB,U+51DD,U+51ED,U+51EF,U+5203,U+5207,U+520A,U+5217-5218,U+5220,U+5224,U+5228-5229,U+5238-5239,U+523B,U+524D,U+5256,U+5267,U+5269,U+527F,U+5288,U+529B,U+529D,U+52A3,U+52AA-52AB,U+52B1-52B3,U+52BF,U+52C9,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+5321,U+5339-533A,U+533F,U+5341,U+5343,U+5347,U+5356-5357,U+5361-5362,U+5364,U+536F,U+5374-5375,U+5377,U+537F,U+5386,U+5389,U+5398,U+53A9,U+53BB,U+53C1,U+53D6-53D7,U+53DB,U+53E3,U+53E5-53E6,U+53EB,U+53EF,U+53F2,U+540D,U+540F,U+5415,U+5417,U+541B,U+541D,U+542D,U+542F,U+5450,U+5455,U+545B,U+5462,U+5478,U+547B,U+547D,U+5480,U+5486,U+548E,U+5496,U+5499,U+54AF,U+54B3,U+54C1,U+54E6,U+54E8-54EA,U+54ED,U+552E,U+5543,U+5546,U+5564-5566,U+556A,U+556E,U+5580,U+5584,U+5587,U+55B7,U+55D3,U+55DC,U+561B,U+5668,U+566C,U+56B7,U+56BC,U+56CA,U+56DA,U+56F0,U+5703,U+5708,U+5723,U+5747,U+574E,U+5751,U+5757,U+5761,U+5764,U+576A,U+576F,U+5777,U+5783-5784,U+5792,U+57A6,U+57AE,U+57CB,U+57D4,U+57F9,U+5811,U+582A,U+585E,U+5883,U+5892-5893,U+5899,U+58A8,U+58E4,U+58EB-58EC,U+58F0,U+58F3,U+5931,U+5938,U+5947-5948,U+594E,U+5951,U+5962,U+5973-5974,U+5976,U+5982,U+5988,U+598A,U+5999,U+59AE,U+59B9,U+59BB,U+59C6,U+59CB,U+59D0,U+59E5,U+5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A29,U+5A36,U+5A46,U+5A6A,U+5A76,U+5A92,U+5A9A,U+5AC2,U+5AE9,U+5B54,U+5B5F,U+5B6A,U+5B7A,U+5B7D,U+5B81,U+5B88,U+5B9E,U+5BA1-5BA2,U+5BA4,U+5BB9,U+5BBD,U+5BC6-5BC7,U+5BD0,U+5BDD-5BDE,U+5BE5,U+5BFF,U+5C04,U+5C11,U+5C1A,U+5C31,U+5C38,U+5C3C-5C3D,U+5C3F-5C41,U+5C45,U+5C48,U+5C4A,U+5C4E-5C4F,U+5C61,U+5C65,U+5C71,U+5C82,U+5CAD,U+5CBF,U+5CE6,U+5CED,U+5CFB,U+5D0E,U+5D4C,U+5DE7-5DE8,U+5DFE,U+5E02,U+5E08,U+5E15,U+5E18,U+5E3D,U+5E42,U+5E55,U+5E73-5E74,U+5E86,U+5E90,U+5E93,U+5E99,U+5E9E,U+5EB7,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5F00,U+5F03-5F04,U+5F0F,U+5F25,U+5F31,U+5F3A,U+5F55,U+5F6D,U+5F84,U+5F8B,U+5F98,U+5FCD,U+5FD9,U+5FEB,U+5FF5,U+6012,U+6015,U+601C,U+602F,U+6043,U+604B,U+6050,U+6070,U+6073,U+607C,U+6084,U+60A8,U+60AF,U+60C5,U+60CA,U+60E7,U+60F9,U+6127,U+614E,U+6151,U+6155,U+6162,U+6168,U+6177,U+61D2,U+61E6,U+620E,U+6212,U+621A,U+622A,U+622E,U+6247,U+624B,U+6251,U+6254,U+625B,U+6263,U+6266,U+6269,U+626B,U+626D,U+6270,U+6279,U+6289,U+6297,U+629B,U+62A0-62A2,U+62A8,U+62AB,U+62B9,U+62BF,U+62C7-62C9,U+62CD-62CE,U+62D2,U+62D8,U+62DF,U+62E2,U+62E6-62E7,U+62EC-62ED,U+62F3,U+62F7,U+62FC,U+62FE-62FF,U+630E,U+631B,U+6320,U+632A,U+6346,U+634E-6350,U+635E,U+6367,U+636E,U+6377,U+637B,U+6388,U+6390,U+6392,U+6398,U+63A0,U+63A5,U+63A7,U+63B3,U+63C9,U+63CF,U+63E9-63EA,U+63ED,U+63FD,U+6402,U+6405,U+6414,U+6444,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6492,U+64A9,U+64AC,U+64B5,U+64C2,U+64C5,U+64CE,U+64D2,U+6500,U+6518,U+652B,U+6536,U+654F,U+6551,U+6559,U+655B,U+6563,U+656C,U+6572,U+6599,U+65A4,U+65BD,U+65C1,U+65C5,U+65D7,U+65E5,U+65E7,U+65F6-65F7,U+6606,U+660E,U+6627,U+662F,U+664B-664C,U+6652,U+666E-666F,U+6674,U+6676,U+667E,U+6696,U+66AE,U+66DD,U+66F2,U+66FC,U+670B,U+6717,U+671F,U+6728,U+672B,U+6734,U+6740,U+6743,U+6749,U+674E,U+6765,U+6770,U+6797,U+679A,U+67AA,U+67AF,U+67D0,U+67D2-67D4,U+67E0,U+67EF,U+67F3,U+67FF,U+680F,U+6816-6817,U+6846,U+6851,U+6854,U+6865,U+6881,U+6885,U+68A2,U+68A6,U+68A8,U+68C9,U+68CB,U+68DA,U+68EE,U+68F1,U+68F5,U+695E,U+6977,U+697C,U+6994,U+69B4,U+69B7,U+6A21,U+6A47,U+6AAC,U+6B20,U+6B27,U+6B3A,U+6B3E,U+6B49,U+6B67,U+6BB4,U+6BCD,U+6BCF,U+6BD7,U+6BDB,U+6C0F,U+6C11,U+6C13-6C14,U+6C16,U+6C22,U+6C2F-6C30,U+6C42,U+6C55,U+6C5D,U+6C7D,U+6C81,U+6C88,U+6C8F,U+6C99,U+6C9B,U+6CA1,U+6CA4-6CA6,U+6CAB,U+6CAE,U+6CC5,U+6CC9,U+6CCC,U+6CDE,U+6CE1,U+6CE3,U+6CE5,U+6CEA,U+6CFC,U+6D01,U+6D12,U+6D1B,U+6D25,U+6D3D-6D3E,U+6D41,U+6D45,U+6D53,U+6D5A,U+6D66,U+6D6A,U+6D78,U+6D85,U+6D89,U+6D9D,U+6D9F,U+6DA6,U+6DA9,U+6DCB,U+6DD6,U+6DF1,U+6E05,U+6E17,U+6E20,U+6E34,U+6E3A,U+6E43,U+6E7F,U+6E83,U+6E9C,U+6EB6,U+6EBA,U+6EE1,U+6EE4-6EE6,U+6F02,U+6F06,U+6F0F,U+6F13,U+6F20,U+6F2B,U+6F58,U+6F5C,U+6F5E,U+6F66,U+6F8E,U+6F9C,U+7011,U+706D,U+7075,U+7078,U+7089,U+7094-7095,U+70AC,U+70AE-70AF,U+70BC,U+70C2,U+70C8,U+70D9,U+70E4,U+70E7,U+70EC-70ED,U+70F9,U+7136,U+715E,U+7164,U+717D,U+7194,U+71C3,U+71CE,U+722C,U+7235,U+7247,U+724C,U+725B,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+7281,U+72AC,U+72C2,U+72D9,U+72DE,U+72E1,U+72EE,U+72F8,U+72FC,U+730E,U+731B,U+732B,U+7387,U+7396,U+739B,U+73AB,U+73B2,U+73CA,U+7403,U+7405-7406,U+7409,U+7433-7436,U+743C,U+745E-745F,U+7483,U+74E2,U+74E4,U+74F6,U+751A,U+751F,U+7525,U+7533,U+7537,U+754C,U+7554,U+7559,U+7565-7566,U+7597,U+759A,U+759F,U+75A5,U+75B2,U+75BD,U+75C9-75CA,U+75DE,U+75E2,U+7624,U+7638,U+7686,U+76AE,U+76BF,U+76C6,U+76D4,U+76D8,U+76DB,U+76DF,U+76EE,U+76F2,U+76FC,U+7701,U+7709,U+770B,U+7720,U+772F,U+7736-7737,U+775B,U+7766,U+776B,U+7784,U+7792,U+77A5,U+77A7,U+77DB,U+77E2,U+77E9,U+77EB,U+77F3,U+77FF,U+7801-7802,U+780C-780D,U+7812,U+7830,U+7834,U+7837,U+783E,U+786B,U+786E,U+787C,U+788C,U+78B0,U+78BE,U+78CA,U+78D0,U+78D5,U+78E8,U+78F7,U+793A,U+793C,U+793E,U+7941,U+7948,U+795E,U+7968,U+7981,U+7984,U+79BB,U+79BD,U+79CB,U+79D1-79D2,U+79D8,U+79E6,U+79F8,U+7A0D,U+7A46,U+7A76-7A77,U+7A7A,U+7A83,U+7A8D,U+7A96,U+7A98,U+7A9F,U+7AA5,U+7ABF,U+7ACB,U+7ADE-7ADF,U+7AE3,U+7AED,U+7B3C,U+7B4B,U+7B50,U+7B5B,U+7B77,U+7B7E,U+7BA9,U+7BC7,U+7BD3,U+7BEE,U+7BF1,U+7BF7,U+7C73,U+7C7B,U+7C92,U+7C95,U+7CAE,U+7CB1,U+7CB3,U+7CBE,U+7CDC,U+7CE0,U+7CEF,U+7D27,U+7D2F,U+7EA0,U+7EAB,U+7EB1,U+7EB3,U+7EB6,U+7EBD,U+7EC3,U+7EC5,U+7ECD,U+7ECF,U+7ED2-7ED3,U+7ED5,U+7EDC-7EDE,U+7EE2,U+7EF3,U+7EF5,U+7EFF,U+7F05-7F06,U+7F15,U+7F2E,U+7F34,U+7F3A,U+7F57,U+7F8C,U+7F8E,U+7F9A,U+7FA4,U+7FD8,U+8001,U+8003,U+8010,U+802A,U+8042,U+804A-804B,U+8054,U+8058,U+805A,U+8089,U+808B,U+80AF,U+80BE,U+80D6,U+80DA,U+80DC,U+80EF,U+80FD,U+8109,U+8110-8111,U+8113,U+811A,U+8138,U+813E,U+814A,U+8154,U+816E,U+817B,U+819C,U+81A8,U+81B3,U+81FC,U+8205,U+820C-820D,U+826F,U+8272,U+8282,U+828D,U+8292,U+82A5-82A6,U+82B9,U+82D7,U+82DB,U+82E5-82E6,U+82EB,U+82F9,U+8302,U+8304-8305,U+830E,U+832B,U+8338-8339,U+8346,U+8354,U+8363,U+8386,U+8389,U+838E,U+83AB,U+83B1-83B2,U+83BD,U+83CA,U+83CC,U+83E9,U+83F1,U+840C-840D,U+841D,U+8428,U+843D,U+8461,U+8475,U+8499,U+84B2,U+84C9,U+84DD,U+84EC,U+8511,U+8513,U+852B,U+8537,U+854A,U+857E,U+85C9,U+85D0,U+85D5,U+8611,U+864F-8651,U+8671,U+8680,U+8682,U+86C6-86C7,U+86EE,U+871C,U+8721,U+878D,U+879F,U+87BA,U+8815,U+8857,U+886B,U+888D,U+88C2,U+88D9,U+88E4,U+88F3-88F4,U+88F8,U+8925,U+895F,U+89C5-89C6,U+89C8-89C9,U+89D2,U+89E3,U+8A93,U+8B66,U+8B6C,U+8BA4,U+8BA9,U+8BAB,U+8BBA,U+8BBE,U+8BC0,U+8BC4,U+8BC6,U+8BD5,U+8BD7,U+8BEB,U+8BF7,U+8BFA,U+8BFE,U+8C05,U+8C0B,U+8C1C,U+8C26,U+8C28-8C29,U+8C2C,U+8C30-8C31,U+8C34,U+8C8C,U+8D2B,U+8D38,U+8D41-8D42,U+8D4A,U+8D4F,U+8D54,U+8D56,U+8D5B,U+8D61,U+8D66,U+8D77,U+8D8B,U+8DA3,U+8DB4,U+8DD1,U+8DDD,U+8DE8,U+8DEF,U+8E1E,U+8EAB,U+8EAF,U+8F6E-8F6F,U+8F7B,U+8F7F,U+8F83,U+8F86,U+8FA3,U+8FB1,U+8FBD,U+8FC1,U+8FC4,U+8FC8,U+8FD1,U+8FDB,U+8FDE,U+8FEB,U+8FF7,U+9002,U+9006,U+901D,U+903B,U+9063,U+90A3,U+90B1,U+90B5,U+90BB,U+90CE,U+90E1,U+914B,U+914D,U+9152,U+916A,U+9175-9177,U+917F,U+919A-919B,U+91CA,U+91CC,U+91CF,U+91D1,U+948E,U+94A0,U+94A6-94A7,U+94AE,U+94B1,U+94B3,U+94C3,U+94C5-94C6,U+94DD,U+94ED,U+94F0,U+94FA,U+94FE,U+9510,U+951A,U+9523,U+9526,U+952F-9530,U+9539,U+9541,U+954A,U+954D,U+955C,U+9563,U+956D,U+9570,U+95E8,U+95EA,U+95F0,U+95F7,U+95F9,U+95FD,U+9611,U+9614,U+962E,U+9636,U+9646-9647,U+964B-964C,U+9655,U+966A,U+9675,U+9686,U+96B6,U+96BE,U+96C0,U+96F6-96F7,U+9709,U+9713,U+9716,U+9732,U+9739,U+9752,U+9756,U+9759,U+9760-9762,U+9773,U+9798,U+97A0,U+97E7,U+97ED,U+97F6,U+9877,U+9885-9888,U+9891,U+9897,U+98A7,U+98D8,U+98DF,U+9970,U+9976,U+997A,U+9981,U+9988,U+998F,U+9992,U+9996,U+9A6C,U+9A71,U+9A74,U+9A76,U+9A79,U+9A82,U+9A86,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9B41,U+9B44,U+9B54,U+9C81,U+9CA4,U+9CB8,U+9CC3,U+9CDE,U+9E1F,U+9E23,U+9E25,U+9E43,U+9E4A,U+9E4F,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9ECE,U+9ED4,U+9ED8,U+9F50,U+9F84,U+9F8B,U+9F99`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-3-6949c050.woff2`,bytes:311704,unicodeRange:`U+4E00,U+4E07-4E08,U+4E0B,U+4E0E,U+4E13,U+4E1A,U+4E1D,U+4E25,U+4E2B,U+4E2D,U+4E38,U+4E3A-4E3B,U+4E49,U+4E4B-4E4D,U+4E59,U+4E5F-4E61,U+4E66,U+4E88-4E89,U+4E8E,U+4E91,U+4E94,U+4E9A-4E9B,U+4EA1,U+4EA6,U+4EAB,U+4EAD,U+4EBF,U+4ED4,U+4ED6-4ED7,U+4ED9,U+4EE5,U+4EEA,U+4EF0,U+4EF2,U+4F0A,U+4F0D,U+4F11,U+4F17-4F18,U+4F1F,U+4F2A,U+4F3A,U+4F3C,U+4F4D,U+4F4F-4F51,U+4F53,U+4F59,U+4F5C,U+4F63,U+4F6F,U+4F84,U+4F9D,U+4FA0,U+4FA6,U+4FAE,U+4FD7,U+4FDE,U+4FE1,U+4FEE,U+5018,U+501A,U+503A,U+503C,U+505A,U+505C,U+5077,U+50CF,U+50F3,U+5141,U+5143-5144,U+5146,U+5148,U+5154,U+5174,U+5179,U+517B,U+517D,U+518D,U+5199,U+51A4,U+51B6,U+51C6,U+51F6,U+51F8,U+51FF,U+5211,U+5219,U+5236-5237,U+5243,U+524A,U+5254,U+52A1,U+52A9,U+52C7,U+52CB,U+52FF-5300,U+5308,U+531D,U+5323,U+533B,U+5348,U+534F,U+5352-5353,U+5360,U+5367,U+536B,U+5370-5371,U+5378,U+5385,U+538B-538C,U+539F,U+53A2,U+53A6,U+53BF,U+53C8,U+53CB-53CC,U+53D4,U+53D9,U+53EA,U+53EC,U+53F0,U+53F3,U+53F6,U+53F8-53F9,U+5401,U+540C,U+5410-5411,U+5413,U+541E-541F,U+542C,U+542E,U+5431,U+5434,U+5438,U+543B,U+543E,U+5440,U+5458,U+545C,U+5468,U+5473,U+548B,U+548F,U+5492,U+54A8,U+54AC,U+54B1,U+54B8,U+54BD,U+54C7,U+54C9,U+54CD,U+54D1,U+54DF,U+54EE,U+54F2,U+5501,U+5506,U+5510,U+552F,U+553E,U+5544,U+5578,U+557C,U+5582,U+559C,U+55A7,U+55B3,U+55BB,U+55C5,U+55E1,U+55E3,U+55FD,U+5618,U+5631,U+5634,U+5636,U+563B,U+564E,U+566A,U+568F,U+56A3,U+56DB,U+56E0,U+56E2,U+56ED,U+56F4,U+56FE,U+5706,U+571F,U+5728,U+5740,U+574D,U+5750,U+575B,U+575E,U+5760,U+5766,U+578B,U+57A3,U+57DF,U+5802,U+5830,U+584C,U+5851,U+5854,U+5858,U+586B,U+5885,U+589E-589F,U+58EE,U+58F9,U+590F,U+5915-5916,U+591C,U+5929-592A,U+592E,U+5934,U+5937,U+5944,U+594F,U+5957,U+5979,U+5984,U+5986,U+5996,U+59A5,U+59D3-59D4,U+59DA,U+59E8,U+59FB,U+59FF,U+5A01,U+5A03,U+5A31,U+5A49,U+5A74,U+5A7F,U+5AB3,U+5ACC,U+5B50,U+5B55,U+5B57,U+5B59,U+5B5C-5B5D,U+5B66,U+5B70,U+5B83,U+5B85,U+5B87,U+5B8B-5B8C,U+5B97,U+5B99,U+5B9B-5B9C,U+5BA3,U+5BAA,U+5BB0,U+5BB4-5BB5,U+5BBF,U+5BC5,U+5BD3,U+5BE8,U+5BFA-5BFB,U+5C09-5C0A,U+5C0F,U+5C24,U+5C27,U+5C39,U+5C3E,U+5C49,U+5C4B,U+5C51,U+5C55,U+5C5E,U+5C60,U+5C6F,U+5C79,U+5C7F,U+5C81,U+5CA9,U+5CB3,U+5CD9,U+5CE1,U+5CEA,U+5D16,U+5D2D,U+5DCD,U+5DDE,U+5DE1,U+5DE6,U+5DEB,U+5DF2-5DF3,U+5DF7,U+5E05,U+5E0C,U+5E10,U+5E16,U+5E1A,U+5E1C,U+5E27,U+5E2D,U+5E78,U+5E7C-5E7D,U+5E84,U+5E8F,U+5E94,U+5EA7,U+5EAD,U+5EB6,U+5EB8,U+5EF6-5EF7,U+5F02,U+5F15,U+5F20,U+5F26,U+5F2F,U+5F5D,U+5F62,U+5F64,U+5F66,U+5F70-5F71,U+5F79,U+5F80-5F81,U+5F90,U+5F92,U+5FA1,U+5FAA,U+5FAE,U+5FC3,U+5FC6,U+5FD7-5FD8,U+5FE0,U+5FE7,U+5FFB,U+6001-6002,U+600E,U+6014,U+601D,U+6027-6028,U+603B,U+6055,U+6064,U+606C,U+606F,U+607F,U+6089,U+609F-60A0,U+60A6,U+60AC,U+60CB,U+60D5,U+60DC,U+60DF,U+60F3,U+60FA,U+6108-6109,U+610F,U+611A,U+613F,U+6170,U+618E,U+61C8,U+620A,U+620C-620D,U+620F,U+6211,U+6218,U+6240,U+624E,U+6258,U+6267,U+626C,U+627E,U+6291-6293,U+6295,U+6298,U+62AC,U+62BC,U+62C4,U+62D3,U+62D6,U+62D9,U+62DB,U+62E5,U+62E9,U+62EF,U+62F4,U+62FD,U+6307,U+6311,U+6316,U+631A,U+631D-631F,U+6323,U+632F,U+633A,U+633D,U+6342,U+6345,U+6349,U+635F,U+6380,U+638C,U+638F,U+6396,U+63A2,U+63A8-63A9,U+63B7,U+63CD,U+63D0,U+63D6,U+63E1,U+63F4,U+641C,U+642A,U+643A,U+6447,U+644A,U+6454,U+6458,U+6495,U+649E,U+64B0,U+64DE,U+6512,U+652F,U+653F,U+6548,U+6570,U+6574,U+6587,U+658B,U+659C,U+659F,U+65A1,U+65A9,U+65AF-65B0,U+65CB,U+65CF,U+65E0,U+65E8-65E9,U+65EC-65ED,U+65FA,U+6613-6614,U+661F-6620,U+6628,U+662D,U+663C,U+663E,U+6653,U+6655,U+665A,U+6664,U+6670,U+667A,U+6682,U+6687,U+6691,U+66D9,U+66F0,U+66F3,U+66FE-6700,U+6708-6709,U+6714,U+671B,U+672A,U+672D,U+672F,U+6731,U+673D,U+6742,U+674F,U+6756,U+675F,U+6761,U+6768,U+677E,U+6789,U+6790,U+6795,U+679D,U+67A2-67A3,U+67DE,U+67F1,U+6805,U+6808,U+6811,U+6813,U+6821,U+682A,U+6837,U+683D,U+6843,U+6845,U+684C,U+6850,U+6869,U+6876,U+68A7,U+68AD,U+68AF-68B0,U+68B3,U+68D5,U+68E0,U+6905,U+690D-690E,U+692D,U+6930,U+6954,U+6986,U+69A8,U+6A1F,U+6A31,U+6A61,U+6A80,U+6A84,U+6B23,U+6B32,U+6B47,U+6B62-6B63,U+6B66,U+6B6A,U+6B7B,U+6B83,U+6B89-6B8A,U+6B96,U+6BB7,U+6BC5,U+6BCB,U+6BE1,U+6BEF,U+6C27,U+6C34,U+6C38,U+6C40-6C41,U+6C50,U+6C5B,U+6C61,U+6C64,U+6C6A,U+6C70,U+6C79,U+6C82-6C83,U+6CB9,U+6CBB-6CBC,U+6CBE-6CBF,U+6CC4,U+6CE8,U+6CF0,U+6CF3,U+6CFB,U+6CFD,U+6D0B,U+6D17,U+6D32,U+6D3C,U+6D4A,U+6D59,U+6D74,U+6D82,U+6D88,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6DA1,U+6DA8,U+6DAF,U+6DB2,U+6DC4,U+6DC6,U+6DCC,U+6DD1,U+6DD8,U+6DE4,U+6DEB,U+6DF9,U+6DFB,U+6E0A,U+6E0D,U+6E14,U+6E1D,U+6E23,U+6E29,U+6E2D,U+6E38,U+6E4D,U+6E58,U+6E5B,U+6E7E,U+6E90,U+6EA2,U+6EAA,U+6EAF,U+6ECB,U+6ED3-6ED4,U+6EDE,U+6EE9,U+6F14,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F6D,U+6FA1,U+7076,U+707C,U+707E,U+708E,U+7099,U+70AD,U+70B8,U+70C1,U+70C3,U+70DB,U+70DF,U+70EB,U+70EF,U+70F7,U+7109,U+7130,U+7167,U+716E,U+7184,U+718A,U+718F,U+7199,U+719F,U+71D5,U+71E5,U+722A,U+7237,U+723D,U+7259,U+7269,U+7279-727A,U+7280,U+72B6,U+72B9,U+72ED,U+72F0-72F1,U+7329-732A,U+732E,U+733F,U+736D,U+7384,U+7389,U+738B,U+73A9,U+73B0,U+73CD,U+73E0,U+7410,U+7422,U+7476,U+74E6,U+74EE,U+7504,U+751C,U+7528-7529,U+7530-7531,U+754F,U+755C,U+758F,U+7591,U+75A1,U+75AB,U+75B9,U+75BC,U+75C7-75C8,U+75D2,U+75D4,U+75DB,U+75F0,U+761F,U+7626,U+762B,U+7634,U+7663,U+7682,U+7696,U+76B1,U+76C2,U+76C5,U+76C8,U+76CA,U+76CF-76D0,U+76F4,U+76F8,U+771F,U+7728-7729,U+773A,U+773C,U+7740-7741,U+7761,U+778E,U+77A9,U+77AC,U+77B3,U+77BB,U+77E3,U+77E5,U+77FD,U+7814,U+7816,U+781A,U+7827,U+7838,U+7852,U+7855,U+785D,U+786C,U+788E,U+7897,U+78B3,U+7956,U+795D,U+795F,U+7965,U+79B9,U+79C0-79C1,U+79C3,U+79CD,U+79DF,U+79E7,U+79E9,U+79FB,U+7A00,U+7A0E,U+7A1A,U+7A33,U+7A57,U+7A74,U+7A81,U+7A84,U+7A91-7A92,U+7A9D,U+7AD6,U+7AD9,U+7AE0,U+7AE5,U+7AF9,U+7B0B,U+7B11,U+7B51-7B52,U+7B97,U+7BB1,U+7BC6,U+7C7D,U+7C98,U+7C9F,U+7CA4-7CA5,U+7CD6,U+7CDF,U+7CFB,U+7D0A,U+7D20,U+7D22,U+7D2B,U+7D6E,U+7E82,U+7EA4,U+7EA6,U+7EAC,U+7EB5,U+7EB8-7EB9,U+7EBF,U+7EC4,U+7EC6-7EC8,U+7ECE,U+7EDA,U+7EDF,U+7EE3,U+7EE5-7EE6,U+7EEA,U+7EED,U+7EF4,U+7EFC-7EFD,U+7F00,U+7F18,U+7F28-7F29,U+7F51,U+7F69-7F6A,U+7F6E,U+7F72,U+7F8A,U+7F9E,U+7FA1,U+7FBD,U+7FC1,U+7FCC,U+7FD4,U+7FFC,U+8000,U+8005,U+800D,U+8018,U+8036,U+8038,U+804C,U+8083-8084,U+8086-8087,U+8096,U+8098,U+80A2,U+80B2,U+80BF-80C1,U+80C3,U+80CE,U+80F0,U+80F8,U+8102,U+810F,U+8131,U+8146,U+814B,U+8155,U+8165,U+8170,U+817A,U+817E-817F,U+819B,U+819D,U+81C0,U+81C3,U+81C6,U+81EA,U+81F3-81F4,U+81FB,U+8200,U+8206,U+8212,U+8214,U+821C,U+821E-821F,U+8237,U+8247,U+8258,U+8273,U+827A,U+828B,U+829C-829D,U+82AF,U+82BD,U+82C7,U+82CF,U+82D1,U+82D4,U+82F1,U+8301,U+8335,U+8367,U+836B,U+836F,U+83B9,U+8404,U+840E,U+8424-8425,U+8427,U+8457,U+846C,U+849C,U+84B8,U+84C4,U+84D1,U+8517,U+851A,U+852C,U+8574,U+859B,U+85AA,U+85AF,U+85E4,U+85FB,U+8638,U+865A,U+865E,U+867D-867E,U+8681,U+868A,U+869C,U+86A4,U+86C0,U+86D9,U+86DB,U+86F0,U+86F9,U+8700,U+8712,U+8715,U+8717-8718,U+8747,U+874E,U+87F9,U+8840,U+8845,U+884C-884D,U+8854,U+8859,U+8863,U+8870,U+8877,U+8881,U+8892,U+8896,U+889C,U+88AD,U+88C5,U+88D4-88D5,U+892A,U+8944,U+897F,U+8981,U+8A00,U+8A79,U+8A89-8A8A,U+8BA8,U+8BAD-8BAF,U+8BB6,U+8BB8,U+8BBC,U+8BC1,U+8BC5,U+8BC8-8BCA,U+8BCC,U+8BD1,U+8BDB,U+8BE2-8BE3,U+8BE6,U+8BEC-8BED,U+8BEF,U+8BF1,U+8BF4-8BF5,U+8BF8,U+8C01,U+8C06,U+8C08,U+8C0A,U+8C10,U+8C13,U+8C1A,U+8C22-8C23,U+8C2D,U+8C4C,U+8C61,U+8C6B,U+8D1E,U+8D23-8D24,U+8D26,U+8D28,U+8D2A,U+8D2E,U+8D34,U+8D3C,U+8D43-8D44,U+8D4E,U+8D58,U+8D5A,U+8D5E,U+8D60,U+8D62,U+8D70,U+8D75,U+8D8A,U+8D9F,U+8DB3,U+8DBE,U+8DC3,U+8DF3,U+8E0A,U+8E0F,U+8E22,U+8E2A,U+8E44,U+8E4B,U+8E81,U+8EBA,U+8F67,U+8F69,U+8F6C,U+8F74,U+8F7D,U+8F93,U+8F95-8F97,U+8F99,U+8F9B,U+8FC2,U+8FC5,U+8FCE,U+8FD0,U+8FD9,U+8FDC-8FDD,U+8FE2,U+8FF0,U+8FFD,U+9000-9001,U+9003,U+9009-900A,U+900F-9010,U+9014,U+901A,U+901F-9020,U+9038,U+903E,U+9042,U+9047,U+9057,U+9065,U+906D-906E,U+9075,U+9080,U+9091,U+90A2,U+90AA,U+90AE,U+90B9,U+90C1,U+90D1,U+90E7,U+9149,U+914C,U+9157,U+915D-915E,U+9165,U+916E,U+9178,U+9189,U+9192,U+91C9,U+91CD-91CE,U+9488,U+949F,U+94A5,U+94A8,U+94BB,U+94C0-94C1,U+94DC,U+94E1,U+94E3,U+94F1,U+94F6,U+94F8,U+9500-9501,U+9508,U+950C,U+9511,U+9517,U+9521,U+9525,U+9528,U+9547,U+9576,U+95EE,U+95F2,U+95F8,U+95FB,U+9605,U+9609,U+960E,U+9633-9635,U+963B,U+9640,U+9650,U+9662,U+9668-9669,U+9676-9677,U+9685,U+968B,U+968F-9690,U+9699,U+969C,U+96A7,U+96C1,U+96C4-96C5,U+96CD,U+96E8,U+96EA,U+96FE,U+9700,U+9704,U+9707,U+971C,U+971E,U+9774,U+978B,U+97E6,U+97F3,U+97F5,U+9875,U+9879-987B,U+987D,U+9882,U+9884,U+9890,U+9893,U+9896,U+9898,U+989C,U+996E,U+9972,U+9985,U+9999,U+9A6D-9A6F,U+9A7B-9A7C,U+9A8C,U+9AA4,U+9AD3,U+9B03,U+9B4F,U+9C7C,U+9C9C,U+9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E70,U+9ECD,U+9F20`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-4-375dc3b3.woff2`,bytes:257596,unicodeRange:`U+4E0C,U+4E10,U+4E15,U+4E1E,U+4E28,U+4E36,U+4E3F,U+4E47,U+4E5C,U+4E69,U+4E8D,U+4E93,U+4E98,U+4E9F-4EA0,U+4EB3,U+4EB5,U+4EBB,U+4EC2-4EC4,U+4EC9,U+4EDD-4EDE,U+4EE1,U+4EE8,U+4EEB,U+4EF3,U+4EF5,U+4F09,U+4F1B,U+4F22,U+4F25,U+4F27,U+4F2B,U+4F32,U+4F3D,U+4F57-4F58,U+4F5A,U+4F5D-4F5F,U+4F64-4F65,U+4F67,U+4F74,U+4F76,U+4F7B-4F7C,U+4F7E,U+4F83,U+4F89,U+4F8F,U+4F91,U+4F94,U+4FAA,U+4FAC,U+4FC5,U+4FCE,U+4FD1,U+4FDA,U+4FDC,U+4FDF,U+4FE3,U+4FE6,U+4FE8,U+4FEA,U+4FF3,U+4FF8,U+4FFE,U+500C,U+500F,U+501C,U+5025,U+5028-5029,U+502C-502E,U+5043,U+5048,U+504C,U+504E,U+5055,U+506C,U+507B,U+507E,U+50A5,U+50A7,U+50A9,U+50BA,U+50D6,U+50E6,U+50EC-50EE,U+5106-5107,U+510B,U+5140,U+5155-5156,U+516E,U+5181-5182,U+5196,U+51A2,U+51A5,U+51AB,U+51B1,U+51BC-51BD,U+51C7,U+51EB,U+51F5,U+51FC,U+5202,U+5208,U+520D-520E,U+522D,U+5233,U+523F-5240,U+524C,U+525C,U+525E,U+5261,U+527D,U+5281-5282,U+5290,U+5293,U+52A2,U+52AC-52AD,U+52BE,U+52D0,U+52D6,U+52F0,U+52F9,U+530D,U+530F-5310,U+5315,U+531A,U+5326,U+532E,U+533E,U+5345,U+535F,U+5363,U+5366,U+5369,U+536E,U+537A,U+538D,U+539D,U+53A3,U+53A5,U+53AE,U+53B6,U+53DF,U+53E8-53E9,U+53F1,U+53F5,U+53FB,U+53FD,U+5406,U+5412,U+5416,U+5421,U+5423,U+5432,U+5443,U+544B,U+5452-5454,U+5456-5457,U+5459,U+5464,U+5466,U+5471-5472,U+5476-5477,U+5482,U+5484,U+5494,U+549A-549B,U+549D,U+54A3-54A4,U+54A6-54A7,U+54A9-54AA,U+54AD,U+54B4,U+54BB,U+54BF,U+54C2,U+54CC,U+54CF-54D0,U+54D2-54D5,U+54D9-54DA,U+54DC-54DE,U+54E7,U+54F3,U+54FD,U+54FF,U+550F,U+5511,U+5514,U+551B,U+5520,U+5522-5523,U+5527,U+552A,U+5530,U+5533,U+5537,U+553C,U+553F,U+5541,U+5549,U+5550,U+5555-5556,U+555C,U+5567,U+556C-556D,U+5575-5577,U+557B,U+557E,U+5581,U+5583,U+5588,U+558B,U+558F,U+5591,U+5594,U+5599,U+559F,U+55B1,U+55B5,U+55B9,U+55BD-55BE,U+55C4,U+55C9,U+55CC-55CD,U+55D1-55D2,U+55D4,U+55D6,U+55DD,U+55DF,U+55E4-55E6,U+55E8,U+55EA-55EC,U+55EF,U+55F2-55F3,U+55F5,U+55F7,U+55FE,U+5600-5601,U+5608,U+560C,U+560F,U+561E-561F,U+5623-5624,U+5627,U+562C-562D,U+5639,U+564C-564D,U+5654,U+5657-5659,U+565C,U+5662,U+5664,U+5669,U+566B,U+5671,U+567B-567C,U+5685-5686,U+5693,U+56AF,U+56D4,U+56D7,U+56DD,U+56DF,U+56E1,U+56EB,U+56F5,U+56F9,U+56FF,U+5704,U+5709-570A,U+571C,U+5729-572A,U+572C,U+572E-572F,U+5733,U+5739,U+573B,U+5742,U+574C,U+575C,U+5768-5769,U+576B,U+576D,U+5773,U+5776,U+577B-577C,U+5785-5786,U+578C,U+5793,U+57A0-57A1,U+57A4,U+57A7,U+57A9,U+57AD,U+57B2,U+57B4,U+57B8,U+57CF,U+57D2,U+57D5,U+57D8-57DA,U+57DD,U+57E4,U+57ED,U+57EF,U+57F4,U+57F8,U+57FD,U+5800,U+5807,U+580B,U+580D,U+5819,U+581E,U+5820,U+5844,U+5865,U+586C,U+587E,U+5880-5881,U+5889,U+589A,U+58BC,U+58C5,U+58D1,U+5902,U+5914,U+5919,U+5924-5925,U+592D,U+593C,U+5941-5942,U+5955,U+5958,U+595A,U+5B34,U+5B5B,U+5B6C,U+5C22,U+5C25,U+5C2C,U+5C34,U+5C7A,U+5C88,U+5C8C-5C8D,U+5C90-5C91,U+5C96,U+5C98-5C9A,U+5C9C,U+5CA2-5CA3,U+5CAB-5CAC,U+5CB1,U+5CB5,U+5CB7,U+5CBD,U+5CC1,U+5CC4,U+5CCB,U+5CD2,U+5CE4-5CE5,U+5D02-5D03,U+5D06,U+5D1B,U+5D1E,U+5D24,U+5D26-5D27,U+5D2E,U+5D34,U+5D3D-5D3E,U+5D4A-5D4B,U+5D58,U+5D5B,U+5D5D,U+5D69,U+5D6B-5D6C,U+5D6F,U+5D74,U+5D82,U+5D99,U+5D9D,U+5DB7,U+5DC5,U+5DEF,U+5DFD,U+5E0F,U+5E11,U+5E14,U+5E19,U+5E31,U+5E37,U+5E3B-5E3C,U+5E44,U+5E54,U+5E5B,U+5E5E,U+5E61,U+5E80,U+5E8B,U+5E91,U+5E96,U+5EA0,U+5EA5,U+5EB3,U+5EB5,U+5EB9,U+5EBE,U+5ED1-5ED2,U+5EDB,U+5EE8,U+5EEA,U+5EF4,U+5EFE-5EFF,U+5F01,U+5F08,U+5F0B,U+5F11,U+5F61,U+5F73,U+5F77,U+5F82,U+5F87,U+5F89,U+5F8C,U+5F95,U+5F99,U+5F9C,U+5FA8,U+5FAD,U+5FB5,U+5FBC,U+5FD2,U+61FF,U+624C,U+626A,U+629F,U+62BB,U+62CA,U+62D7,U+62DA,U+62EE,U+62F6,U+6322,U+6339,U+6343,U+634B,U+6369,U+636D,U+6371,U+637A,U+638A,U+638E,U+63AC-63AE,U+63B4,U+63BC,U+63BE,U+63C4,U+63C6,U+63CE,U+63DE,U+63E0,U+63F2,U+63F6,U+63F8,U+63FF,U+640B-640C,U+641B,U+6420-6421,U+6426,U+6441,U+6445,U+6452,U+645E,U+646D,U+647A,U+6484,U+6496,U+6499,U+64B7-64B8,U+64BA,U+64C0,U+64D0,U+64D7,U+64E2,U+64E4,U+6509,U+6525,U+652E,U+6538,U+6BD3,U+6C10,U+6C3D,U+6C46,U+71EE,U+723B,U+72AD,U+72B0,U+72B4,U+72B7-72B8,U+72C1,U+72C3,U+72CD-72CE,U+72D2,U+72E8-72E9,U+72EF,U+72F2-72F4,U+72F7,U+72FA-72FB,U+7301,U+7303,U+730A,U+7313,U+7315,U+7317,U+731D-731E,U+7321-7322,U+7325,U+732C,U+7331,U+7338-7339,U+734D,U+7350,U+7357,U+7360,U+736C,U+736F,U+737E,U+750D,U+7519,U+755A,U+777E,U+77A2,U+77CD,U+7980,U+79BA,U+7C74,U+7F54,U+7FB8,U+8037,U+80E4,U+8114,U+81BA,U+821B,U+8279,U+827D,U+827F,U+8284,U+8288,U+828A,U+828E-828F,U+8291,U+8297-8299,U+829F,U+82A1,U+82A4,U+82A8-82AB,U+82AE,U+82B0,U+82B4,U+82B7-82B8,U+82BE,U+82C1,U+82C4,U+82C8,U+82CA-82CC,U+82CE,U+82D2-82D3,U+82D5,U+82D8,U+82DC,U+82E0-82E1,U+82E3-82E4,U+82F4,U+82F7,U+82FB,U+8306-8309,U+830C,U+830F,U+8311,U+8314-8315,U+8317,U+831A-831C,U+832D,U+832F,U+8331,U+8333-8334,U+833A,U+833C,U+8340,U+8343,U+8347,U+834F,U+8351,U+835B-835C,U+835E-8360,U+8365-8366,U+8368-836A,U+836C-836E,U+8378,U+837B-837D,U+8385,U+8392-8393,U+8398,U+839B-839C,U+839E,U+83A0,U+83A8-83AA,U+83B0,U+83B3-83B4,U+83B6,U+83B8,U+83BA,U+83BC,U+83C0-83C1,U+83C5,U+83D4,U+83D6,U+83D8,U+83DD,U+83DF,U+83E1,U+83E5,U+83EA,U+83F0,U+83F8-83F9,U+83FD,U+8401,U+8403,U+8406,U+840B,U+840F,U+8411,U+8418,U+841C,U+8426,U+8431,U+8438,U+843C,U+8446,U+8451,U+8459-845A,U+845C,U+8469,U+846D,U+8473,U+8476,U+8478,U+847A,U+8487-8489,U+848C,U+848E,U+8497,U+84A1,U+84AF,U+84B4,U+84B9-84BA,U+84BD,U+84BF,U+84C1,U+84CA,U+84CD,U+84D0,U+84D3,U+84E0,U+84E3,U+84E5-84E6,U+84F0,U+84FC,U+84FF,U+850C,U+851F,U+8538-853B,U+8543,U+8548,U+8556,U+8559,U+855E,U+8564,U+8568,U+8572,U+8579-857B,U+8585,U+8587,U+858F,U+859C,U+85A4,U+85A8,U+85AE,U+85B0,U+85B7,U+85B9,U+85C1,U+85D3,U+85DC,U+85FF,U+8605,U+8616,U+8627,U+8629,U+863C,U+8803,U+8862,U+886E,U+88A4,U+88D2,U+8A07,U+8BA0,U+8BA6-8BA7,U+8BAA,U+8BB4-8BB5,U+8BB7,U+8BC2-8BC3,U+8BCB,U+8BCE-8BCF,U+8BD2-8BD4,U+8BD6,U+8BD8-8BD9,U+8BDC,U+8BDF-8BE0,U+8BE4,U+8BE8-8BE9,U+8BEE,U+8BF0,U+8BF3,U+8BF6,U+8BF9,U+8BFC,U+8BFF-8C00,U+8C02,U+8C04,U+8C07,U+8C0C,U+8C0F,U+8C11-8C12,U+8C14-8C16,U+8C18-8C19,U+8C1B,U+8C1D,U+8C1F-8C21,U+8C25,U+8C27,U+8C2A-8C2B,U+8C2E-8C2F,U+8C32-8C33,U+8C35-8C36,U+8C73,U+8D53,U+8D5C-8D5D,U+8F94,U+9097,U+9099,U+909B,U+909D,U+90A1,U+90AC,U+90B0,U+90B3-90B4,U+90B6,U+90B8,U+90BA,U+90BE,U+90C4-90C5,U+90C7,U+90CF-90D0,U+90D3,U+90D7,U+90DB-90DC,U+90E2,U+90E6,U+90EB,U+90EF,U+90FE,U+9104,U+911E,U+9122-9123,U+912F,U+9131,U+9139,U+9143,U+9146,U+961D,U+9621-9622,U+962A,U+9631,U+963C-963D,U+9642,U+9649,U+9654,U+965F,U+9667,U+966C,U+9672,U+9674,U+9688,U+968D,U+9697,U+96B0,U+9765,U+98E7,U+9963,U+9967-996C,U+9974,U+9977,U+997D,U+9980,U+9984,U+9987,U+998A,U+998D,U+9990-9991,U+9993-9995,U+9997-9998,U+99A8,U+9B2F,U+9B32,U+9EC9,U+9F10,U+9F17,U+9F19,U+9FA0`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-5-d0359bbc.woff2`,bytes:278908,unicodeRange:`U+4E2C,U+5216,U+54AB,U+584D,U+5981,U+5983,U+598D,U+5997,U+599E,U+59A3-59A4,U+59A9-59AB,U+59AF,U+59B2,U+59BE,U+59CA,U+59D2,U+59D7-59D8,U+59DD,U+59E3,U+59F9,U+5A05-5A06,U+5A08-5A09,U+5A0C,U+5A11,U+5A13,U+5A23,U+5A32,U+5A34,U+5A3C,U+5A40,U+5A4A,U+5A55,U+5A62,U+5A67,U+5A75,U+5A77,U+5A7A,U+5A9B,U+5AAA,U+5AB2,U+5AB5,U+5AB8,U+5ABE,U+5AD2,U+5AD4,U+5AD6,U+5AD8,U+5ADC,U+5AE0,U+5AE3,U+5AE6,U+5AEB,U+5AF1,U+5B09,U+5B16-5B17,U+5B32,U+5B37,U+5B40,U+5B51,U+5B53,U+5B5A,U+5B62,U+5B65,U+5B71,U+5B73,U+5B80,U+5B84,U+5B93,U+5B95,U+5BA5,U+5BB8,U+5BE4,U+5BEE,U+5BF0,U+5C15,U+5C1C,U+5C3B,U+5C50,U+5C59,U+5C63,U+5C66,U+5C6E,U+5DDB,U+5E7A,U+5F29-5F2A,U+5F2D,U+5F3C,U+5F40,U+5F50,U+5F56-5F58,U+5FC4,U+5FC9,U+5FCF-5FD1,U+5FD6,U+5FDD,U+5FE1,U+5FE4,U+5FEA,U+5FED-5FEE,U+5FF8,U+5FFE,U+6003-6006,U+600A,U+600D,U+600F,U+6019,U+601B,U+6021,U+6026,U+6029,U+602B,U+6035,U+603C,U+603F,U+6041-6042,U+6059-605A,U+605D,U+6063,U+6067,U+606A,U+6078-607B,U+607D,U+6083,U+608C,U+6092,U+6096,U+609A-609B,U+609D,U+60AB,U+60AD,U+60B1,U+60B4,U+60BB,U+60C6,U+60D8,U+60DA,U+60DD,U+60EC,U+60F4,U+6100,U+6106,U+610D-610E,U+6115,U+6120,U+6123,U+6126,U+612B,U+614A,U+615D,U+6175,U+6194,U+619D,U+61A7,U+61A9,U+61AC,U+61B7,U+61CB,U+61D1,U+61D4,U+61F5,U+6206,U+620B,U+6215,U+6217,U+621B,U+621F,U+6221-6222,U+6224-6225,U+622C,U+623D-623E,U+6243,U+6248-6249,U+6308,U+6332,U+63B0,U+6434,U+643F,U+64D8,U+6534-6535,U+6555,U+656B,U+6590,U+6593,U+65AB,U+65BC,U+65C3-65C4,U+65C6,U+65CC,U+65CE,U+65D2,U+65D6,U+65EE-65F0,U+6600,U+6603,U+660A,U+6615,U+6619,U+661D,U+6631,U+6634-6636,U+6641,U+664F,U+6654,U+6656-6657,U+665F,U+6661,U+6677,U+6684,U+668C,U+669D,U+66A7,U+66B9,U+66BE,U+66DB-66DC,U+66E6,U+66E9,U+66F7,U+670A,U+6710,U+6715,U+6726,U+6748,U+674C,U+6753,U+675E,U+6769-676A,U+6772-6773,U+6775,U+6777,U+677C,U+6787,U+678B,U+6798,U+679E,U+67A5,U+67A7-67A8,U+67AD,U+67B0,U+67B3,U+67B5,U+67B8,U+67C1,U+67C3,U+67D8-67DA,U+67DD,U+67E2,U+67E9,U+67F0,U+67FD,U+6800,U+6809-680A,U+680C,U+680E,U+681D,U+6829,U+6832-6833,U+683E,U+6840-6841,U+6844,U+6849-684A,U+684E,U+6855,U+6860-6862,U+6864,U+6866-6867,U+686B,U+6874,U+6877,U+6883,U+688F,U+6893,U+68B5,U+68C2,U+68E3,U+68F0,U+68F9,U+68FC,U+6901,U+690B,U+6910,U+691F-6920,U+6924,U+6934,U+6939,U+6942,U+6957,U+695D,U+6960,U+6963,U+6966,U+696B,U+696E,U+6971,U+6978-6979,U+6980,U+6984,U+6987-6989,U+698D,U+6995,U+6998,U+699B,U+69A7,U+69AB,U+69AD,U+69B1,U+69BB,U+69C1,U+69CA,U+69CC,U+69CE,U+69D4,U+69DF-69E0,U+69ED,U+69F2,U+69FF,U+6A17-6A18,U+6A28,U+6A2F,U+6A35,U+6A3D-6A3E,U+6A44,U+6A50,U+6A58,U+6A5B,U+6A65,U+6A79,U+6A7C,U+6A8E,U+6A90-6A91,U+6A97,U+6AA0,U+6AA9,U+6AAB,U+6B24,U+6B37,U+6B39,U+6B43,U+6B46,U+6B59,U+6B81-6B82,U+6B84,U+6B87,U+6B8D,U+6B92-6B93,U+6B9A-6B9B,U+6BA1,U+6BAA,U+6BB3,U+6BC2,U+6BEA,U+6BF3,U+6BF5,U+6BF9,U+6BFD,U+6C05-6C07,U+6C0D,U+6C15,U+6C18-6C1A,U+6C21,U+6C24,U+6C29-6C2A,U+6C32,U+6C35,U+6C4A,U+6C54,U+6C5C,U+6C68-6C69,U+6C74,U+6C76,U+6C85-6C86,U+6C8C,U+6C90,U+6C93-6C94,U+6CA3,U+6CA9,U+6CAD,U+6CB1-6CB2,U+6CD0,U+6CD3-6CD4,U+6CD6-6CD7,U+6CE0,U+6CEB,U+6CEE-6CEF,U+6CF1,U+6CF6-6CF8,U+6CFA,U+6CFE,U+6D04,U+6D07,U+6D0C,U+6D0E,U+6D19-6D1A,U+6D27,U+6D2B,U+6D2E,U+6D33,U+6D35,U+6D39,U+6D43,U+6D48,U+6D4D,U+6D4F,U+6D52,U+6D54,U+6D5C,U+6D5E,U+6D60,U+6D63,U+6D6F,U+6D7C,U+6D91,U+6D93-6D94,U+6D9E,U+6DA0,U+6DAB,U+6DAE,U+6DBF,U+6DC5,U+6DC7,U+6DD9,U+6DDD-6DDE,U+6DE0,U+6DE6,U+6DFC,U+6E0C,U+6E0E,U+6E11,U+6E16,U+6E1A,U+6E25,U+6E2B,U+6E32,U+6E44,U+6E4E,U+6E53-6E54,U+6E5F,U+6E6B,U+6E6E,U+6E86,U+6E8F,U+6E98,U+6E9F,U+6EA5,U+6EA7,U+6EB1-6EB2,U+6EB4,U+6EB7,U+6EBB,U+6EBD,U+6EC2,U+6ECF,U+6ED5,U+6ED7,U+6EDF-6EE0,U+6EE2,U+6EF9,U+6F09,U+6F15,U+6F24,U+6F29-6F2A,U+6F2D,U+6F2F,U+6F36,U+6F46-6F47,U+6F4B,U+6F62,U+6F72,U+6F74,U+6F78,U+6F7A,U+6F7C,U+6F89,U+6F8C-6F8D,U+6FA7,U+6FB6,U+6FB9,U+6FC2,U+6FC9,U+6FD1,U+6FDE,U+6FE0-6FE1,U+6FEE-6FEF,U+701A-701B,U+7023,U+7035,U+7039,U+704F,U+705E,U+706C,U+7080,U+7085,U+7096,U+709C-709D,U+70AB,U+70B1,U+70B7,U+70BB,U+70C0,U+70CA,U+70E8,U+7110,U+7113,U+7116,U+7118,U+712F,U+7131,U+7145,U+714A,U+715C,U+7166,U+7168,U+7172-7173,U+7178,U+717A,U+7198,U+71A0,U+71A8,U+71B3,U+71B5,U+71B9,U+71D4,U+71E0,U+71E7,U+71F9,U+721D,U+7228,U+7230,U+723F,U+724D,U+7252,U+7256,U+725D,U+7266,U+726E-726F,U+727E-727F,U+7284,U+728B,U+728D,U+728F,U+7292,U+729F,U+7337,U+7352,U+738E,U+7391,U+739F,U+73A2,U+73AE,U+73B3,U+73B7,U+73BA,U+73C0,U+73C2,U+73C8-73C9,U+73CF,U+73D1,U+73D9,U+73DE,U+73E5,U+73E7,U+73E9,U+73F2,U+740A,U+740F,U+741A-741B,U+7425-7426,U+7428,U+742A,U+742C,U+742E,U+7430,U+7441,U+7455,U+7457,U+7459,U+745B-745C,U+746D,U+7477,U+747E,U+7480-7481,U+7487,U+748B,U+748E,U+7490,U+749C,U+749E,U+74A7-74A9,U+74BA,U+74D2,U+74EF,U+74F4,U+74FF,U+750F,U+7511,U+7513,U+752F,U+753E,U+757F,U+77F6,U+77F8,U+7800,U+7809,U+7811,U+7817-7818,U+781C-781D,U+782D,U+793B,U+7940,U+7946,U+7949,U+7953,U+7957,U+795A-795C,U+7960,U+7962,U+7967,U+796F,U+797A,U+7985,U+798A,U+799A,U+79A7,U+79B3,U+7E9F,U+7EA1,U+7EA3,U+7EA5,U+7EA8-7EA9,U+7EAD,U+7EB0,U+7EBE,U+7EC0-7EC2,U+7EC9,U+7ECB-7ECC,U+7ED0,U+7ED4,U+7ED7,U+7EDB,U+7EE0-7EE1,U+7EE8,U+7EEB,U+7EEE-7EEF,U+7EF1-7EF2,U+7EF6,U+7EFA-7EFB,U+7EFE,U+7F01-7F03,U+7F07-7F08,U+7F0B-7F0D,U+7F0F,U+7F11-7F12,U+7F17,U+7F19,U+7F1B-7F1C,U+7F1F,U+7F21-7F27,U+7F2A-7F2D,U+7F2F-7F33,U+7F35,U+7FBC,U+8004,U+8006,U+807F-8080,U+8093,U+809C,U+809F,U+80AB,U+80AD,U+80B1,U+80B4,U+80B7,U+80BC-80BD,U+80C2,U+80C4,U+80CD,U+80D7,U+80D9,U+80DB,U+80DD,U+80E7-80ED,U+80F1-80F2,U+80F4,U+80FC,U+810D-810E,U+8112,U+8118,U+811E,U+812C,U+8132,U+8136,U+8148,U+814C,U+8153,U+8159-815A,U+8160,U+8167,U+8169,U+816D,U+8171,U+8174,U+817C-817D,U+8182,U+8188,U+8191,U+81A3,U+81A6,U+81AA,U+81BB,U+81C1,U+81CA,U+81CC,U+81E7,U+8274,U+8662,U+8930,U+89C7,U+89CA-89CC,U+89CE-89D1,U+89F3,U+8B07,U+8C5A,U+8D32-8D33,U+8D36,U+8D3B,U+8D3D,U+8D40,U+8D45-8D49,U+8D4D,U+8D55,U+8D59,U+8E47,U+8ECE,U+8F6B,U+8F6D,U+8F71-8F73,U+8F75-8F7A,U+8F7C,U+8F7E,U+8F81-8F82,U+8F84,U+8F87,U+8F8B,U+8F8D-8F8F,U+8F98,U+8F9A,U+8FB6,U+8FD3,U+8FD5,U+8FE4-8FE6,U+8FE8-8FE9,U+8FEE,U+8FF3,U+9004-9005,U+900B,U+900D,U+9011,U+9016,U+9021,U+9026,U+902D,U+902F,U+9035-9036,U+9044,U+9050-9052,U+9058,U+905B,U+9062,U+9068,U+9074,U+907D,U+9082-9083,U+9088,U+908B,U+9095,U+95E9,U+95EB,U+95F1,U+95F3,U+95F5-95F6,U+95FC,U+95FE,U+9603-9604,U+9606,U+9608,U+960A-960D,U+960F,U+9612,U+9615-9617,U+9619-961A,U+96B3,U+97EA-97EC,U+987C,U+98D1-98D3,U+98D5,U+98D9-98DA,U+9A75,U+9A77-9A78,U+9A7A,U+9A7D,U+9A7F-9A81,U+9A85,U+9A88,U+9A8A,U+9A90,U+9A92-9A93,U+9A96,U+9A98,U+9A9B-9AA0,U+9AA2-9AA3,U+9AA5,U+9AA7,U+9B3B,U+9F51`}),Object.freeze({family:`Aha Hand`,file:`wenkai-gb-6-a238b41c.woff2`,bytes:307604,unicodeRange:`U+5D47,U+6549,U+659B,U+66A8,U+74DE,U+74E0,U+752C,U+753A,U+7540,U+7548,U+754B,U+754E,U+755B,U+7572,U+7579,U+7583,U+758B,U+7592,U+7594,U+7596,U+759D,U+75A0,U+75A3,U+75AC,U+75B0-75B1,U+75B3-75B4,U+75B8,U+75C2-75C4,U+75CD,U+75D6,U+75E3-75E4,U+75E6-75E8,U+75EB,U+75F1,U+75FC,U+75FF-7600,U+7603,U+7605,U+760A,U+760C,U+7610,U+7615,U+7617-7619,U+761B,U+7620,U+7622,U+7625,U+762D,U+7630,U+7633,U+7635,U+763C,U+763E-7640,U+7643,U+764D,U+7654,U+7656,U+765C,U+765E,U+766B,U+766F,U+7688,U+768E,U+7693,U+7699,U+76A4,U+76B2,U+76B4,U+76CD,U+76E5,U+76F1,U+76F9,U+7704,U+7707-7708,U+770D,U+7719-771A,U+7722,U+7726,U+772D,U+7735,U+7738,U+7743,U+7747,U+7750-7751,U+775A,U+7762,U+7765,U+7768,U+777D,U+777F-7780,U+778C-778D,U+7791,U+779F-77A0,U+77B0,U+77B5,U+77BD,U+77BF,U+77DC,U+77E7,U+77EC,U+781F,U+7823,U+7825-7826,U+7829,U+782C,U+7839-783C,U+7847,U+784C,U+784E,U+7850,U+7856-7857,U+786A,U+786D,U+7887,U+7893,U+789A-789C,U+78A1,U+78A3,U+78A5,U+78B2,U+78B9,U+78C9,U+78D4,U+78D9,U+78EC,U+78F2,U+78F4,U+7905,U+7913,U+791E,U+7924,U+7934,U+79D5,U+79E3,U+79EB,U+79ED,U+7A02-7A03,U+7A06,U+7A14,U+7A1E,U+7A23,U+7A37,U+7A39,U+7A51,U+7A70,U+7A78-7A79,U+7A80,U+7A86,U+7A88,U+7A95,U+7AA0,U+7AA6,U+7AA8,U+7AAC-7AAD,U+7AB3,U+7AE6,U+7AFA,U+7AFD,U+7B03-7B04,U+7B08,U+7B0A,U+7B0F,U+7B15,U+7B19,U+7B1E,U+7B20,U+7B24-7B25,U+7B2A-7B2B,U+7B2E,U+7B31,U+7B33,U+7B38,U+7B3E,U+7B45,U+7B47,U+7B4C,U+7B58,U+7B5A,U+7B5D,U+7B60,U+7B62,U+7B6E,U+7B71-7B72,U+7B75,U+7B7B,U+7B85,U+7B90,U+7B9C-7B9D,U+7BA2,U+7BA6-7BA8,U+7BAA-7BAC,U+7BB4,U+7BB8,U+7BC1,U+7BCC,U+7BD1,U+7BDA,U+7BDD,U+7BE5-7BE6,U+7BEA,U+7BFC,U+7BFE,U+7C0B-7C0C,U+7C0F,U+7C16,U+7C1F,U+7C26,U+7C2A,U+7C38,U+7C40-7C41,U+7C7C,U+7C91,U+7C9C-7C9E,U+7CA2,U+7CB2,U+7CBC-7CBD,U+7CC1,U+7CC5,U+7CC7-7CC8,U+7CCC-7CCD,U+7CD7,U+7CE8,U+7CF8,U+7D77,U+7DA6,U+7DAE,U+7E3B,U+7E47,U+7E9B,U+7F36,U+7F42,U+7F44-7F45,U+7F58,U+7F5F,U+7F61,U+7F68,U+7F71,U+7F74,U+7F79,U+7F7E,U+7F81,U+7F9D,U+7F9F,U+7FA7,U+7FAF-7FB0,U+7FB2,U+7FBF,U+7FCA,U+7FCE,U+7FD5,U+7FE1,U+7FE5-7FE6,U+7FE9,U+7FEE,U+7FF3,U+800B,U+8012,U+8014,U+8016,U+801C,U+8020,U+8022,U+8025-8029,U+8031,U+8035,U+8043,U+8046,U+804D,U+8052,U+8069,U+8071,U+80E5,U+81EC,U+81FE,U+8201-8202,U+8204,U+8210,U+8221-8223,U+8228,U+822B,U+822D,U+822F,U+8233-8234,U+8238,U+823B,U+823E,U+8244,U+8249,U+824B,U+824F,U+825A,U+825F,U+8268,U+826E,U+864D,U+8654,U+866C,U+866E,U+867A-867C,U+867F,U+868B,U+868D,U+8693,U+869D,U+86A3,U+86A7-86AA,U+86AC,U+86AF-86B1,U+86B4-86B6,U+86BA,U+86C4,U+86C9,U+86CE-86D1,U+86D8,U+86DE-86DF,U+86E9,U+86ED,U+86F1-86F4,U+86F8,U+8703,U+8707-870A,U+870D,U+8713,U+871A,U+871E,U+8722-8723,U+8725,U+8729,U+872E,U+8731,U+8734,U+8737,U+873B,U+873E-873F,U+8748,U+874C,U+8753,U+8759,U+8760,U+8763-8765,U+876E,U+8770,U+877B-877E,U+8782-8783,U+8785,U+8788,U+878B,U+8793,U+8797,U+87A8,U+87AB-87AD,U+87AF,U+87B3,U+87B5,U+87BD,U+87C0,U+87C6,U+87CA-87CB,U+87D1-87D3,U+87DB,U+87E0,U+87E5,U+87EA,U+87EE,U+87FE,U+880A,U+8813,U+8816,U+881B,U+8821,U+8832,U+8839,U+883C,U+8844,U+8864,U+8869,U+8872,U+887D-887F,U+8882,U+8885,U+8888,U+88A2,U+88B7,U+88BC,U+88C6,U+88C9,U+88CE,U+88D8,U+88DF,U+88E2-88E3,U+88E5,U+88E8,U+88F0-88F1,U+88FC,U+88FE,U+890A,U+8913,U+8919-891B,U+8921,U+892B,U+8934,U+8936,U+8941,U+895E,U+8966,U+897B,U+8983,U+89D6,U+89DA,U+89DC,U+89DE,U+89E5,U+89EB,U+89EF,U+8A3E,U+8A48,U+8B26,U+8C47,U+8C49,U+8C55,U+8C78,U+8C82,U+8C85,U+8C8A,U+8C94,U+8C98,U+8D67,U+8D6D,U+8D73,U+8D84,U+8D91,U+8D94,U+8DB1,U+8DB5,U+8DB8,U+8DBA,U+8DBC,U+8DBF,U+8DC4,U+8DC6,U+8DCE-8DCF,U+8DD6-8DD7,U+8DDA-8DDB,U+8DDE,U+8DE3-8DE4,U+8DEB-8DEC,U+8DF7-8DF9,U+8DFB,U+8DFD,U+8E05,U+8E09,U+8E14,U+8E1D,U+8E1F,U+8E23,U+8E2C,U+8E2E-8E2F,U+8E31,U+8E35,U+8E39-8E3A,U+8E3D,U+8E40-8E42,U+8E49-8E4A,U+8E51-8E52,U+8E59,U+8E69,U+8E6F-8E70,U+8E74,U+8E76,U+8E7C,U+8E85,U+8E8F-8E90,U+8E94,U+8E9C,U+8E9E,U+914A,U+914E-9150,U+9161-9162,U+9164,U+9169,U+916F-9170,U+9172,U+9174,U+9179,U+917D-917E,U+9185,U+918C-918D,U+9190-9191,U+91A2-91A3,U+91AA,U+91AD-91AF,U+91B4-91B5,U+91BA,U+928E,U+92AE,U+92C8,U+933E,U+936A,U+938F,U+93CA,U+93D6,U+943E,U+946B,U+9485-9487,U+948A-948D,U+948F-9490,U+9494-9495,U+9497,U+949A-949C,U+94A3-94A4,U+94AA-94AD,U+94AF-94B0,U+94B2,U+94B4,U+94B6-94BA,U+94BC-94BD,U+94BF,U+94C4,U+94C8-94CE,U+94D0-94D2,U+94D5-94D9,U+94DB,U+94DE-94E0,U+94E2,U+94E4-94E5,U+94E7-94EB,U+94EE-94EF,U+94F3-94F5,U+94F7,U+94F9,U+94FC-94FD,U+94FF,U+9502-9503,U+9506-9507,U+9509-950A,U+950D-950F,U+9512-9516,U+9518,U+951B,U+951D-951F,U+9522,U+9529-952C,U+9531-9532,U+9534-9538,U+953A,U+953C,U+953E-953F,U+9542,U+9544-9546,U+9549,U+954C,U+954E-954F,U+9552-9554,U+9556-9559,U+955B,U+955D-955F,U+9561-9562,U+9564-956C,U+956F,U+9571-9573,U+96B9,U+96BC-96BD,U+96C9,U+96CE,U+96D2,U+96E0,U+96E9,U+96EF,U+96F3,U+9701,U+9706,U+9708,U+970E-970F,U+972A,U+972D,U+9730,U+973E,U+9753,U+977C,U+9785,U+9791-9792,U+9794,U+97A3,U+97AB,U+97AF,U+97B2,U+97B4,U+9878,U+9880,U+9883,U+9889,U+988C-988D,U+988F,U+9894,U+989A-989B,U+989E-989F,U+98A1-98A2,U+98A5-98A6,U+98E8,U+990D,U+992E,U+9954-9955,U+99A5,U+9AB0-9AB1,U+9AB6-9AB7,U+9ABA,U+9ABC,U+9AC0-9AC2,U+9AC5,U+9ACB-9ACC,U+9AD1,U+9ADF,U+9AE1,U+9AE6,U+9AEB,U+9AED,U+9AEF,U+9AF9,U+9AFB,U+9B08,U+9B0F,U+9B13,U+9B1F,U+9B23,U+9B43,U+9B45,U+9B47-9B49,U+9B4D,U+9B51,U+9C7F,U+9C82,U+9C85-9C88,U+9C8B,U+9C8E,U+9C90-9C92,U+9C94-9C95,U+9C9A-9C9B,U+9C9E-9CA3,U+9CA5-9CA9,U+9CAB,U+9CAD-9CAE,U+9CB0-9CB7,U+9CBA-9CBD,U+9CC4-9CC7,U+9CCA-9CD0,U+9CD3-9CD5,U+9CD7-9CD9,U+9CDC-9CDD,U+9CDF,U+9CE2,U+9E20,U+9E22,U+9E28-9E2C,U+9E31-9E32,U+9E36-9E3A,U+9E3E,U+9E41-9E42,U+9E44,U+9E46-9E49,U+9E4B-9E4C,U+9E4E,U+9E51,U+9E55,U+9E57-9E58,U+9E5A-9E5C,U+9E5E,U+9E63,U+9E66-9E6D,U+9E71,U+9E73,U+9E7E,U+9E82,U+9E87-9E88,U+9E8B,U+9E92,U+9E9D,U+9E9F,U+9EB4,U+9EB8,U+9EBD-9EBE,U+9ECF,U+9EDB-9EDD,U+9EDF-9EE0,U+9EE2,U+9EE5,U+9EE7,U+9EE9-9EEA,U+9EEF,U+9EF9,U+9EFB-9EFC,U+9EFE,U+9F0B,U+9F0D,U+9F22,U+9F2C,U+9F2F,U+9F37,U+9F39,U+9F3D-9F3E,U+9F44,U+9F80,U+9F83,U+9F85-9F8A,U+9F8C,U+9F9B`})]),mu=`'Aha Hand Latin','Aha Hand','Segoe Print','Ink Free','Bradley Hand','Chalkboard SE','Noteworthy','Comic Sans MS','LXGW WenKai','Kaiti SC','STKaiti','KaiTi','楷体',cursive`,hu=`${pu.map(e=>`@font-face{font-family:'${e.family}';font-style:normal;font-weight:400;font-display:swap;src:url('api/aha-tutor/font?f=${e.file}') format('woff2');unicode-range:${e.unicodeRange}}`).join(`
267
274
  `)}
268
275
  .aha{container-type:inline-size;container-name:aha;--aha-gap:12px;--aha-radius:var(--dsw-radius-md,12px);--aha-text:var(--dsw-alias-label-primary,#1f2328);--aha-muted:var(--dsw-alias-label-tertiary,#6b7280);--aha-dim:var(--dsw-alias-label-caption,#9ca3af);--aha-border:var(--dsw-alias-border-l2,#e5e7eb);--aha-bg:var(--dsw-alias-bg-base,#fafafa);--aha-surface:var(--dsw-alias-bg-layer-1,#fff);--aha-soft:var(--dsw-alias-bg-module-platform,#f4f5f7);--aha-hover:var(--dsw-alias-interactive-bg-hover,rgba(0,0,0,.05));--aha-brand:var(--dsw-alias-state-business-primary,#3b6cf6);--aha-primary-bg:var(--dsw-alias-brand-primary,#111);--aha-primary-fg:var(--dsw-alias-label-primary-inverted,#fff);--aha-ok:var(--dsw-alias-state-success-primary,#1f9d55);--aha-bad:var(--dsw-alias-state-error-primary,#d64545);
269
276
  display:flex;flex:1 1 auto;height:100%;min-height:0;overflow:hidden;background:var(--aha-bg);color:var(--aha-text);font-size:var(--dsh-content-font-size,14px);line-height:1.6;box-sizing:border-box}
@@ -324,7 +331,17 @@ a.aha-btn{text-decoration:none}
324
331
  .aha-option{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--aha-border);border-radius:10px;background:var(--aha-surface);cursor:pointer;text-align:left;color:var(--aha-text)}
325
332
  .aha-option[data-active=true]{border-color:var(--aha-brand);box-shadow:0 0 0 1px var(--aha-brand) inset}
326
333
  .aha-option small{color:var(--aha-muted);font-size:12px;line-height:17px}
327
- .aha-tree{display:flex;flex-direction:column;gap:10px}
334
+ .aha-tree{display:flex;flex-direction:column;gap:10px;border:0;margin:0;padding:0;min-width:0}
335
+ .aha-tree:disabled{opacity:.6}
336
+ .aha-proposal{border-color:var(--aha-brand)}
337
+ .aha-diff{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
338
+ .aha-diff li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
339
+ .aha-diffTag{flex:0 0 auto;padding:0 6px;border-radius:6px;font-size:12px;line-height:18px;background:var(--aha-soft);color:var(--aha-muted)}
340
+ .aha-diff li[data-kind=added] .aha-diffTag{background:color-mix(in srgb,var(--aha-ok) 16%,transparent);color:var(--aha-ok)}
341
+ .aha-diff li[data-kind=removed] .aha-diffTag{background:color-mix(in srgb,var(--aha-bad) 14%,transparent);color:var(--aha-bad)}
342
+ .aha-menuAnchor{position:relative;display:inline-flex}
343
+ .aha-menu{position:absolute;right:0;top:110%;z-index:20;padding:6px;gap:2px;min-width:140px}
344
+ .aha-menu .aha-btn{justify-content:flex-start}
328
345
  .aha-unit{border:1px solid var(--aha-border);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--aha-surface)}
329
346
  .aha-lecture{margin-left:10px;padding-left:12px;border-left:2px solid var(--aha-border);display:flex;flex-direction:column;gap:4px}
330
347
  .aha-lesson{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:8px}
@@ -342,7 +359,9 @@ a.aha-btn{text-decoration:none}
342
359
  .aha-toast{position:fixed;right:20px;bottom:20px;z-index:1001;padding:10px 14px;border-radius:10px;background:var(--aha-primary-bg);color:var(--aha-primary-fg);font-size:13px;max-width:420px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
343
360
  .aha-markdown{font-size:14px;line-height:23px}
344
361
  .aha-split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;min-height:0;height:100%}
345
- @container aha (max-width:1060px){.aha-split{grid-template-columns:1fr}.aha-nav{width:56px;flex-basis:56px}.aha-navItem span,.aha-brand small,.aha-brand span{display:none}}
362
+ @container aha (max-width:1060px){.aha-nav{width:56px;flex-basis:56px}.aha-navItem span,.aha-brand small,.aha-brand span{display:none}}
363
+ /* One column: a page with a side list (instant answers, shorts) scrolls as a whole, the list last. Its classroom takes its natural height, with a board of about 60% of the screen, so nothing under it can squeeze the controls. */
364
+ @container aha (max-width:1060px){.aha-split{grid-template-columns:1fr;height:auto}.aha-page[data-wide=true]:has(>.aha-split){height:auto}.aha-split .aha-class{height:auto}.aha-split .aha-classMain{min-height:0}.aha-split .aha-stage{flex:0 0 auto;min-height:0;height:clamp(300px,60vh,640px)}.aha-split .aha-transcript{max-height:260px}}
346
365
 
347
366
  /* ── classroom ─────────────────────────────────────────────────────────── */
348
367
  .aha-class{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0;container-type:inline-size;container-name:classroom}
@@ -363,7 +382,7 @@ a.aha-btn{text-decoration:none}
363
382
  .aha-line:disabled{cursor:default}
364
383
  .aha-line[data-current=true]{background:var(--aha-soft);color:var(--aha-text)}
365
384
  .aha-line[data-aside=true]{margin-left:10px;width:calc(100% - 10px);border-left:2px dashed var(--aha-ok);border-radius:0 8px 8px 0}
366
- .aha-line[data-kind=question],.aha-line[data-kind=reexplain]{color:var(--aha-text);font-weight:600}
385
+ .aha-line[data-kind=question],.aha-line[data-kind=reexplain],.aha-line[data-kind=correction]{color:var(--aha-text);font-weight:600}
367
386
  .aha-lineText{flex:1;min-width:0;overflow-wrap:anywhere}
368
387
  .aha-panel .aha-askBox{flex-direction:column;align-items:stretch}
369
388
  .aha-panel .aha-askBox .aha-btn{align-self:flex-end}
@@ -373,6 +392,10 @@ a.aha-btn{text-decoration:none}
373
392
  .aha-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
374
393
  .aha-caption{min-height:44px;padding:8px 16px;text-align:center;font-size:15px;line-height:22px;color:var(--aha-text)}
375
394
  .aha-caption .katex{font-size:1em}
395
+ /* Why the lesson went silent, above the controls; the buttons wrap under the text when narrow. */
396
+ .aha-voiceNote{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;align-self:center;width:min(100%,760px);padding:8px 10px 8px 14px;border-radius:12px;background:var(--aha-soft);border:1px solid var(--aha-border);color:var(--aha-text);font-size:13px;line-height:19px}
397
+ .aha-voiceNoteText{flex:1 1 260px;min-width:0;overflow-wrap:anywhere}
398
+ .aha-voiceNoteActions{display:flex;align-items:center;gap:4px;margin-left:auto}
376
399
  /* Narrow: the panel goes under the board and the classroom scrolls, with the panel's header peeking in at the bottom. */
377
400
  @container classroom (max-width:900px){.aha-classBody{flex-direction:column;overflow-y:auto}.aha-classMain{flex:1 0 auto;min-height:calc(100% - 52px)}.aha-stage{min-height:300px}.aha-panel{flex:0 0 auto;width:auto}.aha-transcript{flex:0 1 auto;max-height:260px}}
378
401
  .aha-checkCard{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:min(600px,calc(100% - 28px));border-radius:14px;background:var(--aha-surface);border:1px solid var(--aha-border);box-shadow:0 14px 40px rgba(0,0,0,.22);padding:12px 14px 0;display:flex;flex-direction:column;gap:8px;z-index:5;max-height:62%;overflow:auto}
@@ -380,13 +403,72 @@ a.aha-btn{text-decoration:none}
380
403
  .aha-options[data-grid=true]{display:grid;grid-template-columns:1fr 1fr;gap:6px}
381
404
  .aha-checkCard .aha-option{padding:7px 10px}
382
405
  .aha-askBox{display:flex;gap:8px;align-items:flex-end}
406
+ .aha-buildLog{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
407
+ .aha-buildLog li{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--aha-muted)}
408
+ .aha-buildLog li[data-state=done],.aha-buildLog li[data-state=current]{color:var(--aha-text)}
409
+ .aha-buildLog li[data-state=current]{font-weight:600}
410
+ .aha-buildMark{flex:0 0 22px;height:22px;border-radius:50%;border:1.5px solid var(--aha-border);display:inline-flex;align-items:center;justify-content:center;font-size:12px}
411
+ .aha-buildLog li[data-state=done] .aha-buildMark{background:var(--aha-ok);border-color:var(--aha-ok);color:#fff}
412
+ .aha-buildLog li[data-state=current] .aha-buildMark{border-color:var(--aha-brand)}
413
+ .aha-buildMark .aha-spinner{width:12px;height:12px}
414
+ .aha-outlinePreview{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;align-items:start}
415
+ .aha-outlinePreview .aha-card[data-writing=true]{border-style:dashed;border-color:var(--aha-brand)}
416
+ .aha-outlineLessons{margin:0;padding-left:18px;font-size:13px;line-height:20px}
417
+ .aha-itemFigure{align-self:flex-start;width:min(100%,420px);box-sizing:border-box;padding:8px;border-radius:10px;background:#fffdf8;border:1px solid var(--aha-border)}
418
+ .aha-itemFigure svg{display:block;width:100%;height:auto;max-height:320px}
419
+ .aha-confidence[data-nudge=true]{animation:aha-nudge .5s ease 2;border-radius:10px;outline:2px solid var(--aha-brand);outline-offset:3px}
420
+ @keyframes aha-nudge{50%{transform:translateX(3px)}}
421
+ @media (prefers-reduced-motion:reduce){.aha-confidence[data-nudge=true]{animation:none}}
422
+ .aha-streak{background:color-mix(in srgb,var(--aha-ok) 14%,transparent);color:var(--aha-ok)}
423
+ .aha-summary{gap:12px}
424
+ .aha-stars{font-size:28px;letter-spacing:4px;color:#e0a21e;line-height:1}
425
+ .aha-stars span{color:var(--aha-border)}
426
+ .aha-summaryStats{gap:24px}
427
+ .aha-summaryStats span{display:flex;flex-direction:column;font-size:12.5px;color:var(--aha-muted)}
428
+ .aha-summaryStats b{font-size:22px;color:var(--aha-text)}
429
+ .aha-conceptMove{gap:8px;font-size:13.5px;flex-wrap:wrap}
430
+ .aha-level{padding:0 8px;border-radius:999px;font-size:12px;line-height:20px;background:var(--aha-soft);color:var(--aha-muted)}
431
+ .aha-level[data-level=weak]{background:color-mix(in srgb,var(--aha-bad) 14%,transparent);color:var(--aha-bad)}
432
+ .aha-level[data-level=learning]{background:color-mix(in srgb,#e08a1e 16%,transparent);color:#b86b0c}
433
+ .aha-level[data-level=proficient]{background:color-mix(in srgb,var(--aha-brand) 14%,transparent);color:var(--aha-brand)}
434
+ .aha-level[data-level=mastered]{background:color-mix(in srgb,var(--aha-ok) 16%,transparent);color:var(--aha-ok)}
435
+ .aha-nextStep{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap;border-color:color-mix(in srgb,var(--aha-brand) 40%,var(--aha-border))}
436
+ .aha-sourceList{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13.5px;line-height:20px}
437
+ .aha-sourceList a{color:var(--aha-brand);text-decoration:none;overflow-wrap:anywhere}
438
+ .aha-sourceList a:hover{text-decoration:underline}
439
+ .aha-sourceList p{margin:2px 0 0;font-size:12.5px;line-height:18px}
440
+ .aha-sources summary{cursor:pointer;color:var(--aha-muted);font-size:13px}
441
+ .aha-sources[open] summary{margin-bottom:6px}
442
+ .aha-planItem{display:flex;align-items:center;gap:8px;min-height:36px;flex-wrap:wrap}
443
+ .aha-planTitle{flex:1;min-width:140px}
444
+ .aha-planItem[data-checked=true] .aha-planTitle{color:var(--aha-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--aha-muted) 60%,transparent)}
445
+ .aha-check{width:18px;height:18px;margin:0;accent-color:var(--aha-ok);cursor:pointer;flex:0 0 auto}
446
+ .aha-check:disabled{cursor:default;opacity:.85}
447
+ .aha-calendar{container-type:inline-size;container-name:calendar}
448
+ .aha-calGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
449
+ .aha-calHead{text-align:center;font-size:12px;color:var(--aha-muted);padding:2px 0}
450
+ .aha-calDay{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-height:86px;padding:4px 5px;border:1px solid var(--aha-border);border-radius:8px;background:var(--aha-surface);color:var(--aha-text);font:inherit;text-align:left;cursor:pointer;overflow:hidden}
451
+ .aha-calDay:hover{background:var(--aha-hover)}
452
+ .aha-calDay[data-past=true]{background:color-mix(in srgb,var(--aha-soft) 55%,var(--aha-surface))}
453
+ .aha-calDay[data-today=true]{border-color:var(--aha-brand)}
454
+ .aha-calDay[data-selected=true]{outline:2px solid var(--aha-brand);outline-offset:-1px}
455
+ .aha-calNum{font-size:12.5px;font-weight:600}
456
+ .aha-calDay[data-today=true] .aha-calNum{color:var(--aha-brand)}
457
+ .aha-calItem{font-size:11.5px;line-height:16px;padding:0 4px;border-radius:4px;background:color-mix(in srgb,var(--aha-brand) 12%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
458
+ .aha-calItem[data-kind=review]{background:color-mix(in srgb,var(--aha-ok) 14%,transparent)}
459
+ .aha-calItem[data-kind=exam]{background:color-mix(in srgb,var(--aha-bad) 16%,transparent)}
460
+ .aha-calItem[data-checked=true]{opacity:.55;text-decoration:line-through}
461
+ .aha-calMore{font-size:11px;color:var(--aha-muted)}
462
+ @container calendar (max-width:560px){.aha-calDay{min-height:54px}.aha-calItem{font-size:0;height:5px;padding:0}.aha-calMore{font-size:10px}}
463
+ .aha-workPreview{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px dashed var(--aha-border);border-radius:10px;background:var(--aha-soft);font-size:13.5px}
464
+ .aha-wrongStep{display:flex;flex-direction:column;gap:2px;margin-top:6px;padding:6px 10px;border-left:3px solid var(--aha-bad);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--aha-bad) 6%,transparent)}
383
465
  .aha-feedback{padding:8px 12px;border-radius:10px;background:var(--aha-soft);font-size:13.5px}
384
466
  .aha-feedback[data-ok=true]{background:color-mix(in srgb,var(--aha-ok) 12%,var(--aha-surface))}
385
467
  .aha-feedback[data-ok=false]{background:color-mix(in srgb,var(--aha-bad) 10%,var(--aha-surface))}
386
468
 
387
469
  /* ── the board ─────────────────────────────────────────────────────────── */
388
470
  .aha-board{--ink:#23262f;--ink-soft:#4a4f5c;--head:#1f4fb8;--marker:rgba(255,214,79,.62);--accent:#d64545;--accent2:#2f9e6e;--paper:#fdfcf8;--grid:rgba(40,50,80,.05);--note:#fff7da;--note-line:#e9c45a;--pencil:#c98a2c;
389
- position:relative;flex:1 1 auto;min-height:0;container-type:inline-size;container-name:board;background:var(--paper);background-image:radial-gradient(var(--grid) 1px,transparent 1.2px);background-size:22px 22px;color:var(--ink);font-family:${vc};overflow:hidden}
471
+ position:relative;flex:1 1 auto;min-height:0;container-type:inline-size;container-name:board;background:var(--paper);background-image:radial-gradient(var(--grid) 1px,transparent 1.2px);background-size:22px 22px;color:var(--ink);font-family:${mu};overflow:hidden}
390
472
  .aha-board[data-font=standard]{font-family:inherit}
391
473
  .aha-board[data-theme=dark]{--ink:#ecebe4;--ink-soft:#c9c8bf;--head:#9cc2ff;--marker:rgba(214,178,58,.45);--accent:#ff8a80;--accent2:#7fd6a8;--paper:#1d2622;--grid:rgba(255,255,255,.05);--note:#2a3530;--note-line:#8f7a2f;--pencil:#e7c27a}
392
474
  .aha-boardScroll{position:absolute;inset:0;overflow:auto;padding:22px 30px 40px}
@@ -408,6 +490,10 @@ a.aha-btn{text-decoration:none}
408
490
  .aha-op mark{background:var(--marker);color:inherit;border-radius:3px;padding:0 2px}
409
491
  .aha-op-math{display:flex;justify-content:safe center;font-size:1.06em;overflow-x:auto;overflow-y:hidden;font-family:inherit}
410
492
  .aha-op-math .katex{font-size:1.15em}
493
+ /* Too long for one line even at 70 %: break after =, + and → as inline math does (board/fit.js). */
494
+ .aha-op-math[data-fit=wrap] .katex-display>.katex{white-space:normal}
495
+ /* An equation number follows its formula instead of covering the formula's end. */
496
+ .aha-op-math .katex-display>.katex>.katex-html>.katex-tag{position:static;display:inline-block;margin-left:1em}
411
497
  .aha-op-list{margin:0;padding-left:1.3em}.aha-op-list li{margin:2px 0}
412
498
  .aha-op-note{border:2px solid var(--note-line);background:var(--note);border-radius:12px;padding:8px 12px}
413
499
  .aha-op-note[data-tone=warn]{--note-line:var(--accent)}.aha-op-note[data-tone=tip]{--note-line:var(--accent2)}
@@ -423,17 +509,35 @@ a.aha-btn{text-decoration:none}
423
509
  .aha-op-code{margin:0;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.05);font:13.5px/20px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto;color:var(--ink)}
424
510
  .aha-board[data-theme=dark] .aha-op-code{background:rgba(255,255,255,.06)}
425
511
  .aha-op-anim{width:100%;border:0;border-radius:10px;background:transparent}
426
- .aha-reveal{clip-path:inset(0 calc(100% - var(--reveal,100%)) 0 0)}
427
512
  .aha-op[data-aside=true]{padding-left:10px;border-left:3px dashed var(--accent2)}
428
513
  .aha-markRing{position:absolute;inset:-6px -10px;border:2.4px solid var(--accent);border-radius:40% 45% 42% 48%;pointer-events:none;opacity:.85}
429
514
  .aha-markLine{position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--accent);border-radius:3px;pointer-events:none}
430
515
  .aha-markBox{position:absolute;inset:-4px -6px;border:2.4px solid var(--accent);border-radius:6px;pointer-events:none}
431
516
  .aha-pencil{position:absolute;width:26px;height:26px;pointer-events:none;transform:translate(-3px,-22px) rotate(8deg);transition:left .06s linear,top .06s linear;z-index:3;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}
517
+ .aha-pencil[data-glide=false]{transition:none}
432
518
  .aha-pager{position:absolute;right:12px;top:10px;display:flex;gap:6px;z-index:4}
433
519
  .aha-pager button{width:26px;height:26px;border-radius:7px;border:1px solid var(--ink-soft);background:var(--paper);color:var(--ink);cursor:pointer;font-size:12px}
434
520
  .aha-pager button[data-active=true]{background:var(--ink);color:var(--paper)}
435
- .aha-buffering{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:12px;background:var(--aha-surface);border:1px solid var(--aha-border);color:var(--aha-text);font-family:inherit;z-index:4}
521
+ .aha-prep{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 28px));display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:var(--aha-surface);border:1px solid var(--aha-border);box-shadow:0 14px 40px rgba(0,0,0,.18);color:var(--aha-text);z-index:4}
522
+ .aha-prepStages{display:flex;gap:6px;margin:0;padding:0;list-style:none;counter-reset:prep}
523
+ .aha-prepStages li{counter-increment:prep;display:flex;align-items:center;gap:6px;flex:1;padding:4px 10px;border-radius:999px;background:var(--aha-soft);color:var(--aha-muted);font-size:12.5px}
524
+ .aha-prepStages li::before{content:counter(prep);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--aha-border);color:var(--aha-surface);font-size:11px;font-weight:600}
525
+ .aha-prepStages li[data-state=now]{background:color-mix(in srgb,var(--aha-brand) 14%,transparent);color:var(--aha-text);font-weight:600}
526
+ .aha-prepStages li[data-state=now]::before{background:var(--aha-brand)}
527
+ .aha-prepStages li[data-state=done]{color:var(--aha-text)}
528
+ .aha-prepStages li[data-state=done]::before{content:'✓';background:var(--aha-ok)}
529
+ .aha-prepNow{font-size:14px;line-height:22px}
530
+ .aha-prepHint{font-size:15px}
531
+ .aha-prepHint[data-hand=true]{font-family:${mu};font-size:16px}
532
+ .aha-buffering{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 28px);display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:12px;background:var(--aha-surface);border:1px solid var(--aha-border);color:var(--aha-text);font-family:inherit;z-index:4}
436
533
  @container board (max-width:640px){.aha-cols{grid-template-columns:1fr}.aha-boardScroll{padding:16px}}
534
+ /* Board pages laid out off screen for PDF and PNG exports (capture.js). */
535
+ .aha-exportPages{position:fixed;left:-40000px;top:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px;pointer-events:none}
536
+ .aha-board.aha-exportPage{flex:none;width:1200px;min-height:675px;padding:40px 56px 24px;display:flex;flex-direction:column;overflow:visible;box-sizing:border-box}
537
+ .aha-exportPage>.aha-cols{flex:1 0 auto}
538
+ .aha-exportPage .aha-op-math{overflow:visible}
539
+ .aha-exportPage .aha-op-code{white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible}
540
+ .aha-exportFoot{display:flex;justify-content:space-between;gap:24px;margin-top:22px;font-size:13px;line-height:18px;color:var(--ink-soft);opacity:.75}
437
541
 
438
542
  /* ── cheat sheet and print ─────────────────────────────────────────────── */
439
543
  .aha-sheet{column-gap:18px;font-size:var(--sheet-size,12px);line-height:1.45}
@@ -452,16 +556,13 @@ a.aha-btn{text-decoration:none}
452
556
  .aha-flash[data-flipped=true] .aha-flashInner{transform:rotateY(180deg)}
453
557
  .aha-flashFace{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:26px;border:1px solid var(--aha-border);border-radius:16px;background:var(--aha-surface);font-size:18px;line-height:28px}
454
558
  .aha-flashBack{transform:rotateY(180deg)}
455
-
456
- /* ── shorts ────────────────────────────────────────────────────────────── */
457
- .aha-shortStage{position:relative;width:100%;max-width:960px;aspect-ratio:16/9;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--aha-border);display:flex;flex-direction:column}
458
- `,bc=1280,xc={light:{paper:`#fdfcf8`,dot:`rgba(40,50,80,0.07)`,ink:`#23262f`,soft:`#4a4f5c`,head:`#1f4fb8`,marker:`rgba(255,214,79,0.62)`,accent:`#d64545`,note:`#fff7da`,noteLine:`#e9c45a`,pencil:`#c98a2c`},dark:{paper:`#1d2622`,dot:`rgba(255,255,255,0.06)`,ink:`#ecebe4`,soft:`#c9c8bf`,head:`#9cc2ff`,marker:`rgba(214,178,58,0.45)`,accent:`#ff8a80`,note:`#2a3530`,noteLine:`#8f7a2f`,pencil:`#e7c27a`}};function Sc(){return typeof MediaRecorder==`function`&&typeof document.createElement(`canvas`).captureStream==`function`}function Cc(){for(let e of[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`])if(MediaRecorder.isTypeSupported?.(e))return e;return``}let wc=vc;function Tc(e,t=400){return`${t} ${e}px ${wc}`}let Ec=/^[,。、;:!?)」』”’》〉】〕…‥·,.;:!?)\]}%]/u,Dc=/[(「『“‘《〈【〔(\[{]$/u;function Oc(e,t,n){let r=[];for(let i of String(t).split(`
459
- `)){let t=``,a=i.match(/[ -鿿가-힯＀-￯]|[^\s -鿿가-힯＀-￯]+|\s+/gu)??[];for(let i of a){let a=t+i;if(e.measureText(a).width>n&&t.trim()&&!Ec.test(i)){let e=``;Dc.test(t)&&t.length>1&&(e=t.slice(-1),t=t.slice(0,-1)),r.push(t.trimEnd()),t=(e+i).trimStart()}else t=a}r.push(t.trimEnd())}return r}function kc(e,t,n){if(!e)return e;let r=n===`dark`?`[stroke="#2b2b2b"],[stroke="#23262f"]{stroke:${t.ink}}[fill="#2b2b2b"],[fill="#23262f"]{fill:${t.ink}}`:``,i=`<style>svg{color:${t.ink}}text:not([fill]){fill:${t.ink}}${r}</style>`;return e.replace(/<svg\b[^>]*>/iu,e=>e.endsWith(`/>`)?e:`${e}${i}`)}function Ac(e){return new Promise(t=>{if(!e){t(null);return}let n=new Image;n.onload=()=>t(n),n.onerror=()=>t(null),n.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`})}async function jc(e,t,n,r){let i=[],a=[{title:``}],o=0,s=132,c=()=>64+o*600,l=()=>{if(o===0)o=1;else{let e=a[a.length-1];a.push({title:e.title,inherits:e.inherits??a.length===1}),o=0}s=132},u=(e,t)=>{s>132&&s+e>602&&l(),i.push({...t,page:a.length-1,x:c(),y:s,h:e}),s+=e+14};for(let[c,d]of t.entries())for(let[t,f]of d.ops.entries()){let d={op:f,stepIndex:c,opIndex:t};if(f.t===`page`){i.some(e=>e.page===a.length-1)?(a.push({title:f.title??``}),o=0,s=132):a[a.length-1].title=f.title??``;continue}if(f.t===`col`){l();continue}if(f.t===`mark`)continue;if(f.t===`title`){i.some(e=>e.page===a.length-1)?(a.push({title:f.text}),o=0,s=132):a[a.length-1].title=f.text,i.push({...d,page:a.length-1,kind:`title`,text:Ko(f.text)});continue}if(f.t===`h`||f.t===`p`||f.t===`note`||f.t===`math`||f.t===`list`){let t=f.t===`h`?31:f.t===`math`?28:25;e.font=Tc(t,f.t===`h`?700:400);let r=Oc(e,f.t===`math`?f.text||Go(f.tex):f.t===`list`?f.items.map((e,t)=>`${f.ordered?`${t+1}.`:`•`} ${Ko(e)}`).join(`
460
- `):Ko(f.text),552-(f.t===`note`?28:0)),i=Math.round(t*1.42);u(r.length*i+(f.t===`note`?22:0),{...d,kind:`text`,size:t,weight:f.t===`h`?700:400,lines:r,lineHeight:i,color:f.t===`h`?n.head:n.ink,center:f.t===`math`,note:f.t===`note`,marker:f.t===`h`});continue}let p=f.t===`chart`?ve(f):f.t===`svg`?Mo(f.svg):f.t===`anim`&&f.poster?Mo(f.poster):``,m=p?await Ac(kc(p,n,r)):null;if(m){let e=m.naturalHeight/Math.max(1,m.naturalWidth)||.62,t=Math.min(552,m.naturalWidth||552),n=Math.min(300,t*e);u(n+(f.caption?30:0),{...d,kind:`image`,image:m,w:n/e,imageH:n,caption:f.caption??``});continue}if(!(f.t===`svg`||f.t===`chart`)){if(f.t===`table`){let e=[f.head,...f.rows].filter(e=>e.length).slice(0,10);u(e.length*34+6,{...d,kind:`table`,rows:e});continue}if(f.t===`code`){let e=f.code.split(`
461
- `).slice(0,14);u(e.length*24+20,{...d,kind:`code`,lines:e});continue}f.t===`anim`&&u(90,{...d,kind:`text`,size:22,weight:400,lines:[`▶ ${f.caption||`animation`}`],lineHeight:32,color:n.soft,note:!0})}}return{items:i,pages:a}}function Mc(e,t){e.fillStyle=t.paper,e.fillRect(0,0,bc,720),e.fillStyle=t.dot;for(let t=12;t<bc;t+=24)for(let n=12;n<720;n+=24)e.fillRect(t,n,1.6,1.6)}function Nc(e,t,n,r){e.save(),e.translate(t,n),e.rotate(-.6),e.fillStyle=r.pencil,e.fillRect(0,-5,34,10),e.fillStyle=r.accent,e.fillRect(34,-5,7,10),e.beginPath(),e.moveTo(0,-5),e.lineTo(-10,0),e.lineTo(0,5),e.closePath(),e.fillStyle=r.ink,e.fill(),e.restore()}function Pc(e,t,n,r){if(t.kind!==`title`){if(t.kind===`text`){e.font=Tc(t.size,t.weight),e.textBaseline=`top`,t.note&&(e.fillStyle=r.note,e.strokeStyle=r.noteLine,e.lineWidth=2,e.beginPath(),e.roundRect?.(t.x,t.y,552,t.h,12),e.fill(),e.stroke());let i=t.lines.reduce((e,t)=>e+[...t].length,0),a=Math.floor(i*n),o=null;t.lines.forEach((n,i)=>{if(a<=0)return;let s=[...n],c=s.slice(0,a).join(``);a-=s.length;let l=e.measureText(c).width,u=t.center?t.x+(552-e.measureText(n).width)/2:t.x+(t.note?14:0),d=t.y+(t.note?11:0)+i*t.lineHeight;t.marker&&(e.fillStyle=r.marker,e.fillRect(u-2,d+t.size*.62,l+4,t.size*.38)),e.fillStyle=t.color,e.fillText(c,u,d),o={x:u+l,y:d+t.size}}),o&&n<1&&Nc(e,o.x,o.y,r);return}if(t.kind===`image`){e.save(),e.beginPath(),e.rect(t.x,t.y,t.w*n,t.imageH),e.clip(),e.drawImage(t.image,t.x,t.y,t.w,t.imageH),e.restore(),t.caption&&n>=1&&(e.font=Tc(18),e.fillStyle=r.soft,e.textBaseline=`top`,e.fillText(t.caption,t.x,t.y+t.imageH+6)),n<1&&Nc(e,t.x+t.w*n,t.y+t.imageH/2,r);return}if(t.kind===`table`){let i=t.rows.slice(0,Math.max(1,Math.ceil(t.rows.length*n))),a=Math.max(...t.rows.map(e=>e.length)),o=552/Math.max(1,a);e.font=Tc(19),e.textBaseline=`middle`,e.strokeStyle=r.soft,e.lineWidth=1.4,i.forEach((n,i)=>{n.forEach((n,a)=>{let s=t.x+a*o,c=t.y+i*34;e.strokeRect(s,c,o,34),e.fillStyle=i===0?r.head:r.ink;let l=Ko(n);for(;l.length>1&&e.measureText(l).width>o-12;)l=`${l.slice(0,-2)}…`;e.fillText(l,s+6,c+17)})});return}t.kind===`code`&&(e.fillStyle=`rgba(0,0,0,0.06)`,e.fillRect(t.x,t.y,552,t.h),e.font=`17px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace`,e.fillStyle=r.ink,e.textBaseline=`top`,t.lines.slice(0,Math.ceil(t.lines.length*n)).forEach((n,r)=>e.fillText(n.slice(0,60),t.x+10,t.y+10+r*24)))}}function Fc(e,t){if(!t)return;e.font=`500 25px ${wc}`;let n=Oc(e,t,bc-200).slice(-2),r=n.length*34+24;e.fillStyle=`rgba(15,18,24,0.72)`,e.beginPath(),e.roundRect?.(80,720-r-18,bc-160,r,14),e.fill(),e.fillStyle=`#ffffff`,e.textBaseline=`top`,n.forEach((t,n)=>e.fillText(t,(bc-e.measureText(t).width)/2,720-r-6+n*34))}function Ic(e,t,n){e.font=`600 17px ${wc}`,e.fillStyle=n.soft,e.globalAlpha=.65,e.textBaseline=`top`,e.fillText(t,bc-e.measureText(t).width-26,22),e.globalAlpha=1}function Lc(e,t,n){if(!e.say||!e.ops.length||!e.ops.some(e=>Number.isInteger(e.at)))return null;let r=Yo(e.say).map(e=>[...Ko(e)].length),i=r.reduce((e,t)=>e+t,0)||1,a=0,o=r.map(e=>{let t=a/i*n;return a+=e,t}),s=Math.max(0,r.length-1),c=0;return e.ops.map((e,n)=>{let r=Math.max(c,o[Math.min(e.at??0,s)]??0);return c=r+t[n],r})}async function Rc({steps:e,title:t,fetchAudio:n,watermark:r,theme:i=`light`,font:a=`hand`,onProgress:o,signal:s}){if(!Sc())throw Error(`unsupported`);if(wc=a===`standard`?getComputedStyle(document.body).fontFamily||`system-ui,sans-serif`:vc,a!==`standard`&&document.fonts?.load){let t=`${es(e)}${e.map(e=>Ko(e.say)).join(``)}`,n=Promise.all([`Aha Hand Latin`,`Aha Hand`].map(e=>document.fonts.load(`25px '${e}'`,t))).catch(()=>void 0);await Promise.race([n,new Promise(e=>{setTimeout(e,8e3)})])}let c=xc[i]??xc.light,l=document.createElement(`canvas`);l.width=bc,l.height=720;let u=l.getContext(`2d`),{items:d,pages:f}=await jc(u,e,c,i),p=null,m=[];if(n){p=new AudioContext;for(let[t,r]of e.entries()){if(s?.throwIfAborted(),o?.({phase:`audio`,done:t,total:e.length}),!r.say){m.push(null);continue}try{let e=await n(Ko(r.say)),t=e.blob?await e.blob.arrayBuffer():Uint8Array.from(atob(e.base64),e=>e.charCodeAt(0)).buffer;m.push(await p.decodeAudioData(t))}catch{m.push(null)}}}let h=[],g=700;for(let[t,n]of e.entries()){let e=m[t]?m[t].duration*1e3:gs(n.say),r=ys(n,{speechMs:e}),i=Lc(n,r.writeMs,e),a=i?Math.max(r.durationMs,i.at(-1)+r.writeMs.at(-1)+350):r.durationMs;h.push({start:g,end:g+a,writes:r.writeMs,starts:i}),g+=a}let _=g+1500,v=t=>{let n=h.findIndex(e=>t<e.end);if(n<0)return{index:e.length,op:0,progress:1};let r=h[n],i=Math.max(0,t-r.start);if(r.starts){for(let e=0;e<r.writes.length;e+=1){let t=r.starts[e];if(i<t)return{index:n,op:e,progress:0};if(i<t+r.writes[e])return{index:n,op:e,progress:(i-t)/Math.max(1,r.writes[e])}}return{index:n,op:r.writes.length,progress:1}}let a=0;for(let e=0;e<r.writes.length;e+=1){if(i<a+r.writes[e])return{index:n,op:e,progress:(i-a)/Math.max(1,r.writes[e])};a+=r.writes[e]}return{index:n,op:r.writes.length,progress:1}},y=n=>{let i=v(n),a=e=>e.stepIndex<i.index?1:e.stepIndex>i.index?0:e.opIndex<i.op?1:e.opIndex>i.op?0:i.progress,o=d.filter(e=>a(e)>0),s=o.length?Math.max(...o.map(e=>e.page)):0;Mc(u,c);let l=f[s]?.title||(s===0||f[s]?.inherits?t:``);if(l){u.font=Tc(40,700),u.textBaseline=`top`;let e=u.measureText(l).width;u.fillStyle=c.marker,u.fillRect(60,74,e+8,18),u.fillStyle=c.head,u.fillText(l,64,52)}for(let e of o)e.page===s&&Pc(u,e,a(e),c);Fc(u,i.index<e.length?Ko(e[i.index].say):``),r&&Ic(u,r,c)};y(0);let b=l.captureStream(30),x=0;if(p){await p.resume();let e=p.createMediaStreamDestination();x=p.currentTime+.4,m.forEach((t,n)=>{if(!t)return;let r=p.createBufferSource();r.buffer=t,r.connect(e),r.start(x+h[n].start/1e3)});for(let t of e.stream.getAudioTracks())b.addTrack(t)}let S=Cc(),C=new MediaRecorder(b,{...S?{mimeType:S}:{},videoBitsPerSecond:4e6}),w=[];C.ondataavailable=e=>{e.data?.size&&w.push(e.data)};let T=new Promise(e=>{C.onstop=e});C.start(1e3);let E=performance.now(),ee=()=>p?(p.currentTime-x)*1e3:performance.now()-E;await new Promise((e,t)=>{let n=()=>{if(s?.aborted){t(s.reason??Error(`cancelled`));return}let r=ee();y(Math.max(0,r)),o?.({phase:`record`,done:Math.min(_,Math.max(0,r)),total:_}),r>=_?e():requestAnimationFrame(n)};requestAnimationFrame(n)}).finally(()=>{C.state!==`inactive`&&C.stop()}),await T;for(let e of b.getTracks())e.stop();return await p?.close().catch(()=>void 0),new Blob(w,{type:S||`video/webm`})}function zc(){let{api:e,t,settings:n,toast:i}=f(),a=_(),[o,s]=(0,r.useState)(null),c=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>c.current?.abort(),[]);async function l({steps:r,title:l}){if(!r?.length||o)return;if(!Sc()){i(t(`exportUnsupported`));return}let d=new AbortController;c.current=d,s({percent:0});try{let i=await Rc({steps:r,title:l,theme:n.boardTheme===`dark`||n.boardTheme!==`light`&&a?`dark`:`light`,font:n.boardFont===`standard`?`standard`:`hand`,watermark:`${t(`appName`)} · ${t(`appTagline`)}`,fetchAudio:n.voiceEngine===`cloud`?t=>te(e,t):null,signal:d.signal,onProgress:e=>s({percent:Math.round(e.done/Math.max(1,e.total)*100),phase:e.phase})});u(`${String(l||`aha`).replace(/[<>:"/\\|?*]/gu,` `).slice(0,60)}.webm`,i)}catch(e){d.signal.aborted||i(e.message===`unsupported`?t(`exportUnsupported`):t(`errorGeneric`,{message:e.message}))}finally{s(null)}}return{exporting:o,start:l,cancel:()=>c.current?.abort(),cloud:n.voiceEngine===`cloud`}}function Bc({courseId:e,lessonId:t}){let{api:n,t:a,navigate:o}=f(),s=p(()=>n.call(`lesson/get`,{courseId:e,lessonId:t}),[e,t]),[c,u]=(0,r.useState)(null),[d,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(0),y=(0,r.useRef)(null),b=zc();if((0,r.useEffect)(()=>{if(!s.value)return;if(s.value.board&&_===0){u({steps:s.value.board.steps,stream:null});return}let r=!0;return n.call(`lesson/prepare`,{courseId:e,lessonId:t,force:_>0}).then(e=>{r&&u(e.board?{steps:e.board.steps,stream:null}:{steps:[],stream:e.job})}).catch(e=>{r&&m(e)}),()=>{r=!1}},[s.value,_]),(0,r.useEffect)(()=>()=>clearTimeout(y.current),[]),s.loading&&!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{label:a(`loading`)})});if(!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{error:s.error})});let{lesson:x,unit:S,lecture:C,language:w,state:T}=s.value,E=T?.status===`learning`?Math.max(0,T.stepIndex??0):0;return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[d?(0,i.jsx)(Os,{error:d}):null,c?(0,i.jsx)(Xs,{scope:{kind:`lesson`,courseId:e,lessonId:t},title:x.title,crumb:`${S.title} · ${C.title}`,steps:c.steps,stream:c.stream,asides:_===0?s.value.asides??[]:[],objectives:x.objectives??[],language:w,startIndex:c.stream?0:E,onPosition:r=>{clearTimeout(y.current),y.current=setTimeout(()=>{n.call(`lesson/position`,{courseId:e,lessonId:t,stepIndex:r}).catch(()=>void 0)},800)},onEnded:()=>g(!0),onStreamDone:e=>{e?.board?.steps?.length&&u(t=>({...t,steps:e.board.steps}))},header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`course`,{courseId:e}),children:[`← `,a(`backToCourse`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,lessonId:t}),children:a(`practice`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,disabled:!c.steps.length,onClick:()=>l(`${x.title}.md`,bs({title:x.title,steps:c.steps}),`text/markdown`),children:a(`exportBoard`)}),b.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)($,{label:a(`exporting`,{percent:b.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:b.cancel,children:a(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,disabled:!c.steps.length,title:b.cloud?``:a(`exportNeedsCloud`),onClick:()=>b.start({steps:c.steps,title:x.title}),children:a(`exportVideo`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{u(null),g(!1),v(e=>e+1)},children:a(`regenerateLesson`)})]})},`${_}`):(0,i.jsx)($,{label:a(`preparingLesson`)}),h?(0,i.jsx)(Vc,{courseId:e,lessonId:t,onClose:()=>g(!1)}):null]})}function Vc({courseId:e,lessonId:t,onClose:n}){let{api:a,t:o,navigate:s}=f(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(null);async function _(n){l(n),m(!0);try{d(await a.call(`lesson/complete`,{courseId:e,lessonId:t,selfRating:n}))}catch(e){g(e)}finally{m(!1)}}return(0,i.jsxs)(Es,{title:o(`lessonDone`),onClose:n,children:[u?(0,i.jsxs)(`div`,{className:`aha-col`,children:[u.inserted?(0,i.jsx)(`div`,{className:`aha-feedback`,children:o(`remedialAdded`,{title:u.inserted.title})}):null,u.recommendation?.action===`challenge`?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:o(`challengeNote`)}):null,(0,i.jsxs)(`div`,{className:`aha-row`,children:[u.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>s(`lesson`,{courseId:e,lessonId:u.next.id},{replace:!0}),children:[o(`nextLesson`),`: `,u.next.title]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>s(`practice`,{courseId:e,lessonId:t}),children:o(`doPractice`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>s(`course`,{courseId:e},{replace:!0}),children:o(`backToCourse`)})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`p`,{children:o(`selfRate`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:[[1,`rate1`],[2,``],[3,`rate3`],[4,``],[5,`rate5`]].map(([e,t])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":c===e,disabled:p,onClick:()=>_(e),children:[e,t?` · ${o(t)}`:``]},e))}),p?(0,i.jsx)($,{}):null]}),(0,i.jsx)(Os,{error:h})]})}function Hc(){let{api:e,t,navigate:n,toast:a}=f(),o=p(()=>e.call(`material/list`),[]),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,m]=(0,r.useState)(null);async function h(r,i){c(`${r}:${i.id}`),u(null);try{if(r===`course`){let{job:t}=await e.call(`course/start`,{goal:i.brief?.suggestedGoal??``,materialIds:[i.id]});n(`craft`,{jobId:t.id});return}let o={sheet:`studio/sheet`,cards:`studio/cards`,notes:`studio/notes`,quiz:`studio/quiz`}[r],s=await e.run(o,{materialIds:[i.id]});a(t(`saved`)),r===`sheet`?n(`sheet`,{sheetId:s.item.id}):r===`cards`?n(`cards`,{deckId:s.item.id}):r===`notes`?n(`item`,{kind:`notes`,id:s.item.id}):n(`item`,{kind:`quiz`,id:s.item.id})}catch(e){u(e)}finally{c(null)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`materialsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`materialsHint`)})]}),(0,i.jsx)(js,{onAdded:()=>o.reload()}),(0,i.jsx)(Os,{error:l??o.error}),o.loading&&!o.value?(0,i.jsx)($,{label:t(`loading`)}):(o.value??[]).length?(0,i.jsx)(`div`,{className:`aha-col`,children:o.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`span`,{className:`aha-hint`,children:Ns(e,t)})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>m(e),children:t(`delete`)})]}),e.brief?.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief.summary}):null,e.brief?.topics?.length?(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:e.brief.topics.slice(0,10).map(e=>(0,i.jsx)(`span`,{className:`aha-tag`,children:e},e))}):null,e.kind===`image`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`imageNeedsVision`)}):(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[[[`course`,`makeCourse`],[`sheet`,`makeSheet`],[`cards`,`makeCards`],[`notes`,`makeNotes`],[`quiz`,`makeQuiz`]].map(([n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":n===`course`?`primary`:void 0,disabled:!!s,onClick:()=>h(n,e),children:[s===`${n}:${e.id}`?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(r)]},n)),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`item`,{kind:`digest`,materialId:e.id}),children:t(`digest`)})]})]},e.id))}):(0,i.jsx)(ks,{children:t(`noMaterials`)}),d?(0,i.jsx)(Ds,{danger:!0,text:`${t(`delete`)}「${d.title}」?`,onCancel:()=>m(null),onConfirm:async()=>{await e.call(`material/remove`,{id:d.id}),m(null),o.reload()}}):null]})}let Uc=[60,120,180,240,300,420,600,900];function Wc(){let{api:e,t,navigate:n}=f(),a=p(()=>e.call(`plan/get`,{today:mc(new Date)}),[]),o=p(()=>e.call(`review/session`),[]),s=p(()=>e.call(`course/list`),[]),[c,l]=(0,r.useState)(300),[u,d]=(0,r.useState)([1,2,3,4,5,6,0]),[m,h]=(0,r.useState)({title:``,day:``,courseId:``}),[g,_]=(0,r.useState)(null),v=t(`weekdays`).split(`,`);(0,r.useEffect)(()=>{a.value&&(l(a.value.settings.weeklyMinutes),d(a.value.settings.studyDays))},[a.value?.settings]);async function y(){_(null);try{a.setValue(await e.call(`plan/settings`,{weeklyMinutes:c,studyDays:u}))}catch(e){_(e)}}async function b(t){if(t.preventDefault(),!(!m.title.trim()||!m.day))try{a.setValue(await e.call(`plan/add-exam`,{...m,courseId:m.courseId||void 0})),h({title:``,day:``,courseId:``})}catch(e){_(e)}}let x=e=>s.value?.find(t=>t.id===e)?.title??``,S=a.value?.plan.days.slice(0,14)??[];return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`planTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`planHint`)})]}),(0,i.jsx)(`section`,{className:`aha-card`,children:(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:o.value?.items?.length?t(`reviewDue`,{count:o.value.items.length}):t(`nothingToReview`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!o.value?.items?.length,onClick:()=>n(`practice`,{review:!0}),children:t(`startReview`)})]})}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{minWidth:200},children:[t(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:c,onChange:e=>l(Number(e.currentTarget.value)),children:Uc.map(e=>(0,i.jsx)(`option`,{value:e,children:t(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`div`,{className:`aha-label`,children:[t(`studyDays`),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:[1,2,3,4,5,6,0].map(e=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":u.includes(e),onClick:()=>d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),children:v[e]},e))})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:y,children:t(`savePlan`)})]}),(a.value?.plan.warnings??[]).filter(e=>e.kind===`deadline-at-risk`).map(e=>(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`false`,children:t(`deadlineRisk`,{course:x(e.courseId),finish:e.finishDay,deadline:e.deadline,minutes:e.neededWeeklyMinutes})},e.courseId))]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`exams`)}),(a.value?.exams??[]).map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[n.title,` · `,n.day,n.courseId?` · ${x(n.courseId)}`:``]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`plan/remove-exam`,{id:n.id})),children:t(`delete`)})]},n.id)),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:b,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:160},placeholder:t(`examTitle`),value:m.title,onChange:e=>h({...m,title:e.currentTarget.value})}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:140},type:`date`,value:m.day,onChange:e=>h({...m,day:e.currentTarget.value})}),(0,i.jsxs)(`select`,{className:`aha-select`,style:{flex:1,minWidth:140},value:m.courseId,onChange:e=>h({...m,courseId:e.currentTarget.value}),children:[(0,i.jsx)(`option`,{value:``,children:`—`}),(s.value??[]).filter(e=>e.status===`ready`).map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.title},e.id))]}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,children:t(`addExam`)})]})]}),(0,i.jsx)(Os,{error:g??a.error}),a.loading&&!a.value?(0,i.jsx)($,{label:t(`loading`)}):S.length?(0,i.jsx)(`section`,{className:`aha-col`,children:S.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`b`,{children:[e.day===mc(new Date)?t(`today`):e.day,` · `,v[new Date(`${e.day}T12:00:00`).getDay()]]}),(0,i.jsx)(`span`,{className:`aha-hint`,children:t(`minutesUnit`,{minutes:e.minutes})})]}),e.items.map((e,r)=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`lesson`?t(`lessonItem`):e.kind===`review`?t(`reviewItem`):t(`examItem`)}),` `,e.title,e.courseTitle?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.courseTitle]}):null]}),e.kind===`lesson`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`lesson`,{courseId:e.courseId,lessonId:e.refId}),children:t(`learn`)}):null]},`${e.refId}-${r}`))]},e.day))}):(0,i.jsx)(ks,{children:t(`noPlanToday`)})]})}let Gc=[[`goals`,`goals`],[`strengths`,`strengthsLabel`],[`weaknesses`,`weaknesses`]];function Kc(){let{api:e,t,toast:n}=f(),a=p(()=>e.call(`profile/get`),[]),[o,s]=(0,r.useState)(null),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(null);(0,r.useEffect)(()=>{a.value&&s({background:a.value.background,goals:a.value.goals.join(`
559
+ `,gu=1280,_u={light:{paper:`#fdfcf8`,dot:`rgba(40,50,80,0.07)`,ink:`#23262f`,soft:`#4a4f5c`,head:`#1f4fb8`,marker:`rgba(255,214,79,0.62)`,accent:`#d64545`,note:`#fff7da`,noteLine:`#e9c45a`,pencil:`#c98a2c`},dark:{paper:`#1d2622`,dot:`rgba(255,255,255,0.06)`,ink:`#ecebe4`,soft:`#c9c8bf`,head:`#9cc2ff`,marker:`rgba(214,178,58,0.45)`,accent:`#ff8a80`,note:`#2a3530`,noteLine:`#8f7a2f`,pencil:`#e7c27a`}};function vu(){return typeof MediaRecorder==`function`&&typeof document.createElement(`canvas`).captureStream==`function`}function yu(){for(let e of[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`])if(MediaRecorder.isTypeSupported?.(e))return e;return``}let bu=mu;function xu(e,t=400){return`${t} ${e}px ${bu}`}let Su=/^[,。、;:!?)」』”’》〉】〕…‥·,.;:!?)\]}%]/u,Cu=/[(「『“‘《〈【〔(\[{]$/u;function wu(e,t,n){let r=[];for(let i of String(t).split(`
560
+ `)){let t=``,a=i.match(/[ -鿿가-힯＀-￯]|[^\s -鿿가-힯＀-￯]+|\s+/gu)??[];for(let i of a){let a=t+i;if(e.measureText(a).width>n&&t.trim()&&!Su.test(i)){let e=``;Cu.test(t)&&t.length>1&&(e=t.slice(-1),t=t.slice(0,-1)),r.push(t.trimEnd()),t=(e+i).trimStart()}else t=a}r.push(t.trimEnd())}return r}function Tu(e,t,n){if(!e)return e;let r=n===`dark`?`[stroke="#2b2b2b"],[stroke="#23262f"]{stroke:${t.ink}}[fill="#2b2b2b"],[fill="#23262f"]{fill:${t.ink}}`:``,i=`<style>svg{color:${t.ink}}text:not([fill]){fill:${t.ink}}${r}</style>`;return e.replace(/<svg\b[^>]*>/iu,e=>e.endsWith(`/>`)?e:`${e}${i}`)}function Eu(e){return new Promise(t=>{if(!e){t(null);return}let n=new Image;n.onload=()=>t(n),n.onerror=()=>t(null),n.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`})}async function Du(e,t,n,r){let i=[],a=[{title:``}],o=0,s=132,c=()=>64+o*600,l=()=>{if(o===0)o=1;else{let e=a[a.length-1];a.push({title:e.title,inherits:e.inherits??a.length===1}),o=0}s=132},u=(e,t)=>{s>132&&s+e>602&&l(),i.push({...t,page:a.length-1,x:c(),y:s,h:e}),s+=e+14};for(let[c,d]of t.entries())for(let[t,f]of d.ops.entries()){let d={op:f,stepIndex:c,opIndex:t};if(f.t===`page`){i.some(e=>e.page===a.length-1)?(a.push({title:f.title??``}),o=0,s=132):a[a.length-1].title=f.title??``;continue}if(f.t===`col`){l();continue}if(f.t===`mark`)continue;if(f.t===`title`){i.some(e=>e.page===a.length-1)?(a.push({title:f.text}),o=0,s=132):a[a.length-1].title=f.text,i.push({...d,page:a.length-1,kind:`title`,text:As(f.text)});continue}if(f.t===`h`||f.t===`p`||f.t===`note`||f.t===`math`||f.t===`list`){let t=f.t===`h`?31:f.t===`math`?28:25;e.font=xu(t,f.t===`h`?700:400);let r=wu(e,f.t===`math`?f.text||ks(f.tex):f.t===`list`?f.items.map((e,t)=>`${f.ordered?`${t+1}.`:`•`} ${As(e)}`).join(`
561
+ `):As(f.text),552-(f.t===`note`?28:0)),i=Math.round(t*1.42);u(r.length*i+(f.t===`note`?22:0),{...d,kind:`text`,size:t,weight:f.t===`h`?700:400,lines:r,lineHeight:i,color:f.t===`h`?n.head:n.ink,center:f.t===`math`,note:f.t===`note`,marker:f.t===`h`});continue}let p=f.t===`chart`?Ae(f):f.t===`svg`?Wo(f.svg):f.t===`anim`&&f.poster?Wo(f.poster):``,m=p?await Eu(Tu(p,n,r)):null;if(m){let e=m.naturalHeight/Math.max(1,m.naturalWidth)||.62,t=Math.min(552,m.naturalWidth||552),n=Math.min(300,t*e);u(n+(f.caption?30:0),{...d,kind:`image`,image:m,w:n/e,imageH:n,caption:f.caption??``});continue}if(!(f.t===`svg`||f.t===`chart`)){if(f.t===`table`){let e=[f.head,...f.rows].filter(e=>e.length).slice(0,10);u(e.length*34+6,{...d,kind:`table`,rows:e});continue}if(f.t===`code`){let e=f.code.split(`
562
+ `).slice(0,14);u(e.length*24+20,{...d,kind:`code`,lines:e});continue}f.t===`anim`&&u(90,{...d,kind:`text`,size:22,weight:400,lines:[`▶ ${f.caption||`animation`}`],lineHeight:32,color:n.soft,note:!0})}}return{items:i,pages:a}}function Ou(e,t){e.fillStyle=t.paper,e.fillRect(0,0,gu,720),e.fillStyle=t.dot;for(let t=12;t<gu;t+=24)for(let n=12;n<720;n+=24)e.fillRect(t,n,1.6,1.6)}function ku(e,t,n,r){e.save(),e.translate(t,n),e.rotate(-.6),e.fillStyle=r.pencil,e.fillRect(0,-5,34,10),e.fillStyle=r.accent,e.fillRect(34,-5,7,10),e.beginPath(),e.moveTo(0,-5),e.lineTo(-10,0),e.lineTo(0,5),e.closePath(),e.fillStyle=r.ink,e.fill(),e.restore()}function Au(e,t,n,r){if(t.kind!==`title`){if(t.kind===`text`){e.font=xu(t.size,t.weight),e.textBaseline=`top`,t.note&&(e.fillStyle=r.note,e.strokeStyle=r.noteLine,e.lineWidth=2,e.beginPath(),e.roundRect?.(t.x,t.y,552,t.h,12),e.fill(),e.stroke());let i=t.lines.reduce((e,t)=>e+[...t].length,0),a=Math.floor(i*n),o=null;t.lines.forEach((n,i)=>{if(a<=0)return;let s=[...n],c=s.slice(0,a).join(``);a-=s.length;let l=e.measureText(c).width,u=t.center?t.x+(552-e.measureText(n).width)/2:t.x+(t.note?14:0),d=t.y+(t.note?11:0)+i*t.lineHeight;t.marker&&(e.fillStyle=r.marker,e.fillRect(u-2,d+t.size*.62,l+4,t.size*.38)),e.fillStyle=t.color,e.fillText(c,u,d),o={x:u+l,y:d+t.size}}),o&&n<1&&ku(e,o.x,o.y,r);return}if(t.kind===`image`){e.save(),e.beginPath(),e.rect(t.x,t.y,t.w*n,t.imageH),e.clip(),e.drawImage(t.image,t.x,t.y,t.w,t.imageH),e.restore(),t.caption&&n>=1&&(e.font=xu(18),e.fillStyle=r.soft,e.textBaseline=`top`,e.fillText(t.caption,t.x,t.y+t.imageH+6)),n<1&&ku(e,t.x+t.w*n,t.y+t.imageH/2,r);return}if(t.kind===`table`){let i=t.rows.slice(0,Math.max(1,Math.ceil(t.rows.length*n))),a=Math.max(...t.rows.map(e=>e.length)),o=552/Math.max(1,a);e.font=xu(19),e.textBaseline=`middle`,e.strokeStyle=r.soft,e.lineWidth=1.4,i.forEach((n,i)=>{n.forEach((n,a)=>{let s=t.x+a*o,c=t.y+i*34;e.strokeRect(s,c,o,34),e.fillStyle=i===0?r.head:r.ink;let l=As(n);for(;l.length>1&&e.measureText(l).width>o-12;)l=`${l.slice(0,-2)}…`;e.fillText(l,s+6,c+17)})});return}t.kind===`code`&&(e.fillStyle=`rgba(0,0,0,0.06)`,e.fillRect(t.x,t.y,552,t.h),e.font=`17px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace`,e.fillStyle=r.ink,e.textBaseline=`top`,t.lines.slice(0,Math.ceil(t.lines.length*n)).forEach((n,r)=>e.fillText(n.slice(0,60),t.x+10,t.y+10+r*24)))}}function ju(e,t){if(!t)return;e.font=`500 25px ${bu}`;let n=wu(e,t,gu-200).slice(-2),r=n.length*34+24;e.fillStyle=`rgba(15,18,24,0.72)`,e.beginPath(),e.roundRect?.(80,720-r-18,gu-160,r,14),e.fill(),e.fillStyle=`#ffffff`,e.textBaseline=`top`,n.forEach((t,n)=>e.fillText(t,(gu-e.measureText(t).width)/2,720-r-6+n*34))}function Mu(e,t,n){e.font=`600 17px ${bu}`,e.fillStyle=n.soft,e.globalAlpha=.65,e.textBaseline=`top`,e.fillText(t,gu-e.measureText(t).width-26,22),e.globalAlpha=1}function Nu(e,t,n){if(!e.say||!e.ops.length||!e.ops.some(e=>Number.isInteger(e.at)))return null;let r=Ns(e.say).map(e=>[...As(e)].length),i=r.reduce((e,t)=>e+t,0)||1,a=0,o=r.map(e=>{let t=a/i*n;return a+=e,t}),s=Math.max(0,r.length-1),c=0;return e.ops.map((e,n)=>{let r=Math.max(c,o[Math.min(e.at??0,s)]??0);return c=r+t[n],r})}async function Pu({steps:e,title:t,fetchAudio:n,watermark:r,theme:i=`light`,font:a=`hand`,onProgress:o,signal:s}){if(!vu())throw Error(`unsupported`);if(bu=a===`standard`?getComputedStyle(document.body).fontFamily||`system-ui,sans-serif`:mu,a!==`standard`&&document.fonts?.load){let t=`${Rs(e)}${e.map(e=>As(e.say)).join(``)}`,n=Promise.all([`Aha Hand Latin`,`Aha Hand`].map(e=>document.fonts.load(`25px '${e}'`,t))).catch(()=>void 0);await Promise.race([n,new Promise(e=>{setTimeout(e,8e3)})])}let c=_u[i]??_u.light,l=document.createElement(`canvas`);l.width=gu,l.height=720;let u=l.getContext(`2d`),{items:d,pages:f}=await Du(u,e,c,i),p=null,m=[];if(n){p=new AudioContext;for(let[t,r]of e.entries()){if(s?.throwIfAborted(),o?.({phase:`audio`,done:t,total:e.length}),!r.say){m.push(null);continue}try{let e=await n(As(r.say)),t=e.blob?await e.blob.arrayBuffer():Uint8Array.from(atob(e.base64),e=>e.charCodeAt(0)).buffer;m.push(await p.decodeAudioData(t))}catch{m.push(null)}}}let h=[],g=700;for(let[t,n]of e.entries()){let e=m[t]?m[t].duration*1e3:lc(n.say),r=fc(n,{speechMs:e}),i=Nu(n,r.writeMs,e),a=i?Math.max(r.durationMs,i.at(-1)+r.writeMs.at(-1)+350):r.durationMs;h.push({start:g,end:g+a,writes:r.writeMs,starts:i}),g+=a}let _=g+1500,v=t=>{let n=h.findIndex(e=>t<e.end);if(n<0)return{index:e.length,op:0,progress:1};let r=h[n],i=Math.max(0,t-r.start);if(r.starts){for(let e=0;e<r.writes.length;e+=1){let t=r.starts[e];if(i<t)return{index:n,op:e,progress:0};if(i<t+r.writes[e])return{index:n,op:e,progress:(i-t)/Math.max(1,r.writes[e])}}return{index:n,op:r.writes.length,progress:1}}let a=0;for(let e=0;e<r.writes.length;e+=1){if(i<a+r.writes[e])return{index:n,op:e,progress:(i-a)/Math.max(1,r.writes[e])};a+=r.writes[e]}return{index:n,op:r.writes.length,progress:1}},y=n=>{let i=v(n),a=e=>e.stepIndex<i.index?1:e.stepIndex>i.index?0:e.opIndex<i.op?1:e.opIndex>i.op?0:i.progress,o=d.filter(e=>a(e)>0),s=o.length?Math.max(...o.map(e=>e.page)):0;Ou(u,c);let l=f[s]?.title||(s===0||f[s]?.inherits?t:``);if(l){u.font=xu(40,700),u.textBaseline=`top`;let e=u.measureText(l).width;u.fillStyle=c.marker,u.fillRect(60,74,e+8,18),u.fillStyle=c.head,u.fillText(l,64,52)}for(let e of o)e.page===s&&Au(u,e,a(e),c);ju(u,i.index<e.length?As(e[i.index].say):``),r&&Mu(u,r,c)};y(0);let b=l.captureStream(30),x=0;if(p){await p.resume();let e=p.createMediaStreamDestination();x=p.currentTime+.4,m.forEach((t,n)=>{if(!t)return;let r=p.createBufferSource();r.buffer=t,r.connect(e),r.start(x+h[n].start/1e3)});for(let t of e.stream.getAudioTracks())b.addTrack(t)}let S=yu(),C=new MediaRecorder(b,{...S?{mimeType:S}:{},videoBitsPerSecond:4e6}),w=[];C.ondataavailable=e=>{e.data?.size&&w.push(e.data)};let T=new Promise(e=>{C.onstop=e});C.start(1e3);let E=performance.now(),D=()=>p?(p.currentTime-x)*1e3:performance.now()-E;await new Promise((e,t)=>{let n=()=>{if(s?.aborted){t(s.reason??Error(`cancelled`));return}let r=D();y(Math.max(0,r)),o?.({phase:`record`,done:Math.min(_,Math.max(0,r)),total:_}),r>=_?e():requestAnimationFrame(n)};requestAnimationFrame(n)}).finally(()=>{C.state!==`inactive`&&C.stop()}),await T;for(let e of b.getTracks())e.stop();return await p?.close().catch(()=>void 0),new Blob(w,{type:S||`video/webm`})}function Fu(){let{api:e,t,settings:n,toast:i}=v(),a=w(),[o,s]=(0,r.useState)(null),c=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>c.current?.abort(),[]);async function l({steps:r,title:l}){if(!r?.length||o)return;if(!vu()){i(t(`exportUnsupported`));return}let u=new AbortController;c.current=u,s({percent:0});try{let i=await Pu({steps:r,title:l,theme:n.boardTheme===`dark`||n.boardTheme!==`light`&&a?`dark`:`light`,font:n.boardFont===`standard`?`standard`:`hand`,watermark:`${t(`appName`)} · ${t(`appTagline`)}`,fetchAudio:n.voiceEngine===`cloud`?t=>le(e,t):null,signal:u.signal,onProgress:e=>s({percent:Math.round(e.done/Math.max(1,e.total)*100),phase:e.phase})});g(`${m(l)}.webm`,i)}catch(e){u.signal.aborted||i(e.message===`unsupported`?t(`exportUnsupported`):e?.code?Sc(t,e):t(`exportFailed`))}finally{s(null)}}return{exporting:o,start:l,cancel:()=>c.current?.abort(),cloud:n.voiceEngine===`cloud`}}function Iu({courseId:e,lessonId:t}){let{api:n,t:a,navigate:o}=v(),s=y(()=>n.call(`lesson/get`,{courseId:e,lessonId:t}),[e,t]),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),[f,p]=(0,r.useState)(!1),[m,h]=(0,r.useState)(0),g=(0,r.useRef)(null),_=Fu();if((0,r.useEffect)(()=>{if(!s.value)return;if(s.value.board&&m===0){l({steps:s.value.board.steps,stream:null});return}let r=!0;return n.call(`lesson/prepare`,{courseId:e,lessonId:t,force:m>0}).then(e=>{r&&l(e.board?{steps:e.board.steps,stream:null}:{steps:[],stream:e.job})}).catch(e=>{r&&d(e)}),()=>{r=!1}},[s.value,m]),(0,r.useEffect)(()=>()=>clearTimeout(g.current),[]),s.loading&&!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(_c,{label:a(`loading`)})});if(!s.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:s.error})});let{lesson:b,unit:x,lecture:S,language:C,state:w}=s.value,T=w?.status===`learning`?Math.max(0,w.stepIndex??0):0;return(0,i.jsxs)(`div`,{className:`aha-page`,"data-wide":`true`,children:[u?(0,i.jsx)($,{error:u}):null,c?(0,i.jsx)(Qc,{scope:{kind:`lesson`,courseId:e,lessonId:t},title:b.title,crumb:`${x.title} · ${S.title}`,steps:c.steps,stream:c.stream,asides:m===0?s.value.asides??[]:[],objectives:b.objectives??[],language:C,startIndex:c.stream?0:T,onPosition:r=>{clearTimeout(g.current),g.current=setTimeout(()=>{n.call(`lesson/position`,{courseId:e,lessonId:t,stepIndex:r}).catch(()=>void 0)},800)},onEnded:()=>p(!0),onStreamDone:e=>{e?.board?.steps?.length&&l(t=>({...t,steps:e.board.steps}))},header:({steps:n})=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`course`,{courseId:e}),children:[`← `,a(`backToCourse`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>o(`practice`,{courseId:e,lessonId:t}),children:a(`practice`)}),(0,i.jsx)(fu,{steps:n,title:b.title}),_.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_c,{label:a(`exporting`,{percent:_.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:_.cancel,children:a(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,disabled:!c.steps.length,title:_.cloud?``:a(`exportNeedsCloud`),onClick:()=>_.start({steps:c.steps,title:b.title}),children:a(`exportVideo`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{l(null),p(!1),h(e=>e+1)},children:a(`regenerateLesson`)})]})},`${m}`):(0,i.jsx)(_c,{label:a(`preparingLesson`)}),f?(0,i.jsx)(Lu,{courseId:e,lessonId:t,onClose:()=>p(!1)}):null]})}function Lu({courseId:e,lessonId:t,onClose:n}){let{api:a,t:o,navigate:s}=v(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),[f,p]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null);async function g(n){l(n),p(!0);try{d(await a.call(`lesson/complete`,{courseId:e,lessonId:t,selfRating:n}))}catch(e){h(e)}finally{p(!1)}}return(0,i.jsxs)(bc,{title:o(`lessonDone`),onClose:n,children:[u?(0,i.jsxs)(`div`,{className:`aha-col`,children:[u.inserted?(0,i.jsx)(`div`,{className:`aha-feedback`,children:o(`remedialAdded`,{title:u.inserted.title})}):null,u.recommendation?.action===`challenge`?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:o(`challengeNote`)}):null,(0,i.jsxs)(`div`,{className:`aha-row`,children:[u.next?(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>s(`lesson`,{courseId:e,lessonId:u.next.id},{replace:!0}),children:[o(`nextLesson`),`: `,u.next.title]}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>s(`practice`,{courseId:e,lessonId:t}),children:o(`doPractice`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>s(`course`,{courseId:e},{replace:!0}),children:o(`backToCourse`)})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`p`,{children:o(`selfRate`)}),(0,i.jsx)(`div`,{className:`aha-row`,children:[[1,`rate1`],[2,``],[3,`rate3`],[4,``],[5,`rate5`]].map(([e,t])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-chip`,"data-active":c===e,disabled:f,onClick:()=>g(e),children:[e,t?` · ${o(t)}`:``]},e))}),f?(0,i.jsx)(_c,{}):null]}),(0,i.jsx)($,{error:m})]})}function Ru(){let{api:e,t,navigate:n,toast:a}=v(),o=y(()=>e.call(`material/list`),[]),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,f]=(0,r.useState)(null);async function p(r,i){c(`${r}:${i.id}`),u(null);try{if(r===`course`){let{job:t}=await e.call(`course/start`,{goal:i.brief?.suggestedGoal??``,materialIds:[i.id]});n(`craft`,{jobId:t.id});return}let o={sheet:`studio/sheet`,cards:`studio/cards`,notes:`studio/notes`,quiz:`studio/quiz`}[r],s=await e.run(o,{materialIds:[i.id]});a(t(`saved`)),r===`sheet`?n(`sheet`,{sheetId:s.item.id}):r===`cards`?n(`cards`,{deckId:s.item.id}):r===`notes`?n(`item`,{kind:`notes`,id:s.item.id}):n(`item`,{kind:`quiz`,id:s.item.id})}catch(e){u(e)}finally{c(null)}}return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`materialsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`materialsHint`)})]}),(0,i.jsx)(Tc,{onAdded:()=>o.reload()}),(0,i.jsx)($,{error:l??o.error}),o.loading&&!o.value?(0,i.jsx)(_c,{label:t(`loading`)}):(o.value??[]).length?(0,i.jsx)(`div`,{className:`aha-col`,children:o.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsx)(`span`,{className:`aha-hint`,children:Dc(e,t)})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>f(e),children:t(`delete`)})]}),e.brief?.summary?(0,i.jsx)(`p`,{className:`aha-hint`,children:e.brief.summary}):null,e.brief?.topics?.length?(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:e.brief.topics.slice(0,10).map(e=>(0,i.jsx)(`span`,{className:`aha-tag`,children:e},e))}):null,e.kind===`image`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`imageNeedsVision`)}):(0,i.jsxs)(`div`,{className:`aha-row`,style:{gap:6},children:[[[`course`,`makeCourse`],[`sheet`,`makeSheet`],[`cards`,`makeCards`],[`notes`,`makeNotes`],[`quiz`,`makeQuiz`]].map(([n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":n===`course`?`primary`:void 0,disabled:!!s,onClick:()=>p(n,e),children:[s===`${n}:${e.id}`?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(r)]},n)),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>n(`item`,{kind:`digest`,materialId:e.id}),children:t(`digest`)})]})]},e.id))}):(0,i.jsx)(Cc,{children:t(`noMaterials`)}),d?(0,i.jsx)(xc,{danger:!0,text:`${t(`delete`)}「${d.title}」?`,onCancel:()=>f(null),onConfirm:async()=>{await e.call(`material/remove`,{id:d.id}),f(null),o.reload()}}):null]})}let zu=[60,120,180,240,300,420,600,900];function Bu(){let{api:e,t,navigate:n}=v(),a=y(()=>e.call(`plan/get`,{today:Al(new Date)}),[]),o=y(()=>e.call(`review/session`),[]),s=y(()=>e.call(`course/list`),[]),[c,l]=(0,r.useState)(300),[u,d]=(0,r.useState)([1,2,3,4,5,6,0]),[f,p]=(0,r.useState)({title:``,day:``,courseId:``}),[m,h]=(0,r.useState)(null),g=t(`weekdays`).split(`,`),_=Al(new Date),[b,x]=(0,r.useState)(_);(0,r.useEffect)(()=>{a.value&&(l(a.value.settings.weeklyMinutes),d(a.value.settings.studyDays))},[a.value?.settings]);async function S(){h(null);try{a.setValue(await e.call(`plan/settings`,{weeklyMinutes:c,studyDays:u}))}catch(e){h(e)}}async function C(t){if(t.preventDefault(),!(!f.title.trim()||!f.day))try{a.setValue(await e.call(`plan/add-exam`,{...f,courseId:f.courseId||void 0})),p({title:``,day:``,courseId:``})}catch(e){h(e)}}async function w(t,n){h(null);try{a.setValue(await kl(e,t,n,_))}catch(e){h(e)}}let T=e=>s.value?.find(t=>t.id===e)?.title??``,E=a.value?.calendar??[],D=E.find(e=>e.day===b)?.items??[];return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`planTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`planHint`)})]}),(0,i.jsx)(`section`,{className:`aha-card`,children:(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:o.value?.items?.length?t(`reviewDue`,{count:o.value.items.length}):t(`nothingToReview`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!o.value?.items?.length,onClick:()=>n(`practice`,{review:!0}),children:t(`startReview`)})]})}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,style:{minWidth:200},children:[t(`weeklyMinutes`),(0,i.jsx)(`select`,{className:`aha-select`,value:c,onChange:e=>l(Number(e.currentTarget.value)),children:zu.map(e=>(0,i.jsx)(`option`,{value:e,children:t(`minutesUnit`,{minutes:e})},e))})]}),(0,i.jsxs)(`div`,{className:`aha-label`,children:[t(`studyDays`),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:4},children:[1,2,3,4,5,6,0].map(e=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":u.includes(e),onClick:()=>d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),children:g[e]},e))})]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:S,children:t(`savePlan`)})]}),(a.value?.plan.warnings??[]).filter(e=>e.kind===`deadline-at-risk`).map(e=>(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`false`,children:t(`deadlineRisk`,{course:T(e.courseId),finish:e.finishDay,deadline:e.deadline,minutes:e.neededWeeklyMinutes})},e.courseId))]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`exams`)}),(a.value?.exams??[]).map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[n.title,` · `,n.day,n.courseId?` · ${T(n.courseId)}`:``]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`plan/remove-exam`,{id:n.id})),children:t(`delete`)})]},n.id)),(0,i.jsxs)(`form`,{className:`aha-row`,onSubmit:C,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:160},placeholder:t(`examTitle`),value:f.title,onChange:e=>p({...f,title:e.currentTarget.value})}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:140},type:`date`,value:f.day,onChange:e=>p({...f,day:e.currentTarget.value})}),(0,i.jsxs)(`select`,{className:`aha-select`,style:{flex:1,minWidth:140},value:f.courseId,onChange:e=>p({...f,courseId:e.currentTarget.value}),children:[(0,i.jsx)(`option`,{value:``,children:`—`}),(s.value??[]).filter(e=>e.status===`ready`).map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.title},e.id))]}),(0,i.jsx)(`button`,{type:`submit`,className:`aha-btn`,children:t(`addExam`)})]})]}),(0,i.jsx)($,{error:m??a.error}),a.loading&&!a.value?(0,i.jsx)(_c,{label:t(`loading`)}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Uu,{days:E,today:_,selected:b,onSelect:x,weekdayNames:g}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`b`,{children:[b===_?`${t(`today`)} · `:``,t(`dayLabel`,{month:jl(b).getMonth()+1,day:jl(b).getDate(),weekday:g[jl(b).getDay()]})]}),D.length?D.map(e=>(0,i.jsx)(Ol,{item:e,day:b,today:_,onToggle:w},`${e.kind}:${e.refId}`)):(0,i.jsx)(`p`,{className:`aha-hint`,children:t(b===_?`noPlanToday`:`dayEmpty`)})]})]})]})}let Vu=e=>String(e).padStart(2,`0`),Hu=(e,t)=>{let n=jl(`${e}-01`);return n.setMonth(n.getMonth()+t),`${n.getFullYear()}-${Vu(n.getMonth()+1)}`};function Uu({days:e,today:t,selected:n,onSelect:a,weekdayNames:o}){let{t:s}=v(),[c,l]=(0,r.useState)(t.slice(0,7)),u=(0,r.useMemo)(()=>new Map(e.map(e=>[e.day,e.items])),[e]),d=jl(`${c}-01`),f=new Date(d.getFullYear(),d.getMonth()+1,0).getDate(),p=[...Array((d.getDay()+6)%7).fill(null),...Array.from({length:f},(e,t)=>`${c}-${Vu(t+1)}`)];return(0,i.jsxs)(`section`,{className:`aha-card aha-calendar`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>l(e=>Hu(e,-1)),"aria-label":s(`prevMonth`),children:`‹`}),(0,i.jsx)(`b`,{children:s(`monthLabel`,{year:d.getFullYear(),month:d.getMonth()+1})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>l(e=>Hu(e,1)),"aria-label":s(`nextMonth`),children:`›`})]}),(0,i.jsxs)(`div`,{className:`aha-calGrid`,children:[[1,2,3,4,5,6,0].map(e=>(0,i.jsx)(`span`,{className:`aha-calHead`,children:o[e]},e)),p.map((e,r)=>{if(!e)return(0,i.jsx)(`span`,{},`gap${r}`);let o=u.get(e)??[],s=o.length>0&&o.every(e=>e.kind===`exam`||e.checked);return(0,i.jsxs)(`button`,{type:`button`,className:`aha-calDay`,"data-today":e===t?`true`:void 0,"data-selected":e===n?`true`:void 0,"data-past":e<t?`true`:void 0,onClick:()=>a(e),children:[(0,i.jsxs)(`span`,{className:`aha-calNum`,children:[Number(e.slice(8)),s?` ✓`:``]}),o.slice(0,3).map(e=>(0,i.jsx)(`span`,{className:`aha-calItem`,"data-kind":e.kind,"data-checked":e.checked?`true`:void 0,children:e.title},`${e.kind}:${e.refId}`)),o.length>3?(0,i.jsxs)(`span`,{className:`aha-calMore`,children:[`+`,o.length-3]}):null]},e)})]})]})}let Wu=[[`goals`,`goals`],[`strengths`,`strengthsLabel`],[`weaknesses`,`weaknesses`]];function Gu(){let{api:e,t,toast:n}=v(),a=y(()=>e.call(`profile/get`),[]),[o,s]=(0,r.useState)(null),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(null);(0,r.useEffect)(()=>{a.value&&s({background:a.value.background,goals:a.value.goals.join(`
462
563
  `),strengths:a.value.strengths.join(`
463
564
  `),weaknesses:a.value.weaknesses.join(`
464
- `),style:a.value.preferences?.style??``})},[a.value]);async function m(){d(null);try{let r=e=>e.split(`
465
- `).map(e=>e.trim()).filter(Boolean);a.setValue(await e.call(`profile/save`,{background:o.background,goals:r(o.goals),strengths:r(o.strengths),weaknesses:r(o.weaknesses),preferences:{...a.value.preferences,style:o.style}})),n(t(`saved`))}catch(e){d(e)}}return o?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`profileTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`profileHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`background`),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o.background,onChange:e=>s({...o,background:e.currentTarget.value})})]}),Gc.map(([e,n])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(n),` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`(`,t(`onePerLine`),`)`]}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o[e],onChange:t=>s({...o,[e]:t.currentTarget.value})})]},e)),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`learningStyle`),(0,i.jsx)(`input`,{className:`aha-input`,value:o.style,onChange:e=>s({...o,style:e.currentTarget.value})})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:m,children:t(`save`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`danger`,onClick:()=>l(!0),children:t(`clearProfile`)})]}),(0,i.jsx)(Os,{error:u})]}),a.value.notes?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`memoryNotes`)}),a.value.notes.map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:n.text}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`profile/remove-note`,{id:n.id})),children:t(`delete`)})]},n.id))]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)}),c?(0,i.jsx)(Ds,{danger:!0,text:t(`clearProfileConfirm`),onCancel:()=>l(!1),onConfirm:async()=>{a.setValue(await e.call(`profile/clear`)),l(!1)}}):null]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{label:t(`loading`)})})}function qc({courseId:e,projectId:t}){let{api:n,t:a,dsh:o,toast:s}=f(),c=p(()=>n.call(`project/get`,{courseId:e,projectId:t}),[e,t]),l=m(),[u,d]=(0,r.useState)(``),[h,g]=(0,r.useState)(!0),[_,v]=(0,r.useState)(null),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(null);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{label:a(`loading`)})});if(!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{error:c.error})});let{project:C,submissions:w}=c.value,T=_?.path??c.value.workspace;async function E(){b(!0),S(null);try{let r=await n.call(`project/open`,{courseId:e,projectId:t});v(r);let i=await o.openWorkspace(r.path,r.prompt).catch(()=>!1);s(i?a(`workspaceSession`):a(`workspaceReady`,{path:r.path}))}catch(e){S(e)}finally{b(!1)}}async function ee(){try{await l.run(`project/submit`,{courseId:e,projectId:t,notes:u,includeWorkspace:h}),d(``),c.reload()}catch{}}return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:C.title}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`projectBrief`)}),(0,i.jsx)(Hs,{text:C.brief})]}),C.milestones?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`milestones`)}),(0,i.jsx)(`ol`,{style:{margin:0,paddingLeft:20},children:C.milestones.map(e=>(0,i.jsxs)(`li`,{children:[(0,i.jsx)(`b`,{children:e.title}),e.detail?(0,i.jsx)(`div`,{className:`aha-hint`,children:e.detail}):null]},e.id))})]}):null,C.rubric?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`rubric`)}),C.rubric.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[e.criterion,e.detail?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.detail]}):null]}),(0,i.jsx)(`span`,{className:`aha-tag`,children:e.points})]},e.id))]}):null,(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:y,onClick:E,children:[(0,i.jsx)(re,{name:`folder`,size:15}),a(y?`openingWorkspace`:`openWorkspace`)]}),T?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`code`,{className:`aha-hint`,style:{overflowWrap:`anywhere`},children:T}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>{Fs(T),s(a(`copied`))},children:a(`copyPath`)})]}):null]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:a(`workspaceManual`)}),(0,i.jsx)(Os,{error:x})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`submitProject`)}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:u,placeholder:a(`submitNotes`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:h,onChange:e=>g(e.currentTarget.checked)}),a(`includeFiles`)]}),l.running?(0,i.jsx)(Ts,{progress:l.progress,label:a(`reviewing`),onCancel:l.cancel}):(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!u.trim()&&!h,onClick:ee,children:a(`submitProject`)})}),(0,i.jsx)(Os,{error:l.error})]}),w.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:a(`submissions`)}),[...w].reverse().map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:a(`reviewTotal`,{total:e.review.total,max:e.review.max})}),(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.at).toLocaleString()})]}),e.review.summary?(0,i.jsx)(Hs,{text:e.review.summary,compact:!0}):null,e.review.scores.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,style:{alignItems:`flex-start`},children:[(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`b`,{children:e.criterion}),(0,i.jsx)(`div`,{className:`aha-hint`,children:e.comment})]}),(0,i.jsxs)(`span`,{className:`aha-tag`,children:[e.points,`/`,e.max]})]},e.criterionId)),e.review.strengths?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`strengths`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.strengths.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null,e.review.nextSteps?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`nextSteps`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.nextSteps.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]},t))]}):null]})}let Jc=[[`openai`,`providerOpenai`],[`volcengine`,`providerVolcengine`],[`minimax`,`providerMinimax`],[`azure`,`providerAzure`]];function Yc(){let{api:e,t,settings:n,reloadSettings:a,setVoiceId:o,speech:s,language:c}=f(),l=p(()=>e.call(`models/list`),[]),[u,d]=(0,r.useState)(null),[m,h]=(0,r.useState)(()=>x()),[g,_]=(0,r.useState)(``),[v,y]=(0,r.useState)(!1);(0,r.useEffect)(()=>S(h),[]);async function w(t){d(null);try{await e.call(`settings/save`,{settings:t}),await a()}catch(e){d(e)}}let T=(e,t)=>e&&t?`${e}::${t}`:``,E=(e,t)=>{let[n=``,r=``]=t?t.split(`::`):[];w({[`${e}Provider`]:n,[`${e}Model`]:r})},ee=(0,r.useMemo)(()=>(l.value??[]).map(e=>({value:`${e.provider}::${e.model}`,label:`${e.providerName} · ${e.name}${e.images?` 🖼`:``}`})),[l.value]),D=c===`zh`?`zh-CN`:`en`,te=m.filter(e=>e.lang.toLowerCase().startsWith(D.split(`-`)[0])),O=n.ttsProvider??`openai`,ne=(n.fields?.[O]??[]).filter(e=>!e.secret),re=n.tts?.[O]??{};async function ie(){y(!0);try{s.configure({engine:n.voiceEngine??`browser`,voiceId:n.voiceId||void 0,language:D,rate:n.voiceRate??1});let e=await s.speak(t(`testSentence`),{rate:n.voiceRate??1}).done;e?.error&&d(Error(e.error))}finally{y(!1)}}return n.voiceEngine?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`settingsTitle`)}),(0,i.jsx)(Os,{error:u}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`modelsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`modelsHint`)}),[[`teach`,`teachModel`],[`quick`,`quickModel`]].map(([e,r])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(r),(0,i.jsxs)(`select`,{className:`aha-select`,value:T(n[`${e}Provider`],n[`${e}Model`]),onChange:t=>E(e,t.currentTarget.value),children:[(0,i.jsx)(`option`,{value:``,children:t(`followDefault`)}),ee.map(e=>(0,i.jsx)(`option`,{value:e.value,children:e.label},e.value))]})]},e)),l.loading?(0,i.jsx)($,{}):null]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`voiceTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`browser`,`engineBrowser`],[`cloud`,`engineCloud`],[`off`,`engineOff`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":n.voiceEngine===e,onClick:()=>w({voiceEngine:e}),children:t(r)},e))}),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`voiceRate`),` · `,n.voiceRate??1,`×`,(0,i.jsx)(`input`,{type:`range`,min:`0.5`,max:`2`,step:`0.05`,value:n.voiceRate??1,onChange:e=>w({voiceRate:Number(e.currentTarget.value)})})]}),n.voiceEngine===`browser`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`browserVoice`),(0,i.jsxs)(`select`,{className:`aha-select`,value:n.voiceId??``,onChange:e=>o(e.currentTarget.value),children:[(0,i.jsxs)(`option`,{value:``,children:[t(`autoVoice`),C(D)?` (${C(D).name})`:``]}),(te.length?te:m).map(e=>(0,i.jsxs)(`option`,{value:e.id,children:[e.name,` · `,e.lang,e.local?``:` ☁`]},e.id))]})]}),b()&&!te.length?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`noVoiceForLanguage`)}):null]}):null,n.voiceEngine===`cloud`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`cloudProvider`),(0,i.jsx)(`select`,{className:`aha-select`,value:O,onChange:e=>w({ttsProvider:e.currentTarget.value}),children:Jc.map(([e,n])=>(0,i.jsx)(`option`,{value:e,children:t(n)},e))})]}),ne.map(e=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_${e.key}`),(0,i.jsx)(`input`,{className:`aha-input`,defaultValue:re[e.key]??``,onBlur:t=>{let n=t.currentTarget.value.trim();n!==(re[e.key]??``)&&w({tts:{[O]:{[e.key]:n}}})}},`${O}:${e.key}:${re[e.key]??``}`)]},e.key)),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_apiKey`),` · `,(0,i.jsx)(`span`,{className:n.keys?.[O]?`aha-ok`:`aha-hint`,children:n.keys?.[O]?t(`keySaved`):t(`keyMissing`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},type:`password`,autoComplete:`off`,spellCheck:!1,value:g,onChange:e=>_(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:!g.trim(),onClick:async()=>{d(null);try{await e.call(`settings/set-key`,{provider:O,key:g.trim()}),_(``),await a()}catch(e){d(e)}},children:t(`saveKey`)}),n.keys?.[O]?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:async()=>{await e.call(`settings/clear-key`,{provider:O}),await a()},children:t(`clearKey`)}):null]})]})]}):null,(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,disabled:v||n.voiceEngine===`off`,onClick:ie,children:[v?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🔊`,` `,t(`testVoice`)]})})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`boardTheme`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`auto`,`themeAuto`],[`light`,`themeLight`],[`dark`,`themeDark`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":(n.boardTheme??`auto`)===e,onClick:()=>w({boardTheme:e}),children:t(r)},e))}),(0,i.jsx)(`b`,{children:t(`boardFont`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`hand`,`fontHand`],[`standard`,`fontStandard`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":(n.boardFont??`hand`)===e,onClick:()=>w({boardFont:e}),style:e===`hand`?{fontFamily:vc}:void 0,children:t(r)},e))})]}),(0,i.jsx)(Xc,{}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)})]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{label:t(`loading`)})})}function Xc(){let{api:e,t}=f(),[n,a]=(0,r.useState)(null),[o,s]=(0,r.useState)(!0),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(!1),_=t=>{s(!0),l(!1),e.call(`plugin/version`,{force:t}).then(a).catch(()=>l(!0)).finally(()=>s(!1))};(0,r.useEffect)(()=>{_(!1)},[]);async function v(){d(!0),g(!1);try{m(await e.call(`plugin/update`))}catch{g(!0)}finally{d(!1)}}let y=n?.install?.kind;return(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:t(`versionTitle`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:o||u,onClick:()=>_(!0),children:t(o?`versionChecking`:`versionCheck`)})]}),c?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionFailed`)}):null,n?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionCurrent`)}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`v`,n.current]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionLatest`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:n.latest?`v${n.latest}`:`—`})]}),p?null:(0,i.jsx)(`p`,{className:n.latestUnknown?`aha-error`:`aha-hint`,children:n.latestUnknown?t(`versionFailed`):n.updateAvailable?t(`versionAvailable`,{version:n.latest}):t(`versionUpToDate`)}),!p&&n.updateAvailable&&y===`npm`?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:u,onClick:v,children:t(u?`versionUpdating`:`versionUpdate`)})}):null,y===`link`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionLinked`)}):null,n.updateAvailable&&y===`unknown`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionManual`,{version:n.latest})}):null]}):null,h?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionUpdateFailed`)}):null,p?.pending?(0,i.jsx)(`p`,{className:`aha-hint`,children:typeof p.availableAt==`number`?t(`versionPendingUntil`,{version:p.version,time:new Date(p.availableAt).toLocaleString()}):t(`versionPending`,{version:p.version})}):null,p&&!p.pending?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:t(`versionUpdated`,{version:p.version})}):null]})}function Zc({draftTopic:e,draftUrl:t,token:n}){let{api:a,t:o}=f(),s=p(()=>a.call(`items/list`,{kind:`shorts`}),[]),[c,l]=(0,r.useState)(e??``),[u,d]=(0,r.useState)(t??``),[m,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(null),y=zc(),b=h(n);async function x(){if(!c.trim()&&!u.trim())return;v(null);let e=us(`sht`);try{let{job:t}=await a.call(`short/make`,{topic:c,url:u,newId:e});g({id:e,title:c||u,steps:[],stream:t,key:`${e}:new`})}catch(e){v(e)}}(0,r.useEffect)(()=>{b&&(e||t)&&x()},[]);async function S(e){try{let{item:t}=await a.call(`items/get`,{kind:`shorts`,id:e});g({id:t.id,title:t.title,steps:t.board.steps,stream:null,language:t.language,key:`${t.id}:open`})}catch(e){v(e)}}return(0,i.jsx)(`div`,{className:`aha-page`,"data-wide":`true`,children:(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`shortsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`shortsHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:220},value:c,placeholder:o(`topicPlaceholder`),onChange:e=>l(e.currentTarget.value)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:180},value:u,placeholder:o(`urlPlaceholder`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!c.trim()&&!u.trim(),onClick:x,children:o(`makeShort`)})]}),(0,i.jsx)(Os,{error:_}),m?(0,i.jsx)(`div`,{className:`aha-shortStage`,children:(0,i.jsx)(Xs,{scope:{kind:`short`,id:m.id},title:m.title,steps:m.steps,stream:m.stream,language:m.language,recordChecks:!1,onStreamDone:e=>{g(t=>({...t,steps:e?.item?.board?.steps??t.steps,title:e?.item?.title??t.title,stream:null})),s.reload()},header:(0,i.jsx)(i.Fragment,{children:y.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)($,{label:o(`exporting`,{percent:y.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:y.cancel,children:o(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:!m.steps.length,onClick:()=>y.start({steps:m.steps,title:m.title}),children:o(`exportVideo`)})})},m.key)}):null,m&&!y.cloud?(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`exportNeedsCloud`)}):null]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:o(`history`)}),s.loading&&!s.value?(0,i.jsx)($,{}):(s.value??[]).length?s.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{cursor:`pointer`},onClick:()=>S(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`small`,{children:new Date(e.createdAt).toLocaleString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async t=>{t.stopPropagation(),await a.call(`items/remove`,{kind:`shorts`,id:e.id}),s.reload()},children:o(`delete`)})]})]},e.id)):(0,i.jsx)(ks,{children:o(`empty`)})]})]})})}let Qc=[[`sheet`,`makeSheet`,`studio/sheet`],[`cards`,`makeCards`,`studio/cards`],[`notes`,`makeNotes`,`studio/notes`],[`quiz`,`makeQuiz`,`studio/quiz`]];function $c(){let{api:e,t,navigate:n}=f(),a=p(()=>e.call(`items/list`,{kind:`sheets`}),[]),o=p(()=>e.call(`items/list`,{kind:`decks`}),[]),[s,c]=(0,r.useState)([]),[l,u]=(0,r.useState)(!1),[d,m]=(0,r.useState)(``),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(null);async function y(t,n){if(!s.length){u(!0);return}g(t),v(null);try{b((await e.run(n,{materialIds:s,focus:d})).item)}catch(e){v(e)}finally{g(null)}}function b(e){e.kind===`cheatsheet`?n(`sheet`,{sheetId:e.id}):e.kind===`notes`?n(`item`,{kind:`notes`,id:e.id}):e.kind===`cards`?n(`cards`,{deckId:e.id}):n(`item`,{kind:`quiz`,id:e.id})}async function x(t,n){await e.call(`items/remove`,{kind:t,id:n}),t===`sheets`?a.reload():o.reload()}let S=(e,n,r)=>(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),n.loading&&!n.value?(0,i.jsx)($,{}):(n.value??[]).length?(0,i.jsx)(`div`,{className:`aha-grid`,children:n.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>b(e),children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`cheatsheet`?t(`sheets`):e.kind===`notes`?t(`notes`):e.kind===`cards`?t(`decks`):t(`quizzes`)}),(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.updatedAt).toLocaleDateString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t=>{t.stopPropagation(),x(r,e.id)},children:t(`delete`)})]})]},e.id))}):(0,i.jsx)(ks,{children:t(`empty`)})]});return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`studioTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`studioHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>u(!0),children:s.length?t(`attached`,{count:s.length}):t(`pickMaterials`)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:220},value:d,placeholder:t(`focusPlaceholder`),onChange:e=>m(e.currentTarget.value)})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:Qc.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!!h,onClick:()=>y(e,r),children:[h===e?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(n)]},e))}),h?(0,i.jsx)($,{label:t(`generating`)}):null,(0,i.jsx)(Os,{error:_})]}),S(`${t(`sheets`)} · ${t(`notes`)}`,a,`sheets`),S(`${t(`decks`)} · ${t(`quizzes`)}`,o,`decks`),l?(0,i.jsx)(Ms,{selected:s,onChange:c,onClose:()=>u(!1)}):null]})}Object.freeze([`again`,`hard`,`good`,`easy`]),Object.freeze({again:1,hard:3,good:4,easy:5});function el(e,t=Date.now()){return Date.parse(e?.dueAt??0)<=t}function tl(e,t=Date.now()){return(e||[]).filter(e=>el(e,t)).sort((e,t)=>Date.parse(e.dueAt)-Date.parse(t.dueAt))}function nl({courseId:e,lessonId:t,unitId:n,review:a,deckId:s}){let{api:c,t:l,navigate:u}=f(),d=m(),[p,h]=(0,r.useState)(null),[g,_]=(0,r.useState)(null),[v,y]=(0,r.useState)(0),[b,x]=(0,r.useState)([]),[S,C]=(0,r.useState)(0);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(a){let e=await c.call(`review/session`);r&&h({title:l(`review`),items:e.items.map(e=>({...e.item,context:e})),language:void 0});return}if(s){let{item:e}=await c.call(`items/get`,{kind:`decks`,id:s});r&&h({title:e.title,items:e.items??[],language:e.language});return}let i=n?`unit/quiz`:`lesson/practice`,u=n?{courseId:e,unitId:n}:{courseId:e,lessonId:t},f=await c.call(i,u),p=f.job?await d.run(null,null,{existing:f.job}):f,m=(p.quiz??p.sets?.[t]??p.practice)?.items??[];if(!m.length&&!n)throw new o(`bad-output`,`No practice items came back`);let g=t?await c.call(`lesson/get`,{courseId:e,lessonId:t}):null;r&&h({title:g?.lesson.title??l(`unitQuiz`),items:m,language:g?.language})}catch(e){r&&_(e)}})(),()=>{r=!1}},[e,t,n,a,s,S]);let w=p?.items[v],T=r=>{x(e=>[...e,r]);let i=w?.context?.courseId??e;!i||s||c.call(`lesson/record`,{courseId:i,lessonId:w?.context?.lessonId??t,conceptIds:w?.conceptIds??[],evidence:{kind:n?`quiz`:`practice`,score:r.score,confidence:r.confidence,hintsUsed:r.hintsUsed,timeMs:r.timeMs,expectedMs:6e4,errorTag:r.errorTag}}).catch(()=>void 0)};if(g)return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)(Os,{error:g}),(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>{_(null),C(e=>e+1)},children:l(`retry`)})})]});if(!p)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:d.progress,label:l(`makingPractice`),onCancel:d.running?d.cancel:void 0})});if(!p.items.length)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(ks,{children:l(a?`nothingToReview`:`empty`)})});let E=v>=p.items.length,ee=b.filter(e=>e.correct).length;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:760},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:p.title}),(0,i.jsxs)(`span`,{className:`aha-tag`,children:[Math.min(v+1,p.items.length),`/`,p.items.length]})]}),w?.context?(0,i.jsxs)(`p`,{className:`aha-hint`,children:[w.context.courseTitle,` · `,w.context.conceptName]}):null,E?(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:l(`practiceDone`,{correct:ee,total:p.items.length})}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>{y(0),x([])},children:l(`retry`)}),e?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:()=>u(`course`,{courseId:e}),children:l(`backToCourse`)}):null]})]}):(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(Ws,{item:w,language:p.language,onResult:T,onContinue:()=>y(e=>e+1),continueLabel:v+1<p.items.length?l(`continue`):l(`confirm`)},`${v}`)})]})}function rl({courseId:e,deckId:t}){let{api:n,t:a}=f(),o=m(),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,p]=(0,r.useState)(!1),[h,g]=(0,r.useState)(null);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{let i;if(t)i=(await n.call(`items/get`,{kind:`decks`,id:t})).item;else{let t=await n.call(`course/cards`,{courseId:e});i=t.job?(await o.run(null,null,{existing:t.job})).deck:t.deck}if(!r)return;c(i);let a=Date.now(),s=tl(Object.values(i.srs??{}),a).map(e=>e.id),l=i.cards.filter(e=>!i.srs?.[e.id]).map(e=>e.id);g([...s,...l].slice(0,40))}catch(e){r&&u(e)}})(),()=>{r=!1}},[e,t]);let _=(0,r.useMemo)(()=>s?.cards.find(e=>e.id===h?.[0]),[s,h]);async function v(r){if(_){p(!1),g(e=>{let t=e.slice(1);return r===`again`?[...t,_.id]:t});try{t?await n.call(`items/card-review`,{id:t,cardId:_.id,grade:r}):await n.call(`course/card-review`,{courseId:e,cardId:_.id,grade:r})}catch{}}}return l?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{error:l})}):!s||!h?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:o.progress,label:a(`makingCards`),onCancel:o.running?o.cancel:void 0})}):(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:720},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:a(`cardsTitle`)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`cardsDue`,{count:h.length})})]}),_?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`aha-flash`,"data-flipped":d,onClick:()=>p(e=>!e),role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&p(e=>!e)},children:(0,i.jsxs)(`div`,{className:`aha-flashInner`,children:[(0,i.jsx)(`div`,{className:`aha-flashFace`,children:(0,i.jsx)(Hs,{text:_.front})}),(0,i.jsx)(`div`,{className:`aha-flashFace aha-flashBack`,children:(0,i.jsx)(Hs,{text:_.back})})]})}),(0,i.jsxs)(`p`,{className:`aha-hint`,style:{textAlign:`center`},children:[_.tag?`${_.tag} · `:``,a(`flip`)]}),d?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[[`again`,`again`],[`hard`,`hard`],[`good`,`good`],[`easy`,`easy`]].map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":e===`good`?`primary`:void 0,onClick:()=>v(e),children:a(t)},e))}):null]}):(0,i.jsx)(ks,{children:a(`cardsDone`)})]})}function il({courseId:e,unitId:t,sheetId:n}){let{api:a,t:o,toast:s}=f(),c=m(),[l,u]=(0,r.useState)(null),[d,p]=(0,r.useState)(null),[h,g]=(0,r.useState)(null),_=async r=>{p(null);try{let i;if(n)i=(await a.call(`items/get`,{kind:`sheets`,id:n})).item.sheet;else{let n=await a.call(`unit/sheet`,{courseId:e,unitId:t,force:r});i=n.job?(await c.run(null,null,{existing:n.job})).sheet:n.sheet}u(i),g(i.layout)}catch(e){p(e)}};(0,r.useEffect)(()=>{_(!1)},[e,t,n]);let v=r=>{let i={...h,...r};g(i),(n?a.call(`items/sheet-layout`,{id:n,layout:i}):a.call(`unit/sheet-layout`,{courseId:e,unitId:t,layout:i})).catch(e=>s(o(`errorGeneric`,{message:e.message})))};if(d)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{error:d})});if(!l||!h)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:c.progress,label:o(`makingSheet`),onCancel:c.running?c.cancel:void 0})});let y=h.order.map(e=>l.sections.find(t=>t.id===e)).filter(Boolean),b=new Set(h.hidden??[]);return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:1200},children:[(0,i.jsxs)(`div`,{className:`aha-spread aha-noprint`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:l.title||o(`sheetTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`columns`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:h.columns,onChange:e=>v({columns:Number(e.currentTarget.value)}),children:[1,2,3,4].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`fontSize`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:h.fontSize,onChange:e=>v({fontSize:Number(e.currentTarget.value)}),children:[9,10,11,12,13,14,16].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:h.highlight,onChange:e=>v({highlight:e.currentTarget.checked})}),o(`highlight`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>window.print(),children:o(`print`)}),n?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>{u(null),_(!0)},children:o(`regenerate`)})]})]}),(0,i.jsx)(`div`,{className:`aha-row aha-noprint`,style:{gap:6},children:y.map((e,t)=>(0,i.jsxs)(`span`,{className:`aha-chip`,"data-active":!b.has(e.id),children:[(0,i.jsx)(`span`,{onClick:()=>v({hidden:b.has(e.id)?[...b].filter(t=>t!==e.id):[...b,e.id]}),children:e.title}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{let t=[...h.order],n=t.indexOf(e.id);n>0&&([t[n-1],t[n]]=[t[n],t[n-1]]),v({order:t})},disabled:t===0,children:`↑`})]},e.id))}),(0,i.jsx)(`div`,{className:`aha-printable`,children:(0,i.jsx)(`div`,{className:`aha-sheet`,"data-highlight":h.highlight,style:{columnCount:h.columns,"--sheet-size":`${h.fontSize}px`},children:y.filter(e=>!b.has(e.id)).map(e=>(0,i.jsxs)(`div`,{className:`aha-sheetSection`,children:[(0,i.jsx)(`h4`,{children:e.title}),e.items.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-sheetItem`,"data-kind":e.kind,children:[e.title?(0,i.jsxs)(`b`,{children:[e.title,`:`]}):null,e.text?(0,i.jsx)(Hs,{text:e.text,compact:!0}):null,e.tex?(0,i.jsx)(To,{tex:e.tex}):null,e.cite?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.cite.page,e.cite.source?` · ${e.cite.source}`:``,`)`]}):null]},t)),e.related?.length?(0,i.jsxs)(`div`,{className:`aha-cite`,children:[`↔ `,e.related.join(` · `)]}):null]},e.id))})})]})}function al({kind:e,id:t,materialId:n}){let{api:a,t:o}=f(),s=m(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),[p,h]=(0,r.useState)(0);if((0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(e===`digest`){let{material:e}=await a.call(`material/get`,{id:n}),t=p===0?e.digest:null;if(!t){let e=await a.call(`material/digest`,{id:n});t=(await s.run(null,null,{existing:e.job})).material.digest}r&&l({title:e.title,digest:t});return}let{item:i}=await a.call(`items/get`,{kind:`sheets`,id:t});r&&l({title:i.title,markdown:i.markdown})}catch(e){r&&d(e)}})(),()=>{r=!1}},[e,t,n,p]),e===`quiz`)return(0,i.jsx)(nl,{deckId:t});if(u)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Os,{error:u})});if(!c){let e=s.progress;return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Ts,{progress:e,label:e?.label===`reading`?o(`digestReading`,{done:e.done,total:Math.max(1,e.total-1)}):e?.label===`writing`?o(`digestWriting`):o(`generating`),onCancel:s.running?s.cancel:void 0})})}if(c.markdown!==void 0)return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:860},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:c.title}),(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(Hs,{text:c.markdown})})]});let g=c.digest;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[o(`digestTitle`),` · `,c.title]}),g.missing?.length?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{className:`aha-error`,children:o(`digestMissing`,{count:g.missing.length,parts:g.missing.join(`, `)})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>{l(null),h(e=>e+1)},children:o(`redigest`)})]}):null,(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`overview`)}),(0,i.jsx)(Hs,{text:g.overview})]}),g.structure?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`structure`)}),g.structure.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.heading}),/\d/u.test(e.pages??``)?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.pages,`)`]}):null]}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.points.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(Hs,{text:e,compact:!0})},t))})]},t))]}):null,g.keyIdeas?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`keyIdeas`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:g.keyIdeas.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(Hs,{text:e,compact:!0})},t))})]}):null,g.arguments?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`arguments`)}),g.arguments.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.claim}),/\d/u.test(e.page??``)?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.page,`)`]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:e.support})]},t))]}):null,g.glossary?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`glossary`)}),g.glossary.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.term}),`:`,e.meaning]},t))]}):null,g.questions?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`discussion`)}),(0,i.jsx)(`ol`,{style:{margin:0},children:g.questions.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]})}let ol=[[`home`,`navHome`,`home`],[`courses`,`navCourses`,`courses`],[`assist`,`navAssist`,`assist`],[`materials`,`navMaterials`,`library`],[`studio`,`navStudio`,`studio`],[`shorts`,`navShorts`,`shorts`],[`plan`,`navPlan`,`plan`],[`profile`,`navProfile`,`profile`],[`settings`,`navSettings`,`settings`],[`about`,`navAbout`,`heart`]],sl={home:gc,courses:ic,craft:sc,course:nc,lesson:Bc,practice:nl,cards:rl,sheet:il,item:al,project:qc,materials:Hc,studio:$c,assist:Qs,shorts:Zc,plan:Wc,profile:Kc,settings:Yc,about:se},cl={craft:`courses`,course:`courses`,lesson:`courses`,practice:`courses`,project:`courses`,cards:`studio`,sheet:`studio`,item:`studio`};function ll({rpc:e,t,language:n,dsh:a}){let[o,s]=g(`route`,{screen:`home`,params:{}}),c=(0,r.useRef)([]),l=(0,r.useCallback)((e,t={},{replace:n=!1}={})=>{s(r=>(n||(c.current.push(r),c.current.length>40&&c.current.shift()),{screen:e,params:t}))},[s]),u=(0,r.useCallback)(()=>{let e=c.current.pop();s(e??{screen:`home`,params:{}})},[s]);(0,r.useEffect)(()=>{let e=e=>{let t=e.detail;t?.screen&&sl[t.screen]&&l(t.screen,t.params??{})};return window.addEventListener(ee,e),()=>window.removeEventListener(ee,e)},[l]);let{value:f,toastText:p}=D({rpc:e,t,language:n,dsh:a,navigate:l,back:u}),m=sl[o.screen]??gc,h=cl[o.screen]??o.screen;return(0,i.jsx)(d.Provider,{value:f,children:(0,i.jsxs)(`div`,{className:`aha`,children:[(0,i.jsxs)(`nav`,{className:`aha-nav`,children:[(0,i.jsxs)(`div`,{className:`aha-brand`,children:[(0,i.jsx)(re,{name:`logo`,size:24}),(0,i.jsxs)(`span`,{children:[t(`appName`),(0,i.jsx)(`small`,{children:t(`appTagline`)})]})]}),ol.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-navItem`,"data-active":h===e,onClick:()=>{c.current=[],s({screen:e,params:{}})},title:t(n),children:[(0,i.jsx)(re,{name:r,size:17}),(0,i.jsx)(`span`,{children:t(n)})]},e))]}),(0,i.jsx)(`main`,{className:`aha-main`,children:(0,i.jsx)(m,{...o.params},`${o.screen}:${JSON.stringify(o.params)}`)}),p?(0,i.jsx)(`div`,{className:`aha-toast`,role:`status`,children:p}):null]})})}function ul({useTabInfo:e,rpc:t,t:n,language:r,dsh:a}){let{tab:o}=e(),s=o?.navigation?.params??null,{value:c}=D({rpc:t,t:n,language:r,dsh:a});return(0,i.jsx)(d.Provider,{value:c,children:(0,i.jsx)(`div`,{className:`aha aha-tab`,style:{height:`100%`,overflow:`auto`,padding:`10px 12px`},children:s?.threadId?(0,i.jsx)(dl,{threadId:s.threadId,jobId:s.jobId},`${s.threadId}:${o.navigation.revision??0}`):(0,i.jsx)(`p`,{className:`aha-hint`,children:n(`openBoard`)})})})}function dl({threadId:e,jobId:t}){let{api:n,t:a}=f(),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let r=!0;return(async()=>{let i=t?await n.call(`job/get`,{id:t}).catch(()=>null):null;if(i&&i.status===`running`){r&&s({stream:i,steps:[],title:``});return}try{let{item:t}=await n.call(`items/get`,{kind:`assist`,id:e}),i=t.turns.at(-1);r&&s({stream:null,steps:i?.board?.steps??[],title:t.title,language:t.language,turn:t.turns.length-1})}catch(e){r&&s({error:e})}})(),()=>{r=!1}},[e,t]),o?o.error?(0,i.jsx)(`p`,{className:`aha-error`,children:a(`errorGeneric`,{message:o.error.message})}):(0,i.jsx)(Xs,{scope:{kind:`thread`,id:e,turn:o.turn??0},title:o.title||a(`boardSession`),steps:o.steps,stream:o.stream,language:o.language,recordChecks:!1}):(0,i.jsx)($,{label:a(`loading`)})}function fl({rpc:e,t,language:n,dsh:r}){return D({rpc:e,t,language:n,dsh:r}).value}function pl(e){return e?.meta&&typeof e.meta==`object`?e.meta:null}function ml(e){let t=fl(e);return(0,i.jsx)(d.Provider,{value:t,children:(0,i.jsx)(`div`,{className:`aha aha-card`,style:{height:`auto`,display:`flex`,flexDirection:`column`,gap:8,margin:`6px 0`,padding:`10px 12px`},children:(0,i.jsx)(hl,{...e})})})}function hl({toolName:e,phase:t,block:n,dsh:a,inputActions:o,t:s,callId:c}){let l=pl(n),u=n?.args?.text?.(`topic`)??n?.args?.text?.(`goal`)??``,d=t!==`result`,f=t===`result`&&n?.isError;return(0,r.useEffect)(()=>{if(e!==`aha_whiteboard`||t!==`result`||!l?.threadId)return;let r=typeof n?.time!=`number`||Date.now()-n.time<12e4,i=`aha-tutor:opened:${c}`;try{if(!r||window.sessionStorage.getItem(i))return;window.sessionStorage.setItem(i,`1`)}catch{if(!r)return}a.openBoardTab({threadId:l.threadId,jobId:l.jobId})},[e,t,l?.threadId]),f?(0,i.jsx)(`span`,{className:`aha-error`,children:s(`errorGeneric`,{message:(n.content??[]).map(e=>e.text??``).join(` `).slice(0,200)})}):e===`aha_whiteboard`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧑‍🏫`,(0,i.jsx)(`b`,{children:s(`toolBoardTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.threadId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>a.openBoardTab({threadId:l.threadId,jobId:l.jobId}),children:s(`openBoard`)}):null]}):e===`aha_quiz`?d||!l?.items?(0,i.jsxs)(`span`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),s(`makingPractice`)]}):(0,i.jsx)(gl,{items:l.items,topic:l.topic,inputActions:o}):e===`aha_course`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🎓`,(0,i.jsx)(`b`,{children:s(`modeCourse`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.goal??u})]}),l?.courseId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>O(a,`craft`,{courseId:l.courseId}),children:s(`open`)}):null]}):e===`aha_cheatsheet`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`📄`,(0,i.jsx)(`b`,{children:s(`sheetTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.sheetId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>O(a,`sheet`,{sheetId:l.sheetId}),children:s(`open`)}):null]}):(0,i.jsxs)(`span`,{className:`aha-hint`,children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧠`,` `,s(`navProfile`)]})}function gl({items:e,topic:t,inputActions:n}){let{t:a,language:o}=f(),[s,c]=(0,r.useState)(0),[l,u]=(0,r.useState)([]),d=e[s],p=(0,r.useMemo)(()=>l.map((e,t)=>`${t+1}. ${e.correct?`✔`:e.partial?`◐`:`✘`} ${e.answer}`).join(`
466
- `),[l]);if(!d){let r=l.filter(e=>e.correct).length;return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`b`,{children:a(`practiceDone`,{correct:r,total:e.length})}),n?.setDraft?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,"data-size":`sm`,onClick:()=>n.setDraft(`${t??``} ${a(`practiceDone`,{correct:r,total:e.length})}\n${p}`),children:a(`submit`)})}):null]})}return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`checkTitle`),` · `,s+1,`/`,e.length]}),(0,i.jsx)(Ws,{item:d,language:o===`zh`?`zh-CN`:`en`,compact:!0,onResult:e=>u(t=>[...t,{...e,answer:d.prompt.slice(0,60)}]),onContinue:()=>c(e=>e+1)},s)]})}let _l=`ahaTutor`,vl={appName:`开窍`,appTagline:`AI 私人老师`,navHome:`首页`,navCourses:`我的课程`,navMaterials:`资料库`,navStudio:`学习工具`,navAssist:`即时答疑`,navShorts:`讲解短片`,navPlan:`学习计划`,navProfile:`我的画像`,navSettings:`设置`,navAbout:`关于作者`,heroTitle:`今天想把什么弄懂?`,heroHint:`说出你想学的东西,或者丢一本教材进来。我会先了解你,再为你量身做一门课,在白板上一步步讲给你听。`,heroPlaceholder:`比如:三周内搞懂线性代数里的特征值|把这份讲义变成一门课|量子隧穿到底是怎么回事`,modeCourse:`定制一门课`,modeExplain:`讲个概念`,modeSolve:`陪我解题`,modeVisualize:`画出来看看`,modeDigest:`消化长文档`,modeShort:`两分钟短片`,attach:`添加资料`,attached:`已附 {count} 份资料`,start:`开始`,quickStart:`跳过提问,直接出课`,continueLearning:`继续学习`,todayPlan:`今天的安排`,noPlanToday:`今天没有安排,去建一门课或者休息一下吧。`,recentWork:`最近做的`,sampleCourses:`示例课程`,sampleHint:`不花 token 也能先体验白板课堂。`,importSample:`加入我的课程`,coursesTitle:`我的课程`,filterAll:`全部`,filterActive:`学习中`,filterDone:`已学完`,filterArchived:`已归档`,searchCourses:`搜索课程`,noCourses:`还没有课程。回到首页,告诉我你想学什么。`,importPack:`导入课程包`,lessonsCount:`{done}/{total} 讲`,minutesLeft:`还剩约 {minutes} 分钟`,statusIntake:`待回答问题`,statusBlueprint:`待确认蓝图`,statusReady:`可以学习`,nextUp:`下一讲:{title}`,craftQuestionsTitle:`先认识一下你`,craftQuestionsHint:`回答几个问题,课程会按你的情况来设计。拿不准的可以跳过。`,craftOther:`其他(自己写)`,craftPace:`学习节奏`,paceIntensive:`冲刺`,paceIntensiveHint:`约 6 周,抓重点`,paceBalanced:`稳步`,paceBalancedHint:`约 3 个月,基础 + 练习 + 项目`,paceRelaxed:`不设期限`,paceRelaxedHint:`慢慢来,挖得更深`,weeklyMinutes:`每周大约能学多久`,minutesUnit:`{minutes} 分钟`,deadline:`截止日期(可选)`,makeBlueprint:`生成课程蓝图`,thinkingQuestions:`正在想该问你什么…`,designingBlueprint:`正在设计课程蓝图…`,blueprintTitle:`课程蓝图`,blueprintHint:`这是为你设计的课程结构。可以直接改标题、删减或调整顺序,也可以用一句话让我改。`,reviseLabel:`用一句话修改`,revisePlaceholder:`比如:多加一些编程实战;第二单元讲浅一点;去掉第 3 讲`,revise:`修改`,revising:`正在修改…`,addLesson:`加一讲`,addLecture:`加一章`,addUnit:`加一个单元`,moveUp:`上移`,moveDown:`下移`,remove:`删除`,projects:`实战项目`,confirmCourse:`确认,生成整门课`,confirming:`正在准备练习和项目… {done}/{total}`,courseReady:`课程已就绪`,unitN:`第 {n} 单元`,lectureN:`第 {n} 章`,estMinutes:`{minutes} 分钟`,saveEdits:`保存修改`,saved:`已保存`,tabOutline:`大纲`,tabPractice:`练习与测验`,tabSheets:`速查表`,tabCards:`闪卡`,tabProjects:`项目`,tabProgress:`进度`,learn:`学习`,practice:`练习`,review:`复习`,remedial:`巩固`,exportPack:`导出课程包`,exportWithProgress:`连同我的学习进度`,rename:`重命名`,archive:`归档`,unarchive:`取消归档`,deleteCourse:`删除课程`,deleteConfirm:`删除后无法恢复。确定删除「{title}」吗?`,cancel:`取消`,confirm:`确定`,close:`关闭`,back:`返回`,retry:`重试`,generate:`生成`,regenerate:`重新生成`,generating:`正在生成…`,open:`打开`,unitQuiz:`单元测验`,unitSheet:`单元速查表`,mastery:`掌握度`,conceptMastery:`知识点掌握情况`,preparingLesson:`老师正在备课…`,bufferingLesson:`下一部分马上写好…`,play:`播放`,pause:`暂停`,prevStep:`上一步`,nextStep:`下一步`,speed:`语速`,voiceOn:`声音开`,voiceOff:`静音`,captions:`字幕`,raiseHand:`举手提问`,askPlaceholder:`哪里没听懂?直接问`,ask:`提问`,answering:`老师在想怎么回答…`,reexplain:`换个讲法`,styleAnalogy:`打个比方`,styleVisual:`画图讲`,styleExample:`举个例子`,styleSimpler:`讲简单点`,styleDeeper:`讲深一点`,stepOf:`第 {current}/{total} 步`,checkTitle:`小测一下`,confidence:`你有多确定?`,confSure:`很确定`,confUnsure:`有点犹豫`,confGuess:`猜的`,submit:`提交`,correct:`答对了`,incorrect:`不太对`,partial:`部分正确`,continue:`继续`,skip:`跳过`,hint:`提示`,yourAnswer:`你的答案`,grading:`老师在批改…`,lessonDone:`这一讲讲完了`,selfRate:`你觉得自己掌握得怎么样?`,rate1:`没懂`,rate3:`一般`,rate5:`很清楚`,nextLesson:`下一讲`,doPractice:`去做练习`,backToCourse:`回到课程`,remedialAdded:`我给你加了一节巩固课:{title}`,challengeNote:`这部分你掌握得很好,接下来会讲得更深一些。`,replay:`重新讲一遍`,regenerateLesson:`重新备课`,exportBoard:`导出板书`,practiceTitle:`练习`,check:`检查答案`,checked:`已检查`,score:`得分 {score}`,practiceDone:`本组练习完成:答对 {correct}/{total}`,showExplanation:`看解析`,makingPractice:`正在出题…`,cardsTitle:`闪卡`,cardsDue:`待复习 {count} 张`,flip:`点击翻面`,again:`忘了`,hard:`困难`,good:`记得`,easy:`简单`,cardsDone:`这一轮复习完成了!`,makingCards:`正在制作闪卡…`,sheetTitle:`速查表`,columns:`列数`,fontSize:`字号`,highlight:`高亮重点`,print:`打印`,hideSection:`隐藏`,showSection:`显示`,makingSheet:`正在整理速查表…`,projectBrief:`项目说明`,milestones:`里程碑`,rubric:`评分标准`,openWorkspace:`打开项目工作区`,openingWorkspace:`正在准备项目文件夹…`,workspaceReady:`项目文件夹在:{path}`,workspaceSession:`已在 DSH 中打开项目会话`,workspaceManual:`在 DSH 里把这个文件夹添加为工作区,就能让编程 Agent 陪你完成项目。`,copyPath:`复制路径`,submitProject:`提交作品`,submitNotes:`写点说明(做了什么、遇到的问题)`,includeFiles:`同时提交项目文件夹里的文件`,reviewing:`老师在看你的作品…`,reviewTotal:`总分 {total}/{max}`,strengths:`做得好的地方`,nextSteps:`可以改进的地方`,submissions:`历次提交`,materialsTitle:`资料库`,materialsHint:`上传教材、讲义、论文或网页,用来建课、做速查表和闪卡,讲课时也会引用原文页码。`,uploadFiles:`上传文件`,dropHere:`把文件拖到这里(PDF、Word、PPT、Markdown、文本、图片)`,addUrl:`添加网页`,urlPlaceholder:`https://…`,reading:`正在读取…`,pages:`{count} 页`,slides:`{count} 张幻灯片`,makeCourse:`用它建课`,makeSheet:`速查表`,makeCards:`闪卡`,makeNotes:`笔记`,makeQuiz:`测验`,digest:`消化`,digestTitle:`文档消化`,overview:`概要`,structure:`结构`,keyIdeas:`核心观点`,arguments:`论点与论据`,glossary:`术语表`,discussion:`值得思考的问题`,imageNeedsVision:`图片需要支持识图的模型才能读取。`,noMaterials:`资料库是空的。`,studioTitle:`学习工具`,studioHint:`用资料库里的资料一键生成学习材料。`,pickMaterials:`选择资料`,sheets:`速查表`,notes:`笔记`,decks:`闪卡组`,quizzes:`测验`,focusPlaceholder:`重点(可选),比如:期中考试范围第 3–6 章`,assistTitle:`即时答疑`,assistHint:`不用建课,有问题直接问。老师会在白板上讲给你听。`,assistPlaceholder:`想问什么?可以贴题目、概念或附上资料`,followUp:`继续追问`,history:`历史记录`,newThread:`新的问题`,shortsTitle:`讲解短片`,shortsHint:`输入一个主题或贴一个网址,生成一段约两分钟、能分享的白板讲解。`,topicPlaceholder:`比如:为什么天空是蓝色的`,makeShort:`生成短片`,exportVideo:`导出视频`,exporting:`正在录制视频…{percent}%`,exportNeedsCloud:`浏览器语音无法录进视频,导出的视频会带字幕但没有声音。在设置里配置云端语音即可导出有声版。`,exportUnsupported:`当前环境不支持导出视频。`,planTitle:`学习计划`,planHint:`根据你所有在学的课程、每周时间和截止日期自动排课,并留出复习时间。`,studyDays:`学习日`,weekdays:`日,一,二,三,四,五,六`,exams:`考试与截止日期`,addExam:`添加`,examTitle:`名称`,examDay:`日期`,deadlineRisk:`「{course}」按现在的节奏会在 {finish} 学完,晚于截止日期 {deadline}。建议每周提高到约 {minutes} 分钟。`,startReview:`开始复习`,reviewDue:`有 {count} 个知识点该复习了`,nothingToReview:`暂时没有要复习的内容。`,savePlan:`保存`,lessonItem:`学习`,reviewItem:`复习`,examItem:`考试`,today:`今天`,profileTitle:`我的画像`,profileHint:`老师会记住这些信息,让每门课都更贴合你。你可以随时修改或清空。`,background:`背景`,goals:`目标`,strengthsLabel:`擅长`,weaknesses:`薄弱点`,learningStyle:`喜欢的讲解方式`,memoryNotes:`老师的备忘`,clearProfile:`清空画像`,clearProfileConfirm:`清空后老师会忘记你的背景和偏好。确定吗?`,onePerLine:`每行一条`,settingsTitle:`设置`,modelsTitle:`模型`,teachModel:`出课与讲课`,quickModel:`批改与问答`,followDefault:`跟随 DSH 默认模型`,modelsHint:`讲课质量主要取决于「出课与讲课」模型;批改和课堂提问可以用更快的模型。`,voiceTitle:`语音讲解`,engine:`语音来源`,engineBrowser:`系统语音(免费)`,engineCloud:`云端语音`,engineOff:`不朗读`,browserVoice:`系统音色`,autoVoice:`自动选择`,noVoiceForLanguage:`没有找到适合当前语言的系统音色。可以在系统设置里安装中文语音,或改用云端语音。`,cloudProvider:`云端服务`,providerOpenai:`OpenAI 兼容接口`,providerVolcengine:`火山引擎(豆包语音)`,providerMinimax:`MiniMax`,providerAzure:`Azure 语音`,field_baseUrl:`接口地址`,field_model:`模型`,field_voice:`音色`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`区域`,field_apiKey:`密钥`,keySaved:`已保存密钥`,keyMissing:`未保存密钥`,saveKey:`保存密钥`,clearKey:`清除密钥`,testVoice:`试听`,testSentence:`你好,我是你的私人老师。我们一起把难的东西弄懂。`,voiceRate:`默认语速`,boardTheme:`白板外观`,themeAuto:`跟随系统`,themeLight:`白板`,themeDark:`黑板`,versionTitle:`插件版本`,versionCurrent:`当前版本`,versionLatest:`最新版本`,versionCheck:`检查更新`,versionChecking:`正在检查…`,versionFailed:`无法检查最新版本。`,versionUpToDate:`已是最新版本。`,versionAvailable:`发现新版本 v{version}。`,versionLinked:`当前是本地开发安装,请在插件仓库拉取最新代码并重新构建。`,versionManual:`没找到这个插件所在的 profile,请到 DSH 插件页按精确版本安装:dsh-aha-tutor@{version}。`,versionUpdate:`更新插件`,versionUpdating:`正在更新…`,versionUpdateFailed:`更新失败,请稍后重试,或到 DSH 插件页按精确版本手动安装。`,versionPending:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,请稍后再试。`,versionPendingUntil:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,{time} 之后可以更新。`,versionUpdated:`已更新到 v{version}。请完全退出并重新打开 DSH 桌面版,新版本才会生效(只刷新页面不够)。`,privacyNote:`课程、进度和资料都只保存在这台电脑的 DSH 数据目录里。`,aboutTitle:`关于作者`,aboutRole:`「开窍 · AI 私人老师」的作者`,aboutIntro:`开窍免费开源,赞赏全凭心意。如果它帮你弄懂了某个卡了很久的知识点,欢迎扫码支持,让小窍继续长大。`,aboutRepo:`GitHub 仓库`,aboutIssues:`问题反馈`,aboutSupport:`支持作者`,aboutWechat:`微信赞赏`,aboutAlipay:`支付宝`,aboutScan:`用手机扫一扫上面的码`,errorGeneric:`出了点问题:{message}`,loading:`加载中…`,empty:`这里还什么都没有。`,copied:`已复制`,minutes:`分钟`,untitled:`未命名`,delete:`删除`,edit:`编辑`,save:`保存`,all:`全部`,mode:`模式`,boardSession:`白板讲解`,toolBoardTitle:`老师在白板上讲解`,openBoard:`打开白板`,panelLabel:`开窍 · AI 私人老师`,copyCode:`复制`,footnotes:`脚注`,"err_llm-auth":`模型未登录或密钥无效,请在 DSH 设置里检查模型服务。`,"err_llm-quota":`模型额度不足或请求太频繁,稍后再试。`,"err_llm-context":`资料太长,超出了模型的上下文。少选一些资料,或换一个上下文更大的模型。`,"err_llm-unavailable":`所选模型不可用,请在开窍设置里换一个模型。`,"err_llm-timeout":`模型响应超时,请重试。`,"err_bad-output":`模型这次没给出可用的结果,请重试,或在设置里换一个更强的模型。`,lessonGoals:`课堂要点`,transcript:`讲解记录`,showPanel:`讲解记录`,hidePanel:`收起侧栏`,panelTitle:`课堂侧栏`,boardFont:`板书字体`,fontHand:`手写体`,fontStandard:`标准体`,digestMissing:`有 {count} 部分没读成功({parts}),下面的结果不含这些内容。`,redigest:`重新消化`,revisingSoFar:`正在修改…已写好 {count} 节课`,"err_bad-url":`这个网址不能导入:只支持公开网站的 http 或 https 地址,不支持本机、局域网和带账号密码的地址。`,err_network:`网页打不开或加载超时,请检查网址后重试。`,err_http:`网页返回了错误,没能导入。`,blueprintSoFar:`正在设计课程蓝图…已写好 {count} 节课`,reexplainedAs:`换个讲法:{style}`,digestReading:`正在通读全文:已读 {done}/{total} 部分`,digestWriting:`正在汇总全文要点`,keepsRunning:`可以先离开这一页,生成会在后台继续。`,err_cancelled:`已取消。`,courseCreatedInChat:`课程「{title}」已创建,可以在「开窍」里继续。`},yl={appName:`Aha`,appTagline:`your AI tutor`,navHome:`Home`,navCourses:`My courses`,navMaterials:`Library`,navStudio:`Study tools`,navAssist:`Ask anything`,navShorts:`Explainer shorts`,navPlan:`Study plan`,navProfile:`My profile`,navSettings:`Settings`,navAbout:`About the author`,heroTitle:`What do you want to finally understand today?`,heroHint:`Tell me what you want to learn, or drop in a textbook. I will get to know you, build a course around you, and teach it step by step on the whiteboard.`,heroPlaceholder:`e.g. Get eigenvalues in three weeks | Turn these lecture notes into a course | How does quantum tunneling actually work?`,modeCourse:`Build a course`,modeExplain:`Explain a concept`,modeSolve:`Solve with me`,modeVisualize:`Show me visually`,modeDigest:`Digest a long read`,modeShort:`Two-minute short`,attach:`Add material`,attached:`{count} material(s) attached`,start:`Start`,quickStart:`Skip questions, build now`,continueLearning:`Continue learning`,todayPlan:`Today`,noPlanToday:`Nothing planned today. Start a course or take a break.`,recentWork:`Recent`,sampleCourses:`Sample courses`,sampleHint:`Try the whiteboard classroom without spending tokens.`,importSample:`Add to my courses`,coursesTitle:`My courses`,filterAll:`All`,filterActive:`In progress`,filterDone:`Completed`,filterArchived:`Archived`,searchCourses:`Search courses`,noCourses:`No courses yet. Go to Home and tell me what you want to learn.`,importPack:`Import course pack`,lessonsCount:`{done}/{total} lessons`,minutesLeft:`about {minutes} min left`,statusIntake:`Questions pending`,statusBlueprint:`Blueprint to confirm`,statusReady:`Ready`,nextUp:`Next: {title}`,craftQuestionsTitle:`Let me get to know you`,craftQuestionsHint:`A few answers let me shape the course around you. Skip anything you are unsure about.`,craftOther:`Other (write your own)`,craftPace:`Pace`,paceIntensive:`Sprint`,paceIntensiveHint:`~6 weeks, essentials first`,paceBalanced:`Steady`,paceBalancedHint:`~3 months, foundations + practice + project`,paceRelaxed:`No deadline`,paceRelaxedHint:`Take your time, go deeper`,weeklyMinutes:`Time per week`,minutesUnit:`{minutes} min`,deadline:`Deadline (optional)`,makeBlueprint:`Design my course`,thinkingQuestions:`Thinking about what to ask you…`,designingBlueprint:`Designing your course blueprint…`,blueprintTitle:`Course blueprint`,blueprintHint:`Here is the course I designed for you. Edit titles, remove or reorder anything, or tell me what to change.`,reviseLabel:`Change it in one sentence`,revisePlaceholder:`e.g. More hands-on coding; make unit 2 lighter; drop lesson 3`,revise:`Revise`,revising:`Revising…`,addLesson:`Add lesson`,addLecture:`Add chapter`,addUnit:`Add unit`,moveUp:`Move up`,moveDown:`Move down`,remove:`Remove`,projects:`Projects`,confirmCourse:`Confirm and build the course`,confirming:`Preparing practice and projects… {done}/{total}`,courseReady:`Your course is ready`,unitN:`Unit {n}`,lectureN:`Chapter {n}`,estMinutes:`{minutes} min`,saveEdits:`Save changes`,saved:`Saved`,tabOutline:`Outline`,tabPractice:`Practice & quizzes`,tabSheets:`Cheat sheets`,tabCards:`Flashcards`,tabProjects:`Projects`,tabProgress:`Progress`,learn:`Learn`,practice:`Practice`,review:`Review`,remedial:`Revisit`,exportPack:`Export course pack`,exportWithProgress:`Include my progress`,rename:`Rename`,archive:`Archive`,unarchive:`Unarchive`,deleteCourse:`Delete course`,deleteConfirm:`This cannot be undone. Delete "{title}"?`,cancel:`Cancel`,confirm:`Confirm`,close:`Close`,back:`Back`,retry:`Retry`,generate:`Generate`,regenerate:`Regenerate`,generating:`Generating…`,open:`Open`,unitQuiz:`Unit quiz`,unitSheet:`Unit cheat sheet`,mastery:`Mastery`,conceptMastery:`Concept mastery`,preparingLesson:`Your tutor is preparing the lesson…`,bufferingLesson:`Writing the next part…`,play:`Play`,pause:`Pause`,prevStep:`Previous step`,nextStep:`Next step`,speed:`Speed`,voiceOn:`Sound on`,voiceOff:`Muted`,captions:`Captions`,raiseHand:`Raise hand`,askPlaceholder:`What was unclear? Just ask`,ask:`Ask`,answering:`Thinking about your question…`,reexplain:`Explain differently`,styleAnalogy:`With an analogy`,styleVisual:`With a drawing`,styleExample:`With an example`,styleSimpler:`More simply`,styleDeeper:`In more depth`,stepOf:`Step {current}/{total}`,checkTitle:`Quick check`,confidence:`How sure are you?`,confSure:`Sure`,confUnsure:`Not quite`,confGuess:`Guessing`,submit:`Submit`,correct:`Correct`,incorrect:`Not quite`,partial:`Partly right`,continue:`Continue`,skip:`Skip`,hint:`Hint`,yourAnswer:`Your answer`,grading:`Grading…`,lessonDone:`Lesson complete`,selfRate:`How well do you feel you got it?`,rate1:`Lost`,rate3:`Okay`,rate5:`Crystal clear`,nextLesson:`Next lesson`,doPractice:`Practice`,backToCourse:`Back to course`,remedialAdded:`I added a revisit lesson for you: {title}`,challengeNote:`You have this down; the next lessons will go deeper.`,replay:`Replay lesson`,regenerateLesson:`Re-prepare lesson`,exportBoard:`Export board`,practiceTitle:`Practice`,check:`Check`,checked:`Checked`,score:`Score {score}`,practiceDone:`Set complete: {correct}/{total} correct`,showExplanation:`Explanation`,makingPractice:`Writing practice…`,cardsTitle:`Flashcards`,cardsDue:`{count} due`,flip:`Click to flip`,again:`Again`,hard:`Hard`,good:`Good`,easy:`Easy`,cardsDone:`Review round complete!`,makingCards:`Making flashcards…`,sheetTitle:`Cheat sheet`,columns:`Columns`,fontSize:`Font size`,highlight:`Highlight key items`,print:`Print`,hideSection:`Hide`,showSection:`Show`,makingSheet:`Compiling the cheat sheet…`,projectBrief:`Brief`,milestones:`Milestones`,rubric:`Rubric`,openWorkspace:`Open project workspace`,openingWorkspace:`Preparing the project folder…`,workspaceReady:`Project folder: {path}`,workspaceSession:`Opened a project session in DSH`,workspaceManual:`Add this folder as a workspace in DSH and a coding agent can help you build it.`,copyPath:`Copy path`,submitProject:`Submit work`,submitNotes:`Notes (what you built, what was hard)`,includeFiles:`Include the files in the project folder`,reviewing:`Reviewing your work…`,reviewTotal:`Total {total}/{max}`,strengths:`What went well`,nextSteps:`What to improve`,submissions:`Submissions`,materialsTitle:`Library`,materialsHint:`Upload textbooks, notes, papers or web pages to build courses, cheat sheets and flashcards. Lessons cite their pages.`,uploadFiles:`Upload files`,dropHere:`Drop files here (PDF, Word, PowerPoint, Markdown, text, images)`,addUrl:`Add web page`,urlPlaceholder:`https://…`,reading:`Reading…`,pages:`{count} pages`,slides:`{count} slides`,makeCourse:`Build a course`,makeSheet:`Cheat sheet`,makeCards:`Flashcards`,makeNotes:`Notes`,makeQuiz:`Quiz`,digest:`Digest`,digestTitle:`Digest`,overview:`Overview`,structure:`Structure`,keyIdeas:`Key ideas`,arguments:`Claims and evidence`,glossary:`Glossary`,discussion:`Questions worth asking`,imageNeedsVision:`Images need a vision-capable model.`,noMaterials:`Your library is empty.`,studioTitle:`Study tools`,studioHint:`Turn library materials into study aids in one click.`,pickMaterials:`Pick materials`,sheets:`Cheat sheets`,notes:`Notes`,decks:`Flashcard decks`,quizzes:`Quizzes`,focusPlaceholder:`Focus (optional), e.g. midterm scope chapters 3–6`,assistTitle:`Ask anything`,assistHint:`No course needed. Ask, and your tutor explains it on the whiteboard.`,assistPlaceholder:`What do you want to know? Paste a problem, a concept, or attach material`,followUp:`Follow up`,history:`History`,newThread:`New question`,shortsTitle:`Explainer shorts`,shortsHint:`Give a topic or a link and get a shareable two-minute whiteboard explainer.`,topicPlaceholder:`e.g. Why is the sky blue?`,makeShort:`Make short`,exportVideo:`Export video`,exporting:`Recording video… {percent}%`,exportNeedsCloud:`System voices cannot be recorded, so the video will have captions but no sound. Set up a cloud voice in Settings to export with narration.`,exportUnsupported:`Video export is not supported here.`,planTitle:`Study plan`,planHint:`Built from all your active courses, your weekly time and deadlines, with room for reviews.`,studyDays:`Study days`,weekdays:`Sun,Mon,Tue,Wed,Thu,Fri,Sat`,exams:`Exams and deadlines`,addExam:`Add`,examTitle:`Title`,examDay:`Date`,deadlineRisk:`At this pace "{course}" ends on {finish}, after its deadline {deadline}. Try about {minutes} minutes a week.`,startReview:`Start review`,reviewDue:`{count} concept(s) due for review`,nothingToReview:`Nothing to review right now.`,savePlan:`Save`,lessonItem:`Lesson`,reviewItem:`Review`,examItem:`Exam`,today:`Today`,profileTitle:`My profile`,profileHint:`Your tutor remembers this to fit every course to you. Edit or clear it anytime.`,background:`Background`,goals:`Goals`,strengthsLabel:`Strengths`,weaknesses:`Weak spots`,learningStyle:`How I like things explained`,memoryNotes:`Tutor notes`,clearProfile:`Clear profile`,clearProfileConfirm:`Your tutor will forget your background and preferences. Continue?`,onePerLine:`One per line`,settingsTitle:`Settings`,modelsTitle:`Models`,teachModel:`Course design & teaching`,quickModel:`Grading & questions`,followDefault:`Follow the DSH default model`,modelsHint:`Lesson quality depends mostly on the teaching model; grading and in-class questions can use a faster one.`,voiceTitle:`Narration`,engine:`Voice source`,engineBrowser:`System voice (free)`,engineCloud:`Cloud voice`,engineOff:`Silent`,browserVoice:`System voice`,autoVoice:`Automatic`,noVoiceForLanguage:`No system voice found for this language. Install one in your OS settings or use a cloud voice.`,cloudProvider:`Cloud service`,providerOpenai:`OpenAI-compatible API`,providerVolcengine:`Volcengine (Doubao)`,providerMinimax:`MiniMax`,providerAzure:`Azure Speech`,field_baseUrl:`API address`,field_model:`Model`,field_voice:`Voice`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`Region`,field_apiKey:`Key`,keySaved:`Key saved`,keyMissing:`No key saved`,saveKey:`Save key`,clearKey:`Remove key`,testVoice:`Test`,testSentence:`Hi, I am your tutor. Let us make the hard things make sense.`,voiceRate:`Default speed`,boardTheme:`Board look`,themeAuto:`Follow system`,themeLight:`Whiteboard`,themeDark:`Chalkboard`,versionTitle:`Plugin version`,versionCurrent:`Current`,versionLatest:`Latest`,versionCheck:`Check for updates`,versionChecking:`Checking…`,versionFailed:`Could not check the latest version.`,versionUpToDate:`You are on the latest version.`,versionAvailable:`Version v{version} is available.`,versionLinked:`Installed from a local checkout; pull and rebuild the plugin repository to update.`,versionManual:`Could not find the profile that owns this plugin. Install the exact version from the DSH Plugins page: dsh-aha-tutor@{version}.`,versionUpdate:`Update plugin`,versionUpdating:`Updating…`,versionUpdateFailed:`The update failed. Try again later, or install the exact version from the DSH Plugins page.`,versionPending:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes. Try again later.`,versionPendingUntil:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes, after {time}.`,versionUpdated:`Updated to v{version}. Quit and reopen the DSH desktop app for it to take effect (refreshing the page is not enough).`,privacyNote:`Courses, progress and materials are stored only in DSH’s data folder on this computer.`,aboutTitle:`About the author`,aboutRole:`Author of Aha Tutor (开窍)`,aboutIntro:`Aha Tutor is free and open source, and tips are entirely optional. If it helped something finally click for you, a tip keeps Qiao growing.`,aboutRepo:`GitHub repository`,aboutIssues:`Report a problem`,aboutSupport:`Support the author`,aboutWechat:`WeChat`,aboutAlipay:`Alipay`,aboutScan:`Scan a code with your phone`,errorGeneric:`Something went wrong: {message}`,loading:`Loading…`,empty:`Nothing here yet.`,copied:`Copied`,minutes:`min`,untitled:`Untitled`,delete:`Delete`,edit:`Edit`,save:`Save`,all:`All`,mode:`Mode`,boardSession:`Whiteboard`,toolBoardTitle:`Explaining on the whiteboard`,openBoard:`Open whiteboard`,panelLabel:`Aha · AI tutor`,copyCode:`Copy`,footnotes:`Footnotes`,"err_llm-auth":`The model is not signed in or its key is invalid. Check the model provider in DSH settings.`,"err_llm-quota":`The model quota is used up or requests are too frequent. Try again later.`,"err_llm-context":`The material is too long for this model. Pick fewer materials or a model with a larger context.`,"err_llm-unavailable":`The selected model is not available. Pick another one in Aha settings.`,"err_llm-timeout":`The model took too long. Try again.`,"err_bad-output":`The model did not return a usable result this time. Try again or pick a stronger model in settings.`,lessonGoals:`Lesson goals`,transcript:`Transcript`,showPanel:`Transcript`,hidePanel:`Hide the side panel`,panelTitle:`Lesson side panel`,boardFont:`Board font`,fontHand:`Handwriting`,fontStandard:`Standard`,digestMissing:`{count} part(s) could not be read ({parts}); the digest below leaves them out.`,redigest:`Digest again`,revisingSoFar:`Revising… {count} lessons so far`,"err_bad-url":`This address cannot be imported: only public http or https sites are supported, not this computer, the local network or addresses with credentials.`,err_network:`The page could not be loaded or took too long. Check the address and try again.`,err_http:`The page returned an error and could not be imported.`,blueprintSoFar:`Designing your course blueprint… {count} lessons so far`,reexplainedAs:`Re-explained: {style}`,digestReading:`Reading the whole document: {done} of {total} parts read`,digestWriting:`Combining the notes into one digest`,keepsRunning:`You can leave this page; it keeps going in the background.`,err_cancelled:`Cancelled.`,courseCreatedInChat:`Created the course "{title}". Continue it in Aha.`},bl=[`slots`,`locale`,`connection`],xl=`aha-tutor`,Sl=`dsh-aha-tutor/board`,Cl=`ahaTutorBoard`,wl=[`aha_whiteboard`,`aha_quiz`,`aha_course`,`aha_cheatsheet`,`aha_learner`];function Tl({size:e}){return(0,i.jsx)(re,{name:`logo`,size:e})}function El({rpc:e,t,language:n,dsh:r}){return(0,i.jsx)(ll,{rpc:e,t,language:n(),dsh:r})}function Dl(e){e.effect(()=>e.locale.register(_l,{zh:vl,en:yl}),`aha-tutor: copy`),e.effect(()=>{let e=document.createElement(`style`);return e.dataset.plugin=`dsh-aha-tutor`,e.textContent=yc,document.head.append(e),()=>e.remove()},`aha-tutor: style`);let t=e.locale.bind(_l),n=e.get(`connection`).rpc,r=()=>String(e.locale.getLocale?.()?.active??`zh`).startsWith(`zh`)?`zh`:`en`,i=Object.freeze({selectPanel:()=>e.get(`layout`)?.selectPanel?.(xl),async openWorkspace(t,n){let r=e.get(`workspaces`),i=e.get(`uiWorkspace`);if(typeof r?.create!=`function`||typeof i?.startSession!=`function`)return!1;let a=await r.create({path:t});return i.startSession(a.workspaceId,{prompt:n,clearPreviousDraft:!0}),!0},openBoardTab(t){let n=e.get(`sidebarRight`);if(typeof n?.openTab!=`function`)return!1;try{return n.openTab(Cl,{params:t}),!0}catch{return!1}}});e.slots.inject(`main`,()=>e.slots.register({name:`main`,key:xl,locale:_l,inject:()=>({rpc:n,language:r,dsh:i})},El)),e.slots.inject(`sidebar.panellist`,()=>e.slots.register({name:`sidebar.panellist`,id:xl,order:20,locale:_l,label:()=>t(`panelLabel`)},Tl)),e.inject([`sidebarRightTabs`],e=>{e.effect(()=>e.sidebarRightTabs.register({id:Sl,kind:Cl,title:()=>t(`boardSession`),keepMounted:!0}),`aha-tutor: board tab`)}),e.slots.inject(`sidebar.right.pane.tab`,()=>e.slots.register({name:`sidebar.right.pane.tab`,key:Sl,locale:_l,inject:()=>({rpc:n,language:r(),dsh:i})},ul));for(let t of wl)e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:t,locale:_l,inject:()=>({rpc:n,language:r(),dsh:i})},ml))}return n.apply=Dl,n.inject=bl,t.exports}});
565
+ `),style:a.value.preferences?.style??``})},[a.value]);async function f(){d(null);try{let r=e=>e.split(`
566
+ `).map(e=>e.trim()).filter(Boolean);a.setValue(await e.call(`profile/save`,{background:o.background,goals:r(o.goals),strengths:r(o.strengths),weaknesses:r(o.weaknesses),preferences:{...a.value.preferences,style:o.style}})),n(t(`saved`))}catch(e){d(e)}}return o?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`profileTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`profileHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`background`),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o.background,onChange:e=>s({...o,background:e.currentTarget.value})})]}),Wu.map(([e,n])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(n),` `,(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`(`,t(`onePerLine`),`)`]}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:o[e],onChange:t=>s({...o,[e]:t.currentTarget.value})})]},e)),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`learningStyle`),(0,i.jsx)(`input`,{className:`aha-input`,value:o.style,onChange:e=>s({...o,style:e.currentTarget.value})})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:f,children:t(`save`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`danger`,onClick:()=>l(!0),children:t(`clearProfile`)})]}),(0,i.jsx)($,{error:u})]}),a.value.notes?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`memoryNotes`)}),a.value.notes.map(n=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:n.text}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async()=>a.setValue(await e.call(`profile/remove-note`,{id:n.id})),children:t(`delete`)})]},n.id))]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)}),c?(0,i.jsx)(xc,{danger:!0,text:t(`clearProfileConfirm`),onCancel:()=>l(!1),onConfirm:async()=>{a.setValue(await e.call(`profile/clear`)),l(!1)}}):null]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(_c,{label:t(`loading`)})})}function Ku({courseId:e,projectId:t}){let{api:n,t:a,dsh:o,toast:s}=v(),c=y(()=>n.call(`project/get`,{courseId:e,projectId:t}),[e,t]),l=b(),[u,d]=(0,r.useState)(``),[f,p]=(0,r.useState)(!0),[m,h]=(0,r.useState)(null),[g,_]=(0,r.useState)(!1),[x,S]=(0,r.useState)(null);if(c.loading&&!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(_c,{label:a(`loading`)})});if(!c.value)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:c.error})});let{project:C,submissions:w}=c.value,T=m?.path??c.value.workspace;async function E(){_(!0),S(null);try{let r=await n.call(`project/open`,{courseId:e,projectId:t});h(r);let i=await o.openWorkspace(r.path,r.prompt).catch(()=>!1);s(i?a(`workspaceSession`):a(`workspaceReady`,{path:r.path}))}catch(e){S(e)}finally{_(!1)}}async function D(){try{await l.run(`project/submit`,{courseId:e,projectId:t,notes:u,includeWorkspace:f}),d(``),c.reload()}catch{}}return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:C.title}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`projectBrief`)}),(0,i.jsx)(Rc,{text:C.brief})]}),C.milestones?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`milestones`)}),(0,i.jsx)(`ol`,{style:{margin:0,paddingLeft:20},children:C.milestones.map(e=>(0,i.jsxs)(`li`,{children:[(0,i.jsx)(`b`,{children:e.title}),e.detail?(0,i.jsx)(`div`,{className:`aha-hint`,children:e.detail}):null]},e.id))})]}):null,C.rubric?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`rubric`)}),C.rubric.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{children:[e.criterion,e.detail?(0,i.jsxs)(`span`,{className:`aha-hint`,children:[` · `,e.detail]}):null]}),(0,i.jsx)(`span`,{className:`aha-tag`,children:e.points})]},e.id))]}):null,(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:g,onClick:E,children:[(0,i.jsx)(me,{name:`folder`,size:15}),a(g?`openingWorkspace`:`openWorkspace`)]}),T?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`code`,{className:`aha-hint`,style:{overflowWrap:`anywhere`},children:T}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,"data-kind":`ghost`,onClick:()=>{jc(T),s(a(`copied`))},children:a(`copyPath`)})]}):null]}),(0,i.jsx)(`p`,{className:`aha-hint`,children:a(`workspaceManual`)}),(0,i.jsx)($,{error:x})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:a(`submitProject`)}),(0,i.jsx)(`textarea`,{className:`aha-textarea`,value:u,placeholder:a(`submitNotes`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:f,onChange:e=>p(e.currentTarget.checked)}),a(`includeFiles`)]}),l.running?(0,i.jsx)(yc,{progress:l.progress,label:a(`reviewing`),onCancel:l.cancel}):(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!u.trim()&&!f,onClick:D,children:a(`submitProject`)})}),(0,i.jsx)($,{error:l.error})]}),w.length?(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:a(`submissions`)}),[...w].reverse().map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:a(`reviewTotal`,{total:e.review.total,max:e.review.max})}),(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.at).toLocaleString()})]}),e.review.summary?(0,i.jsx)(Rc,{text:e.review.summary,compact:!0}):null,e.review.scores.map(e=>(0,i.jsxs)(`div`,{className:`aha-spread`,style:{alignItems:`flex-start`},children:[(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`b`,{children:e.criterion}),(0,i.jsx)(`div`,{className:`aha-hint`,children:e.comment})]}),(0,i.jsxs)(`span`,{className:`aha-tag`,children:[e.points,`/`,e.max]})]},e.criterionId)),e.review.strengths?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`strengths`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.strengths.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null,e.review.nextSteps?.length?(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:a(`nextSteps`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.review.nextSteps.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]},t))]}):null]})}let qu=[[`openai`,`providerOpenai`],[`volcengine`,`providerVolcengine`],[`minimax`,`providerMinimax`],[`azure`,`providerAzure`]];function Ju(){let{api:e,t,settings:n,reloadSettings:a,setVoiceId:o,speech:s,language:c}=v(),l=y(()=>e.call(`models/list`),[]),[d,f]=(0,r.useState)(null),p=e=>d?.area===e?d.failure:null,[m,h]=(0,r.useState)(()=>ee()),[g,_]=(0,r.useState)(``),[b,x]=(0,r.useState)(!1);(0,r.useEffect)(()=>te(h),[]);async function S(e,t){f(null);try{await t()}catch(t){f({area:e,failure:t})}}let C=(t,n)=>S(t,async()=>{await e.call(`settings/save`,{settings:n}),await a()}),w=(e,t)=>e&&t?`${e}::${t}`:``,T=(e,t)=>{let[n=``,r=``]=t?t.split(`::`):[];C(`models`,{[`${e}Provider`]:n,[`${e}Model`]:r})},E=(0,r.useMemo)(()=>(l.value??[]).map(e=>({value:`${e.provider}::${e.model}`,label:`${e.providerName} · ${e.name}${e.images?` 🖼`:``}`})),[l.value]),re=c===`zh`?`zh-CN`:`en`,ie=m.filter(e=>e.lang.toLowerCase().startsWith(re.split(`-`)[0])),O=n.ttsProvider??`openai`,k=(n.fields?.[O]??[]).filter(e=>!e.secret),ae=n.tts?.[O]??{};async function oe(){f(null),x(!0);try{s.configure({engine:n.voiceEngine??`browser`,voiceId:n.voiceId||void 0,language:re,rate:n.voiceRate??1});let e=await s.speak(t(`testSentence`),{rate:n.voiceRate??1}).done;e?.error&&f({area:`test`,failure:new u(e.code??`speech`,e.error)})}finally{x(!1)}}return n.voiceEngine?(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:820},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`settingsTitle`)}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`modelsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`modelsHint`)}),[[`teach`,`teachModel`],[`quick`,`quickModel`]].map(([e,r])=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(r),(0,i.jsxs)(`select`,{className:`aha-select`,value:w(n[`${e}Provider`],n[`${e}Model`]),onChange:t=>T(e,t.currentTarget.value),children:[(0,i.jsx)(`option`,{value:``,children:t(`followDefault`)}),E.map(e=>(0,i.jsx)(`option`,{value:e.value,children:e.label},e.value))]})]},e)),l.loading?(0,i.jsx)(_c,{}):null,(0,i.jsx)($,{error:p(`models`),reveal:!0})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`voiceTitle`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`browser`,`engineBrowser`],[`cloud`,`engineCloud`],[`off`,`engineOff`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":n.voiceEngine===e,onClick:()=>C(`engine`,{voiceEngine:e}),children:t(r)},e))}),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`voiceRate`),` · `,n.voiceRate??1,`×`,(0,i.jsx)(`input`,{type:`range`,min:`0.5`,max:`2`,step:`0.05`,value:n.voiceRate??1,onChange:e=>C(`engine`,{voiceRate:Number(e.currentTarget.value)})})]}),(0,i.jsx)($,{error:p(`engine`),reveal:!0}),n.voiceEngine===`browser`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`browserVoice`),(0,i.jsxs)(`select`,{className:`aha-select`,value:n.voiceId??``,onChange:e=>o(e.currentTarget.value),children:[(0,i.jsxs)(`option`,{value:``,children:[t(`autoVoice`),ne(re)?` (${ne(re).name})`:``]}),(ie.length?ie:m).map(e=>(0,i.jsxs)(`option`,{value:e.id,children:[e.name,` · `,e.lang,e.local?``:` ☁`]},e.id))]})]}),D()&&!ie.length?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`noVoiceForLanguage`)}):null]}):null,n.voiceEngine===`cloud`?(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`cloudProvider`),(0,i.jsx)(`select`,{className:`aha-select`,value:O,onChange:e=>C(`cloud`,{ttsProvider:e.currentTarget.value}),children:qu.map(([e,n])=>(0,i.jsx)(`option`,{value:e,children:t(n)},e))})]}),k.map(e=>(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_${e.key}`),(0,i.jsx)(`input`,{className:`aha-input`,defaultValue:ae[e.key]??``,onBlur:t=>{let n=t.currentTarget.value.trim();n!==(ae[e.key]??``)&&C(`cloud`,{tts:{[O]:{[e.key]:n}}})}},`${O}:${e.key}:${ae[e.key]??``}`)]},e.key)),(0,i.jsx)($,{error:p(`cloud`),reveal:!0}),(0,i.jsxs)(`label`,{className:`aha-label`,children:[t(`field_apiKey`),` · `,(0,i.jsx)(`span`,{className:n.keys?.[O]?`aha-ok`:`aha-hint`,children:n.keys?.[O]?t(`keySaved`):t(`keyMissing`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1},type:`password`,autoComplete:`off`,spellCheck:!1,value:g,onChange:e=>_(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,disabled:!g.trim(),onClick:()=>S(`key`,async()=>{await e.call(`settings/set-key`,{provider:O,key:g.trim()}),_(``),await a()}),children:t(`saveKey`)}),n.keys?.[O]?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>S(`key`,async()=>{await e.call(`settings/clear-key`,{provider:O}),await a()}),children:t(`clearKey`)}):null]})]}),(0,i.jsx)($,{error:p(`key`),reveal:!0})]}):null,(0,i.jsx)(`div`,{children:(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,disabled:b||n.voiceEngine===`off`,onClick:oe,children:[b?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🔊`,` `,t(`testVoice`)]})}),(0,i.jsx)($,{error:p(`test`),reveal:!0})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:t(`boardTheme`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`auto`,`themeAuto`],[`light`,`themeLight`],[`dark`,`themeDark`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":(n.boardTheme??`auto`)===e,onClick:()=>C(`board`,{boardTheme:e}),children:t(r)},e))}),(0,i.jsx)(`b`,{children:t(`boardFont`)}),(0,i.jsx)(`div`,{className:`aha-row`,style:{gap:6},children:[[`hand`,`fontHand`],[`standard`,`fontStandard`]].map(([e,r])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-chip`,"data-active":(n.boardFont??`hand`)===e,onClick:()=>C(`board`,{boardFont:e}),style:e===`hand`?{fontFamily:mu}:void 0,children:t(r)},e))}),(0,i.jsx)($,{error:p(`board`),reveal:!0})]}),(0,i.jsx)(Yu,{}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`privacyNote`)})]}):(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(_c,{label:t(`loading`)})})}function Yu(){let{api:e,t}=v(),[n,a]=(0,r.useState)(null),[o,s]=(0,r.useState)(!0),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(!1),g=t=>{s(!0),l(!1),e.call(`plugin/version`,{force:t}).then(a).catch(()=>l(!0)).finally(()=>s(!1))};(0,r.useEffect)(()=>{g(!1)},[]);async function _(){d(!0),h(!1);try{p(await e.call(`plugin/update`))}catch{h(!0)}finally{d(!1)}}let y=n?.install?.kind;return(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`b`,{children:t(`versionTitle`)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:o||u,onClick:()=>g(!0),children:t(o?`versionChecking`:`versionCheck`)})]}),c?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionFailed`)}):null,n?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionCurrent`)}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[`v`,n.current]})]}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{children:t(`versionLatest`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:n.latest?`v${n.latest}`:`—`})]}),f?null:(0,i.jsx)(`p`,{className:n.latestUnknown?`aha-error`:`aha-hint`,children:n.latestUnknown?t(`versionFailed`):n.updateAvailable?t(`versionAvailable`,{version:n.latest}):t(`versionUpToDate`)}),!f&&n.updateAvailable&&y===`npm`?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:u,onClick:_,children:t(u?`versionUpdating`:`versionUpdate`)})}):null,y===`link`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionLinked`)}):null,n.updateAvailable&&y===`unknown`?(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`versionManual`,{version:n.latest})}):null]}):null,m?(0,i.jsx)(`p`,{className:`aha-error`,children:t(`versionUpdateFailed`)}):null,f?.pending?(0,i.jsx)(`p`,{className:`aha-hint`,children:typeof f.availableAt==`number`?t(`versionPendingUntil`,{version:f.version,time:new Date(f.availableAt).toLocaleString()}):t(`versionPending`,{version:f.version})}):null,f&&!f.pending?(0,i.jsx)(`div`,{className:`aha-feedback`,"data-ok":`true`,children:t(`versionUpdated`,{version:f.version})}):null]})}function Xu({draftTopic:e,draftUrl:t,token:n}){let{api:a,t:o}=v(),s=y(()=>a.call(`items/list`,{kind:`shorts`}),[]),[c,l]=(0,r.useState)(e??``),[u,d]=(0,r.useState)(t??``),[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(null),g=Fu(),_=x(n);async function b(){if(!c.trim()&&!u.trim())return;h(null);let e=Zs(`sht`);try{let{job:t}=await a.call(`short/make`,{topic:c,url:u,newId:e});p({id:e,title:c||u,steps:[],stream:t,key:`${e}:new`})}catch(e){h(e)}}(0,r.useEffect)(()=>{_&&(e||t)&&b()},[]);async function S(e){try{let{item:t}=await a.call(`items/get`,{kind:`shorts`,id:e});p({id:t.id,title:t.title,steps:t.board.steps,stream:null,language:t.language,key:`${t.id}:open`,opened:Date.now()})}catch(e){h(e)}}return(0,i.jsx)(`div`,{className:`aha-page`,"data-wide":`true`,children:(0,i.jsxs)(`div`,{className:`aha-split`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{minHeight:0},children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:o(`shortsTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`shortsHint`)})]}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:2,minWidth:220},value:c,placeholder:o(`topicPlaceholder`),onChange:e=>l(e.currentTarget.value)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:180},value:u,placeholder:o(`urlPlaceholder`),onChange:e=>d(e.currentTarget.value)}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!c.trim()&&!u.trim(),onClick:b,children:o(`makeShort`)})]}),(0,i.jsx)($,{error:m}),f?(0,i.jsx)(Qc,{scope:{kind:`short`,id:f.id},title:f.title,steps:f.steps,stream:f.stream,language:f.language,recordChecks:!1,reveal:f.opened,onStreamDone:e=>{p(t=>({...t,steps:e?.item?.board?.steps??t.steps,title:e?.item?.title??t.title,stream:null})),s.reload()},header:({steps:e})=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(fu,{steps:e,title:f.title,kind:null}),g.exporting?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_c,{label:o(`exporting`,{percent:g.exporting.percent})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:g.cancel,children:o(`cancel`)})]}):(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,disabled:!f.steps.length,onClick:()=>g.start({steps:f.steps,title:f.title}),children:o(`exportVideo`)})]})},f.key):null,f&&!g.cloud?(0,i.jsx)(`p`,{className:`aha-hint`,children:o(`exportNeedsCloud`)}):null]}),(0,i.jsxs)(`aside`,{className:`aha-col`,style:{minHeight:0,overflow:`auto`},children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:o(`history`)}),s.loading&&!s.value?(0,i.jsx)(_c,{}):(s.value??[]).length?s.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-option`,style:{cursor:`pointer`},onClick:()=>S(e.id),children:[(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`small`,{children:new Date(e.createdAt).toLocaleString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:async t=>{t.stopPropagation(),await a.call(`items/remove`,{kind:`shorts`,id:e.id}),s.reload()},children:o(`delete`)})]})]},e.id)):(0,i.jsx)(Cc,{children:o(`empty`)})]})]})})}let Zu=[[`sheet`,`makeSheet`,`studio/sheet`],[`cards`,`makeCards`,`studio/cards`],[`notes`,`makeNotes`,`studio/notes`],[`quiz`,`makeQuiz`,`studio/quiz`]];function Qu(){let{api:e,t,navigate:n}=v(),a=y(()=>e.call(`items/list`,{kind:`sheets`}),[]),o=y(()=>e.call(`items/list`,{kind:`decks`}),[]),[s,c]=(0,r.useState)([]),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(``),[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(null);async function _(t,n){if(!s.length){u(!0);return}m(t),g(null);try{b((await e.run(n,{materialIds:s,focus:d})).item)}catch(e){g(e)}finally{m(null)}}function b(e){e.kind===`cheatsheet`?n(`sheet`,{sheetId:e.id}):e.kind===`notes`?n(`item`,{kind:`notes`,id:e.id}):e.kind===`cards`?n(`cards`,{deckId:e.id}):n(`item`,{kind:`quiz`,id:e.id})}async function x(t,n){await e.call(`items/remove`,{kind:t,id:n}),t===`sheets`?a.reload():o.reload()}let S=(e,n,r)=>(0,i.jsxs)(`section`,{className:`aha-col`,children:[(0,i.jsx)(`h3`,{className:`aha-cardTitle`,children:e}),n.loading&&!n.value?(0,i.jsx)(_c,{}):(n.value??[]).length?(0,i.jsx)(`div`,{className:`aha-grid`,children:n.value.map(e=>(0,i.jsxs)(`div`,{className:`aha-card`,"data-click":`true`,onClick:()=>b(e),children:[(0,i.jsx)(`span`,{className:`aha-tag`,children:e.kind===`cheatsheet`?t(`sheets`):e.kind===`notes`?t(`notes`):e.kind===`cards`?t(`decks`):t(`quizzes`)}),(0,i.jsx)(`b`,{children:e.title}),(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:new Date(e.updatedAt).toLocaleDateString()}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:t=>{t.stopPropagation(),x(r,e.id)},children:t(`delete`)})]})]},e.id))}):(0,i.jsx)(Cc,{children:t(`empty`)})]});return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:t(`studioTitle`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:t(`studioHint`)})]}),(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>u(!0),children:s.length?t(`attached`,{count:s.length}):t(`pickMaterials`)}),(0,i.jsx)(`input`,{className:`aha-input`,style:{flex:1,minWidth:220},value:d,placeholder:t(`focusPlaceholder`),onChange:e=>f(e.currentTarget.value)})]}),(0,i.jsx)(`div`,{className:`aha-row`,children:Zu.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,disabled:!!p,onClick:()=>_(e,r),children:[p===e?(0,i.jsx)(`span`,{className:`aha-spinner`}):null,t(n)]},e))}),p?(0,i.jsx)(_c,{label:t(`generating`)}):null,(0,i.jsx)($,{error:h})]}),S(`${t(`sheets`)} · ${t(`notes`)}`,a,`sheets`),S(`${t(`decks`)} · ${t(`quizzes`)}`,o,`decks`),l?(0,i.jsx)(Ec,{selected:s,onChange:c,onClose:()=>u(!1)}):null]})}Object.freeze([`again`,`hard`,`good`,`easy`]),Object.freeze({again:1,hard:3,good:4,easy:5});function $u(e,t=Date.now()){return Date.parse(e?.dueAt??0)<=t}function ed(e,t=Date.now()){return(e||[]).filter(e=>$u(e,t)).sort((e,t)=>Date.parse(e.dueAt)-Date.parse(t.dueAt))}function td({courseId:e,lessonId:t,unitId:n,review:a,deckId:o}){let{api:s,t:c,navigate:l}=v(),d=b(),[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(null),[g,_]=(0,r.useState)(0),[y,x]=(0,r.useState)([]),[S,C]=(0,r.useState)(0),[w,T]=(0,r.useState)(null),[E,D]=(0,r.useState)({}),[ee,te]=(0,r.useState)(null);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(e&&!o&&s.call(`course/get`,{courseId:e}).then(e=>{r&&T(e)}).catch(()=>void 0),a){let t=await s.call(`review/session`,e?{courseId:e}:{});r&&p({title:c(`review`),items:t.items.map(e=>({...e.item,context:e})),language:void 0});return}if(o){let{item:e}=await s.call(`items/get`,{kind:`decks`,id:o});r&&p({title:e.title,items:e.items??[],language:e.language});return}let i=n?`unit/quiz`:`lesson/practice`,l=n?{courseId:e,unitId:n}:{courseId:e,lessonId:t},f=await s.call(i,l),m=f.job?await d.run(null,null,{existing:f.job}):f,h=(m.quiz??m.sets?.[t]??m.practice)?.items??[];if(!h.length&&!n)throw new u(`bad-output`,`No practice items came back`);let g=t?await s.call(`lesson/get`,{courseId:e,lessonId:t}):null;r&&p({title:g?.lesson.title??c(`unitQuiz`),items:h,language:g?.language})}catch(e){r&&h(e)}})(),()=>{r=!1}},[e,t,n,a,o,S]);let ne=f?.items[g],re=r=>{x(e=>[...e,r]);let i=ne?.context?.courseId??e;!i||o||s.call(`lesson/record`,{courseId:i,lessonId:ne?.context?.lessonId??t,conceptIds:ne?.conceptIds??[],evidence:{kind:n?`quiz`:`practice`,score:r.score,confidence:r.confidence,hintsUsed:r.hintsUsed,timeMs:r.timeMs,expectedMs:6e4,errorTag:r.errorTag}}).then(e=>{e?.mastery&&D(t=>({...t,...e.mastery})),e?.recommendation&&te(e.recommendation)}).catch(()=>void 0)},ie=(0,r.useMemo)(()=>ol(y),[y]);if(m)return(0,i.jsxs)(`div`,{className:`aha-page`,children:[(0,i.jsx)($,{error:m}),(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>{h(null),C(e=>e+1)},children:c(`retry`)})})]});if(!f)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(yc,{progress:d.progress,label:c(`makingPractice`),onCancel:d.running?d.cancel:void 0})});if(!f.items.length)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(Cc,{children:c(a?`nothingToReview`:`empty`)})});let O=g>=f.items.length;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:760},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:f.title}),(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:6},children:[!O&&ie.streak>=2?(0,i.jsx)(`span`,{className:`aha-tag aha-streak`,children:c(`streakCount`,{count:ie.streak})}):null,(0,i.jsxs)(`span`,{className:`aha-tag`,children:[Math.min(g+1,f.items.length),`/`,f.items.length]})]})]}),ne?.context?(0,i.jsxs)(`p`,{className:`aha-hint`,children:[ne.context.courseTitle,` · `,ne.context.conceptName]}):null,O?(0,i.jsx)(nd,{set:f,stats:ie,context:w,after:E,recommendation:ee,courseId:e,lessonId:t,unitId:n,onRetry:()=>{_(0),x([]),te(null)}}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(Bc,{item:ne,language:f.language,onResult:re,onContinue:()=>_(e=>e+1),continueLabel:g+1<f.items.length?c(`continue`):c(`confirm`),keyboard:!0},`${g}`)}),(0,i.jsx)(`p`,{className:`aha-hint`,children:c(`keysHint`)})]})]})}function nd({set:e,stats:t,context:n,after:a,recommendation:o,courseId:s,lessonId:c,unitId:l,onRetry:u}){let{t:d,navigate:f}=v(),p=n?.course,m=n?.progress,h=(0,r.useMemo)(()=>{let t=p?rc(p):new Map;return[...new Set(e.items.flatMap(e=>e.conceptIds??[]))].filter(e=>a[e]!==void 0).map(n=>({id:n,name:t.get(n)?.name??e.items.find(e=>e.context?.conceptId===n)?.context?.conceptName??n,before:m?rl(m.concepts?.[n]):null,after:il(a[n]),percent:a[n]}))},[e,p,m,a]),g=(0,r.useMemo)(()=>{if(!p)return null;let e=ec(p),t=c?e.find(e=>e.lesson.id===c):null,n=t?sc(p,c)?.lesson.id:l?e.find((t,n)=>n>e.findLastIndex(e=>e.unit.id===l))?.lesson.id:null;return sl(o,{lessonId:c,unitId:t?.unit.id??null,nextLessonId:n??oc(p,m)?.lesson.id})},[p,m,o,c,l]),_={relearn:()=>f(`lesson`,{courseId:s,lessonId:g.lessonId}),review:()=>f(`practice`,{courseId:s,review:!0}),quiz:()=>f(`practice`,{courseId:s,unitId:g.unitId}),next:()=>f(`lesson`,{courseId:s,lessonId:g.lessonId}),course:()=>f(`course`,{courseId:s})},y=g?d({relearn:`nextRelearn`,review:`nextReview`,quiz:`nextQuiz`,next:`nextLessonStep`,course:`nextCourse`}[g.kind]):``,b=g?d({relearn:`relearnLesson`,review:`reviewCourse`,quiz:`unitQuiz`,next:`nextLesson`,course:`backToCourse`}[g.kind]):``;return(0,i.jsxs)(`div`,{className:`aha-card aha-summary`,children:[(0,i.jsxs)(`div`,{className:`aha-stars`,role:`img`,"aria-label":d(`starsLabel`,{count:t.stars}),children:[`★`.repeat(t.stars),(0,i.jsx)(`span`,{children:`★`.repeat(3-t.stars)})]}),(0,i.jsx)(`b`,{children:d(`practiceDone`,{correct:t.correct,total:e.items.length})}),(0,i.jsxs)(`div`,{className:`aha-row aha-summaryStats`,children:[(0,i.jsxs)(`span`,{children:[(0,i.jsxs)(`b`,{children:[Math.round(t.accuracy*100),`%`]}),d(`accuracy`)]}),(0,i.jsxs)(`span`,{children:[(0,i.jsx)(`b`,{children:t.bestStreak}),d(`bestStreak`)]})]}),h.length?(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:4},children:[(0,i.jsx)(`span`,{className:`aha-hint`,children:d(`masteryChange`)}),h.map(e=>(0,i.jsxs)(`div`,{className:`aha-row aha-conceptMove`,children:[(0,i.jsx)(`span`,{style:{flex:1,minWidth:120},children:e.name}),e.before?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`aha-level`,"data-level":e.before,children:d(al[e.before])}),(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]}):null,(0,i.jsx)(`span`,{className:`aha-level`,"data-level":e.after,children:d(al[e.after])}),(0,i.jsxs)(`span`,{className:`aha-hint`,children:[e.percent,`%`]})]},e.id))]}):null,g&&s?(0,i.jsx)(`p`,{children:y}):null,(0,i.jsxs)(`div`,{className:`aha-row`,children:[g&&s?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,onClick:_[g.kind],children:b}):null,(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:u,children:d(`retry`)}),s&&g?.kind!==`course`?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:_.course,children:d(`backToCourse`)}):null]})]})}function rd({courseId:e,deckId:t}){let{api:n,t:a}=v(),o=b(),[s,c]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[d,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)(null);(0,r.useEffect)(()=>{let r=!0;return(async()=>{try{let i;if(t)i=(await n.call(`items/get`,{kind:`decks`,id:t})).item;else{let t=await n.call(`course/cards`,{courseId:e});i=t.job?(await o.run(null,null,{existing:t.job})).deck:t.deck}if(!r)return;c(i);let a=Date.now(),s=ed(Object.values(i.srs??{}),a).map(e=>e.id),l=i.cards.filter(e=>!i.srs?.[e.id]).map(e=>e.id);m([...s,...l].slice(0,40))}catch(e){r&&u(e)}})(),()=>{r=!1}},[e,t]);let h=(0,r.useMemo)(()=>s?.cards.find(e=>e.id===p?.[0]),[s,p]);async function g(r){if(h){f(!1),m(e=>{let t=e.slice(1);return r===`again`?[...t,h.id]:t});try{t?await n.call(`items/card-review`,{id:t,cardId:h.id,grade:r}):await n.call(`course/card-review`,{courseId:e,cardId:h.id,grade:r})}catch{}}}return l?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:l})}):!s||!p?(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(yc,{progress:o.progress,label:a(`makingCards`),onCancel:o.running?o.cancel:void 0})}):(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:720},children:[(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:a(`cardsTitle`)}),(0,i.jsx)(`span`,{className:`aha-tag`,children:a(`cardsDue`,{count:p.length})})]}),h?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`aha-flash`,"data-flipped":d,onClick:()=>f(e=>!e),role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&f(e=>!e)},children:(0,i.jsxs)(`div`,{className:`aha-flashInner`,children:[(0,i.jsx)(`div`,{className:`aha-flashFace`,children:(0,i.jsx)(Rc,{text:h.front})}),(0,i.jsx)(`div`,{className:`aha-flashFace aha-flashBack`,children:(0,i.jsx)(Rc,{text:h.back})})]})}),(0,i.jsxs)(`p`,{className:`aha-hint`,style:{textAlign:`center`},children:[h.tag?`${h.tag} · `:``,a(`flip`)]}),d?(0,i.jsx)(`div`,{className:`aha-row`,style:{justifyContent:`center`},children:[[`again`,`again`],[`hard`,`hard`],[`good`,`good`],[`easy`,`easy`]].map(([e,t])=>(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":e===`good`?`primary`:void 0,onClick:()=>g(e),children:a(t)},e))}):null]}):(0,i.jsx)(Cc,{children:a(`cardsDone`)})]})}function id({courseId:e,unitId:t,sheetId:n}){let{api:a,t:o,toast:s}=v(),c=b(),[l,u]=(0,r.useState)(null),[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(null),h=async r=>{f(null);try{let i;if(n)i=(await a.call(`items/get`,{kind:`sheets`,id:n})).item.sheet;else{let n=await a.call(`unit/sheet`,{courseId:e,unitId:t,force:r});i=n.job?(await c.run(null,null,{existing:n.job})).sheet:n.sheet}u(i),m(i.layout)}catch(e){f(e)}};(0,r.useEffect)(()=>{h(!1)},[e,t,n]);let g=r=>{let i={...p,...r};m(i),(n?a.call(`items/sheet-layout`,{id:n,layout:i}):a.call(`unit/sheet-layout`,{courseId:e,unitId:t,layout:i})).catch(e=>s(Sc(o,e)))};if(d)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:d})});if(!l||!p)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(yc,{progress:c.progress,label:o(`makingSheet`),onCancel:c.running?c.cancel:void 0})});let _=p.order.map(e=>l.sections.find(t=>t.id===e)).filter(Boolean),y=new Set(p.hidden??[]);return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:1200},children:[(0,i.jsxs)(`div`,{className:`aha-spread aha-noprint`,children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:l.title||o(`sheetTitle`)}),(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`columns`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:p.columns,onChange:e=>g({columns:Number(e.currentTarget.value)}),children:[1,2,3,4].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[o(`fontSize`),(0,i.jsx)(`select`,{className:`aha-select`,style:{width:`auto`},value:p.fontSize,onChange:e=>g({fontSize:Number(e.currentTarget.value)}),children:[9,10,11,12,13,14,16].map(e=>(0,i.jsx)(`option`,{value:e,children:e},e))})]}),(0,i.jsxs)(`label`,{className:`aha-row`,style:{gap:6},children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:p.highlight,onChange:e=>g({highlight:e.currentTarget.checked})}),o(`highlight`)]}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,onClick:()=>window.print(),children:o(`print`)}),n?null:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,onClick:()=>{u(null),h(!0)},children:o(`regenerate`)})]})]}),(0,i.jsx)(`div`,{className:`aha-row aha-noprint`,style:{gap:6},children:_.map((e,t)=>(0,i.jsxs)(`span`,{className:`aha-chip`,"data-active":!y.has(e.id),children:[(0,i.jsx)(`span`,{onClick:()=>g({hidden:y.has(e.id)?[...y].filter(t=>t!==e.id):[...y,e.id]}),children:e.title}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`ghost`,"data-size":`sm`,onClick:()=>{let t=[...p.order],n=t.indexOf(e.id);n>0&&([t[n-1],t[n]]=[t[n],t[n-1]]),g({order:t})},disabled:t===0,children:`↑`})]},e.id))}),(0,i.jsx)(`div`,{className:`aha-printable`,children:(0,i.jsx)(`div`,{className:`aha-sheet`,"data-highlight":p.highlight,style:{columnCount:p.columns,"--sheet-size":`${p.fontSize}px`},children:_.filter(e=>!y.has(e.id)).map(e=>(0,i.jsxs)(`div`,{className:`aha-sheetSection`,children:[(0,i.jsx)(`h4`,{children:e.title}),e.items.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-sheetItem`,"data-kind":e.kind,children:[e.title?(0,i.jsxs)(`b`,{children:[e.title,`:`]}):null,e.text?(0,i.jsx)(Rc,{text:e.text,compact:!0}):null,e.tex?(0,i.jsx)(Lo,{tex:e.tex}):null,e.cite?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.cite.page,e.cite.source?` · ${e.cite.source}`:``,`)`]}):null]},t)),e.related?.length?(0,i.jsxs)(`div`,{className:`aha-cite`,children:[`↔ `,e.related.join(` · `)]}):null]},e.id))})})]})}function ad({kind:e,id:t,materialId:n}){let{api:a,t:o}=v(),s=b(),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),[f,p]=(0,r.useState)(0);if((0,r.useEffect)(()=>{let r=!0;return(async()=>{try{if(e===`digest`){let{material:e}=await a.call(`material/get`,{id:n}),t=f===0?e.digest:null;if(!t){let e=await a.call(`material/digest`,{id:n});t=(await s.run(null,null,{existing:e.job})).material.digest}r&&l({title:e.title,digest:t});return}let{item:i}=await a.call(`items/get`,{kind:`sheets`,id:t});r&&l({title:i.title,markdown:i.markdown})}catch(e){r&&d(e)}})(),()=>{r=!1}},[e,t,n,f]),e===`quiz`)return(0,i.jsx)(td,{deckId:t});if(u)return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)($,{error:u})});if(!c){let e=s.progress;return(0,i.jsx)(`div`,{className:`aha-page`,children:(0,i.jsx)(yc,{progress:e,label:e?.label===`reading`?o(`digestReading`,{done:e.done,total:Math.max(1,e.total-1)}):e?.label===`writing`?o(`digestWriting`):o(`generating`),onCancel:s.running?s.cancel:void 0})})}if(c.markdown!==void 0)return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:860},children:[(0,i.jsx)(`h2`,{className:`aha-title`,children:c.title}),(0,i.jsx)(`div`,{className:`aha-card`,children:(0,i.jsx)(Rc,{text:c.markdown})})]});let m=c.digest;return(0,i.jsxs)(`div`,{className:`aha-page`,style:{maxWidth:900},children:[(0,i.jsxs)(`h2`,{className:`aha-title`,children:[o(`digestTitle`),` · `,c.title]}),m.missing?.length?(0,i.jsxs)(`div`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{className:`aha-error`,children:o(`digestMissing`,{count:m.missing.length,parts:m.missing.join(`, `)})}),(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>{l(null),p(e=>e+1)},children:o(`redigest`)})]}):null,(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`overview`)}),(0,i.jsx)(Rc,{text:m.overview})]}),m.structure?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`structure`)}),m.structure.map((e,t)=>(0,i.jsxs)(`div`,{className:`aha-col`,style:{gap:2},children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.heading}),/\d/u.test(e.pages??``)?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.pages,`)`]}):null]}),(0,i.jsx)(`ul`,{style:{margin:0},children:e.points.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(Rc,{text:e,compact:!0})},t))})]},t))]}):null,m.keyIdeas?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`keyIdeas`)}),(0,i.jsx)(`ul`,{style:{margin:0},children:m.keyIdeas.map((e,t)=>(0,i.jsx)(`li`,{children:(0,i.jsx)(Rc,{text:e,compact:!0})},t))})]}):null,m.arguments?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`arguments`)}),m.arguments.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.claim}),/\d/u.test(e.page??``)?(0,i.jsxs)(`span`,{className:`aha-cite`,children:[`(p.`,e.page,`)`]}):null,(0,i.jsx)(`p`,{className:`aha-hint`,children:e.support})]},t))]}):null,m.glossary?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`glossary`)}),m.glossary.map((e,t)=>(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`b`,{children:e.term}),`:`,e.meaning]},t))]}):null,m.questions?.length?(0,i.jsxs)(`section`,{className:`aha-card`,children:[(0,i.jsx)(`b`,{children:o(`discussion`)}),(0,i.jsx)(`ol`,{style:{margin:0},children:m.questions.map((e,t)=>(0,i.jsx)(`li`,{children:e},t))})]}):null]})}let od=[[`home`,`navHome`,`home`],[`courses`,`navCourses`,`courses`],[`assist`,`navAssist`,`assist`],[`materials`,`navMaterials`,`library`],[`studio`,`navStudio`,`studio`],[`shorts`,`navShorts`,`shorts`],[`plan`,`navPlan`,`plan`],[`profile`,`navProfile`,`profile`],[`settings`,`navSettings`,`settings`],[`about`,`navAbout`,`heart`]],sd={home:Nl,courses:hl,craft:yl,course:dl,lesson:Iu,practice:td,cards:rd,sheet:id,item:ad,project:Ku,materials:Ru,studio:Qu,assist:el,shorts:Xu,plan:Bu,profile:Gu,settings:Ju,about:ve},cd={craft:`courses`,course:`courses`,lesson:`courses`,practice:`courses`,project:`courses`,cards:`studio`,sheet:`studio`,item:`studio`};function ld(e){let[t,n]=(0,r.useState)(0);return(0,i.jsx)(s,{onError:de,fallback:({error:t})=>(0,i.jsx)(`div`,{className:`aha`,children:(0,i.jsx)(`main`,{className:`aha-main`,children:(0,i.jsx)(l,{t:e.t,error:t,onHome:()=>n(e=>e+1)})})}),children:(0,i.jsx)(ud,{...e})},t)}function ud({rpc:e,t,language:n,dsh:a}){let{route:o,setRoute:c,crashed:u}=ue(),d=(0,r.useRef)([]),f=(0,r.useCallback)((e,t={},{replace:n=!1}={})=>{c(r=>(n||(d.current.push(r),d.current.length>40&&d.current.shift()),{screen:e,params:t}))},[c]),p=(0,r.useCallback)(()=>{let e=d.current.pop();c(e??{screen:`home`,params:{}})},[c]);(0,r.useEffect)(()=>{let e=e=>{let t=e.detail;t?.screen&&sd[t.screen]&&f(t.screen,t.params??{})};return window.addEventListener(oe,e),()=>window.removeEventListener(oe,e)},[f]);let{value:m,toastText:h}=ce({rpc:e,t,language:n,dsh:a,navigate:f,back:p}),g=sd[o.screen]??Nl,v=cd[o.screen]??o.screen,y=e=>{d.current=[],c({screen:e,params:{}})};return(0,i.jsx)(_.Provider,{value:m,children:(0,i.jsxs)(`div`,{className:`aha`,children:[(0,i.jsxs)(`nav`,{className:`aha-nav`,children:[(0,i.jsxs)(`div`,{className:`aha-brand`,children:[(0,i.jsx)(me,{name:`logo`,size:24}),(0,i.jsxs)(`span`,{children:[t(`appName`),(0,i.jsx)(`small`,{children:t(`appTagline`)})]})]}),od.map(([e,n,r])=>(0,i.jsxs)(`button`,{type:`button`,className:`aha-navItem`,"data-active":v===e,onClick:()=>y(e),title:t(n),children:[(0,i.jsx)(me,{name:r,size:17}),(0,i.jsx)(`span`,{children:t(n)})]},e))]}),(0,i.jsx)(`main`,{className:`aha-main`,children:(0,i.jsx)(s,{resetKey:o,onError:u,fallback:({error:e})=>(0,i.jsx)(l,{t,error:e,onRetry:()=>c(e=>({...e})),onHome:()=>y(`home`)}),children:(0,i.jsx)(g,{...o.params},`${o.screen}:${JSON.stringify(o.params)}`)})}),h?(0,i.jsx)(`div`,{className:`aha-toast`,role:`status`,children:h}):null]})})}function dd({useTabInfo:e,rpc:t,t:n,language:r,dsh:a}){let{tab:o}=e(),c=o?.navigation?.params??null,{value:u}=ce({rpc:t,t:n,language:r,dsh:a});return(0,i.jsx)(_.Provider,{value:u,children:(0,i.jsx)(`div`,{className:`aha aha-tab`,style:{height:`100%`,overflow:`auto`,padding:`10px 12px`},children:c?.threadId?(0,i.jsx)(s,{fallback:({error:e,retry:t})=>(0,i.jsx)(l,{t:n,error:e,place:`tab`,onRetry:t}),children:(0,i.jsx)(fd,{threadId:c.threadId,jobId:c.jobId})},`${c.threadId}:${o.navigation.revision??0}`):(0,i.jsx)(`p`,{className:`aha-hint`,children:n(`openBoard`)})})})}function fd({threadId:e,jobId:t}){let{api:n,t:a}=v(),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let r=!0;return(async()=>{let i=t?await n.call(`job/get`,{id:t}).catch(()=>null):null;if(i&&i.status===`running`){r&&s({stream:i,steps:[],title:``});return}try{let{item:t}=await n.call(`items/get`,{kind:`assist`,id:e}),i=t.turns.at(-1);r&&s({stream:null,steps:i?.board?.steps??[],title:t.title,language:t.language,turn:t.turns.length-1})}catch(e){r&&s({error:e})}})(),()=>{r=!1}},[e,t]),o?o.error?(0,i.jsx)(`p`,{className:`aha-error`,children:Sc(a,o.error)}):(0,i.jsx)(Qc,{scope:{kind:`thread`,id:e,turn:o.turn??0},title:o.title||a(`boardSession`),steps:o.steps,stream:o.stream,language:o.language,recordChecks:!1}):(0,i.jsx)(_c,{label:a(`loading`)})}function pd({rpc:e,t,language:n,dsh:r}){return ce({rpc:e,t,language:n,dsh:r}).value}function md(e){return e?.meta&&typeof e.meta==`object`?e.meta:null}function hd(e){let t=pd(e);return(0,i.jsx)(_.Provider,{value:t,children:(0,i.jsx)(`div`,{className:`aha aha-card`,style:{height:`auto`,display:`flex`,flexDirection:`column`,gap:8,margin:`6px 0`,padding:`10px 12px`},children:(0,i.jsx)(s,{fallback:({error:t,retry:n})=>(0,i.jsx)(l,{t:e.t,error:t,place:`card`,onRetry:n}),children:(0,i.jsx)(gd,{...e})})})})}function gd({toolName:e,phase:t,block:n,dsh:a,inputActions:o,t:s,callId:c}){let l=md(n),u=n?.args?.text?.(`topic`)??n?.args?.text?.(`goal`)??``,d=t!==`result`,f=t===`result`&&n?.isError;return(0,r.useEffect)(()=>{if(e!==`aha_whiteboard`||t!==`result`||!l?.threadId)return;let r=typeof n?.time!=`number`||Date.now()-n.time<12e4,i=`aha-tutor:opened:${c}`;try{if(!r||window.sessionStorage.getItem(i))return;window.sessionStorage.setItem(i,`1`)}catch{if(!r)return}a.openBoardTab({threadId:l.threadId,jobId:l.jobId})},[e,t,l?.threadId]),f?(0,i.jsx)(`span`,{className:`aha-error`,children:s(`errorGeneric`,{message:(n.content??[]).map(e=>e.text??``).join(` `).slice(0,200)})}):e===`aha_whiteboard`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧑‍🏫`,(0,i.jsx)(`b`,{children:s(`toolBoardTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.threadId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>a.openBoardTab({threadId:l.threadId,jobId:l.jobId}),children:s(`openBoard`)}):null]}):e===`aha_quiz`?d||!l?.items?(0,i.jsxs)(`span`,{className:`aha-row`,children:[(0,i.jsx)(`span`,{className:`aha-spinner`}),s(`makingPractice`)]}):(0,i.jsx)(_d,{items:l.items,topic:l.topic,inputActions:o}):e===`aha_course`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🎓`,(0,i.jsx)(`b`,{children:s(`modeCourse`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.goal??u})]}),l?.courseId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>fe(a,`craft`,{courseId:l.courseId}),children:s(`open`)}):null]}):e===`aha_cheatsheet`?(0,i.jsxs)(`div`,{className:`aha-spread`,children:[(0,i.jsxs)(`span`,{className:`aha-row`,style:{gap:8},children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`📄`,(0,i.jsx)(`b`,{children:s(`sheetTitle`)}),(0,i.jsx)(`span`,{className:`aha-hint`,children:l?.title??u})]}),l?.sheetId?(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-size":`sm`,onClick:()=>fe(a,`sheet`,{sheetId:l.sheetId}),children:s(`open`)}):null]}):(0,i.jsxs)(`span`,{className:`aha-hint`,children:[d?(0,i.jsx)(`span`,{className:`aha-spinner`}):`🧠`,` `,s(`navProfile`)]})}function _d({items:e,topic:t,inputActions:n}){let{t:a,language:o}=v(),[s,c]=(0,r.useState)(0),[l,u]=(0,r.useState)([]),d=e[s],f=(0,r.useMemo)(()=>l.map((e,t)=>`${t+1}. ${e.correct?`✔`:e.partial?`◐`:`✘`} ${e.answer}`).join(`
567
+ `),[l]);if(!d){let r=l.filter(e=>e.correct).length;return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsx)(`b`,{children:a(`practiceDone`,{correct:r,total:e.length})}),n?.setDraft?(0,i.jsx)(`div`,{children:(0,i.jsx)(`button`,{type:`button`,className:`aha-btn`,"data-kind":`primary`,"data-size":`sm`,onClick:()=>n.setDraft(`${t??``} ${a(`practiceDone`,{correct:r,total:e.length})}\n${f}`),children:a(`submit`)})}):null]})}return(0,i.jsxs)(`div`,{className:`aha-col`,children:[(0,i.jsxs)(`span`,{className:`aha-hint`,children:[a(`checkTitle`),` · `,s+1,`/`,e.length]}),(0,i.jsx)(Bc,{item:d,language:o===`zh`?`zh-CN`:`en`,compact:!0,onResult:e=>u(t=>[...t,{...e,answer:d.prompt.slice(0,60)}]),onContinue:()=>c(e=>e+1)},s)]})}let vd=`ahaTutor`,yd={appName:`开窍`,appTagline:`AI 私人老师`,navHome:`首页`,navCourses:`我的课程`,navMaterials:`资料库`,navStudio:`学习工具`,navAssist:`即时答疑`,navShorts:`讲解短片`,navPlan:`学习计划`,navProfile:`我的画像`,navSettings:`设置`,navAbout:`关于作者`,heroTitle:`今天想把什么弄懂?`,heroHint:`说出你想学的东西,或者丢一本教材进来。我会先了解你,再为你量身做一门课,在白板上一步步讲给你听。`,heroPlaceholder:`比如:三周内搞懂线性代数里的特征值|把这份讲义变成一门课|量子隧穿到底是怎么回事`,modeCourse:`定制一门课`,modeExplain:`讲个概念`,modeSolve:`陪我解题`,modeVisualize:`画出来看看`,modeDigest:`消化长文档`,modeShort:`两分钟短片`,attach:`添加资料`,attached:`已附 {count} 份资料`,start:`开始`,quickStart:`跳过提问,直接出课`,continueLearning:`继续学习`,todayPlan:`今天的安排`,noPlanToday:`今天没有安排,去建一门课或者休息一下吧。`,recentWork:`最近做的`,sampleCourses:`示例课程`,sampleHint:`不花 token 也能先体验白板课堂。`,importSample:`加入我的课程`,coursesTitle:`我的课程`,filterAll:`全部`,filterActive:`学习中`,filterDone:`已学完`,filterArchived:`已归档`,searchCourses:`搜索课程`,noCourses:`还没有课程。回到首页,告诉我你想学什么。`,importPack:`导入课程包`,lessonsCount:`{done}/{total} 讲`,minutesLeft:`还剩约 {minutes} 分钟`,statusIntake:`待回答问题`,statusBlueprint:`待确认蓝图`,statusReady:`可以学习`,nextUp:`下一讲:{title}`,craftQuestionsTitle:`先认识一下你`,craftQuestionsHint:`回答几个问题,课程会按你的情况来设计。拿不准的可以跳过。`,craftOther:`其他(自己写)`,craftPace:`学习节奏`,paceIntensive:`冲刺`,paceIntensiveHint:`约 6 周,抓重点`,paceBalanced:`稳步`,paceBalancedHint:`约 3 个月,基础 + 练习 + 项目`,paceRelaxed:`不设期限`,paceRelaxedHint:`慢慢来,挖得更深`,weeklyMinutes:`每周大约能学多久`,minutesUnit:`{minutes} 分钟`,deadline:`截止日期(可选)`,makeBlueprint:`生成课程蓝图`,thinkingQuestions:`正在想该问你什么…`,designingBlueprint:`正在设计课程蓝图…`,blueprintTitle:`课程蓝图`,blueprintHint:`这是为你设计的课程结构。可以直接改标题、删减或调整顺序,也可以用一句话让我改。`,reviseLabel:`用一句话修改`,revisePlaceholder:`比如:多加一些编程实战;第二单元讲浅一点;去掉第 3 讲`,revise:`修改`,revising:`正在修改…`,addLesson:`加一讲`,addLecture:`加一章`,addUnit:`加一个单元`,moveUp:`上移`,moveDown:`下移`,remove:`删除`,projects:`实战项目`,confirmCourse:`确认,生成整门课`,confirming:`正在准备练习和项目… {done}/{total}`,courseReady:`课程已就绪`,unitN:`第 {n} 单元`,lectureN:`第 {n} 章`,estMinutes:`{minutes} 分钟`,saveEdits:`保存修改`,saved:`已保存`,tabOutline:`大纲`,tabPractice:`练习与测验`,tabSheets:`速查表`,tabCards:`闪卡`,tabProjects:`项目`,tabProgress:`进度`,learn:`学习`,practice:`练习`,review:`复习`,remedial:`巩固`,exportPack:`导出课程包`,exportWithProgress:`连同我的学习进度`,rename:`重命名`,archive:`归档`,unarchive:`取消归档`,deleteCourse:`删除课程`,deleteConfirm:`删除后无法恢复。确定删除「{title}」吗?`,cancel:`取消`,confirm:`确定`,close:`关闭`,back:`返回`,retry:`重试`,generate:`生成`,regenerate:`重新生成`,generating:`正在生成…`,open:`打开`,unitQuiz:`单元测验`,unitSheet:`单元速查表`,mastery:`掌握度`,conceptMastery:`知识点掌握情况`,preparingLesson:`老师正在备课…`,bufferingLesson:`下一部分马上写好…`,play:`播放`,pause:`暂停`,prevStep:`上一步`,nextStep:`下一步`,speed:`语速`,voiceOn:`声音开`,voiceOff:`静音`,voiceDownCloud:`云端语音用不了:{reason}这节课先静音往下讲。`,voiceDownSystem:`朗读用不了:{reason}这节课先静音往下讲。`,openSettings:`去设置`,captions:`字幕`,raiseHand:`举手提问`,askPlaceholder:`哪里没听懂?直接问`,ask:`提问`,answering:`老师在想怎么回答…`,reexplain:`换个讲法`,styleAnalogy:`打个比方`,styleVisual:`画图讲`,styleExample:`举个例子`,styleSimpler:`讲简单点`,styleDeeper:`讲深一点`,stepOf:`第 {current}/{total} 步`,checkTitle:`小测一下`,confidence:`你有多确定?`,confSure:`很确定`,confUnsure:`有点犹豫`,confGuess:`猜的`,submit:`提交`,correct:`答对了`,incorrect:`不太对`,partial:`部分正确`,continue:`继续`,skip:`跳过`,hint:`提示`,yourAnswer:`你的答案`,grading:`老师在批改…`,lessonDone:`这一讲讲完了`,selfRate:`你觉得自己掌握得怎么样?`,rate1:`没懂`,rate3:`一般`,rate5:`很清楚`,nextLesson:`下一讲`,doPractice:`去做练习`,backToCourse:`回到课程`,remedialAdded:`我给你加了一节巩固课:{title}`,challengeNote:`这部分你掌握得很好,接下来会讲得更深一些。`,replay:`重新讲一遍`,regenerateLesson:`重新备课`,exportBoard:`导出板书`,practiceTitle:`练习`,check:`检查答案`,checked:`已检查`,score:`得分 {score}`,practiceDone:`本组练习完成:答对 {correct}/{total}`,showExplanation:`看解析`,makingPractice:`正在出题…`,cardsTitle:`闪卡`,cardsDue:`待复习 {count} 张`,flip:`点击翻面`,again:`忘了`,hard:`困难`,good:`记得`,easy:`简单`,cardsDone:`这一轮复习完成了!`,makingCards:`正在制作闪卡…`,sheetTitle:`速查表`,columns:`列数`,fontSize:`字号`,highlight:`高亮重点`,print:`打印`,hideSection:`隐藏`,showSection:`显示`,makingSheet:`正在整理速查表…`,projectBrief:`项目说明`,milestones:`里程碑`,rubric:`评分标准`,openWorkspace:`打开项目工作区`,openingWorkspace:`正在准备项目文件夹…`,workspaceReady:`项目文件夹在:{path}`,workspaceSession:`已在 DSH 中打开项目会话`,workspaceManual:`在 DSH 里把这个文件夹添加为工作区,就能让编程 Agent 陪你完成项目。`,copyPath:`复制路径`,submitProject:`提交作品`,submitNotes:`写点说明(做了什么、遇到的问题)`,includeFiles:`同时提交项目文件夹里的文件`,reviewing:`老师在看你的作品…`,reviewTotal:`总分 {total}/{max}`,strengths:`做得好的地方`,nextSteps:`可以改进的地方`,submissions:`历次提交`,materialsTitle:`资料库`,materialsHint:`上传教材、讲义、论文或网页,用来建课、做速查表和闪卡,讲课时也会引用原文页码。`,uploadFiles:`上传文件`,dropHere:`把文件拖到这里(PDF、Word、PPT、Markdown、文本、图片)`,addUrl:`添加网页`,urlPlaceholder:`https://…`,reading:`正在读取…`,pages:`{count} 页`,slides:`{count} 张幻灯片`,makeCourse:`用它建课`,makeSheet:`速查表`,makeCards:`闪卡`,makeNotes:`笔记`,makeQuiz:`测验`,digest:`消化`,digestTitle:`文档消化`,overview:`概要`,structure:`结构`,keyIdeas:`核心观点`,arguments:`论点与论据`,glossary:`术语表`,discussion:`值得思考的问题`,imageNeedsVision:`图片需要支持识图的模型才能读取。`,noMaterials:`资料库是空的。`,studioTitle:`学习工具`,studioHint:`用资料库里的资料一键生成学习材料。`,pickMaterials:`选择资料`,sheets:`速查表`,notes:`笔记`,decks:`闪卡组`,quizzes:`测验`,focusPlaceholder:`重点(可选),比如:期中考试范围第 3–6 章`,assistTitle:`即时答疑`,assistHint:`不用建课,有问题直接问。老师会在白板上讲给你听。`,assistPlaceholder:`想问什么?可以贴题目、概念或附上资料`,followUp:`继续追问`,history:`历史记录`,newThread:`新的问题`,shortsTitle:`讲解短片`,shortsHint:`输入一个主题或贴一个网址,生成一段约两分钟、能分享的白板讲解。`,topicPlaceholder:`比如:为什么天空是蓝色的`,makeShort:`生成短片`,exportVideo:`导出视频`,exporting:`正在录制视频…{percent}%`,exportNeedsCloud:`浏览器语音无法录进视频,导出的视频会带字幕但没有声音。在设置里配置云端语音即可导出有声版。`,exportUnsupported:`当前环境不支持导出视频。`,planTitle:`学习计划`,planHint:`根据你所有在学的课程、每周时间和截止日期自动排课,并留出复习时间。`,studyDays:`学习日`,weekdays:`日,一,二,三,四,五,六`,exams:`考试与截止日期`,addExam:`添加`,examTitle:`名称`,examDay:`日期`,deadlineRisk:`「{course}」按现在的节奏会在 {finish} 学完,晚于截止日期 {deadline}。建议每周提高到约 {minutes} 分钟。`,startReview:`开始复习`,reviewDue:`有 {count} 个知识点该复习了`,nothingToReview:`暂时没有要复习的内容。`,savePlan:`保存`,lessonItem:`学习`,reviewItem:`复习`,examItem:`考试`,today:`今天`,profileTitle:`我的画像`,profileHint:`老师会记住这些信息,让每门课都更贴合你。你可以随时修改或清空。`,background:`背景`,goals:`目标`,strengthsLabel:`擅长`,weaknesses:`薄弱点`,learningStyle:`喜欢的讲解方式`,memoryNotes:`老师的备忘`,clearProfile:`清空画像`,clearProfileConfirm:`清空后老师会忘记你的背景和偏好。确定吗?`,onePerLine:`每行一条`,settingsTitle:`设置`,modelsTitle:`模型`,teachModel:`出课与讲课`,quickModel:`批改与问答`,followDefault:`跟随 DSH 默认模型`,modelsHint:`讲课质量主要取决于「出课与讲课」模型;批改和课堂提问可以用更快的模型。`,voiceTitle:`语音讲解`,engine:`语音来源`,engineBrowser:`系统语音(免费)`,engineCloud:`云端语音`,engineOff:`不朗读`,browserVoice:`系统音色`,autoVoice:`自动选择`,noVoiceForLanguage:`没有找到适合当前语言的系统音色。可以在系统设置里安装中文语音,或改用云端语音。`,cloudProvider:`云端服务`,providerOpenai:`OpenAI 兼容接口`,providerVolcengine:`火山引擎(豆包语音)`,providerMinimax:`MiniMax`,providerAzure:`Azure 语音`,field_baseUrl:`接口地址`,field_model:`模型`,field_voice:`音色`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`区域`,field_apiKey:`密钥`,keySaved:`已保存密钥`,keyMissing:`未保存密钥`,saveKey:`保存密钥`,clearKey:`清除密钥`,testVoice:`试听`,testSentence:`你好,我是你的私人老师。我们一起把难的东西弄懂。`,voiceRate:`默认语速`,boardTheme:`白板外观`,themeAuto:`跟随系统`,themeLight:`白板`,themeDark:`黑板`,versionTitle:`插件版本`,versionCurrent:`当前版本`,versionLatest:`最新版本`,versionCheck:`检查更新`,versionChecking:`正在检查…`,versionFailed:`无法检查最新版本。`,versionUpToDate:`已是最新版本。`,versionAvailable:`发现新版本 v{version}。`,versionLinked:`当前是本地开发安装,请在插件仓库拉取最新代码并重新构建。`,versionManual:`没找到这个插件所在的 profile,请到 DSH 插件页按精确版本安装:dsh-aha-tutor@{version}。`,versionUpdate:`更新插件`,versionUpdating:`正在更新…`,versionUpdateFailed:`更新失败,请稍后重试,或到 DSH 插件页按精确版本手动安装。`,versionPending:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,请稍后再试。`,versionPendingUntil:`v{version} 刚发布不久,DSH 的 pnpm 要等过了发布冷却期才会安装,{time} 之后可以更新。`,versionUpdated:`已更新到 v{version}。请完全退出并重新打开 DSH 桌面版,新版本才会生效(只刷新页面不够)。`,privacyNote:`课程、进度和资料都只保存在这台电脑的 DSH 数据目录里。`,aboutTitle:`关于作者`,aboutRole:`「开窍 · AI 私人老师」的作者`,aboutIntro:`开窍免费开源,赞赏全凭心意。如果它帮你弄懂了某个卡了很久的知识点,欢迎扫码支持,让小窍继续长大。`,aboutRepo:`GitHub 仓库`,aboutIssues:`问题反馈`,aboutSupport:`支持作者`,aboutWechat:`微信赞赏`,aboutAlipay:`支付宝`,aboutScan:`用手机扫一扫上面的码`,errorGeneric:`出了点问题:{message}`,crashPage:`这一页出了点问题,没能显示出来。`,crashPageHint:`可以重试一次,或者先回到首页。`,crashPart:`这部分内容出了点问题,没能显示出来。`,backHome:`回到首页`,loading:`加载中…`,empty:`这里还什么都没有。`,copied:`已复制`,minutes:`分钟`,untitled:`未命名`,delete:`删除`,edit:`编辑`,save:`保存`,all:`全部`,mode:`模式`,boardSession:`白板讲解`,toolBoardTitle:`老师在白板上讲解`,openBoard:`打开白板`,panelLabel:`开窍 · AI 私人老师`,copyCode:`复制`,footnotes:`脚注`,"err_llm-auth":`模型未登录或密钥无效,请在 DSH 设置里检查模型服务。`,"err_llm-quota":`模型额度不足或请求太频繁,稍后再试。`,"err_llm-context":`资料太长,超出了模型的上下文。少选一些资料,或换一个上下文更大的模型。`,"err_llm-unavailable":`所选模型不可用,请在开窍设置里换一个模型。`,"err_llm-timeout":`模型响应超时,请重试。`,"err_bad-output":`模型这次没给出可用的结果,请重试,或在设置里换一个更强的模型。`,prepThinking:`构思`,prepWriting:`写板书`,prepStarting:`正在联系模型…`,prepThinkingDetail:`老师在想这一讲怎么讲,已构思 {chars} 字`,prepStep:`正在写第 {n} 步`,prepCounts:`已写好 {steps} 步 · 共 {chars} 字`,prepSeconds:`已用 {seconds} 秒`,dayLabel:`{month} 月 {day} 日 · 周{weekday}`,exportPdf:`PDF 文档(一页一张板书)`,exportPng:`PNG 图片(每页一张)`,exportMarkdown:`Markdown 文本`,exportingBoard:`正在导出板书…{done}/{total}`,animationStill:`动画(在课堂里播放)`,monthLabel:`{year} 年 {month} 月`,prevMonth:`上个月`,nextMonth:`下个月`,markDone:`标记为已完成`,unmarkDone:`取消完成`,checkedAuto:`已在课程里完成`,dayEmpty:`这天没有安排。`,webResearch:`联网查资料`,webResearchHint:`建课前先用 DSH 的网页搜索查一查这个主题,出题和设计课程时参考`,researching:`正在联网查资料…`,researchFound:`参考了 {count} 个网上来源`,researchSkipped:`未联网检索:{reason}`,"researchSkipped_no-credential":`DSH 还没有配置 DeepSeek 密钥,网页搜索要用它`,researchSkipped_unavailable:`这个 DSH 没有可用的网页搜索`,researchSkipped_failed:`搜索出错了`,researchSkipped_empty:`没有搜到合适的资料`,courseSources:`参考来源`,buildResearch:`参考 {count} 个网上来源`,"err_llm-empty":`模型这次没有返回内容,请重试。如果一直这样,可以在开窍设置里换一个模型。`,"err_llm-failed":`调用模型出错了,请稍后重试。`,nextStepTitle:`下一步`,nextStepReview:`有 {count} 个知识点到了复习的时候`,nextStepWeak:`「{concept}」还比较薄弱,先练一练`,nextStepLesson:`接着学「{title}」`,nextStepDone:`这门课都学完了,做一次单元测验检验一下吧`,practiceThis:`练习这一讲`,streakCount:`连对 {count}`,keysHint:`键盘:1–4 选择 · Enter 提交或继续 · H 看提示`,starsLabel:`{count} 颗星`,accuracy:`正确率`,bestStreak:`最长连对`,masteryChange:`这一轮之后的掌握程度`,stageNone:`未开始`,stageWeak:`薄弱`,stageLearning:`学习中`,stageProficient:`熟练`,stageMastered:`掌握`,nextRelearn:`有几个点还没吃透,回到这一讲再听一遍会更稳。`,nextReview:`基本会了,但还不够牢,复习一轮会记得更久。`,nextQuiz:`掌握得很扎实,可以挑战单元测验了。`,nextLessonStep:`可以继续往下学了。`,nextCourse:`这一部分练完了。`,relearnLesson:`回到这一讲`,reviewCourse:`复习这门课`,editOutline:`编辑课程大纲`,saveAndBack:`保存并返回`,extendCourse:`让老师续写一个单元`,extendInstruction:`在课程最后再加一个单元:承接已有内容,往前推进一步,保持同样的难度梯度;已有的单元保持不变。`,proposalTitle:`老师的修改建议`,proposalNoChange:`这次修改没有改动任何一讲。`,applyProposal:`应用修改`,discardProposal:`放弃`,proposalApplied:`已应用修改`,diffAdded:`新增`,diffRemoved:`删除`,diffRenamed:`改名`,diffChanged:`调整`,diffUnit:`单元「{title}」`,reworkLesson:`让老师改这一讲`,splitLesson:`拆成两讲`,deepenLesson:`讲深一些`,splitDone:`已拆成两讲,记得保存`,deepenDone:`已改得更深,记得保存`,confirmRemoveUnit:`删除单元「{title}」和其中所有的课?`,confirmRemoveLecture:`删除「{title}」和其中所有的课?`,confirmRemoveStarted:`「{title}」已经开始学了,删除后这一讲的板书和进度都不再显示。确定删除?`,craftSize:`课程规模`,sizeAuto:`让老师决定`,sizeAutoHint:`按你的目标定,一个小问题可能只要一两讲`,sizeShort:`精简`,sizeShortHint:`3–8 讲,抓住最关键的部分`,sizeStandard:`标准`,sizeStandardHint:`10–20 讲,基础、练习加一个应用项目`,sizeFull:`完整`,sizeFullHint:`25–45 讲,系统深入,留出拓展的空间`,buildAnswers:`整理你的回答`,buildMaterials:`阅读你的资料`,buildUnits:`规划单元`,buildLessons:`写每一讲`,buildLessonsSoFar:`写每一讲:已写好 {count} 讲`,workPlaceholder:`一步一行写出你的过程,公式写在 $…$ 里,例如 $x^2+6x+9=(x+3)^2$`,workPreview:`公式预览`,wrongStep:`出错的一步`,fixedStep:`应该写成`,correction:`订正`,correctionOf:`订正:{tag}`,correcting:`老师在板上订正…`,seeCorrection:`看老师订正`,lessonGoals:`课堂要点`,transcript:`讲解记录`,showPanel:`讲解记录`,hidePanel:`收起侧栏`,panelTitle:`课堂侧栏`,boardFont:`板书字体`,fontHand:`手写体`,fontStandard:`标准体`,digestMissing:`有 {count} 部分没读成功({parts}),下面的结果不含这些内容。`,redigest:`重新消化`,revisingSoFar:`正在修改…已写好 {count} 节课`,"err_bad-url":`这个网址不能导入:只支持公开网站的 http 或 https 地址,不支持本机、局域网和带账号密码的地址。`,err_network:`网页打不开或加载超时,请检查网址后重试。`,err_http:`网页返回了错误,没能导入。`,blueprintSoFar:`正在设计课程蓝图…已写好 {count} 节课`,reexplainedAs:`换个讲法:{style}`,digestReading:`正在通读全文:已读 {done}/{total} 部分`,digestWriting:`正在汇总全文要点`,keepsRunning:`可以先离开这一页,生成会在后台继续。`,err_cancelled:`已取消。`,courseCreatedInChat:`课程「{title}」已创建,可以在「开窍」里继续。`,err_failed:`出了点问题,请稍后再试。`,err_invalid:`这个请求没法处理。请刷新页面后再试;如果还是这样,请退出并重新打开 DSH。`,"err_not-found":`找不到这项内容,它可能已经被删除了。`,err_forbidden:`没有权限做这件事。`,"err_unknown-endpoint":`插件刚更新过,请退出并重新打开 DSH 后再试。`,err_aborted:`上传中断了,请重试。`,err_connection:`连不上 DSH,请确认它还开着,然后重试。`,err_missing:`这项任务找不到了,可能是 DSH 重启过,请重试。`,"err_llm-missing":`还没有可用的模型,请先在 DSH 设置里配置一个模型服务。`,"err_no-board":`板书还没写好,等第一步出来再试。`,"err_empty-question":`先写下你的问题。`,"err_empty-goal":`先说说你想学什么,或者添加一份资料。`,"err_empty-change":`先写下你想怎么改。`,"err_no-blueprint":`还没有课程蓝图,请先生成蓝图。`,"err_no-proposal":`没有待确认的修改,它可能已经应用或放弃了。`,"err_bad-pack":`这个文件不是能导入的课程包。`,"err_pack-too-large":`这个课程包太大了,导入不了。`,"err_pack-too-new":`这个课程包是新版开窍导出的,请先更新插件再导入。`,"err_nothing-to-review":`还没有可以评阅的内容:先写几句说明,或在项目文件夹里做些修改。`,"err_cannot-tick":`只能勾选今天或之前的学习项。`,"err_exam-incomplete":`考试需要填写名称和日期。`,"err_no-material":`先选至少一份资料。`,"err_material-no-text":`所选资料里没有可读的文字,图片和扫描版 PDF 读不出文字。`,"err_empty-topic":`先写下一个主题,或者填一个网址。`,"err_no-credentials":`这个 DSH 配置里用不了凭据存储,没法保存密钥。`,"err_bad-key":`密钥格式不对:应为 8–1024 个英文字母、数字或符号,不能有空格。`,err_unsupported:`不支持这种文件。可以上传 PDF、Word、PowerPoint、图片,或 .md、.txt、.csv 这类文本文件。`,"err_old-office":`不支持旧版 .doc/.ppt 文件,请另存为 .docx/.pptx 后再上传。`,err_encrypted:`这个 PDF 有密码保护,请先去掉密码再上传。`,err_unreadable:`这个文件读不出来,可能已经损坏,可以重新导出一份再试。`,"err_no-text":`这个文件里没有读到文字。如果是扫描版 PDF,需要先转成能选中文字的版本。`,err_empty:`这个文件是空的。`,"err_too-large":`文件超过 60 MB,太大了,可以拆成几份再上传。`,"err_image-too-large":`图片要小于 10 MB。`,"err_page-too-large":`这个网页太大了,导入不了。`,"err_page-no-text":`这个网页上没有读到正文。`,"err_tts-address":`语音服务地址不对:要填完整的 https 网址(只有本机地址可以用 http),不能带账号密码。`,"err_tts-app-id":`火山引擎语音需要填写 App ID。`,"err_tts-azure":`Azure 的区域或音色名称不对,请照 Azure 门户里的写法填写。`,"err_tts-config":`语音服务的设置不完整,请在设置里检查。`,"err_tts-network":`连不上语音服务,请检查网络和服务地址。`,"err_tts-timeout":`语音服务响应超时,请稍后再试。`,"err_tts-too-large":`语音服务返回的音频太大了。`,"err_tts-auth":`语音服务拒绝了密钥,请检查密钥是否正确。`,"err_tts-no-key":`还没有保存这个语音服务的密钥,请先在设置里填写。`,"err_tts-rate-limit":`语音服务请求太频繁,请稍后再试。`,"err_tts-server":`语音服务出错了,请稍后再试。`,"err_tts-request":`语音服务拒绝了这次请求,请检查音色等设置。`,"err_tts-empty":`没有要朗读的文字。`,"err_tts-response":`语音服务没有返回可用的音频,请稍后再试,或换一个音色。`,"err_tts-failed":`语音合成失败了,请稍后再试。`,err_speech:`朗读没有成功,可以换一个系统音色,或者改用云端语音。`,err_playback:`音频没能播放,请再试一次。`,exportFailed:`导出没有成功,请再试一次。`},bd={appName:`Aha`,appTagline:`your AI tutor`,navHome:`Home`,navCourses:`My courses`,navMaterials:`Library`,navStudio:`Study tools`,navAssist:`Ask anything`,navShorts:`Explainer shorts`,navPlan:`Study plan`,navProfile:`My profile`,navSettings:`Settings`,navAbout:`About the author`,heroTitle:`What do you want to finally understand today?`,heroHint:`Tell me what you want to learn, or drop in a textbook. I will get to know you, build a course around you, and teach it step by step on the whiteboard.`,heroPlaceholder:`e.g. Get eigenvalues in three weeks | Turn these lecture notes into a course | How does quantum tunneling actually work?`,modeCourse:`Build a course`,modeExplain:`Explain a concept`,modeSolve:`Solve with me`,modeVisualize:`Show me visually`,modeDigest:`Digest a long read`,modeShort:`Two-minute short`,attach:`Add material`,attached:`{count} material(s) attached`,start:`Start`,quickStart:`Skip questions, build now`,continueLearning:`Continue learning`,todayPlan:`Today`,noPlanToday:`Nothing planned today. Start a course or take a break.`,recentWork:`Recent`,sampleCourses:`Sample courses`,sampleHint:`Try the whiteboard classroom without spending tokens.`,importSample:`Add to my courses`,coursesTitle:`My courses`,filterAll:`All`,filterActive:`In progress`,filterDone:`Completed`,filterArchived:`Archived`,searchCourses:`Search courses`,noCourses:`No courses yet. Go to Home and tell me what you want to learn.`,importPack:`Import course pack`,lessonsCount:`{done}/{total} lessons`,minutesLeft:`about {minutes} min left`,statusIntake:`Questions pending`,statusBlueprint:`Blueprint to confirm`,statusReady:`Ready`,nextUp:`Next: {title}`,craftQuestionsTitle:`Let me get to know you`,craftQuestionsHint:`A few answers let me shape the course around you. Skip anything you are unsure about.`,craftOther:`Other (write your own)`,craftPace:`Pace`,paceIntensive:`Sprint`,paceIntensiveHint:`~6 weeks, essentials first`,paceBalanced:`Steady`,paceBalancedHint:`~3 months, foundations + practice + project`,paceRelaxed:`No deadline`,paceRelaxedHint:`Take your time, go deeper`,weeklyMinutes:`Time per week`,minutesUnit:`{minutes} min`,deadline:`Deadline (optional)`,makeBlueprint:`Design my course`,thinkingQuestions:`Thinking about what to ask you…`,designingBlueprint:`Designing your course blueprint…`,blueprintTitle:`Course blueprint`,blueprintHint:`Here is the course I designed for you. Edit titles, remove or reorder anything, or tell me what to change.`,reviseLabel:`Change it in one sentence`,revisePlaceholder:`e.g. More hands-on coding; make unit 2 lighter; drop lesson 3`,revise:`Revise`,revising:`Revising…`,addLesson:`Add lesson`,addLecture:`Add chapter`,addUnit:`Add unit`,moveUp:`Move up`,moveDown:`Move down`,remove:`Remove`,projects:`Projects`,confirmCourse:`Confirm and build the course`,confirming:`Preparing practice and projects… {done}/{total}`,courseReady:`Your course is ready`,unitN:`Unit {n}`,lectureN:`Chapter {n}`,estMinutes:`{minutes} min`,saveEdits:`Save changes`,saved:`Saved`,tabOutline:`Outline`,tabPractice:`Practice & quizzes`,tabSheets:`Cheat sheets`,tabCards:`Flashcards`,tabProjects:`Projects`,tabProgress:`Progress`,learn:`Learn`,practice:`Practice`,review:`Review`,remedial:`Revisit`,exportPack:`Export course pack`,exportWithProgress:`Include my progress`,rename:`Rename`,archive:`Archive`,unarchive:`Unarchive`,deleteCourse:`Delete course`,deleteConfirm:`This cannot be undone. Delete "{title}"?`,cancel:`Cancel`,confirm:`Confirm`,close:`Close`,back:`Back`,retry:`Retry`,generate:`Generate`,regenerate:`Regenerate`,generating:`Generating…`,open:`Open`,unitQuiz:`Unit quiz`,unitSheet:`Unit cheat sheet`,mastery:`Mastery`,conceptMastery:`Concept mastery`,preparingLesson:`Your tutor is preparing the lesson…`,bufferingLesson:`Writing the next part…`,play:`Play`,pause:`Pause`,prevStep:`Previous step`,nextStep:`Next step`,speed:`Speed`,voiceOn:`Sound on`,voiceOff:`Muted`,voiceDownCloud:`The cloud voice is not working: {reason} This lesson goes on without sound.`,voiceDownSystem:`The system voice is not working: {reason} This lesson goes on without sound.`,openSettings:`Settings`,captions:`Captions`,raiseHand:`Raise hand`,askPlaceholder:`What was unclear? Just ask`,ask:`Ask`,answering:`Thinking about your question…`,reexplain:`Explain differently`,styleAnalogy:`With an analogy`,styleVisual:`With a drawing`,styleExample:`With an example`,styleSimpler:`More simply`,styleDeeper:`In more depth`,stepOf:`Step {current}/{total}`,checkTitle:`Quick check`,confidence:`How sure are you?`,confSure:`Sure`,confUnsure:`Not quite`,confGuess:`Guessing`,submit:`Submit`,correct:`Correct`,incorrect:`Not quite`,partial:`Partly right`,continue:`Continue`,skip:`Skip`,hint:`Hint`,yourAnswer:`Your answer`,grading:`Grading…`,lessonDone:`Lesson complete`,selfRate:`How well do you feel you got it?`,rate1:`Lost`,rate3:`Okay`,rate5:`Crystal clear`,nextLesson:`Next lesson`,doPractice:`Practice`,backToCourse:`Back to course`,remedialAdded:`I added a revisit lesson for you: {title}`,challengeNote:`You have this down; the next lessons will go deeper.`,replay:`Replay lesson`,regenerateLesson:`Re-prepare lesson`,exportBoard:`Export board`,practiceTitle:`Practice`,check:`Check`,checked:`Checked`,score:`Score {score}`,practiceDone:`Set complete: {correct}/{total} correct`,showExplanation:`Explanation`,makingPractice:`Writing practice…`,cardsTitle:`Flashcards`,cardsDue:`{count} due`,flip:`Click to flip`,again:`Again`,hard:`Hard`,good:`Good`,easy:`Easy`,cardsDone:`Review round complete!`,makingCards:`Making flashcards…`,sheetTitle:`Cheat sheet`,columns:`Columns`,fontSize:`Font size`,highlight:`Highlight key items`,print:`Print`,hideSection:`Hide`,showSection:`Show`,makingSheet:`Compiling the cheat sheet…`,projectBrief:`Brief`,milestones:`Milestones`,rubric:`Rubric`,openWorkspace:`Open project workspace`,openingWorkspace:`Preparing the project folder…`,workspaceReady:`Project folder: {path}`,workspaceSession:`Opened a project session in DSH`,workspaceManual:`Add this folder as a workspace in DSH and a coding agent can help you build it.`,copyPath:`Copy path`,submitProject:`Submit work`,submitNotes:`Notes (what you built, what was hard)`,includeFiles:`Include the files in the project folder`,reviewing:`Reviewing your work…`,reviewTotal:`Total {total}/{max}`,strengths:`What went well`,nextSteps:`What to improve`,submissions:`Submissions`,materialsTitle:`Library`,materialsHint:`Upload textbooks, notes, papers or web pages to build courses, cheat sheets and flashcards. Lessons cite their pages.`,uploadFiles:`Upload files`,dropHere:`Drop files here (PDF, Word, PowerPoint, Markdown, text, images)`,addUrl:`Add web page`,urlPlaceholder:`https://…`,reading:`Reading…`,pages:`{count} pages`,slides:`{count} slides`,makeCourse:`Build a course`,makeSheet:`Cheat sheet`,makeCards:`Flashcards`,makeNotes:`Notes`,makeQuiz:`Quiz`,digest:`Digest`,digestTitle:`Digest`,overview:`Overview`,structure:`Structure`,keyIdeas:`Key ideas`,arguments:`Claims and evidence`,glossary:`Glossary`,discussion:`Questions worth asking`,imageNeedsVision:`Images need a vision-capable model.`,noMaterials:`Your library is empty.`,studioTitle:`Study tools`,studioHint:`Turn library materials into study aids in one click.`,pickMaterials:`Pick materials`,sheets:`Cheat sheets`,notes:`Notes`,decks:`Flashcard decks`,quizzes:`Quizzes`,focusPlaceholder:`Focus (optional), e.g. midterm scope chapters 3–6`,assistTitle:`Ask anything`,assistHint:`No course needed. Ask, and your tutor explains it on the whiteboard.`,assistPlaceholder:`What do you want to know? Paste a problem, a concept, or attach material`,followUp:`Follow up`,history:`History`,newThread:`New question`,shortsTitle:`Explainer shorts`,shortsHint:`Give a topic or a link and get a shareable two-minute whiteboard explainer.`,topicPlaceholder:`e.g. Why is the sky blue?`,makeShort:`Make short`,exportVideo:`Export video`,exporting:`Recording video… {percent}%`,exportNeedsCloud:`System voices cannot be recorded, so the video will have captions but no sound. Set up a cloud voice in Settings to export with narration.`,exportUnsupported:`Video export is not supported here.`,planTitle:`Study plan`,planHint:`Built from all your active courses, your weekly time and deadlines, with room for reviews.`,studyDays:`Study days`,weekdays:`Sun,Mon,Tue,Wed,Thu,Fri,Sat`,exams:`Exams and deadlines`,addExam:`Add`,examTitle:`Title`,examDay:`Date`,deadlineRisk:`At this pace "{course}" ends on {finish}, after its deadline {deadline}. Try about {minutes} minutes a week.`,startReview:`Start review`,reviewDue:`{count} concept(s) due for review`,nothingToReview:`Nothing to review right now.`,savePlan:`Save`,lessonItem:`Lesson`,reviewItem:`Review`,examItem:`Exam`,today:`Today`,profileTitle:`My profile`,profileHint:`Your tutor remembers this to fit every course to you. Edit or clear it anytime.`,background:`Background`,goals:`Goals`,strengthsLabel:`Strengths`,weaknesses:`Weak spots`,learningStyle:`How I like things explained`,memoryNotes:`Tutor notes`,clearProfile:`Clear profile`,clearProfileConfirm:`Your tutor will forget your background and preferences. Continue?`,onePerLine:`One per line`,settingsTitle:`Settings`,modelsTitle:`Models`,teachModel:`Course design & teaching`,quickModel:`Grading & questions`,followDefault:`Follow the DSH default model`,modelsHint:`Lesson quality depends mostly on the teaching model; grading and in-class questions can use a faster one.`,voiceTitle:`Narration`,engine:`Voice source`,engineBrowser:`System voice (free)`,engineCloud:`Cloud voice`,engineOff:`Silent`,browserVoice:`System voice`,autoVoice:`Automatic`,noVoiceForLanguage:`No system voice found for this language. Install one in your OS settings or use a cloud voice.`,cloudProvider:`Cloud service`,providerOpenai:`OpenAI-compatible API`,providerVolcengine:`Volcengine (Doubao)`,providerMinimax:`MiniMax`,providerAzure:`Azure Speech`,field_baseUrl:`API address`,field_model:`Model`,field_voice:`Voice`,field_appId:`App ID`,field_cluster:`Cluster`,field_groupId:`Group ID`,field_region:`Region`,field_apiKey:`Key`,keySaved:`Key saved`,keyMissing:`No key saved`,saveKey:`Save key`,clearKey:`Remove key`,testVoice:`Test`,testSentence:`Hi, I am your tutor. Let us make the hard things make sense.`,voiceRate:`Default speed`,boardTheme:`Board look`,themeAuto:`Follow system`,themeLight:`Whiteboard`,themeDark:`Chalkboard`,versionTitle:`Plugin version`,versionCurrent:`Current`,versionLatest:`Latest`,versionCheck:`Check for updates`,versionChecking:`Checking…`,versionFailed:`Could not check the latest version.`,versionUpToDate:`You are on the latest version.`,versionAvailable:`Version v{version} is available.`,versionLinked:`Installed from a local checkout; pull and rebuild the plugin repository to update.`,versionManual:`Could not find the profile that owns this plugin. Install the exact version from the DSH Plugins page: dsh-aha-tutor@{version}.`,versionUpdate:`Update plugin`,versionUpdating:`Updating…`,versionUpdateFailed:`The update failed. Try again later, or install the exact version from the DSH Plugins page.`,versionPending:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes. Try again later.`,versionPendingUntil:`v{version} was published recently; DSH’s pnpm installs it once its release cooldown passes, after {time}.`,versionUpdated:`Updated to v{version}. Quit and reopen the DSH desktop app for it to take effect (refreshing the page is not enough).`,privacyNote:`Courses, progress and materials are stored only in DSH’s data folder on this computer.`,aboutTitle:`About the author`,aboutRole:`Author of Aha Tutor (开窍)`,aboutIntro:`Aha Tutor is free and open source, and tips are entirely optional. If it helped something finally click for you, a tip keeps Qiao growing.`,aboutRepo:`GitHub repository`,aboutIssues:`Report a problem`,aboutSupport:`Support the author`,aboutWechat:`WeChat`,aboutAlipay:`Alipay`,aboutScan:`Scan a code with your phone`,errorGeneric:`Something went wrong: {message}`,crashPage:`This page ran into a problem and could not be shown.`,crashPageHint:`Try again, or go back to the home page.`,crashPart:`This part ran into a problem and could not be shown.`,backHome:`Back to home`,loading:`Loading…`,empty:`Nothing here yet.`,copied:`Copied`,minutes:`min`,untitled:`Untitled`,delete:`Delete`,edit:`Edit`,save:`Save`,all:`All`,mode:`Mode`,boardSession:`Whiteboard`,toolBoardTitle:`Explaining on the whiteboard`,openBoard:`Open whiteboard`,panelLabel:`Aha · AI tutor`,copyCode:`Copy`,footnotes:`Footnotes`,"err_llm-auth":`The model is not signed in or its key is invalid. Check the model provider in DSH settings.`,"err_llm-quota":`The model quota is used up or requests are too frequent. Try again later.`,"err_llm-context":`The material is too long for this model. Pick fewer materials or a model with a larger context.`,"err_llm-unavailable":`The selected model is not available. Pick another one in Aha settings.`,"err_llm-timeout":`The model took too long. Try again.`,"err_bad-output":`The model did not return a usable result this time. Try again or pick a stronger model in settings.`,prepThinking:`Planning`,prepWriting:`Writing the board`,prepStarting:`Reaching the model…`,prepThinkingDetail:`Thinking the lesson through ({chars} characters so far)`,prepStep:`Writing step {n}`,prepCounts:`{steps} steps ready · {chars} characters`,prepSeconds:`{seconds}s so far`,dayLabel:`{weekday}, {month}/{day}`,exportPdf:`PDF (one board page per page)`,exportPng:`PNG images (one per page)`,exportMarkdown:`Markdown text`,exportingBoard:`Exporting the board… {done}/{total}`,animationStill:`Animation (plays in the lesson)`,monthLabel:`{month}/{year}`,prevMonth:`Previous month`,nextMonth:`Next month`,markDone:`Mark as done`,unmarkDone:`Mark as not done`,checkedAuto:`Done in the course`,dayEmpty:`Nothing planned for this day.`,webResearch:`Search the web first`,webResearchHint:`Before designing the course, look the subject up with DSH web search and use what it finds`,researching:`Searching the web…`,researchFound:`Drew on {count} web sources`,researchSkipped:`No web search: {reason}`,"researchSkipped_no-credential":`DSH has no DeepSeek key, which its web search needs`,researchSkipped_unavailable:`web search is not available in this DSH`,researchSkipped_failed:`the search failed`,researchSkipped_empty:`nothing useful came up`,courseSources:`Sources`,buildResearch:`Using {count} web sources`,"err_llm-empty":`The model returned nothing this time. Try again, or pick another model in Aha settings if it keeps happening.`,"err_llm-failed":`The model call failed. Try again in a moment.`,nextStepTitle:`Next step`,nextStepReview:`{count} concepts are due for review`,nextStepWeak:`“{concept}” is still weak; practise it first`,nextStepLesson:`Continue with “{title}”`,nextStepDone:`You have finished the course; check yourself with a unit quiz`,practiceThis:`Practise this lesson`,streakCount:`{count} in a row`,keysHint:`Keyboard: 1–4 to choose · Enter to submit or continue · H for a hint`,starsLabel:`{count} stars`,accuracy:`accuracy`,bestStreak:`best streak`,masteryChange:`Mastery after this round`,stageNone:`Not started`,stageWeak:`Weak`,stageLearning:`Learning`,stageProficient:`Proficient`,stageMastered:`Mastered`,nextRelearn:`A few points have not landed yet; going through the lesson again will help.`,nextReview:`You mostly have it, but it is not solid yet; a review round will make it stick.`,nextQuiz:`This is solid; you are ready for the unit quiz.`,nextLessonStep:`You are ready to move on.`,nextCourse:`This part is done.`,relearnLesson:`Back to the lesson`,reviewCourse:`Review this course`,editOutline:`Edit outline`,saveAndBack:`Save and go back`,extendCourse:`Ask for one more unit`,extendInstruction:`Add one more unit at the end that builds on what the course covers and takes the next step at the same gradient; leave the existing units unchanged.`,proposalTitle:`Proposed changes`,proposalNoChange:`This revision changes no lessons.`,applyProposal:`Apply changes`,discardProposal:`Discard`,proposalApplied:`Changes applied`,diffAdded:`Added`,diffRemoved:`Removed`,diffRenamed:`Renamed`,diffChanged:`Changed`,diffUnit:`Unit “{title}”`,reworkLesson:`Rework this lesson`,splitLesson:`Split in two`,deepenLesson:`Go deeper`,splitDone:`Split in two; remember to save`,deepenDone:`Made deeper; remember to save`,confirmRemoveUnit:`Remove the unit “{title}” and all its lessons?`,confirmRemoveLecture:`Remove “{title}” and all its lessons?`,confirmRemoveStarted:`“{title}” has been started; its board and progress will no longer show. Remove it?`,craftSize:`Course size`,sizeAuto:`Let the teacher decide`,sizeAutoHint:`Sized to your goal; a small question may need only a lesson or two`,sizeShort:`Short`,sizeShortHint:`3–8 lessons on what matters most`,sizeStandard:`Standard`,sizeStandardHint:`10–20 lessons: foundations, practice and an applied project`,sizeFull:`Full`,sizeFullHint:`25–45 lessons, thorough, with room to go deeper`,buildAnswers:`Going through your answers`,buildMaterials:`Reading your materials`,buildUnits:`Planning the units`,buildLessons:`Writing the lessons`,buildLessonsSoFar:`Writing the lessons: {count} so far`,workPlaceholder:`Write one step per line and put math inside $…$, e.g. $x^2+6x+9=(x+3)^2$`,workPreview:`Preview`,wrongStep:`Where it went wrong`,fixedStep:`It should read`,correction:`Correction`,correctionOf:`Correction: {tag}`,correcting:`Correcting it on the board…`,seeCorrection:`See the correction`,lessonGoals:`Lesson goals`,transcript:`Transcript`,showPanel:`Transcript`,hidePanel:`Hide the side panel`,panelTitle:`Lesson side panel`,boardFont:`Board font`,fontHand:`Handwriting`,fontStandard:`Standard`,digestMissing:`{count} part(s) could not be read ({parts}); the digest below leaves them out.`,redigest:`Digest again`,revisingSoFar:`Revising… {count} lessons so far`,"err_bad-url":`This address cannot be imported: only public http or https sites are supported, not this computer, the local network or addresses with credentials.`,err_network:`The page could not be loaded or took too long. Check the address and try again.`,err_http:`The page returned an error and could not be imported.`,blueprintSoFar:`Designing your course blueprint… {count} lessons so far`,reexplainedAs:`Re-explained: {style}`,digestReading:`Reading the whole document: {done} of {total} parts read`,digestWriting:`Combining the notes into one digest`,keepsRunning:`You can leave this page; it keeps going in the background.`,err_cancelled:`Cancelled.`,courseCreatedInChat:`Created the course "{title}". Continue it in Aha.`,err_failed:`Something went wrong. Try again in a moment.`,err_invalid:`This request could not be handled. Reload the page and try again; if it keeps happening, quit and reopen DSH.`,"err_not-found":`This item could not be found. It may have been deleted.`,err_forbidden:`You are not allowed to do this.`,"err_unknown-endpoint":`The plugin was just updated. Quit and reopen DSH, then try again.`,err_aborted:`The upload was interrupted. Try again.`,err_connection:`Could not reach DSH. Make sure it is still open, then try again.`,err_missing:`The task was lost, perhaps because DSH restarted. Try again.`,"err_llm-missing":`No model is available yet. Set up a model provider in DSH settings first.`,"err_no-board":`The board is not written yet. Try again once its first step is up.`,"err_empty-question":`Type your question first.`,"err_empty-goal":`Tell me what you want to learn, or add some material.`,"err_empty-change":`Describe the change you want first.`,"err_no-blueprint":`There is no course blueprint yet. Generate one first.`,"err_no-proposal":`There is no proposed change. It may have been applied or discarded already.`,"err_bad-pack":`This file is not a course pack that can be imported.`,"err_pack-too-large":`This course pack is too large to import.`,"err_pack-too-new":`This course pack comes from a newer version of Aha. Update the plugin, then import it.`,"err_nothing-to-review":`Nothing to review yet: write a note or work in the project folder first.`,"err_cannot-tick":`Only study items on today or an earlier day can be ticked.`,"err_exam-incomplete":`An exam needs a title and a date.`,"err_no-material":`Pick at least one material first.`,"err_material-no-text":`The selected material has no readable text. Images and scanned PDFs cannot be read as text.`,"err_empty-topic":`Give a topic or a web address first.`,"err_no-credentials":`DSH credentials are not available in this profile, so the key cannot be saved.`,"err_bad-key":`The key looks wrong: use 8–1024 letters, digits or symbols with no spaces.`,err_unsupported:`This file type is not supported. Upload a PDF, Word or PowerPoint file, an image, or a text file such as .md, .txt or .csv.`,"err_old-office":`Old .doc/.ppt files are not supported. Save them as .docx/.pptx and upload again.`,err_encrypted:`This PDF is password protected. Remove the password and upload it again.`,err_unreadable:`This file could not be read. It may be damaged; export it again and retry.`,"err_no-text":`No text was found in this file. A scanned PDF needs to be converted to selectable text first.`,err_empty:`This file is empty.`,"err_too-large":`The file is larger than 60 MB. Split it into smaller parts and upload them.`,"err_image-too-large":`Images must be smaller than 10 MB.`,"err_page-too-large":`This page is too large to import.`,"err_page-no-text":`No readable text was found on this page.`,"err_tts-address":`The speech service address is wrong: use a full https address (http only for this computer) without a user name or password.`,"err_tts-app-id":`Volcengine speech needs an App ID.`,"err_tts-azure":`The Azure region or voice name is not valid. Enter it as the Azure portal shows it.`,"err_tts-config":`The speech service settings are incomplete. Check them in settings.`,"err_tts-network":`Could not reach the speech service. Check the network and the service address.`,"err_tts-timeout":`The speech service took too long. Try again later.`,"err_tts-too-large":`The speech service returned too much audio.`,"err_tts-auth":`The speech service rejected the key. Check that it is correct.`,"err_tts-no-key":`No key is saved for this speech service. Add it in settings first.`,"err_tts-rate-limit":`The speech service is limiting requests. Try again later.`,"err_tts-server":`The speech service had an error. Try again later.`,"err_tts-request":`The speech service refused the request. Check the voice and other settings.`,"err_tts-empty":`There is nothing to read aloud.`,"err_tts-response":`The speech service returned no usable audio. Try again later or pick another voice.`,"err_tts-failed":`Speech synthesis failed. Try again later.`,err_speech:`Reading aloud did not work. Try another system voice, or switch to a cloud voice.`,err_playback:`The audio could not be played. Try again.`,exportFailed:`The export did not finish. Try again.`},xd=[`slots`,`locale`,`connection`],Sd=`aha-tutor`,Cd=`dsh-aha-tutor/board`,wd=`ahaTutorBoard`,Td=[`aha_whiteboard`,`aha_quiz`,`aha_course`,`aha_cheatsheet`,`aha_learner`];function Ed({size:e}){return(0,i.jsx)(me,{name:`logo`,size:e})}function Dd({rpc:e,t,language:n,dsh:r}){return(0,i.jsx)(ld,{rpc:e,t,language:n(),dsh:r})}function Od(e){e.effect(()=>e.locale.register(vd,{zh:yd,en:bd}),`aha-tutor: copy`),e.effect(()=>{let e=document.createElement(`style`);return e.dataset.plugin=`dsh-aha-tutor`,e.textContent=hu,document.head.append(e),()=>e.remove()},`aha-tutor: style`);let t=e.locale.bind(vd),n=e.get(`connection`).rpc,r=()=>String(e.locale.getLocale?.()?.active??`zh`).startsWith(`zh`)?`zh`:`en`,i=Object.freeze({selectPanel:()=>e.get(`layout`)?.selectPanel?.(Sd),async openWorkspace(t,n){let r=e.get(`workspaces`),i=e.get(`uiWorkspace`);if(typeof r?.create!=`function`||typeof i?.startSession!=`function`)return!1;let a=await r.create({path:t});return i.startSession(a.workspaceId,{prompt:n,clearPreviousDraft:!0}),!0},openBoardTab(t){let n=e.get(`sidebarRight`);if(typeof n?.openTab!=`function`)return!1;try{return n.openTab(wd,{params:t}),!0}catch{return!1}}});e.slots.inject(`main`,()=>e.slots.register({name:`main`,key:Sd,locale:vd,inject:()=>({rpc:n,language:r,dsh:i})},Dd)),e.slots.inject(`sidebar.panellist`,()=>e.slots.register({name:`sidebar.panellist`,id:Sd,order:20,locale:vd,label:()=>t(`panelLabel`)},Ed)),e.inject([`sidebarRightTabs`],e=>{e.effect(()=>e.sidebarRightTabs.register({id:Cd,kind:wd,title:()=>t(`boardSession`),keepMounted:!0}),`aha-tutor: board tab`)}),e.slots.inject(`sidebar.right.pane.tab`,()=>e.slots.register({name:`sidebar.right.pane.tab`,key:Cd,locale:vd,inject:()=>({rpc:n,language:r(),dsh:i})},dd));for(let t of Td)e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:t,locale:vd,inject:()=>({rpc:n,language:r(),dsh:i})},hd))}return n.apply=Od,n.inject=xd,t.exports}});
467
568
  //# sourceMappingURL=client.js.map