altio-chat 1.0.8 → 1.0.10
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/dist/widget.js +1 -1
- package/package.json +65 -65
package/dist/widget.js
CHANGED
|
@@ -364,4 +364,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
364
364
|
|
|
365
365
|
`);for(;G!==-1;)I(A.slice(0,G)),A=A.slice(G+2),G=A.indexOf(`
|
|
366
366
|
|
|
367
|
-
`)}return A.trim()&&I(A),{answer:x,model:C}}},NG={session:()=>["agent-session"]};function CG(e=!0){return fT({queryKey:NG.session(),queryFn:async()=>(await cy.connect()).data.session_id,enabled:e,staleTime:36e5,gcTime:36e5,retry:1,refetchOnWindowFocus:!1})}const dy=100;function IG(){const[e,t]=z.useState(!1),n=z.useRef(null),a=z.useRef("manual"),s=z.useRef(0),[o,u]=z.useState(!1),c=z.useCallback(()=>{const A=n.current;if(!A)return!0;const{scrollTop:x,scrollHeight:C,clientHeight:I}=A;return C-x-I<dy},[]),p=z.useCallback(()=>{const A=n.current;if(!A)return;const{scrollTop:x,scrollHeight:C,clientHeight:I}=A,F=C>I+4,P=C-x-I<dy;t(F&&!P)},[]),f=z.useCallback(A=>{const x=n.current;x&&(a.current="anchored",u(!1),x.scrollTop=A,s.current=x.scrollTop,p())},[p]),m=z.useCallback(()=>{const A=n.current;A&&(A.scrollTo({top:A.scrollHeight,behavior:"smooth"}),setTimeout(p,350),setTimeout(p,700))},[p]),g=z.useCallback(()=>{const A=n.current;A&&(A.scrollTop=A.scrollHeight,s.current=A.scrollTop,p())},[p]),S=z.useCallback((A=!0)=>{const x=n.current;x&&(a.current="following",u(!0),A?x.scrollTo({top:x.scrollHeight,behavior:"smooth"}):x.scrollTop=x.scrollHeight,setTimeout(p,350),setTimeout(p,700))},[p]),y=z.useCallback(()=>a.current==="following",[]),k=z.useCallback(()=>{const A=n.current;A&&(a.current==="following"&&(A.scrollTop=A.scrollHeight,s.current=A.scrollTop),p())},[p]),R=z.useCallback(()=>{a.current==="following"&&(a.current="manual",u(!1))},[]);return z.useEffect(()=>{const A=n.current;if(!A)return;const x=()=>{s.current=A.scrollTop,p()},C=P=>{P.deltaY<0&&R()},I=()=>{A.scrollHeight-A.scrollTop-A.clientHeight>dy&&R()},F=P=>{["ArrowUp","PageUp","Home"].includes(P.key)&&R()};return A.addEventListener("scroll",x,{passive:!0}),A.addEventListener("wheel",C,{passive:!0}),A.addEventListener("touchmove",I,{passive:!0}),A.addEventListener("keydown",F),window.addEventListener("resize",p),p(),()=>{A.removeEventListener("scroll",x),A.removeEventListener("wheel",C),A.removeEventListener("touchmove",I),A.removeEventListener("keydown",F),window.removeEventListener("resize",p)}},[p,R]),z.useEffect(()=>{const A=requestAnimationFrame(p);return()=>cancelAnimationFrame(A)},[p]),{showScrollDown:e,scrollContainerRef:n,anchorTo:f,followBottom:S,followTick:k,isFollowing:y,following:o,handleScrollToBottom:m,scrollToBottomInstant:g,updateScrollDownVisibility:p,isNearBottom:c}}const tx="altio_thread_session";function OG(e){if(typeof window!="undefined")try{if(!e){window.localStorage.removeItem(tx);return}window.localStorage.setItem(tx,e)}catch{}}async function DG(){var n,a;const t=(n=(await Qs.post("/threads",{})).data)==null?void 0:n.data;return t!=null&&t.session&&OG(t.session),(a=t==null?void 0:t.tuid)!=null?a:null}const nx="gpt-5.1";function LG(e){const{clientTuid:t,setClientTuid:n,setMessages:a,setIsGenerating:s,onAnchorToNewMessage:o,startTyping:u,clearTyping:c,streamTo:p,finishStream:f}=e,m=z.useRef(!1),g=z.useRef(""),S=z.useCallback(async(k,R)=>{var C,I,F;const A=k.trim();if(!A||m.current)return;m.current=!0;const x=`user-${Date.now()}`;a(P=>[...P,{role:"user",content:A,id:x}]),s(!0),setTimeout(()=>{o()},50);try{let P=t;P||(P=await DG(),n(P)),await _G();const U=X=>{c(),a(Y=>{const ee=Y[Y.length-1];return ee&&ee.role==="assistant"&&ee.content===X?Y:[...Y,{role:"assistant",content:X,id:`assistant-${Date.now()}`}]}),g.current=X,s(!1)};try{let X="";const Y="typing-assistant",G=(await cy.askStream({question:A,model:R||nx,threadId:P},{onDelta:oe=>{X+=oe,p(Y,X)}})).answer||X||"반환된 내용이 없습니다.";G!==X&&p(Y,G),f(()=>U(G))}catch{c();const Y=(I=(C=(await cy.ask({question:A,model:R||nx,threadId:P})).data)==null?void 0:C.answer)!=null?I:"반환된 내용이 없습니다.";u("typing-assistant",Y,()=>U(Y))}}catch(P){const U=P&&typeof P=="object"&&"response"in P&&((F=P.response)==null?void 0:F.status),X=U===412||U===414||U===401;X&&n(null);const Y=X?"인증이 만료되었습니다. 페이지를 새로고침 후 다시 시도해주세요.":"현재 시스템에 일시적인 문제가 발생했습니다. 잠시 후 다시 시도해주세요.";a(ee=>[...ee,{role:"assistant",content:Y,id:`assistant-${Date.now()}`,isError:!0}]),s(!1)}finally{m.current=!1}},[t,n,a,s,o,u,c,p,f]),y=z.useCallback(()=>{a([]),n(null),s(!1),c(),g.current=""},[a,n,s,c]);return{handleSendMessage:S,handleRefresh:y}}const MG=120,zG=180,BG=100,FG=60;function UG(e){const[t,n]=z.useState({id:"",text:"",shown:""}),a=z.useRef(""),s=z.useRef(""),o=z.useRef(0),u=z.useRef(null),c=z.useRef(null),p=z.useRef(null),f=z.useRef(null),m=z.useRef(e);m.current=e;const g=z.useCallback(()=>{u.current!=null&&(cancelAnimationFrame(u.current),u.current=null),c.current=null,p.current=null},[]),S=z.useCallback(C=>{var ue,ye;const I=s.current,F=I.length-o.current;if(F<=0){g(),(ue=m.current)==null||ue.call(m);const fe=f.current;fe&&(f.current=null,fe());return}const P=c.current;c.current=C;const U=P==null?16:Math.min(C-P,BG),X=F/zG*1e3,Y=Math.max(MG,X),ee=Math.max(1,Math.round(Y*U/1e3)),G=Math.min(I.length,o.current+ee);o.current=G,n({id:a.current,text:I,shown:I.slice(0,G)});const oe=p.current;(oe==null||C-oe>=FG)&&(p.current=C,(ye=m.current)==null||ye.call(m)),u.current=requestAnimationFrame(S)},[g]),y=z.useCallback(()=>{u.current==null&&(c.current=null,u.current=requestAnimationFrame(S))},[S]),k=z.useCallback((C,I,F)=>{if(u.current!=null&&f.current){const P=f.current;f.current=null,P()}if(g(),a.current=C,s.current=I,o.current=0,f.current=F!=null?F:null,n({id:C,text:I,shown:""}),I.length>0)y();else{const P=f.current;f.current=null,P==null||P()}},[y,g]),R=z.useCallback((C,I)=>{var F;if(a.current=C,s.current=I,I.length<o.current){o.current=I.length,n({id:C,text:I,shown:I}),(F=m.current)==null||F.call(m);return}n(P=>P.id===C?P:{id:C,text:I,shown:P.shown}),I.length>o.current&&y()},[y]),A=z.useCallback(C=>{if(o.current>=s.current.length){g(),C==null||C();return}f.current=C!=null?C:null,y()},[y,g]),x=z.useCallback(()=>{g(),a.current="",s.current="",o.current=0,f.current=null,n({id:"",text:"",shown:""})},[g]);return z.useEffect(()=>()=>g(),[g]),{typingMsg:t,startTyping:k,streamTo:R,finishStream:A,clearTyping:x}}function ax(e){if(!e||typeof e!="string")return e;const t="사내 지식";return e.replace(new RegExp(`[\\n\\s]*${t}\\s*$`,"u"),"").trimEnd()}const py="altio_widget_messages",fy="altio_widget_tuid",PG="altio_widget_reset";function ku(){return v_()}function HG(){if(typeof window=="undefined")return"";try{return new URLSearchParams(window.location.search).get("reset")||""}catch{return""}}function GG(){if(typeof window=="undefined")return[];try{const e=localStorage.getItem(`${py}:${ku()}`),t=e?JSON.parse(e):[];return Array.isArray(t)?t:[]}catch{return[]}}function qG(){if(typeof window=="undefined")return null;try{return localStorage.getItem(`${fy}:${ku()}`)}catch{return null}}function jG(e){if(typeof window!="undefined")try{localStorage.setItem(`${py}:${ku()}`,JSON.stringify(e))}catch{}}function $G(e){if(typeof window!="undefined")try{const t=`${fy}:${ku()}`;e?localStorage.setItem(t,e):localStorage.removeItem(t)}catch{}}function rx(){if(typeof window!="undefined")try{const e=[];for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t);n&&(n.startsWith(py)||n.startsWith(fy))&&e.push(n)}for(const t of e)localStorage.removeItem(t)}catch{}}function VG(){if(typeof window!="undefined")try{const e=HG();if(!e)return;const t=`${PG}:${ku()}`;localStorage.getItem(t)!==e&&(rx(),localStorage.setItem(t,e))}catch{}}function YG({className:e}){const[t,n]=z.useState(()=>(VG(),GG())),[a,s]=z.useState(qG),[o,u]=z.useState(!1),[c,p]=z.useState(0),[f,m]=z.useState(null),[g,S]=z.useState(0),y=YA(),{data:k}=CG(),{showScrollDown:R,scrollContainerRef:A,anchorTo:x,followBottom:C,followTick:I,updateScrollDownVisibility:F}=IG(),P=z.useRef(null),U=z.useCallback(()=>{const ae=A.current,L=P.current;!ae||!L||x(L.offsetTop)},[A,x]),{typingMsg:X,startTyping:Y,streamTo:ee,finishStream:G,clearTyping:oe}=UG(I),{handleSendMessage:ue,handleRefresh:ye}=LG({clientTuid:a,setClientTuid:s,setMessages:n,setIsGenerating:u,onAnchorToNewMessage:U,startTyping:Y,clearTyping:oe,streamTo:ee,finishStream:G});z.useEffect(()=>{jG(t)},[t]),z.useEffect(()=>{$G(a)},[a]),z.useEffect(()=>{const ae=L=>{const Re=L.data;Re&&Re.type==="ALTIO_CLEAR_HISTORY"&&(rx(),ye(),p(ke=>ke+1))};return window.addEventListener("message",ae),()=>window.removeEventListener("message",ae)},[ye]),z.useEffect(()=>{const ae=A.current;if(!ae)return;const L=new ResizeObserver(()=>{S(ae.clientHeight)});return L.observe(ae),S(ae.clientHeight),()=>L.disconnect()},[A]);const fe=z.useRef(!1),[pe,Q]=z.useState(!1);z.useEffect(()=>{if(t.length===0){fe.current=!1,Q(!0);return}fe.current||Q(!1)},[t.length]),z.useLayoutEffect(()=>{if(fe.current||t.length===0)return;let ae=0,L=0;const Re=()=>{const ke=A.current;if((!ke||ke.clientHeight===0)&&L<60){L+=1,ae=requestAnimationFrame(Re);return}if(ke){const Ee=ke.style.scrollBehavior;ke.style.scrollBehavior="auto",ke.scrollTop=ke.scrollHeight,ae=requestAnimationFrame(()=>{ke.style.scrollBehavior=Ee,fe.current=!0,Q(!0)});return}fe.current=!0,Q(!0)};return Re(),()=>cancelAnimationFrame(ae)},[t.length,A]);const he=z.useMemo(()=>[t.length,o?1:0,X.shown.length].join("|"),[t.length,o,X.shown.length]);z.useEffect(()=>{F()},[he,F]);const Oe=()=>{ye(),p(ae=>ae+1)},Pe=(ae,L)=>{navigator.clipboard.writeText(L).then(()=>{m(ae),setTimeout(()=>m(null),2e3)})},w=z.useMemo(()=>{const ae=[];let L=0;for(;L<t.length;){const Re=t[L];if(Re.role==="user"){const ke=t[L+1];ae.push({user:Re,assistant:(ke==null?void 0:ke.role)==="assistant"?ke:null}),L+=(ke==null?void 0:ke.role)==="assistant"?2:1}else L++}return ae},[t]),te=t.length>0&&!pe;return ve.jsx("div",{className:Ln("relative h-full",e),children:ve.jsxs("div",{className:"relative flex h-full w-full flex-col overflow-hidden bg-white shadow-[-4px_0_16px_0_rgba(26,26,26,0.08)]",children:[ve.jsxs("div",{className:Ln("flex items-center justify-between border-b-[.5px] border-[#EAEAEA] bg-white px-[1.6rem]",y?"h-[56px]":"h-[48px]"),children:[ve.jsx("div",{className:"inline-block",children:ve.jsx(TC,{logo:"https://s3.ap-northeast-2.amazonaws.com/echoit.altio/official/logos/logo-widget.svg",className:"h-[16px] w-[55px]"})}),ve.jsx("div",{className:"flex h-[32px] w-[32px] cursor-pointer items-center justify-center rounded-lg border-[1px] border-[#EDEDED] bg-white",children:ve.jsx("button",{type:"button",onClick:Oe,className:"flex cursor-pointer items-center justify-center",children:ve.jsx(bT,{size:20,color:"#111D70"})})})]}),ve.jsx("div",{ref:A,onScroll:F,className:"scrollbar-widget relative flex min-h-0 flex-1 flex-col overflow-y-auto",style:{scrollbarWidth:"thin",scrollbarColor:"rgba(169, 169, 169, 0.3) transparent",visibility:te?"hidden":"visible"},children:ve.jsxs("div",{className:"flex flex-1 flex-col justify-between pt-[1.2rem]",children:[t.length===0?ve.jsx("div",{className:"flex flex-1 flex-col items-start justify-start px-[1.6rem]"}):ve.jsx("div",{className:Ln("flex flex-col gap-[3.6rem] px-[1.6rem] pb-[3.2rem]",te&&"invisible"),children:w.map((ae,L)=>{const Re=L===w.length-1,ke=ae.assistant;return ve.jsxs("div",{ref:Re?P:void 0,className:"flex flex-col gap-[2.4rem]",style:{minHeight:Re&&g>0?g-166:void 0},children:[ve.jsxs("div",{className:"group flex flex-col items-end gap-[1rem]",children:[ve.jsx("div",{className:Ln("max-w-[95%]","rounded-[2rem] bg-[#f8f8f8] px-[1.6rem] py-[1rem]","text-primary-900 text-[14px] leading-[24px] font-[400] tracking-[0.2px]","break-words whitespace-pre-wrap"),children:ae.user.content}),ve.jsx(VA,{label:"복사",align:"left",children:ve.jsx("button",{type:"button",onClick:()=>Pe(ae.user.id,ae.user.content),className:"flex cursor-pointer items-center gap-[0.3rem] rounded-[.8rem] p-[4px] text-[#070C2F] transition-opacity hover:bg-[#EEE] active:bg-[#E2E2E2]",children:f===ae.user.id?ve.jsx(Ic,{size:20,weight:"bold",className:"text-[#070C2F]"}):ve.jsx(Oc,{size:20,fontWeight:400})})})]}),ke&&ve.jsxs("div",{className:"group flex flex-col items-start gap-[1rem]",children:[ve.jsx("div",{className:Ln("max-w-[95%] text-[14px] [&_.markdown-container]:text-[14px]","break-words",ke.isError&&"text-[#FF3D3D]"),children:ke.isError?ke.content:ve.jsx($A,{content:ax(ke.content)})}),ve.jsx(VA,{label:"복사",align:"right",children:ve.jsx("button",{type:"button",onClick:()=>Pe(ke.id,ke.content),className:"flex cursor-pointer items-center gap-[0.3rem] rounded-[.8rem] p-[4px] text-[#070C2F] transition-opacity hover:bg-[#EEE] active:bg-[#E2E2E2]",children:f===ke.id?ve.jsx(Ic,{size:20,weight:"bold",className:"text-[#070C2F]"}):ve.jsx(Oc,{size:20,fontWeight:400})})})]}),Re&&!ke&&X.id&&ve.jsx("div",{className:"flex flex-col items-start",children:ve.jsx("div",{className:Ln("text-[14px] font-[400] break-words text-neutral-900 [&_.markdown-container]:text-[14px]","max-w-[95%]"),children:ve.jsx($A,{content:ax(X.shown)})})}),Re&&!ke&&o&&!X.id&&ve.jsx("div",{className:"flex w-fit items-center justify-center text-[14px] font-[400] whitespace-pre-line text-white",children:ve.jsxs("output",{className:"inline-flex items-center gap-[.6rem]","aria-label":"Loading",children:[ve.jsx("svg",{"aria-hidden":"true",className:"animate-pulse",width:"6",height:"6",viewBox:"0 0 6 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ve.jsx("path",{d:"M0 3C0 1.34315 1.34315 0 3 0C4.65685 0 6 1.34315 6 3C6 4.65685 4.65685 6 3 6C1.34315 6 0 4.65685 0 3Z",fill:"#000000",fillOpacity:"0.25"})}),ve.jsx("svg",{"aria-hidden":"true",className:"animate-pulse",width:"6",height:"6",viewBox:"0 0 6 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ve.jsx("path",{d:"M0 3C0 1.34315 1.34315 0 3 0C4.65685 0 6 1.34315 6 3C6 4.65685 4.65685 6 3 6C1.34315 6 0 4.65685 0 3Z",fill:"#000000",fillOpacity:"0.55"})}),ve.jsx("svg",{"aria-hidden":"true",className:"animate-pulse",width:"6",height:"6",viewBox:"0 0 6 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ve.jsx("path",{d:"M0 3C0 1.34315 1.34315 0 3 0C4.65685 0 6 1.34315 6 3C6 4.65685 4.65685 6 3 6C1.34315 6 0 4.65685 0 3Z",fill:"#000000"})})]})})]},ae.user.id)})}),ve.jsx("div",{className:"sticky bottom-0 left-0 z-[10000] w-full flex-shrink-0 bg-white px-[1.6rem]",children:ve.jsx("div",{style:{paddingBottom:"calc(20px + env(safe-area-inset-bottom, 0px))"},children:ve.jsx(ZA,{placeholder:"메시지를 입력해주세요.",isLoading:o,onSubmit:(ae,L)=>ue(ae,L)},c)})})]})}),R&&!te&&ve.jsx("div",{className:"pointer-events-none absolute bottom-[13rem] left-0 z-10 flex w-full justify-center",children:ve.jsx("button",{type:"button",onClick:()=>C(),className:Ln("pointer-events-auto flex h-[3.2rem] w-[3.2rem] cursor-pointer items-center justify-center rounded-full","border-[.8px] border-[#A9A9A9] bg-white shadow-[0_.2rem_1rem_0_rgba(218,218,218,0.50)] hover:bg-[#F9F9F9]"),"aria-label":"Scroll to bottom",children:ve.jsx(ET,{size:12,className:"text-[#A9A9A9]"})})})]})})}const XG='/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-900:#101010;--color-white:#fff;--font-weight-medium:500;--radius-lg:7.5px;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-700:#0c1550;--color-primary-900:#070c2f;--radius-full:9999px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-1\\/2{top:50%}.top-full{top:100%}.right-0{right:0}.bottom-0{bottom:0}.bottom-\\[13rem\\]{bottom:130px}.bottom-full{bottom:100%}.left-0{left:0}.left-1\\/2{left:50%}.left-full{left:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\\[9999\\]{z-index:9999}.z-\\[10000\\]{z-index:10000}.container{width:100%}@media(min-width:475px){.container{max-width:475px}}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.mx-\\[0\\.8rem\\]{margin-inline:8px}.my-\\[0\\.6rem\\]{margin-block:6px}.mt-\\[\\.8rem\\]{margin-top:8px}.mt-\\[0\\.4rem\\]{margin-top:4px}.mr-\\[0\\.6rem\\]{margin-right:6px}.mb-\\[0\\.4rem\\]{margin-bottom:4px}.ml-\\[\\.8rem\\]{margin-left:8px}.\\!inline{display:inline!important}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-\\[1\\.4rem\\]{height:14px}.h-\\[2rem\\]{height:20px}.h-\\[3\\.2rem\\]{height:32px}.h-\\[4\\.4rem\\]{height:44px}.h-\\[16px\\]{height:16px}.h-\\[32px\\]{height:32px}.h-\\[48px\\]{height:48px}.h-\\[56px\\]{height:56px}.h-full{height:100%}.min-h-0{min-height:0}.min-h-\\[50px\\]{min-height:50px}.w-\\[1\\.4rem\\]{width:14px}.w-\\[3\\.2rem\\]{width:32px}.w-\\[20rem\\]{width:200px}.w-\\[32px\\]{width:32px}.w-\\[55px\\]{width:55px}.w-\\[calc\\(100\\%-1\\.6rem\\)\\]{width:calc(100% - 16px)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[10rem\\]{max-width:100px}.max-w-\\[95\\%\\]{max-width:95%}.min-w-fit{min-width:fit-content}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-\\[\\.6rem\\]{gap:6px}.gap-\\[0\\.3rem\\]{gap:3px}.gap-\\[0\\.5rem\\]{gap:5px}.gap-\\[1\\.2rem\\]{gap:12px}.gap-\\[1rem\\]{gap:10px}.gap-\\[2\\.4rem\\]{gap:24px}.gap-\\[3\\.6rem\\]{gap:36px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded-\\[\\.6rem\\]{border-radius:6px}.rounded-\\[\\.8rem\\]{border-radius:8px}.rounded-\\[0\\.6rem\\]{border-radius:6px}.rounded-\\[1rem\\]{border-radius:10px}.rounded-\\[2rem\\]{border-radius:20px}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[\\.8px\\]{border-style:var(--tw-border-style);border-width:.8px}.border-\\[1px\\]{border-style:var(--tw-border-style);border-width:1px}.border-b-\\[\\.5px\\]{border-bottom-style:var(--tw-border-style);border-bottom-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#A9A9A9\\]{border-color:#a9a9a9}.border-\\[\\#EAEAEA\\]{border-color:#eaeaea}.border-\\[\\#EDEDED\\]{border-color:#ededed}.bg-\\[\\#0C1550\\]{background-color:#0c1550}.bg-\\[\\#EEE\\]{background-color:#eee}.bg-\\[\\#f8f8f8\\]{background-color:#f8f8f8}.bg-primary-700{background-color:var(--color-primary-700)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-left{object-position:left}.p-\\[1\\.2rem\\]{padding:12px}.p-\\[4px\\]{padding:4px}.px-\\[\\.6rem\\]{padding-inline:6px}.px-\\[0\\.8rem\\]{padding-inline:8px}.px-\\[1\\.6rem\\]{padding-inline:16px}.px-\\[1\\.8rem\\]{padding-inline:18px}.px-\\[1rem\\]{padding-inline:10px}.py-\\[\\.4rem\\],.py-\\[0\\.4rem\\]{padding-block:4px}.py-\\[1rem\\]{padding-block:10px}.pt-\\[1\\.2rem\\]{padding-top:12px}.pb-\\[\\.6rem\\]{padding-bottom:6px}.pb-\\[3\\.2rem\\]{padding-bottom:32px}.text-left{text-align:left}.text-\\[1\\.1rem\\]{font-size:11px}.text-\\[1\\.2rem\\]{font-size:12px}.text-\\[1\\.3rem\\]{font-size:13px}.text-\\[1\\.4rem\\]{font-size:14px}.text-\\[1rem\\]{font-size:10px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.leading-\\[2rem\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.font-\\[400\\]{--tw-font-weight:400;font-weight:400}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[0\\.2px\\]{--tw-tracking:.2px;letter-spacing:.2px}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#070C2F\\]{color:#070c2f}.text-\\[\\#828282\\]{color:#828282}.text-\\[\\#A9A9A9\\]{color:#a9a9a9}.text-\\[\\#FF3D3D\\]{color:#ff3d3d}.text-neutral-900{color:var(--color-neutral-900)}.text-primary-900{color:var(--color-primary-900)}.text-white{color:var(--color-white)}.placeholder-\\[\\#828282\\]::placeholder{color:#828282}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[-4px_0_16px_0_rgba\\(26\\,26\\,26\\,0\\.08\\)\\]{--tw-shadow:-4px 0 16px 0 var(--tw-shadow-color,#1a1a1a14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_\\.2rem_1rem_0_rgba\\(218\\,218\\,218\\,0\\.50\\)\\]{--tw-shadow:0 2px 10px 0 var(--tw-shadow-color,#dadada80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[2px_2px_5px_0_rgba\\(189\\,189\\,189\\,0\\.2\\)\\]{--tw-shadow:2px 2px 5px 0 var(--tw-shadow-color,#bdbdbd33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[2px_2px_10px_0_rgba\\(189\\,189\\,189\\,0\\.20\\)\\]{--tw-shadow:2px 2px 10px 0 var(--tw-shadow-color,#bdbdbd33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}@media(hover:hover){.hover\\:bg-\\[\\#EEE\\]:hover{background-color:#eee}.hover\\:bg-\\[\\#F9F9F9\\]:hover{background-color:#f9f9f9}.hover\\:bg-primary-900:hover{background-color:var(--color-primary-900)}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\\:bg-\\[\\#E2E2E2\\]:active{background-color:#e2e2e2}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&_\\.markdown-container\\]\\:text-\\[14px\\] .markdown-container{font-size:14px}.text-balance{text-wrap:balance}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#3e4b6833 transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#3e4b6833;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#3e4b6866}.scrollbar-widget::-webkit-scrollbar{width:3px}.scrollbar-widget::-webkit-scrollbar-track{background:0 0}.scrollbar-widget::-webkit-scrollbar-thumb{background-color:#a9a9a94d;border-radius:2px}.scrollbar-widget::-webkit-scrollbar-thumb:hover{background-color:#a9a9a980}.animate-fade-in{animation:.3s ease-in-out fadeIn}.animate-slide-up{animation:.3s ease-out slideUp}.animate-slide-down{animation:.3s ease-out slideDown}.animate-scale-in{animation:.2s ease-out scaleIn}.animate-bounce-in{animation:.5s ease-out bounceIn}}html,nav,div{scrollbar-width:thin;scrollbar-color:#3e4b6833 #f7f7f7}html::-webkit-scrollbar{background:#f7f7f7;border-radius:24px;width:4px}nav::-webkit-scrollbar{background:#f7f7f7;border-radius:24px;width:4px}div::-webkit-scrollbar{background:#f7f7f7;border-radius:24px;width:4px}html::-webkit-scrollbar-thumb{background:#3e4b6833;border-radius:24px}nav::-webkit-scrollbar-thumb{background:#3e4b6833;border-radius:24px}div::-webkit-scrollbar-thumb{background:#3e4b6833;border-radius:24px}input[type=password]::-ms-reveal{display:none}input[type=password]::-ms-clear{display:none}input[type=password]{-ms-text-security:disc}input::placeholder,textarea::placeholder{font-size:14px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--background);color:var(--color-neutral-900);scroll-behavior:smooth;font-size:10px;line-height:1.4}body{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}*{scroll-behavior:smooth}.scroll-container{scroll-behavior:smooth;contain:layout style paint;will-change:scroll-position}.scroll-content{contain:layout style paint;min-height:calc(100vh - 112px)}.overlay-scrollbar{scrollbar-width:none;-ms-overflow-style:none;overflow-y:auto}.overlay-scrollbar::-webkit-scrollbar{background:0 0;width:8px}.overlay-scrollbar::-webkit-scrollbar-track{background:0 0}.overlay-scrollbar::-webkit-scrollbar-thumb{background:#3e4b684d padding-box content-box;border:2px solid #0000;border-radius:4px}.overlay-scrollbar::-webkit-scrollbar-thumb:hover{background:#3e4b6880 padding-box content-box}.fixed-scrollbar{scrollbar-width:thin;scrollbar-color:#3e4b684d transparent;position:relative;overflow-y:auto}.fixed-scrollbar::-webkit-scrollbar{width:8px;position:absolute;top:0;bottom:0;right:0}.fixed-scrollbar::-webkit-scrollbar-track{background:0 0;width:8px;position:absolute;top:0;bottom:0;right:0}.fixed-scrollbar::-webkit-scrollbar-thumb{background:#3e4b684d;border-radius:4px;width:8px;position:absolute;right:0}@media only screen and (max-width:768px){html,body{height:100svh;overflow:hidden}}:root{--font-size-lg-p:16px;--line-height-lg-p:24px;--font-weight-lg-p:500;--font-size-base:14px;--line-height-base:1.4;--font-weight-base:400;--font-size-sm:12px;--line-height-sm:1.4;--font-weight-sm:400}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-dots:after{content:"";text-align:left;width:1.2em;animation:2.2s steps(4,end) infinite loadingDots;display:inline-block}@keyframes loadingDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.loading-text{color:#0000;background-image:linear-gradient(90deg,#00000026,#111827 25% 50%,#111827 75%,#00000026);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite loadingShimmer;display:inline-block;position:relative}@keyframes loadingShimmer{0%{background-position:100% 0}to{background-position:-200% 0}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2)format("woff2"),url(fonts/KaTeX_AMS-Regular.woff)format("woff"),url(fonts/KaTeX_AMS-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2)format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff)format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2)format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff)format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2)format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff)format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2)format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff)format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2)format("woff2"),url(fonts/KaTeX_Main-Bold.woff)format("woff"),url(fonts/KaTeX_Main-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2)format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff)format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2)format("woff2"),url(fonts/KaTeX_Main-Italic.woff)format("woff"),url(fonts/KaTeX_Main-Italic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2)format("woff2"),url(fonts/KaTeX_Main-Regular.woff)format("woff"),url(fonts/KaTeX_Main-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2)format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff)format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2)format("woff2"),url(fonts/KaTeX_Math-Italic.woff)format("woff"),url(fonts/KaTeX_Math-Italic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff)format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff)format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff)format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2)format("woff2"),url(fonts/KaTeX_Script-Regular.woff)format("woff"),url(fonts/KaTeX_Script-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size1-Regular.woff)format("woff"),url(fonts/KaTeX_Size1-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size2-Regular.woff)format("woff"),url(fonts/KaTeX_Size2-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size3-Regular.woff)format("woff"),url(fonts/KaTeX_Size3-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size4-Regular.woff)format("woff"),url(fonts/KaTeX_Size4-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2)format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff)format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.markdown-container{overflow-wrap:break-word;word-break:break-word;flex-direction:column;width:100%;min-width:0;max-width:100%;font-size:14px;line-height:16px;display:flex}.markdown-container h1{margin:15px 0 5px;font-size:24px;font-weight:700;line-height:1.2}.markdown-container h2{margin:13px 0 5px;font-size:20px;font-weight:700;line-height:1.2}.markdown-container h3{margin:1.2em 0 .5em;font-size:18px;font-weight:700;line-height:1.2}.markdown-container h4{margin:1em 0 .5em;font-size:14px;font-weight:600;line-height:1.2}.markdown-container h5,.markdown-container h6{margin:.8em 0 .5em;font-size:14px;font-weight:600;line-height:1.2}.markdown-container p{margin:8px 0;line-height:1.4}.markdown-container strong{font-weight:700}.markdown-container em{font-style:italic}.markdown-container img{border-radius:8px;width:100%;max-width:420px}.markdown-container hr{border:none;border-top:1px solid #ddd;margin:13px 0}.markdown-container a{color:#1665b6;text-decoration:none}.markdown-container a:hover{text-decoration:underline}.markdown-container .table-wrapper{max-width:100%;overflow-x:auto}.markdown-container table{border-collapse:collapse;table-layout:fixed;border:1px solid #ddd;width:100%;margin:1em 0}.markdown-container th,.markdown-container td{text-align:left;overflow-wrap:anywhere;word-break:break-word;border:1px solid #ddd;padding:8px 12px}.markdown-container th{background-color:#fafafa;font-weight:700}.code-block-container{max-width:100%;position:relative;overflow-x:auto}.code-block-container div{border:1px solid #ddd}.code-block-container:hover .copy-button{opacity:1}.copy-button{color:#fff;cursor:pointer;z-index:10;opacity:0;background:0 0;border:none;border-radius:4px;margin:0;padding:8px;transition:all .2s;position:absolute;top:12px;right:12px}.copy-button:hover{background:#eee}.copy-button img{width:20px;height:20px}.markdown-container blockquote{border-left:4px solid #ccc;margin:1em 0;padding-left:1em;font-style:italic}.markdown-container blockquote blockquote{border:none;margin:0;padding:0}.markdown-container blockquote p{margin:0;padding:4px 0}ul,ol{padding:0 16px;line-height:24px}.markdown-container ul{list-style-type:disc}.markdown-container ul ul{list-style-type:circle}.markdown-container ul ul ul{list-style-type:square}.markdown-container ol{list-style-type:decimal}.markdown-container li{margin:.25em 0}.markdown-container ul.contains-task-list{padding-left:0;list-style-type:none}.markdown-container .contains-task-list li{gap:8px;list-style-type:none;display:flex}.markdown-container .contains-task-list input[type=checkbox]{appearance:none;width:8px;height:14px}.markdown-container .contains-task-list input[type=checkbox]:not(:checked):before,.markdown-container .contains-task-list input[type=checkbox]:before{content:"✓";color:#4caf50}.markdown-container p code,.markdown-container blockquote code,.markdown-container li>code{color:#b76b01;background-color:#fafafa;border:1px solid #ddd;border-radius:4px;padding:0 .4em;font-size:.84em;display:inline-block}code{font-family:Pretendard,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.markdown-container .katex-display{background:#fafafa;border:1px solid #ddd;border-radius:.3em;padding:1em;overflow-x:auto}.markdown-container .katex .hangul_fallback{font-family:Pretendard,sans-serif;font-size:14px}@media only screen and (max-width:768px){.markdown-container p{margin:12px 0}.markdown-container table{table-layout:auto;width:max-content}}:host{color:var(--color-neutral-900);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:Pretendard,Pretendard Variable,-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:10px;line-height:1.4}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'.replace(/:root\b/g,":host"),KG="https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/static/pretendard-dynamic-subset.css";function WG(){if(typeof document=="undefined"||document.getElementById("altio-pretendard-font"))return;const e=document.createElement("link");e.id="altio-pretendard-font",e.rel="stylesheet",e.href=KG,document.head.appendChild(e)}function ZG(e){const t=e.attachShadow({mode:"open"}),n=document.createElement("style");return n.textContent=XG,t.appendChild(n),t}function QG(e,t={}){j4(t),WG();const n=document.createElement("div");n.style.width="100%",n.style.height="100%",e.appendChild(n);const a=ZG(n),s=document.createElement("div");s.setAttribute("style","width:100%;height:100%;overflow:hidden;background:#fff;"),a.appendChild(s);const o=y_.createRoot(s);return o.render(ve.jsx(pR,{children:ve.jsx(YG,{className:"h-full w-full"})})),{destroy(){o.unmount(),n.remove()}}}const hy={mount:QG,setConfig(e){j4(e)}};window.AltioWidget=hy,(()=>{const e=document.currentScript;if(!e||!e.hasAttribute("data-auto-init"))return;const t={},n=e.getAttribute("data-api-url"),a=e.getAttribute("data-agent-api-url"),s=e.getAttribute("data-db-env"),o=e.getAttribute("data-uid");n&&(t.apiUrl=n),a&&(t.agentApiUrl=a),s&&(t.dbEnv=s),o&&(t.uid=o);const u=()=>{const c=e.getAttribute("data-target");let p;if(c){const f=document.querySelector(c);if(!f)return;p=f}else p=document.createElement("div"),p.id="altio-chat-root",p.setAttribute("style","position:fixed;inset:0;width:100%;height:100%;"),document.body.appendChild(p);hy.mount(p,t)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u,{once:!0}):u()})();const JG=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"Experience secure internal data processing and flexible AI utilization with a private AI optimized for business.","app.title":"Altio - Your Private Edge","auth.action.get.started":"Get Started Now","auth.action.go.to.main":"Go to Main Page","auth.action.login":"Login","auth.action.login.button":"Sign In","auth.action.logout":"Logout","auth.action.signup.again":"Sign Up","auth.action.signup.link":"Sign Up","auth.action.signup.nav":"Sign Up","auth.email.label":"Email","auth.email.verification.check.inbox":"Please check the inbox of the email you used to sign up.","auth.email.verification.required.description":"Email verification has not been completed.","auth.email.verification.required.title":"Email Verification Required","auth.email.verification.resend":"Resend Verification Email","auth.email.verify.button.instruction":"You accessed this page via the verification button in the email.","auth.email.verifying":"Verifying account…","auth.forgot.password.email.placeholder":"Please enter the email registered with Altio.","auth.forgot.password.link":"Forgot Password","auth.forgot.password.no.email.label":"Didn't receive an email?","auth.forgot.password.resend":"Resend Password Reset Email","auth.forgot.password.send.button":"Send Password Reset Email","auth.forgot.password.sent.description":"A verification link has been sent to the email below.","auth.forgot.password.sent.email.label":"Sent Email Address","auth.forgot.password.sent.title":"Password Reset Email Sent","auth.login.keep.signed.in":"Keep me signed in","auth.login.no.account":"Don't have an account?","auth.logout.confirm":"Are you sure you want to log out?","auth.logout.description":"Logging out will end your current session.","auth.password.composition.error":"Password must include letters, numbers, and symbols.","auth.password.mismatch.error":"Passwords do not match.","auth.reset.password.button":"Reset Password","auth.reset.password.confirm.label":"Confirm New Password","auth.reset.password.placeholder":"Please enter the new password.","auth.reset.password.rule":"*Password must be 8–16 characters, using letters/numbers/symbols","auth.reset.password.success.description":"Your password has been successfully changed.","auth.reset.password.success.instruction":"Please log in again with your new password.","auth.reset.password.success.title":"Password Reset Complete","auth.signup.name.label":"Name","auth.signup.password.confirm.placeholder":"Confirm Password (8–16 characters, letters/numbers/symbols)","auth.signup.password.placeholder":"Password (8–16 characters, letters/numbers/symbols)","auth.signup.privacy.agreement":"(Required) Agree to Altio's Privacy Policy","auth.signup.send.verification.button":"Send Verification Email","auth.signup.terms.agreement":"(Required) Agree to Altio's Terms of Service","auth.signup.verification.expired.description":"The email verification period has expired.","auth.signup.verification.expired.instruction":"To continue, please sign up again.","auth.signup.verification.expired.title":"Email Verification Expired","auth.signup.verification.sent.description":"A verification link has been sent to the email below","auth.signup.welcome":"Let's start a new beginning together!","auth.toast.account.deleted.success":"Account deleted","auth.verify.email.instruction":"Please check your inbox and complete verification.","chat.action.regenerate":"Regenerate","chat.action.share":"Share Conversation","chat.feedback.negative":"Negative Feedback","chat.feedback.positive":"Positive Feedback","chat.generating":"Generating a response","chat.input.placeholder":"Write down whatever's on your mind","chat.thread.preparing":"Loading Altio…","chat.model.select":"Select Model","chat.room.deleted.error":"The chat room has been deleted and the page is no longer available.","chat.scroll.to.bottom":"Scroll to bottom","chat.textarea.max.rows":"22","common.action.cancel":"Cancel","common.action.change":"Change","common.action.confirm":"Confirm","common.action.contact.us":"Contact Us","common.action.copy":"Copy","common.action.create":"Create","common.action.delete":"Delete","common.action.edit":"Edit","common.action.more":"More","common.action.save":"Save","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"Loading...","conversation.action.new":"New Conversation","conversation.action.remove.from.project":"Remove from Project","conversation.action.rename":"Rename Conversation","conversation.delete.confirm":"Are you sure you want to delete this conversation?","conversation.delete.title":"Delete Conversation","conversation.delete.warning":"Deleted conversations cannot be recovered.","conversation.name.input.placeholder":"Enter conversation name","knowledge.label":"Internal Knowledge","knowledge.search.label":"Internal Search","landing.about.data.safety.part1":"Keep internal data safe and use it the way you want","landing.about.data.safety.part2":"leverage AI.","landing.about.description":"Altio is a Private AI optimized for the environment of businesses and organizations.","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"Close chat","landing.chat.cta":"Talk to us right now!","landing.chat.greeting":"Hello!","landing.chat.input.placeholder":"Ask whatever question comes to mind","landing.chat.message.empty.error":"Please enter a message.","landing.chat.question":"What would you like to know?","landing.chat.response.description":"Altio will answer right away.","landing.contact.company.label":"Company","landing.contact.company.placeholder":"Company name","landing.contact.description":"Do you have questions about Altio or want to learn more?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"Please enter your contact information.","landing.contact.interest.question":"What kind of help would you like to receive?","landing.contact.intro.part1":"Please select your interests and fill in the information,","landing.contact.intro.part2":"we will contact you as soon as possible.","landing.contact.message.description":"Please describe your inquiry in detail.","landing.contact.message.placeholder":"I'm considering adopting Altio and would like to consult about the specific installation process and costs. When would it be possible to meet?","landing.contact.name.placeholder":"John Doe","landing.contact.phone.label":"Phone","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"We collect your name, company, email, and phone number to provide smooth consultation for your inquiry.","landing.contact.privacy.description.part2":"The collected information will not be used for purposes other than the above, and will be immediately destroyed after responding.","landing.contact.privacy.error":"You must agree to the collection and use of personal information.","landing.contact.privacy.label":"Agree to Personal Information Collection and Use (Required)","landing.contact.send.button":"Send Inquiry","landing.contact.submitted.description":"Your inquiry has been successfully submitted.","landing.contact.submitted.promise":"We will respond as soon as possible.","landing.contact.submitted.thanks":"Thank you.","landing.contact.submitted.title":"Inquiry Received","landing.contact.title":"Contact Us","landing.contact.type.label":"Please select the type of inquiry. (Multiple selections allowed)","landing.cta.start":"Start right now!","landing.faq.contact.part1":"If you have any additional questions,","landing.faq.contact.part2":"please feel free to contact us anytime.","landing.faq.title":"FAQ","landing.feature.altitude.description":"Comprehensively analyzes complex data to understand the overall business flow and provides strategic insights.","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"Custom AI Integration","landing.feature.data.connection":"Internal Data Connection","landing.feature.intelligence.description":"All information is processed securely within the company. Responses and analysis based on internal data ensure both security and efficiency.","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"On-Premise Installation","landing.feature.originality.description":"Altio is flexibly applied to the characteristics of organizations and services. It can be customized as needed, from customer support to internal collaboration.","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"Secure AI Solutions","landing.feature.service.integration":"Apply to Service","landing.feature.tagline.part1":"See broadly, connect smartly,","landing.feature.tagline.part2":"and solve creatively","landing.feature.why":"Why","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"Hello,","landing.hero.subtitle":"With Altio, keep security and expand AI utilization.","landing.hero.tagline.connector":"with.","landing.hero.tagline.part1":"Data stays safe,","landing.integration.description.part1":"Without complex settings, the way you want","landing.integration.description.part2":"connect right away.","landing.integration.embed":"Embed Method","landing.integration.pick":"Pick,","landing.integration.widget":"Widget Method","landing.partner.prefix":"With","landing.social.proof":"Many companies are using Altio for their work.","landing.toast.code.copied":"Code has been copied.","layout.logo.alt":"Logo","layout.sidebar.close":"Close Sidebar","layout.sidebar.open":"Open Sidebar","layout.token.usage.label":"Token Usage :","layout.user.avatar.alt":"User Avatar","main.conversation.start.prompt":"What topic would you like to talk about?","main.conversation.start.title":"Shall we start a new conversation?","main.user.greeting.suffix":",","nav.project":"Project","nav.recent.conversations":"Recent Conversations","nav.settings":"Settings","project.action.navigate":"Go to Project","project.action.new":"New Project","project.action.rename":"Rename Project","project.delete.confirm":"Are you sure you want to delete this project?","project.delete.title":"Delete Project","project.delete.warning":"Deleted projects cannot be recovered.","project.list.empty":"No projects to navigate to","project.name.input.placeholder":"Enter project name","seo.about.description":"Learn more about our company and team.","seo.contact.description":"Get in touch with us for any inquiries.","seo.home.description":"Welcome to our website. Explore amazing content!","settings.account.delete.confirm":"Are you sure you want to delete your account?","settings.account.delete.description":"All data will be deleted and cannot be recovered.","settings.account.delete.title":"Delete Account","settings.account.delete.warning.part1":"Deleting your account will erase all saved data and usage history,","settings.account.delete.warning.part2":"and cannot be recovered.","settings.avatar.alt":"Profile","settings.avatar.change":"Change Image","settings.avatar.delete":"Delete Image","settings.build.label":"(Built:","settings.credits":"Altio Credits","settings.language.modal.title":"Language Settings","settings.language.select.label":"Please select the language to use.","settings.language.title":"Language Settings","settings.language.description":"Change the language used in Altio.","settings.password.change.title":"Change Password","settings.password.confirm.placeholder":"Confirm new password (8–16 characters, letters/numbers/symbols)","settings.password.current.label":"Current Password","settings.password.current.placeholder":"Please enter your current password.","settings.password.description":"Please change it periodically for security.","settings.password.label":"Password","settings.password.new.label":"New Password","settings.password.new.placeholder":"New password (8–16 characters, letters/numbers/symbols)","settings.privacy.policy":"Privacy Policy","settings.tab.account":"Account","settings.tab.service":"Service Info","settings.tab.support":"Customer Support","settings.terms.of.service":"Terms of Service","settings.updates":"Update News","settings.username.edit.placeholder":"Please enter your username","settings.username.edit.title":"Edit Username","settings.username.label":"Username","settings.username.length.error":"Name must be between 2 and 10 characters.","settings.version.label":"Version","share.message.load.error":"The shared message could not be loaded.","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"Open New Conversation","shortcuts.shift":"Shift","shortcuts.show":"Show Shortcuts","shortcuts.title":"Shortcuts","shortcuts.toggle.sidebar":"Toggle Sidebar","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"Email is empty.","auth.forgot.password.resend.success":"Password reset email has been sent.","auth.reset.password.duplicate.error":"You cannot use the same password as your current password.","auth.reset.password.invalid.link":"Invalid access. Please check the link in your email again.","auth.reset.password.new.label":"New Password","common.action.collapse":"Collapse","landing.contact.email.label":"Email","landing.contact.name.label":"Name","landing.feature.altitude.subtitle":"AI that sees the big picture","landing.feature.intelligence.subtitle":"AI that protects your data","landing.feature.originality.subtitle":"AI that adapts to you","landing.integration.embed.feature.1":"Seamlessly embed into specific pages or sections","landing.integration.embed.feature.2":"Context-aware responses tailored to the page","landing.integration.embed.feature.3":"Various configuration options and event support","landing.integration.embed.subtitle":"Embed the chatbot UI directly into your page","landing.integration.embed.tag.1":"#Inline Embed","landing.integration.embed.tag.2":"#Custom AI","landing.integration.embed.tag.3":"#Config Options","landing.integration.widget.feature.1":"Access anytime via a floating button in the bottom-right corner","landing.integration.widget.feature.2":"Consistent AI assistant experience across all pages","landing.integration.widget.feature.3":"Customizable design to match your brand","landing.integration.widget.subtitle":"Display Altio AI as a floating popup widget","landing.integration.widget.tag.1":"#Chatbot Widget","landing.integration.widget.tag.2":"#Accessibility","landing.integration.widget.tag.3":"#Custom UI","settings.avatar.manage":"Image Management","validation.contact.category.required":"Please select an inquiry type.","validation.contact.company.required":"Please enter your company name.","validation.contact.message.required":"Please enter your inquiry.","validation.contact.phone.maxlength":"Phone number must be 11 digits or less.","validation.contact.phone.numeric":"Phone number must contain numbers only.","validation.contact.phone.required":"Please enter your phone number.","validation.email.invalid":"Please enter a valid email address.","validation.email.required":"Please enter your email.","validation.name.required":"Please enter your name.","validation.password.confirm.required":"Please confirm your password.","validation.password.length":"Password must be between 8 and 16 characters.","validation.password.required":"Please enter your password.","validation.password.same.as.current":"Cannot use the same password as the current one."}},Symbol.toStringTag,{value:"Module"})),eq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"ビジネスに最適化されたプライベートAIで、安全な内部データ処理と柔軟なAI活用を体験してください。","app.title":"Altio - Your Private Edge","auth.action.get.started":"今すぐ始める","auth.action.go.to.main":"メインページへ移動","auth.action.login":"ログイン","auth.action.login.button":"ログインする","auth.action.logout":"ログアウト","auth.action.signup.again":"会員登録する","auth.action.signup.link":"会員登録","auth.action.signup.nav":"会員登録","auth.email.label":"メール","auth.email.verification.check.inbox":"登録時に入力したメールのメールボックスをご確認ください。","auth.email.verification.required.description":"メール認証が完了していません。","auth.email.verification.required.title":"メール認証が必要","auth.email.verification.resend":"認証メールを再送する","auth.email.verify.button.instruction":"メールの認証ボタンからアクセスされました。","auth.email.verifying":"アカウントを認証中…","auth.forgot.password.email.placeholder":"Altioに登録したメールアドレスを入力してください。","auth.forgot.password.link":"パスワードを忘れた方","auth.forgot.password.no.email.label":"メールが届かないですか?","auth.forgot.password.resend":"パスワードリセットメールを再送する","auth.forgot.password.send.button":"パスワードリセットメールを送る","auth.forgot.password.sent.description":"下記のメールアドレスに認証リンクが送信されました。","auth.forgot.password.sent.email.label":"送信済みメールアドレス","auth.forgot.password.sent.title":"パスワードリセットメール送信","auth.login.keep.signed.in":"ログイン状態を保持する","auth.login.no.account":"アカウントをお持ちでないですか?","auth.logout.confirm":"ログアウトしますか?","auth.logout.description":"ログアウトすると現在のセッションが終了します。","auth.password.composition.error":"パスワードは文字、数字、記号を含む必要があります。","auth.password.mismatch.error":"パスワードが一致しません。","auth.reset.password.button":"パスワードをリセットする","auth.reset.password.confirm.label":"新しいパスワードを確認","auth.reset.password.placeholder":"新しいパスワードを入力してください。","auth.reset.password.rule":"*パスワードは8〜16文字で、文字/数字/記号を使用","auth.reset.password.success.description":"パスワードが正常に変更されました。","auth.reset.password.success.instruction":"新しいパスワードで再度ログインしてください。","auth.reset.password.success.title":"パスワードリセット完了","auth.signup.name.label":"名前","auth.signup.password.confirm.placeholder":"パスワードを確認(8〜16文字、文字/数字/記号)","auth.signup.password.placeholder":"パスワード(8〜16文字、文字/数字/記号)","auth.signup.privacy.agreement":"(必須)Altio個人情報収集・利用への同意","auth.signup.send.verification.button":"認証メールを送信","auth.signup.terms.agreement":"(必須)Altio利用規約への同意","auth.signup.verification.expired.description":"メール認証の有効期限が切れました。","auth.signup.verification.expired.instruction":"引き続きご利用になるには、再度会員登録を行ってください。","auth.signup.verification.expired.title":"メール認証の有効期限切れ","auth.signup.verification.sent.description":"下記のメールアドレスに認証リンクが送信されました","auth.signup.welcome":"新しいスタートを一緒に始めましょう!","auth.toast.account.deleted.success":"アカウントが削除されました","auth.verify.email.instruction":"メールボックスをご確認の上、認証を完了してください。","chat.action.regenerate":"再実行","chat.action.share":"会話を共有","chat.feedback.negative":"ネガティブフィードバック","chat.feedback.positive":"ポジティブフィードバック","chat.generating":"回答を生成中です","chat.input.placeholder":"今思いついたことを書いてください","chat.thread.preparing":"Altio 準備中…","chat.model.select":"モデルを選択","chat.room.deleted.error":"チャットルームが削除されたため、ページを使用できません。","chat.scroll.to.bottom":"一番下にスクロール","chat.textarea.max.rows":"22","common.action.cancel":"キャンセル","common.action.change":"変更","common.action.confirm":"確認","common.action.contact.us":"お問い合わせ","common.action.copy":"コピー","common.action.create":"作成","common.action.delete":"削除","common.action.edit":"編集","common.action.more":"もっと見る","common.action.save":"保存","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"読み込み中...","conversation.action.new":"新しい会話","conversation.action.remove.from.project":"プロジェクトから削除","conversation.action.rename":"会話名を変更","conversation.delete.confirm":"会話を削除しますか?","conversation.delete.title":"会話を削除","conversation.delete.warning":"削除した会話は復元できません。","conversation.name.input.placeholder":"会話名を入力してください","knowledge.label":"社内知識","knowledge.search.label":"社内検索","landing.about.data.safety.part1":"内部データを安全に保ち、望む方法で","landing.about.data.safety.part2":"AIを活用してください。","landing.about.description":"Altioは企業や組織の環境に最適化されたプライベートAIです。","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"チャットを閉じる","landing.chat.cta":"今すぐ話しかけてみましょう!","landing.chat.greeting":"こんにちは!","landing.chat.input.placeholder":"今思い浮かんでいる質問を話してください","landing.chat.message.empty.error":"メッセージを入力してください。","landing.chat.question":"何を知りたいですか?","landing.chat.response.description":"Altioがすぐに回答します。","landing.contact.company.label":"会社","landing.contact.company.placeholder":"会社名","landing.contact.description":"Altioについてご質問がある、または詳しく知りたいですか?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"連絡先情報を入力してください。","landing.contact.interest.question":"どのようなサポートを受けたいですか?","landing.contact.intro.part1":"ご興味を選択して情報を入力していただければ、","landing.contact.intro.part2":"できるだけ早くご連絡いたします。","landing.contact.message.description":"お問い合わせ内容を詳しくお書きください。","landing.contact.message.placeholder":"Altioの導入を検討しており、具体的な設置プロセスと費用についてご相談したいです。いつミーティングが可能でしょうか?","landing.contact.name.placeholder":"山田太郎","landing.contact.phone.label":"連絡先","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"お問い合わせ内容に対してスムーズなご相談のため、氏名、会社、メール、携帯電話番号を収集します。","landing.contact.privacy.description.part2":"収集した情報は上記目的以外には使用せず、回答後直ちに廃棄します。","landing.contact.privacy.error":"個人情報の収集・利用に同意する必要があります。","landing.contact.privacy.label":"個人情報収集・利用への同意(必須)","landing.contact.send.button":"お問い合わせを送る","landing.contact.submitted.description":"お客様のお問い合わせが正常に受け付けられました。","landing.contact.submitted.promise":"できるだけ早くご回答いたします。","landing.contact.submitted.thanks":"ありがとうございます。","landing.contact.submitted.title":"お問い合わせ受付","landing.contact.title":"お問い合わせ","landing.contact.type.label":"お問い合わせの種類を選択してください。(複数選択可)","landing.cta.start":"今すぐ始めましょう!","landing.faq.contact.part1":"さらにご不明な点がございましたら、","landing.faq.contact.part2":"いつでもお気軽にお問い合わせください。","landing.faq.title":"よくある質問","landing.feature.altitude.description":"複雑なデータを総合的に分析してビジネス全体の流れを把握し、戦略的インサイトを提供します。","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"カスタムAIインテグレーション","landing.feature.data.connection":"内部データ接続","landing.feature.intelligence.description":"すべての情報は企業内部で安全に処理されます。内部データに基づく回答と分析により、セキュリティと効率性を同時に保証します。","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"オンプレミスインストール","landing.feature.originality.description":"Altioは組織とサービスの特性に合わせて柔軟に適用されます。カスタマーサポートから社内コラボレーションまで、必要な方法でカスタマイズできます。","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"セキュアAIソリューション","landing.feature.service.integration":"サービスに適用","landing.feature.tagline.part1":"広く見て、賢くつなげて、","landing.feature.tagline.part2":"独創的に解決する","landing.feature.why":"なぜ","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"こんにちは、","landing.hero.subtitle":"Altioと共に、セキュリティを守り、AI活用を拡大してください。","landing.hero.tagline.connector":"で。","landing.hero.tagline.part1":"データは安全に、","landing.integration.description.part1":"複雑な設定なしに、お望みの方法で","landing.integration.description.part2":"今すぐ接続してみてください。","landing.integration.embed":"埋め込み方式","landing.integration.pick":"選んで、","landing.integration.widget":"ウィジェット方式","landing.partner.prefix":"と共に","landing.social.proof":"多くの企業がAltioを業務に活用しています。","landing.toast.code.copied":"コードがコピーされました。","layout.logo.alt":"ロゴ","layout.sidebar.close":"サイドバーを閉じる","layout.sidebar.open":"サイドバーを開く","layout.token.usage.label":"トークン使用量 :","layout.user.avatar.alt":"ユーザーアバター","main.conversation.start.prompt":"どのようなテーマで話しましょうか?","main.conversation.start.title":"新しい会話を始めましょうか?","main.user.greeting.suffix":"さん、","nav.project":"プロジェクト","nav.recent.conversations":"最近の会話","nav.settings":"設定","project.action.navigate":"プロジェクトへ移動","project.action.new":"新しいプロジェクト","project.action.rename":"プロジェクト名を変更","project.delete.confirm":"プロジェクトを削除しますか?","project.delete.title":"プロジェクトを削除","project.delete.warning":"削除したプロジェクトは復元できません。","project.list.empty":"移動できるプロジェクトがありません","project.name.input.placeholder":"プロジェクト名を入力してください","seo.about.description":"私たちの会社とチームについてもっと知る。","seo.contact.description":"お問い合わせはこちら。","seo.home.description":"私たちのウェブサイトへようこそ。素晴らしいコンテンツを探索してください!","settings.account.delete.confirm":"アカウントを削除しますか?","settings.account.delete.description":"すべてのデータが削除され、復元できません。","settings.account.delete.title":"アカウント削除","settings.account.delete.warning.part1":"アカウントを削除すると、保存されたデータと利用履歴がすべて消え、","settings.account.delete.warning.part2":"復元することはできません。","settings.avatar.alt":"プロフィール","settings.avatar.change":"画像を変更","settings.avatar.delete":"画像を削除","settings.build.label":"(ビルド:","settings.credits":"Altio Credits","settings.language.modal.title":"言語設定","settings.language.select.label":"使用する言語を選択してください。","settings.language.title":"言語設定","settings.language.description":"Altioで使用する言語を変更します。","settings.password.change.title":"パスワードの変更","settings.password.confirm.placeholder":"新しいパスワードを確認(8〜16文字、文字/数字/記号使用)","settings.password.current.label":"現在のパスワード","settings.password.current.placeholder":"現在のパスワードを入力してください。","settings.password.description":"セキュリティのために定期的に変更してください。","settings.password.label":"パスワード","settings.password.new.label":"新しいパスワード","settings.password.new.placeholder":"新しいパスワード(8〜16文字、文字/数字/記号使用)","settings.privacy.policy":"プライバシーポリシー","settings.tab.account":"アカウント","settings.tab.service":"サービス情報","settings.tab.support":"お客様サポート","settings.terms.of.service":"利用規約","settings.updates":"アップデート情報","settings.username.edit.placeholder":"ユーザー名を入力してください","settings.username.edit.title":"ユーザー名を編集","settings.username.label":"ユーザー名","settings.username.length.error":"名前は2文字以上、最大10文字まで入力できます。","settings.version.label":"バージョン","share.message.load.error":"共有メッセージを読み込めませんでした。","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"新しい会話を開く","shortcuts.shift":"Shift","shortcuts.show":"ショートカットを表示","shortcuts.title":"ショートカット","shortcuts.toggle.sidebar":"サイドバーを切り替える","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"メールアドレスが空です。","auth.forgot.password.resend.success":"パスワードリセットメールが送信されました。","auth.reset.password.duplicate.error":"現在のパスワードと同じパスワードは使用できません。","auth.reset.password.invalid.link":"無効なアクセスです。メールのリンクを再確認してください。","auth.reset.password.new.label":"新しいパスワード","common.action.collapse":"閉じる","landing.contact.email.label":"メールアドレス","landing.contact.name.label":"お名前","landing.feature.altitude.subtitle":"大局を見るAI","landing.feature.intelligence.subtitle":"データを守るAI","landing.feature.originality.subtitle":"柔軟に変化するAI","landing.integration.embed.feature.1":"特定のページやセクションに自然に埋め込み","landing.integration.embed.feature.2":"ページのコンテキストに合わせたカスタム応答","landing.integration.embed.feature.3":"多様な設定オプションとイベントのサポート","landing.integration.embed.subtitle":"ページ内にチャットボットUIを直接埋め込む方式","landing.integration.embed.tag.1":"#ページ埋め込み型","landing.integration.embed.tag.2":"#カスタムAI","landing.integration.embed.tag.3":"#設定オプション","landing.integration.widget.feature.1":"右下のフローティングボタンからいつでもアクセス","landing.integration.widget.feature.2":"すべてのページで一貫したAIアシスタント体験","landing.integration.widget.feature.3":"ブランドに合わせたカスタムデザインを適用","landing.integration.widget.subtitle":"Altio AIをポップアップウィジェットとして表示する方式","landing.integration.widget.tag.1":"#チャットボットウィジェット","landing.integration.widget.tag.2":"#アクセシビリティ","landing.integration.widget.tag.3":"#カスタムUI","settings.avatar.manage":"画像管理","validation.contact.category.required":"お問い合わせの種類を選択してください。","validation.contact.company.required":"会社名を入力してください。","validation.contact.message.required":"お問い合わせ内容を入力してください。","validation.contact.phone.maxlength":"電話番号は11桁以下で入力してください。","validation.contact.phone.numeric":"電話番号は数字のみ入力可能です。","validation.contact.phone.required":"電話番号を入力してください。","validation.email.invalid":"正しいメールアドレスの形式で入力してください。","validation.email.required":"メールアドレスを入力してください。","validation.name.required":"名前を入力してください。","validation.password.confirm.required":"パスワードをもう一度入力してください。","validation.password.length":"パスワードは8文字以上16文字以下で入力してください。","validation.password.required":"パスワードを入力してください。","validation.password.same.as.current":"現在使用中のパスワードと同じです。"}},Symbol.toStringTag,{value:"Module"})),tq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"비즈니스에 최적화된 프라이빗 AI로 안전한 내부 데이터 처리와 유연한 AI 활용을 경험하세요.","app.title":"Altio - Your Private Edge","auth.action.get.started":"지금 시작하기","auth.action.go.to.main":"메인 페이지로 이동","auth.action.login":"로그인","auth.action.login.button":"로그인하기","auth.action.logout":"로그아웃","auth.action.signup.again":"회원가입하기","auth.action.signup.link":"회원가입","auth.action.signup.nav":"회원가입","auth.email.label":"이메일","auth.email.verification.check.inbox":"가입 시 입력한 이메일의 메일함을 확인해주세요.","auth.email.verification.required.description":"이메일 인증이 완료되지 않았습니다.","auth.email.verification.required.title":"이메일 인증 필요","auth.email.verification.resend":"인증 메일 다시 받기","auth.email.verify.button.instruction":"이메일의 인증 버튼을 통해 접근하셨습니다.","auth.email.verifying":"계정 인증 중…","auth.forgot.password.email.placeholder":"Altio에 가입된 이메일을 입력해주세요.","auth.forgot.password.link":"비밀번호 찾기","auth.forgot.password.no.email.label":"메일이 오지 않았나요?","auth.forgot.password.resend":"비밀번호 재설정 메일 다시 받기","auth.forgot.password.send.button":"비밀번호 재설정 이메일 보내기","auth.forgot.password.sent.description":"아래 이메일로 인증 링크가 발송되었습니다.","auth.forgot.password.sent.email.label":"발송된 이메일 주소","auth.forgot.password.sent.title":"비밀번호 재설정 메일 발송","auth.login.keep.signed.in":"로그인 유지하기","auth.login.no.account":"계정이 없으신가요?","auth.logout.confirm":"로그아웃 하시겠습니까?","auth.logout.description":"로그아웃하면 현재 세션이 종료됩니다.","auth.password.composition.error":"비밀번호는 문자, 숫자, 기호를 포함해야 합니다.","auth.password.mismatch.error":"비밀번호가 일치하지 않습니다.","auth.reset.password.button":"비밀번호 재설정하기","auth.reset.password.confirm.label":"새 비밀번호 확인","auth.reset.password.placeholder":"재설정할 비밀번호를 입력해주세요.","auth.reset.password.rule":"*비밀번호는 8~16자 이내, 문자/숫자/기호 사용","auth.reset.password.success.description":"비밀번호가 성공적으로 변경되었습니다.","auth.reset.password.success.instruction":"새 비밀번호로 다시 로그인해 주세요.","auth.reset.password.success.title":"비밀번호 재설정 완료","auth.signup.name.label":"이름","auth.signup.password.confirm.placeholder":"비밀번호 확인 (8~16자 이내, 문자/숫자/기호)","auth.signup.password.placeholder":"비밀번호 (8~16자 이내, 문자/숫자/기호)","auth.signup.privacy.agreement":"(필수) Altio 개인정보 수집 및 이용 동의","auth.signup.send.verification.button":"인증메일 발송","auth.signup.terms.agreement":"(필수) Altio 이용약관 동의","auth.signup.verification.expired.description":"이메일 인증 기한이 만료되었습니다.","auth.signup.verification.expired.instruction":"계속 이용하시려면 다시 회원가입을 진행해 주세요.","auth.signup.verification.expired.title":"이메일 인증 기한 만료","auth.signup.verification.sent.description":"아래 이메일로 인증 링크가 발송되었습니다","auth.signup.welcome":"새로운 시작을 함께해요!","auth.toast.account.deleted.success":"Account deleted","auth.verify.email.instruction":"메일함을 확인하고 인증을 완료해주세요.","chat.action.regenerate":"다시 실행","chat.action.share":"대화 공유","chat.feedback.negative":"부정적 피드백","chat.feedback.positive":"긍정적 피드백","chat.generating":"답변을 생성 중입니다","chat.input.placeholder":"지금 떠오르는 생각을 적어보세요","chat.thread.preparing":"Altio 준비 중…","chat.model.select":"모델 선택","chat.room.deleted.error":"대화방이 삭제되어 페이지를 사용할 수 없습니다.","chat.scroll.to.bottom":"Scroll to bottom","chat.textarea.max.rows":"22","common.action.cancel":"취소","common.action.change":"변경","common.action.confirm":"확인","common.action.contact.us":"문의하기","common.action.copy":"복사","common.action.create":"생성","common.action.delete":"삭제","common.action.edit":"수정","common.action.more":"더보기","common.action.save":"저장","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"로딩 중...","conversation.action.new":"새 대화","conversation.action.remove.from.project":"프로젝트에서 제거","conversation.action.rename":"대화 이름 변경","conversation.delete.confirm":"대화를 삭제하시겠습니까?","conversation.delete.title":"대화 삭제","conversation.delete.warning":"삭제한 대화는 복구할 수 없습니다.","conversation.name.input.placeholder":"대화 이름을 입력하세요","knowledge.label":"사내 지식","knowledge.search.label":"사내 검색","landing.about.data.safety.part1":"내부 데이터를 안전하게 지키고, 원하는 방식으로","landing.about.data.safety.part2":"AI를 활용하세요.","landing.about.description":"Altio는 기업과 조직의 환경에 최적화된 Private AI입니다.","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"Close chat","landing.chat.cta":"지금 바로 말을 걸어보세요!","landing.chat.greeting":"안녕하세요!","landing.chat.input.placeholder":"지금 떠오르는 질문을 말해보세요","landing.chat.message.empty.error":"메시지를 입력해주세요.","landing.chat.question":"무엇을 알고 싶으신가요?","landing.chat.response.description":"Altio가 곧바로 답합니다.","landing.contact.company.label":"회사","landing.contact.company.placeholder":"회사명","landing.contact.description":"Altio에 대해 궁금한 점이 있거나 더 자세히 알고 싶으신가요?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"연락처 정보를 입력해주세요.","landing.contact.interest.question":"에게 어떤 도움을 받고 싶으세요?","landing.contact.intro.part1":"관심사를 선택하고 정보를 입력해 주시면,","landing.contact.intro.part2":"최대한 빠르게 연락드리겠습니다.","landing.contact.message.description":"문의 내용을 자세히 적어주세요.","landing.contact.message.placeholder":"Altio 도입을 검토 중인데, 구체적인 설치 과정과 비용에 대해 상담받고 싶습니다. 언제 미팅이 가능할까요?","landing.contact.name.placeholder":"홍길동","landing.contact.phone.label":"연락처","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"문의하신 내용에 대한 원활한 상담을 위하여 이름, 회사, 이메일, 휴대폰 번호를 수집합니다.","landing.contact.privacy.description.part2":"수집한 정보는 위 목적 외 이용되지 않으며, 해당 답변 후 즉시 파기합니다.","landing.contact.privacy.error":"개인정보 수집 및 이용에 동의해야 합니다.","landing.contact.privacy.label":"개인정보 수집, 이용 동의(필수)","landing.contact.send.button":"문의 보내기","landing.contact.submitted.description":"고객님의 문의가 성공적으로 접수되었습니다.","landing.contact.submitted.promise":"최대한 빠른 시일 내에 답변드리겠습니다.","landing.contact.submitted.thanks":"감사합니다.","landing.contact.submitted.title":"문의 접수","landing.contact.title":"Contact Us","landing.contact.type.label":"문의 유형을 선택해주세요. (복수 선택 가능)","landing.cta.start":"지금 바로 시작해 보세요!","landing.faq.contact.part1":"추가로 궁금한 점이 있으시면,","landing.faq.contact.part2":"언제든 편하게 문의해주세요.","landing.faq.title":"FAQ","landing.feature.altitude.description":"복잡한 데이터를 종합적으로 분석하여 비즈니스의 전체적인 흐름을 파악하고 전략적 인사이트를 제공합니다.","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"Custom AI Integration","landing.feature.data.connection":"내부 데이터 연결","landing.feature.intelligence.description":"모든 정보는 기업 내부에서 안전하게 처리됩니다. 내부 데이터 기반으로한 답변과 분석으로, 보안과 효율을 동시에 보장합니다.","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"온프레미스 설치","landing.feature.originality.description":"Altio는 조직과 서비스의 특성에 맞게 유연하게 적용됩니다. 고객지원부터 내부 협업까지, 필요한 방식으로 커스터마이즈할 수 있습니다.","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"Secure AI Solutions","landing.feature.service.integration":"서비스에 적용","landing.feature.tagline.part1":"넓게 보고, 똑똑하게 연결하고,","landing.feature.tagline.part2":"독창적으로 해결하는","landing.feature.why":"Why","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"Hello,","landing.hero.subtitle":"Altio와 함께, 보안은 지키고 AI 활용은 확장하세요.","landing.hero.tagline.connector":"로.","landing.hero.tagline.part1":"데이터는 안전하게,","landing.integration.description.part1":"복잡한 설정 없이, 원하는 방식으로","landing.integration.description.part2":"바로 연결해보세요.","landing.integration.embed":"Embed 방식","landing.integration.pick":"Pick,","landing.integration.widget":"Widget 방식","landing.partner.prefix":"With","landing.social.proof":"여러 기업이 Altio를 업무에 활용하고 있습니다.","landing.toast.code.copied":"코드가 복사되었습니다.","layout.logo.alt":"Logo","layout.sidebar.close":"사이드바 닫기","layout.sidebar.open":"사이드바 열기","layout.token.usage.label":"토큰 사용량 :","layout.user.avatar.alt":"User Avatar","main.conversation.start.prompt":"어떤 주제로 이야기를 나눠볼까요?","main.conversation.start.title":"새로운 대화를 시작해볼까요?","main.user.greeting.suffix":"님,","nav.project":"프로젝트","nav.recent.conversations":"최근 대화","nav.settings":"설정","project.action.navigate":"프로젝트로 이동","project.action.new":"새 프로젝트","project.action.rename":"프로젝트 이름 변경","project.delete.confirm":"프로젝트를 삭제하시겠습니까?","project.delete.title":"프로젝트 삭제","project.delete.warning":"삭제한 프로젝트는 복구할 수 없습니다.","project.list.empty":"이동할 프로젝트가 없습니다","project.name.input.placeholder":"프로젝트 이름을 입력하세요","seo.about.description":"Learn more about our company and team.","seo.contact.description":"Get in touch with us for any inquiries.","seo.home.description":"Welcome to our website. Explore amazing content!","settings.account.delete.confirm":"계정을 삭제하시겠습니까?","settings.account.delete.description":"모든 데이터가 삭제되며, 복구할 수 없습니다.","settings.account.delete.title":"계정 삭제","settings.account.delete.warning.part1":"계정을 삭제하면 저장된 데이터와 이용 기록이 모두 사라지며,","settings.account.delete.warning.part2":"다시 복구할 수 없습니다.","settings.avatar.alt":"Profile","settings.avatar.change":"이미지 변경","settings.avatar.delete":"이미지 삭제","settings.build.label":"(Built:","settings.credits":"Altio Credits","settings.language.modal.title":"언어 설정","settings.language.select.label":"사용할 언어를 선택해주세요.","settings.language.title":"언어 설정","settings.language.description":"Altio에서 사용할 언어를 변경합니다.","settings.password.change.title":"비밀번호 변경","settings.password.confirm.placeholder":"새 비밀번호 확인 (8~16자 이내, 문자/숫자/기호 사용)","settings.password.current.label":"현재 비밀번호","settings.password.current.placeholder":"현재 비밀번호를 입력해주세요.","settings.password.description":"보안을 위해 주기적으로 변경해주세요.","settings.password.label":"비밀번호","settings.password.new.label":"새 비밀번호","settings.password.new.placeholder":"새 비밀번호 (8~16자 이내, 문자/숫자/기호 사용)","settings.privacy.policy":"개인정보 처리방침","settings.tab.account":"계정","settings.tab.service":"서비스 정보","settings.tab.support":"고객문의","settings.terms.of.service":"이용약관","settings.updates":"업데이트 소식","settings.username.edit.placeholder":"사용자 이름을 입력해주세요","settings.username.edit.title":"사용자 이름 수정","settings.username.label":"사용자 이름","settings.username.length.error":"이름은 2자 이상 최대 10자까지 입력 가능합니다.","settings.version.label":"Version","share.message.load.error":"The shared message could not be loaded.","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"새 대화 열기","shortcuts.shift":"Shift","shortcuts.show":"단축키 표시","shortcuts.title":"단축키","shortcuts.toggle.sidebar":"사이드바 토글","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"이메일이 비어 있습니다.","auth.forgot.password.resend.success":"비밀번호 재설정 메일이 전송되었습니다.","auth.reset.password.duplicate.error":"기존 비밀번호와 동일한 비밀번호는 사용할 수 없습니다.","auth.reset.password.invalid.link":"유효하지 않은 접근입니다. 이메일 링크를 다시 확인해주세요.","auth.reset.password.new.label":"새 비밀번호","common.action.collapse":"접기","landing.contact.email.label":"이메일","landing.contact.name.label":"이름","landing.feature.altitude.subtitle":"큰 그림을 보는 AI","landing.feature.intelligence.subtitle":"데이터를 지키는 AI","landing.feature.originality.subtitle":"맞춤형으로 변하는 AI","landing.integration.embed.feature.1":"특정 페이지나 섹션에 자연스럽게 삽입","landing.integration.embed.feature.2":"페이지 컨텍스트에 맞는 맞춤형 응답","landing.integration.embed.feature.3":"다양한 설정 옵션과 이벤트 지원","landing.integration.embed.subtitle":"페이지 안에 챗봇 UI를 직접 삽입하는 방식","landing.integration.embed.tag.1":"#페이지 내장형","landing.integration.embed.tag.2":"#맞춤형 AI","landing.integration.embed.tag.3":"#설정 옵션","landing.integration.widget.feature.1":"우하단 플로팅 버튼으로 언제든 접근","landing.integration.widget.feature.2":"모든 페이지에서 일관된 AI 어시스턴트 경험","landing.integration.widget.feature.3":"브랜드 맞춤형 디자인 적용","landing.integration.widget.subtitle":"Altio AI 위젯을 팝업 형태로 보여주는 방식","landing.integration.widget.tag.1":"#챗봇 버튼형","landing.integration.widget.tag.2":"#접근성","landing.integration.widget.tag.3":"#맞춤UI","settings.avatar.manage":"이미지 관리","validation.contact.category.required":"문의 유형을 선택해주세요.","validation.contact.company.required":"회사명을 입력해주세요.","validation.contact.message.required":"문의 내용을 입력해주세요.","validation.contact.phone.maxlength":"연락처는 11자리 이하로 입력해주세요.","validation.contact.phone.numeric":"연락처는 숫자만 입력 가능합니다.","validation.contact.phone.required":"연락처를 입력해주세요.","validation.email.invalid":"올바른 이메일 형식을 입력해주세요.","validation.email.required":"이메일을 입력해주세요.","validation.name.required":"이름을 입력해주세요.","validation.password.confirm.required":"비밀번호를 다시 한 번 입력해주세요.","validation.password.length":"비밀번호는 8자 이상 16자 이하로 입력해주세요.","validation.password.required":"비밀번호를 입력해주세요.","validation.password.same.as.current":"현재 사용중인 비밀번호와 동일합니다."}},Symbol.toStringTag,{value:"Module"})),nq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"สัมผัสการประมวลผลข้อมูลภายในที่ปลอดภัยและการใช้ AI ที่ยืดหยุ่น ด้วย AI ส่วนตัวที่ปรับให้เหมาะสมสำหรับธุรกิจ","app.title":"Altio - Your Private Edge","auth.action.get.started":"เริ่มต้นเลย","auth.action.go.to.main":"ไปที่หน้าหลัก","auth.action.login":"เข้าสู่ระบบ","auth.action.login.button":"เข้าสู่ระบบ","auth.action.logout":"ออกจากระบบ","auth.action.signup.again":"สมัครสมาชิก","auth.action.signup.link":"สมัครสมาชิก","auth.action.signup.nav":"สมัครสมาชิก","auth.email.label":"อีเมล","auth.email.verification.check.inbox":"กรุณาตรวจสอบกล่องจดหมายของอีเมลที่ใช้ลงทะเบียน","auth.email.verification.required.description":"การยืนยันอีเมลยังไม่เสร็จสมบูรณ์","auth.email.verification.required.title":"จำเป็นต้องยืนยันอีเมล","auth.email.verification.resend":"ส่งอีเมลยืนยันอีกครั้ง","auth.email.verify.button.instruction":"คุณเข้าถึงหน้านี้ผ่านปุ่มยืนยันในอีเมล","auth.email.verifying":"กำลังยืนยันบัญชี…","auth.forgot.password.email.placeholder":"กรุณาใส่อีเมลที่ลงทะเบียนกับ Altio","auth.forgot.password.link":"ลืมรหัสผ่าน","auth.forgot.password.no.email.label":"ไม่ได้รับอีเมล?","auth.forgot.password.resend":"ส่งอีเมลรีเซ็ตรหัสผ่านอีกครั้ง","auth.forgot.password.send.button":"ส่งอีเมลรีเซ็ตรหัสผ่าน","auth.forgot.password.sent.description":"ลิงก์ยืนยันถูกส่งไปยังอีเมลด้านล่างแล้ว","auth.forgot.password.sent.email.label":"ที่อยู่อีเมลที่ส่งไป","auth.forgot.password.sent.title":"ส่งอีเมลรีเซ็ตรหัสผ่านแล้ว","auth.login.keep.signed.in":"คงสถานะเข้าสู่ระบบ","auth.login.no.account":"ยังไม่มีบัญชี?","auth.logout.confirm":"คุณต้องการออกจากระบบหรือไม่?","auth.logout.description":"การออกจากระบบจะสิ้นสุดเซสชันปัจจุบันของคุณ","auth.password.composition.error":"รหัสผ่านต้องประกอบด้วยตัวอักษร ตัวเลข และสัญลักษณ์","auth.password.mismatch.error":"รหัสผ่านไม่ตรงกัน","auth.reset.password.button":"รีเซ็ตรหัสผ่าน","auth.reset.password.confirm.label":"ยืนยันรหัสผ่านใหม่","auth.reset.password.placeholder":"กรุณาใส่รหัสผ่านใหม่","auth.reset.password.rule":"*รหัสผ่านต้องมี 8-16 ตัวอักษร ใช้ตัวอักษร/ตัวเลข/สัญลักษณ์","auth.reset.password.success.description":"รหัสผ่านของคุณถูกเปลี่ยนเรียบร้อยแล้ว","auth.reset.password.success.instruction":"กรุณาเข้าสู่ระบบอีกครั้งด้วยรหัสผ่านใหม่","auth.reset.password.success.title":"รีเซ็ตรหัสผ่านสำเร็จ","auth.signup.name.label":"ชื่อ","auth.signup.password.confirm.placeholder":"ยืนยันรหัสผ่าน (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","auth.signup.password.placeholder":"รหัสผ่าน (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","auth.signup.privacy.agreement":"(จำเป็น) ยินยอมให้ Altio เก็บรวบรวมและใช้ข้อมูลส่วนบุคคล","auth.signup.send.verification.button":"ส่งอีเมลยืนยัน","auth.signup.terms.agreement":"(จำเป็น) ยินยอมข้อกำหนดการใช้งาน Altio","auth.signup.verification.expired.description":"ระยะเวลายืนยันอีเมลหมดอายุแล้ว","auth.signup.verification.expired.instruction":"หากต้องการใช้งานต่อ กรุณาลงทะเบียนใหม่","auth.signup.verification.expired.title":"หมดอายุการยืนยันอีเมล","auth.signup.verification.sent.description":"ลิงก์ยืนยันถูกส่งไปยังอีเมลด้านล่างแล้ว","auth.signup.welcome":"มาเริ่มต้นใหม่ด้วยกัน!","auth.toast.account.deleted.success":"ลบบัญชีแล้ว","auth.verify.email.instruction":"กรุณาตรวจสอบกล่องจดหมายและทำการยืนยันให้เสร็จสิ้น","chat.action.regenerate":"สร้างใหม่","chat.action.share":"แชร์การสนทนา","chat.feedback.negative":"ความคิดเห็นเชิงลบ","chat.feedback.positive":"ความคิดเห็นเชิงบวก","chat.generating":"กำลังสร้างคำตอบ","chat.input.placeholder":"เขียนสิ่งที่คุณคิดในตอนนี้","chat.thread.preparing":"Altio กำลังโหลด…","chat.model.select":"เลือกโมเดล","chat.room.deleted.error":"ห้องสนทนาถูกลบแล้ว ไม่สามารถใช้งานหน้านี้ได้","chat.scroll.to.bottom":"เลื่อนลงด้านล่าง","chat.textarea.max.rows":"22","common.action.cancel":"ยกเลิก","common.action.change":"เปลี่ยน","common.action.confirm":"ยืนยัน","common.action.contact.us":"ติดต่อเรา","common.action.copy":"คัดลอก","common.action.create":"สร้าง","common.action.delete":"ลบ","common.action.edit":"แก้ไข","common.action.more":"เพิ่มเติม","common.action.save":"บันทึก","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"กำลังโหลด...","conversation.action.new":"การสนทนาใหม่","conversation.action.remove.from.project":"ลบออกจากโปรเจกต์","conversation.action.rename":"เปลี่ยนชื่อการสนทนา","conversation.delete.confirm":"คุณต้องการลบการสนทนานี้หรือไม่?","conversation.delete.title":"ลบการสนทนา","conversation.delete.warning":"การสนทนาที่ลบแล้วไม่สามารถกู้คืนได้","conversation.name.input.placeholder":"ใส่ชื่อการสนทนา","knowledge.label":"ความรู้ภายใน","knowledge.search.label":"ค้นหาภายใน","landing.about.data.safety.part1":"รักษาข้อมูลภายในให้ปลอดภัยและใช้งานตามต้องการ","landing.about.data.safety.part2":"ใช้ประโยชน์จาก AI","landing.about.description":"Altio คือ AI ส่วนตัวที่ปรับให้เหมาะสมกับสภาพแวดล้อมของธุรกิจและองค์กร","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"ปิดแชท","landing.chat.cta":"ลองพูดคุยตอนนี้เลย!","landing.chat.greeting":"สวัสดี!","landing.chat.input.placeholder":"ถามคำถามที่อยู่ในใจของคุณ","landing.chat.message.empty.error":"กรุณาใส่ข้อความ","landing.chat.question":"คุณต้องการรู้อะไร?","landing.chat.response.description":"Altio จะตอบทันที","landing.contact.company.label":"บริษัท","landing.contact.company.placeholder":"ชื่อบริษัท","landing.contact.description":"มีคำถามเกี่ยวกับ Altio หรือต้องการเรียนรู้เพิ่มเติมหรือไม่?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"กรุณาใส่ข้อมูลติดต่อของคุณ","landing.contact.interest.question":"คุณต้องการความช่วยเหลือประเภทใด?","landing.contact.intro.part1":"กรุณาเลือกความสนใจและกรอกข้อมูล","landing.contact.intro.part2":"เราจะติดต่อกลับโดยเร็วที่สุด","landing.contact.message.description":"กรุณาอธิบายคำถามของคุณอย่างละเอียด","landing.contact.message.placeholder":"ฉันกำลังพิจารณานำ Altio มาใช้ และต้องการปรึกษาเกี่ยวกับขั้นตอนการติดตั้งและค่าใช้จ่าย เมื่อใดที่จะนัดประชุมได้?","landing.contact.name.placeholder":"สมชาย ใจดี","landing.contact.phone.label":"เบอร์โทร","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"เราเก็บรวบรวมชื่อ บริษัท อีเมล และเบอร์โทรศัพท์ของคุณเพื่อให้การปรึกษาเป็นไปอย่างราบรื่น","landing.contact.privacy.description.part2":"ข้อมูลที่เก็บรวบรวมจะไม่ถูกนำไปใช้เพื่อวัตถุประสงค์อื่น และจะถูกทำลายทันทีหลังจากตอบกลับ","landing.contact.privacy.error":"คุณต้องยินยอมให้เก็บรวบรวมและใช้ข้อมูลส่วนบุคคล","landing.contact.privacy.label":"ยินยอมให้เก็บรวบรวมและใช้ข้อมูลส่วนบุคคล (จำเป็น)","landing.contact.send.button":"ส่งคำถาม","landing.contact.submitted.description":"คำถามของคุณได้รับการส่งเรียบร้อยแล้ว","landing.contact.submitted.promise":"เราจะตอบกลับโดยเร็วที่สุด","landing.contact.submitted.thanks":"ขอบคุณ","landing.contact.submitted.title":"รับคำถามแล้ว","landing.contact.title":"ติดต่อเรา","landing.contact.type.label":"กรุณาเลือกประเภทคำถาม (เลือกได้หลายข้อ)","landing.cta.start":"เริ่มต้นเลยตอนนี้!","landing.faq.contact.part1":"หากมีคำถามเพิ่มเติม","landing.faq.contact.part2":"อย่าลังเลที่จะติดต่อเราได้ตลอดเวลา","landing.faq.title":"คำถามที่พบบ่อย","landing.feature.altitude.description":"วิเคราะห์ข้อมูลที่ซับซ้อนอย่างครอบคลุมเพื่อทำความเข้าใจกระแสธุรกิจโดยรวมและให้ข้อมูลเชิงกลยุทธ์","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"การผสานรวม AI แบบกำหนดเอง","landing.feature.data.connection":"การเชื่อมต่อข้อมูลภายใน","landing.feature.intelligence.description":"ข้อมูลทั้งหมดได้รับการประมวลผลอย่างปลอดภัยภายในบริษัท การตอบสนองและการวิเคราะห์โดยอิงจากข้อมูลภายในรับประกันทั้งความปลอดภัยและประสิทธิภาพ","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"การติดตั้งแบบ On-Premise","landing.feature.originality.description":"Altio ถูกนำมาใช้อย่างยืดหยุ่นตามลักษณะขององค์กรและบริการ สามารถปรับแต่งได้ตามต้องการ ตั้งแต่การสนับสนุนลูกค้าไปจนถึงการทำงานร่วมกันภายใน","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"โซลูชัน AI ที่ปลอดภัย","landing.feature.service.integration":"นำไปใช้กับบริการ","landing.feature.tagline.part1":"มองให้กว้าง เชื่อมต่ออย่างชาญฉลาด","landing.feature.tagline.part2":"และแก้ปัญหาอย่างสร้างสรรค์","landing.feature.why":"ทำไม","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"สวัสดี,","landing.hero.subtitle":"ด้วย Altio รักษาความปลอดภัยและขยายการใช้งาน AI","landing.hero.tagline.connector":"ด้วย","landing.hero.tagline.part1":"ข้อมูลปลอดภัย,","landing.integration.description.part1":"โดยไม่ต้องตั้งค่าที่ซับซ้อน ในแบบที่คุณต้องการ","landing.integration.description.part2":"เชื่อมต่อได้เลย","landing.integration.embed":"วิธีการฝัง","landing.integration.pick":"เลือก,","landing.integration.widget":"วิธีวิดเจ็ต","landing.partner.prefix":"กับ","landing.social.proof":"หลายบริษัทกำลังใช้ Altio ในการทำงาน","landing.toast.code.copied":"คัดลอกโค้ดแล้ว","layout.logo.alt":"โลโก้","layout.sidebar.close":"ปิดแถบด้านข้าง","layout.sidebar.open":"เปิดแถบด้านข้าง","layout.token.usage.label":"การใช้โทเค็น :","layout.user.avatar.alt":"รูปอวตารผู้ใช้","main.conversation.start.prompt":"คุณต้องการพูดคุยเรื่องอะไร?","main.conversation.start.title":"เริ่มต้นการสนทนาใหม่กันดีไหม?","main.user.greeting.suffix":",","nav.project":"โปรเจกต์","nav.recent.conversations":"การสนทนาล่าสุด","nav.settings":"การตั้งค่า","project.action.navigate":"ไปที่โปรเจกต์","project.action.new":"โปรเจกต์ใหม่","project.action.rename":"เปลี่ยนชื่อโปรเจกต์","project.delete.confirm":"คุณต้องการลบโปรเจกต์นี้หรือไม่?","project.delete.title":"ลบโปรเจกต์","project.delete.warning":"โปรเจกต์ที่ลบแล้วไม่สามารถกู้คืนได้","project.list.empty":"ไม่มีโปรเจกต์ที่จะไป","project.name.input.placeholder":"ใส่ชื่อโปรเจกต์","seo.about.description":"เรียนรู้เพิ่มเติมเกี่ยวกับบริษัทและทีมของเรา","seo.contact.description":"ติดต่อเราสำหรับข้อสงสัยใดๆ","seo.home.description":"ยินดีต้อนรับสู่เว็บไซต์ของเรา สำรวจเนื้อหาที่น่าทึ่ง!","settings.account.delete.confirm":"คุณต้องการลบบัญชีของคุณหรือไม่?","settings.account.delete.description":"ข้อมูลทั้งหมดจะถูกลบและไม่สามารถกู้คืนได้","settings.account.delete.title":"ลบบัญชี","settings.account.delete.warning.part1":"การลบบัญชีจะลบข้อมูลที่บันทึกไว้และประวัติการใช้งานทั้งหมด","settings.account.delete.warning.part2":"และไม่สามารถกู้คืนได้","settings.avatar.alt":"โปรไฟล์","settings.avatar.change":"เปลี่ยนรูปภาพ","settings.avatar.delete":"ลบรูปภาพ","settings.build.label":"(สร้างเมื่อ:","settings.credits":"Altio Credits","settings.language.modal.title":"การตั้งค่าภาษา","settings.language.select.label":"กรุณาเลือกภาษาที่จะใช้","settings.language.title":"การตั้งค่าภาษา","settings.language.description":"เปลี่ยนภาษาที่ใช้ใน Altio","settings.password.change.title":"เปลี่ยนรหัสผ่าน","settings.password.confirm.placeholder":"ยืนยันรหัสผ่านใหม่ (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","settings.password.current.label":"รหัสผ่านปัจจุบัน","settings.password.current.placeholder":"กรุณาใส่รหัสผ่านปัจจุบัน","settings.password.description":"กรุณาเปลี่ยนเป็นระยะเพื่อความปลอดภัย","settings.password.label":"รหัสผ่าน","settings.password.new.label":"รหัสผ่านใหม่","settings.password.new.placeholder":"รหัสผ่านใหม่ (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","settings.privacy.policy":"นโยบายความเป็นส่วนตัว","settings.tab.account":"บัญชี","settings.tab.service":"ข้อมูลบริการ","settings.tab.support":"ฝ่ายสนับสนุนลูกค้า","settings.terms.of.service":"ข้อกำหนดการใช้งาน","settings.updates":"ข่าวอัปเดต","settings.username.edit.placeholder":"กรุณาใส่ชื่อผู้ใช้","settings.username.edit.title":"แก้ไขชื่อผู้ใช้","settings.username.label":"ชื่อผู้ใช้","settings.username.length.error":"ชื่อต้องมีอย่างน้อย 2 ตัวอักษรและสูงสุด 10 ตัวอักษร","settings.version.label":"เวอร์ชัน","share.message.load.error":"ไม่สามารถโหลดข้อความที่แชร์ได้","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"เปิดการสนทนาใหม่","shortcuts.shift":"Shift","shortcuts.show":"แสดงทางลัด","shortcuts.title":"ทางลัด","shortcuts.toggle.sidebar":"สลับแถบด้านข้าง","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"อีเมลว่างเปล่า","auth.forgot.password.resend.success":"ส่งอีเมลรีเซ็ตรหัสผ่านแล้ว","auth.reset.password.duplicate.error":"คุณไม่สามารถใช้รหัสผ่านเดิมได้","auth.reset.password.invalid.link":"การเข้าถึงไม่ถูกต้อง โปรดตรวจสอบลิงก์ในอีเมลอีกครั้ง","auth.reset.password.new.label":"รหัสผ่านใหม่","common.action.collapse":"ยุบ","landing.contact.email.label":"อีเมล","landing.contact.name.label":"ชื่อ","landing.feature.altitude.subtitle":"AI ที่มองเห็นภาพรวม","landing.feature.intelligence.subtitle":"AI ที่ปกป้องข้อมูลของคุณ","landing.feature.originality.subtitle":"AI ที่ปรับตัวให้เข้ากับคุณ","landing.integration.embed.feature.1":"ฝังลงในหน้าหรือส่วนที่ต้องการได้อย่างราบรื่น","landing.integration.embed.feature.2":"การตอบสนองที่ปรับตามบริบทของหน้า","landing.integration.embed.feature.3":"รองรับตัวเลือกการตั้งค่าและอีเวนต์ที่หลากหลาย","landing.integration.embed.subtitle":"ฝัง UI แชทบอทโดยตรงในหน้าเพจ","landing.integration.embed.tag.1":"#ฝังในหน้าเพจ","landing.integration.embed.tag.2":"#AI ที่กำหนดเอง","landing.integration.embed.tag.3":"#ตัวเลือกการตั้งค่า","landing.integration.widget.feature.1":"เข้าถึงได้ตลอดเวลาผ่านปุ่มลอยที่มุมขวาล่าง","landing.integration.widget.feature.2":"ประสบการณ์ผู้ช่วย AI ที่สม่ำเสมอในทุกหน้า","landing.integration.widget.feature.3":"ออกแบบให้ตรงกับแบรนด์ของคุณ","landing.integration.widget.subtitle":"แสดง Altio AI เป็นวิดเจ็ตป๊อปอัปแบบลอย","landing.integration.widget.tag.1":"#วิดเจ็ตแชทบอท","landing.integration.widget.tag.2":"#การเข้าถึง","landing.integration.widget.tag.3":"#UI ที่กำหนดเอง","settings.avatar.manage":"จัดการรูปภาพ","validation.contact.category.required":"กรุณาเลือกประเภทการสอบถาม","validation.contact.company.required":"กรุณากรอกชื่อบริษัท","validation.contact.message.required":"กรุณากรอกข้อความสอบถาม","validation.contact.phone.maxlength":"หมายเลขโทรศัพท์ต้องไม่เกิน 11 หลัก","validation.contact.phone.numeric":"หมายเลขโทรศัพท์ต้องเป็นตัวเลขเท่านั้น","validation.contact.phone.required":"กรุณากรอกหมายเลขโทรศัพท์","validation.email.invalid":"กรุณากรอกรูปแบบอีเมลที่ถูกต้อง","validation.email.required":"กรุณากรอกอีเมล","validation.name.required":"กรุณากรอกชื่อ","validation.password.confirm.required":"กรุณายืนยันรหัสผ่าน","validation.password.length":"รหัสผ่านต้องมี 8-16 ตัวอักษร","validation.password.required":"กรุณากรอกรหัสผ่าน","validation.password.same.as.current":"ไม่สามารถใช้รหัสผ่านเดิมได้"}},Symbol.toStringTag,{value:"Module"})),aq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"Trải nghiệm xử lý dữ liệu nội bộ an toàn và sử dụng AI linh hoạt với AI riêng tư được tối ưu hóa cho doanh nghiệp.","app.title":"Altio - Your Private Edge","auth.action.get.started":"Bắt đầu ngay","auth.action.go.to.main":"Đến trang chính","auth.action.login":"Đăng nhập","auth.action.login.button":"Đăng nhập","auth.action.logout":"Đăng xuất","auth.action.signup.again":"Đăng ký","auth.action.signup.link":"Đăng ký","auth.action.signup.nav":"Đăng ký","auth.email.label":"Email","auth.email.verification.check.inbox":"Vui lòng kiểm tra hộp thư của email bạn đã dùng để đăng ký.","auth.email.verification.required.description":"Xác minh email chưa hoàn tất.","auth.email.verification.required.title":"Yêu cầu xác minh email","auth.email.verification.resend":"Gửi lại email xác minh","auth.email.verify.button.instruction":"Bạn đã truy cập trang này qua nút xác minh trong email.","auth.email.verifying":"Đang xác minh tài khoản…","auth.forgot.password.email.placeholder":"Vui lòng nhập email đã đăng ký với Altio.","auth.forgot.password.link":"Quên mật khẩu","auth.forgot.password.no.email.label":"Chưa nhận được email?","auth.forgot.password.resend":"Gửi lại email đặt lại mật khẩu","auth.forgot.password.send.button":"Gửi email đặt lại mật khẩu","auth.forgot.password.sent.description":"Đường dẫn xác minh đã được gửi đến email bên dưới.","auth.forgot.password.sent.email.label":"Địa chỉ email đã gửi","auth.forgot.password.sent.title":"Đã gửi email đặt lại mật khẩu","auth.login.keep.signed.in":"Duy trì đăng nhập","auth.login.no.account":"Chưa có tài khoản?","auth.logout.confirm":"Bạn có muốn đăng xuất không?","auth.logout.description":"Đăng xuất sẽ kết thúc phiên hiện tại của bạn.","auth.password.composition.error":"Mật khẩu phải bao gồm chữ cái, số và ký hiệu.","auth.password.mismatch.error":"Mật khẩu không khớp.","auth.reset.password.button":"Đặt lại mật khẩu","auth.reset.password.confirm.label":"Xác nhận mật khẩu mới","auth.reset.password.placeholder":"Vui lòng nhập mật khẩu mới.","auth.reset.password.rule":"*Mật khẩu phải từ 8–16 ký tự, sử dụng chữ/số/ký hiệu","auth.reset.password.success.description":"Mật khẩu của bạn đã được thay đổi thành công.","auth.reset.password.success.instruction":"Vui lòng đăng nhập lại với mật khẩu mới.","auth.reset.password.success.title":"Đặt lại mật khẩu thành công","auth.signup.name.label":"Tên","auth.signup.password.confirm.placeholder":"Xác nhận mật khẩu (8–16 ký tự, chữ/số/ký hiệu)","auth.signup.password.placeholder":"Mật khẩu (8–16 ký tự, chữ/số/ký hiệu)","auth.signup.privacy.agreement":"(Bắt buộc) Đồng ý thu thập và sử dụng thông tin cá nhân của Altio","auth.signup.send.verification.button":"Gửi email xác minh","auth.signup.terms.agreement":"(Bắt buộc) Đồng ý với Điều khoản dịch vụ của Altio","auth.signup.verification.expired.description":"Thời hạn xác minh email đã hết.","auth.signup.verification.expired.instruction":"Để tiếp tục, vui lòng đăng ký lại.","auth.signup.verification.expired.title":"Hết hạn xác minh email","auth.signup.verification.sent.description":"Đường dẫn xác minh đã được gửi đến email bên dưới","auth.signup.welcome":"Hãy cùng bắt đầu một chương mới!","auth.toast.account.deleted.success":"Đã xóa tài khoản","auth.verify.email.instruction":"Vui lòng kiểm tra hộp thư và hoàn tất xác minh.","chat.action.regenerate":"Tạo lại","chat.action.share":"Chia sẻ cuộc trò chuyện","chat.feedback.negative":"Phản hồi tiêu cực","chat.feedback.positive":"Phản hồi tích cực","chat.generating":"Đang tạo câu trả lời","chat.input.placeholder":"Hãy viết ra những gì bạn đang nghĩ","chat.thread.preparing":"Altio đang tải…","chat.model.select":"Chọn mô hình","chat.room.deleted.error":"Phòng trò chuyện đã bị xóa và trang không còn khả dụng.","chat.scroll.to.bottom":"Cuộn xuống dưới","chat.textarea.max.rows":"22","common.action.cancel":"Hủy","common.action.change":"Thay đổi","common.action.confirm":"Xác nhận","common.action.contact.us":"Liên hệ chúng tôi","common.action.copy":"Sao chép","common.action.create":"Tạo","common.action.delete":"Xóa","common.action.edit":"Chỉnh sửa","common.action.more":"Xem thêm","common.action.save":"Lưu","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Bản quyền ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"Đang tải","conversation.action.new":"Cuộc trò chuyện mới","conversation.action.remove.from.project":"Xóa khỏi dự án","conversation.action.rename":"Đổi tên cuộc trò chuyện","conversation.delete.confirm":"Bạn có muốn xóa cuộc trò chuyện này không?","conversation.delete.title":"Xóa cuộc trò chuyện","conversation.delete.warning":"Cuộc trò chuyện đã xóa không thể phục hồi.","conversation.name.input.placeholder":"Nhập tên cuộc trò chuyện","knowledge.label":"Kiến thức nội bộ","knowledge.search.label":"Tìm kiếm nội bộ","landing.about.data.safety.part1":"Bảo vệ dữ liệu nội bộ an toàn và sử dụng theo cách bạn muốn","landing.about.data.safety.part2":"tận dụng AI.","landing.about.description":"Altio là AI riêng tư được tối ưu hóa cho môi trường doanh nghiệp và tổ chức.","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"Đóng chat","landing.chat.cta":"Hãy bắt chuyện ngay bây giờ!","landing.chat.greeting":"Xin chào!","landing.chat.input.placeholder":"Hãy hỏi bất kỳ câu hỏi nào bạn đang nghĩ đến","landing.chat.message.empty.error":"Vui lòng nhập tin nhắn.","landing.chat.question":"Bạn muốn biết điều gì?","landing.chat.response.description":"Altio sẽ trả lời ngay.","landing.contact.company.label":"Công ty","landing.contact.company.placeholder":"Tên công ty","landing.contact.description":"Bạn có câu hỏi về Altio hay muốn tìm hiểu thêm không?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"Vui lòng nhập thông tin liên hệ.","landing.contact.interest.question":"Bạn muốn nhận được sự hỗ trợ gì?","landing.contact.intro.part1":"Vui lòng chọn lĩnh vực quan tâm và điền thông tin,","landing.contact.intro.part2":"chúng tôi sẽ liên hệ với bạn sớm nhất có thể.","landing.contact.message.description":"Vui lòng mô tả chi tiết nội dung yêu cầu.","landing.contact.message.placeholder":"Tôi đang cân nhắc triển khai Altio và muốn tư vấn về quy trình cài đặt cụ thể và chi phí. Khi nào có thể họp được?","landing.contact.name.placeholder":"Nguyễn Văn A","landing.contact.phone.label":"Số điện thoại","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"Chúng tôi thu thập tên, công ty, email và số điện thoại của bạn để tư vấn thuận tiện cho yêu cầu của bạn.","landing.contact.privacy.description.part2":"Thông tin thu thập sẽ không được sử dụng ngoài mục đích trên và sẽ được hủy ngay sau khi phản hồi.","landing.contact.privacy.error":"Bạn phải đồng ý với việc thu thập và sử dụng thông tin cá nhân.","landing.contact.privacy.label":"Đồng ý thu thập và sử dụng thông tin cá nhân (Bắt buộc)","landing.contact.send.button":"Gửi yêu cầu","landing.contact.submitted.description":"Yêu cầu của bạn đã được gửi thành công.","landing.contact.submitted.promise":"Chúng tôi sẽ phản hồi sớm nhất có thể.","landing.contact.submitted.thanks":"Cảm ơn bạn.","landing.contact.submitted.title":"Đã nhận yêu cầu","landing.contact.title":"Liên hệ chúng tôi","landing.contact.type.label":"Vui lòng chọn loại yêu cầu. (Có thể chọn nhiều)","landing.cta.start":"Bắt đầu ngay bây giờ!","landing.faq.contact.part1":"Nếu bạn có thêm câu hỏi,","landing.faq.contact.part2":"vui lòng liên hệ với chúng tôi bất cứ lúc nào.","landing.faq.title":"Câu hỏi thường gặp","landing.feature.altitude.description":"Phân tích toàn diện dữ liệu phức tạp để hiểu luồng kinh doanh tổng thể và cung cấp thông tin chiến lược.","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"Tích hợp AI tùy chỉnh","landing.feature.data.connection":"Kết nối dữ liệu nội bộ","landing.feature.intelligence.description":"Tất cả thông tin được xử lý an toàn trong nội bộ công ty. Các câu trả lời và phân tích dựa trên dữ liệu nội bộ đảm bảo cả bảo mật và hiệu quả.","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"Cài đặt On-Premise","landing.feature.originality.description":"Altio được áp dụng linh hoạt theo đặc tính của tổ chức và dịch vụ. Có thể tùy chỉnh theo nhu cầu, từ hỗ trợ khách hàng đến cộng tác nội bộ.","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"Giải pháp AI bảo mật","landing.feature.service.integration":"Áp dụng vào dịch vụ","landing.feature.tagline.part1":"Nhìn rộng, kết nối thông minh,","landing.feature.tagline.part2":"và giải quyết sáng tạo","landing.feature.why":"Tại sao","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"Xin chào,","landing.hero.subtitle":"Cùng với Altio, giữ vững bảo mật và mở rộng sử dụng AI.","landing.hero.tagline.connector":"với.","landing.hero.tagline.part1":"Dữ liệu an toàn,","landing.integration.description.part1":"Không cần cài đặt phức tạp, theo cách bạn muốn","landing.integration.description.part2":"kết nối ngay.","landing.integration.embed":"Phương thức nhúng","landing.integration.pick":"Chọn,","landing.integration.widget":"Phương thức widget","landing.partner.prefix":"Với","landing.social.proof":"Nhiều doanh nghiệp đang sử dụng Altio trong công việc.","landing.toast.code.copied":"Đã sao chép mã.","layout.logo.alt":"Logo","layout.sidebar.close":"Đóng thanh bên","layout.sidebar.open":"Mở thanh bên","layout.token.usage.label":"Lượng token sử dụng :","layout.user.avatar.alt":"Ảnh đại diện người dùng","main.conversation.start.prompt":"Bạn muốn trò chuyện về chủ đề gì?","main.conversation.start.title":"Hãy bắt đầu một cuộc trò chuyện mới nhé?","main.user.greeting.suffix":",","nav.project":"Dự án","nav.recent.conversations":"Cuộc trò chuyện gần đây","nav.settings":"Cài đặt","project.action.navigate":"Đến dự án","project.action.new":"Dự án mới","project.action.rename":"Đổi tên dự án","project.delete.confirm":"Bạn có muốn xóa dự án này không?","project.delete.title":"Xóa dự án","project.delete.warning":"Dự án đã xóa không thể phục hồi.","project.list.empty":"Không có dự án để điều hướng","project.name.input.placeholder":"Nhập tên dự án","seo.about.description":"Tìm hiểu thêm về công ty và đội ngũ của chúng tôi.","seo.contact.description":"Liên hệ với chúng tôi cho bất kỳ thắc mắc nào.","seo.home.description":"Chào mừng đến với trang web của chúng tôi. Khám phá nội dung tuyệt vời!","settings.account.delete.confirm":"Bạn có muốn xóa tài khoản không?","settings.account.delete.description":"Tất cả dữ liệu sẽ bị xóa và không thể phục hồi.","settings.account.delete.title":"Xóa tài khoản","settings.account.delete.warning.part1":"Xóa tài khoản sẽ xóa tất cả dữ liệu đã lưu và lịch sử sử dụng,","settings.account.delete.warning.part2":"và không thể phục hồi.","settings.avatar.alt":"Hồ sơ","settings.avatar.change":"Thay đổi ảnh","settings.avatar.delete":"Xóa ảnh","settings.build.label":"(Phiên bản:","settings.credits":"Altio Credits","settings.language.modal.title":"Cài đặt ngôn ngữ","settings.language.select.label":"Vui lòng chọn ngôn ngữ muốn sử dụng.","settings.language.title":"Cài đặt ngôn ngữ","settings.language.description":"Thay đổi ngôn ngữ sử dụng trong Altio.","settings.password.change.title":"Đổi mật khẩu","settings.password.confirm.placeholder":"Xác nhận mật khẩu mới (8–16 ký tự, chữ/số/ký hiệu)","settings.password.current.label":"Mật khẩu hiện tại","settings.password.current.placeholder":"Vui lòng nhập mật khẩu hiện tại.","settings.password.description":"Vui lòng thay đổi định kỳ để bảo mật.","settings.password.label":"Mật khẩu","settings.password.new.label":"Mật khẩu mới","settings.password.new.placeholder":"Mật khẩu mới (8–16 ký tự, chữ/số/ký hiệu)","settings.privacy.policy":"Chính sách quyền riêng tư","settings.tab.account":"Tài khoản","settings.tab.service":"Thông tin dịch vụ","settings.tab.support":"Hỗ trợ khách hàng","settings.terms.of.service":"Điều khoản dịch vụ","settings.updates":"Tin tức cập nhật","settings.username.edit.placeholder":"Vui lòng nhập tên người dùng","settings.username.edit.title":"Chỉnh sửa tên người dùng","settings.username.label":"Tên người dùng","settings.username.length.error":"Tên phải từ 2 đến 10 ký tự.","settings.version.label":"Phiên bản","share.message.load.error":"Không thể tải tin nhắn được chia sẻ.","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"Mở cuộc trò chuyện mới","shortcuts.shift":"Shift","shortcuts.show":"Hiển thị phím tắt","shortcuts.title":"Phím tắt","shortcuts.toggle.sidebar":"Bật/tắt thanh bên","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"Email trống.","auth.forgot.password.resend.success":"Email đặt lại mật khẩu đã được gửi.","auth.reset.password.duplicate.error":"Bạn không thể dùng mật khẩu giống mật khẩu hiện tại.","auth.reset.password.invalid.link":"Truy cập không hợp lệ. Vui lòng kiểm tra lại đường dẫn trong email.","auth.reset.password.new.label":"Mật khẩu mới","common.action.collapse":"Thu gọn","landing.contact.email.label":"Email","landing.contact.name.label":"Họ và tên","landing.feature.altitude.subtitle":"AI nhìn thấy bức tranh toàn cảnh","landing.feature.intelligence.subtitle":"AI bảo vệ dữ liệu của bạn","landing.feature.originality.subtitle":"AI thích nghi với bạn","landing.integration.embed.feature.1":"Nhúng liền mạch vào các trang hoặc phần cụ thể","landing.integration.embed.feature.2":"Phản hồi phù hợp với nội dung của trang","landing.integration.embed.feature.3":"Hỗ trợ nhiều tùy chọn cấu hình và sự kiện","landing.integration.embed.subtitle":"Nhúng giao diện chatbot trực tiếp vào trang","landing.integration.embed.tag.1":"#Nhúng trong trang","landing.integration.embed.tag.2":"#AI tùy chỉnh","landing.integration.embed.tag.3":"#Tùy chọn cấu hình","landing.integration.widget.feature.1":"Truy cập bất cứ lúc nào qua nút nổi ở góc dưới bên phải","landing.integration.widget.feature.2":"Trải nghiệm AI nhất quán trên mọi trang","landing.integration.widget.feature.3":"Thiết kế tùy chỉnh phù hợp với thương hiệu","landing.integration.widget.subtitle":"Hiển thị Altio AI dạng cửa sổ popup nổi","landing.integration.widget.tag.1":"#Widget chatbot","landing.integration.widget.tag.2":"#Tiếp cận","landing.integration.widget.tag.3":"#Giao diện tùy chỉnh","settings.avatar.manage":"Quản lý hình ảnh","validation.contact.category.required":"Vui lòng chọn loại yêu cầu.","validation.contact.company.required":"Vui lòng nhập tên công ty.","validation.contact.message.required":"Vui lòng nhập nội dung yêu cầu.","validation.contact.phone.maxlength":"Số điện thoại không được quá 11 chữ số.","validation.contact.phone.numeric":"Số điện thoại chỉ được nhập số.","validation.contact.phone.required":"Vui lòng nhập số điện thoại.","validation.email.invalid":"Vui lòng nhập đúng định dạng email.","validation.email.required":"Vui lòng nhập email.","validation.name.required":"Vui lòng nhập họ và tên.","validation.password.confirm.required":"Vui lòng nhập lại mật khẩu.","validation.password.length":"Mật khẩu phải từ 8 đến 16 ký tự.","validation.password.required":"Vui lòng nhập mật khẩu.","validation.password.same.as.current":"Không thể dùng mật khẩu giống mật khẩu hiện tại."}},Symbol.toStringTag,{value:"Module"}));return hy})();
|
|
367
|
+
`)}return A.trim()&&I(A),{answer:x,model:C}}},NG={session:()=>["agent-session"]};function CG(e=!0){return fT({queryKey:NG.session(),queryFn:async()=>(await cy.connect()).data.session_id,enabled:e,staleTime:36e5,gcTime:36e5,retry:1,refetchOnWindowFocus:!1})}const dy=100;function IG(){const[e,t]=z.useState(!1),n=z.useRef(null),a=z.useRef("manual"),s=z.useRef(0),[o,u]=z.useState(!1),c=z.useCallback(()=>{const A=n.current;if(!A)return!0;const{scrollTop:x,scrollHeight:C,clientHeight:I}=A;return C-x-I<dy},[]),p=z.useCallback(()=>{const A=n.current;if(!A)return;const{scrollTop:x,scrollHeight:C,clientHeight:I}=A,F=C>I+4,P=C-x-I<dy;t(F&&!P)},[]),f=z.useCallback(A=>{const x=n.current;x&&(a.current="anchored",u(!1),x.scrollTop=A,s.current=x.scrollTop,p())},[p]),m=z.useCallback(()=>{const A=n.current;A&&(A.scrollTo({top:A.scrollHeight,behavior:"smooth"}),setTimeout(p,350),setTimeout(p,700))},[p]),g=z.useCallback(()=>{const A=n.current;A&&(A.scrollTop=A.scrollHeight,s.current=A.scrollTop,p())},[p]),S=z.useCallback((A=!0)=>{const x=n.current;x&&(a.current="following",u(!0),A?x.scrollTo({top:x.scrollHeight,behavior:"smooth"}):x.scrollTop=x.scrollHeight,setTimeout(p,350),setTimeout(p,700))},[p]),y=z.useCallback(()=>a.current==="following",[]),k=z.useCallback(()=>{const A=n.current;A&&(a.current==="following"&&(A.scrollTop=A.scrollHeight,s.current=A.scrollTop),p())},[p]),R=z.useCallback(()=>{a.current==="following"&&(a.current="manual",u(!1))},[]);return z.useEffect(()=>{const A=n.current;if(!A)return;const x=()=>{s.current=A.scrollTop,p()},C=P=>{P.deltaY<0&&R()},I=()=>{A.scrollHeight-A.scrollTop-A.clientHeight>dy&&R()},F=P=>{["ArrowUp","PageUp","Home"].includes(P.key)&&R()};return A.addEventListener("scroll",x,{passive:!0}),A.addEventListener("wheel",C,{passive:!0}),A.addEventListener("touchmove",I,{passive:!0}),A.addEventListener("keydown",F),window.addEventListener("resize",p),p(),()=>{A.removeEventListener("scroll",x),A.removeEventListener("wheel",C),A.removeEventListener("touchmove",I),A.removeEventListener("keydown",F),window.removeEventListener("resize",p)}},[p,R]),z.useEffect(()=>{const A=requestAnimationFrame(p);return()=>cancelAnimationFrame(A)},[p]),{showScrollDown:e,scrollContainerRef:n,anchorTo:f,followBottom:S,followTick:k,isFollowing:y,following:o,handleScrollToBottom:m,scrollToBottomInstant:g,updateScrollDownVisibility:p,isNearBottom:c}}const tx="altio_thread_session";function OG(e){if(typeof window!="undefined")try{if(!e){window.localStorage.removeItem(tx);return}window.localStorage.setItem(tx,e)}catch{}}async function DG(){var n,a;const t=(n=(await Qs.post("/threads",{})).data)==null?void 0:n.data;return t!=null&&t.session&&OG(t.session),(a=t==null?void 0:t.tuid)!=null?a:null}const nx="gpt-5.1";function LG(e){const{clientTuid:t,setClientTuid:n,setMessages:a,setIsGenerating:s,onAnchorToNewMessage:o,startTyping:u,clearTyping:c,streamTo:p,finishStream:f}=e,m=z.useRef(!1),g=z.useRef(""),S=z.useCallback(async(k,R)=>{var C,I,F;const A=k.trim();if(!A||m.current)return;m.current=!0;const x=`user-${Date.now()}`;a(P=>[...P,{role:"user",content:A,id:x}]),s(!0),setTimeout(()=>{o()},50);try{let P=t;P||(P=await DG(),n(P)),await _G();const U=X=>{c(),a(Y=>{const ee=Y[Y.length-1];return ee&&ee.role==="assistant"&&ee.content===X?Y:[...Y,{role:"assistant",content:X,id:`assistant-${Date.now()}`}]}),g.current=X,s(!1)};try{let X="";const Y="typing-assistant",G=(await cy.askStream({question:A,model:R||nx,threadId:P},{onDelta:oe=>{X+=oe,p(Y,X)}})).answer||X||"반환된 내용이 없습니다.";G!==X&&p(Y,G),f(()=>U(G))}catch{c();const Y=(I=(C=(await cy.ask({question:A,model:R||nx,threadId:P})).data)==null?void 0:C.answer)!=null?I:"반환된 내용이 없습니다.";u("typing-assistant",Y,()=>U(Y))}}catch(P){const U=P&&typeof P=="object"&&"response"in P&&((F=P.response)==null?void 0:F.status),X=U===412||U===414||U===401;X&&n(null);const Y=X?"인증이 만료되었습니다. 페이지를 새로고침 후 다시 시도해주세요.":"현재 시스템에 일시적인 문제가 발생했습니다. 잠시 후 다시 시도해주세요.";a(ee=>[...ee,{role:"assistant",content:Y,id:`assistant-${Date.now()}`,isError:!0}]),s(!1)}finally{m.current=!1}},[t,n,a,s,o,u,c,p,f]),y=z.useCallback(()=>{a([]),n(null),s(!1),c(),g.current=""},[a,n,s,c]);return{handleSendMessage:S,handleRefresh:y}}const MG=120,zG=180,BG=100,FG=60;function UG(e){const[t,n]=z.useState({id:"",text:"",shown:""}),a=z.useRef(""),s=z.useRef(""),o=z.useRef(0),u=z.useRef(null),c=z.useRef(null),p=z.useRef(null),f=z.useRef(null),m=z.useRef(e);m.current=e;const g=z.useCallback(()=>{u.current!=null&&(cancelAnimationFrame(u.current),u.current=null),c.current=null,p.current=null},[]),S=z.useCallback(C=>{var ue,ye;const I=s.current,F=I.length-o.current;if(F<=0){g(),(ue=m.current)==null||ue.call(m);const fe=f.current;fe&&(f.current=null,fe());return}const P=c.current;c.current=C;const U=P==null?16:Math.min(C-P,BG),X=F/zG*1e3,Y=Math.max(MG,X),ee=Math.max(1,Math.round(Y*U/1e3)),G=Math.min(I.length,o.current+ee);o.current=G,n({id:a.current,text:I,shown:I.slice(0,G)});const oe=p.current;(oe==null||C-oe>=FG)&&(p.current=C,(ye=m.current)==null||ye.call(m)),u.current=requestAnimationFrame(S)},[g]),y=z.useCallback(()=>{u.current==null&&(c.current=null,u.current=requestAnimationFrame(S))},[S]),k=z.useCallback((C,I,F)=>{if(u.current!=null&&f.current){const P=f.current;f.current=null,P()}if(g(),a.current=C,s.current=I,o.current=0,f.current=F!=null?F:null,n({id:C,text:I,shown:""}),I.length>0)y();else{const P=f.current;f.current=null,P==null||P()}},[y,g]),R=z.useCallback((C,I)=>{var F;if(a.current=C,s.current=I,I.length<o.current){o.current=I.length,n({id:C,text:I,shown:I}),(F=m.current)==null||F.call(m);return}n(P=>P.id===C?P:{id:C,text:I,shown:P.shown}),I.length>o.current&&y()},[y]),A=z.useCallback(C=>{if(o.current>=s.current.length){g(),C==null||C();return}f.current=C!=null?C:null,y()},[y,g]),x=z.useCallback(()=>{g(),a.current="",s.current="",o.current=0,f.current=null,n({id:"",text:"",shown:""})},[g]);return z.useEffect(()=>()=>g(),[g]),{typingMsg:t,startTyping:k,streamTo:R,finishStream:A,clearTyping:x}}function ax(e){if(!e||typeof e!="string")return e;const t="사내 지식";return e.replace(new RegExp(`[\\n\\s]*${t}\\s*$`,"u"),"").trimEnd()}const py="altio_widget_messages",fy="altio_widget_tuid",PG="altio_widget_reset";function ku(){return v_()}function HG(){if(typeof window=="undefined")return"";try{return new URLSearchParams(window.location.search).get("reset")||""}catch{return""}}function GG(){if(typeof window=="undefined")return[];try{const e=localStorage.getItem(`${py}:${ku()}`),t=e?JSON.parse(e):[];return Array.isArray(t)?t:[]}catch{return[]}}function qG(){if(typeof window=="undefined")return null;try{return localStorage.getItem(`${fy}:${ku()}`)}catch{return null}}function jG(e){if(typeof window!="undefined")try{localStorage.setItem(`${py}:${ku()}`,JSON.stringify(e))}catch{}}function $G(e){if(typeof window!="undefined")try{const t=`${fy}:${ku()}`;e?localStorage.setItem(t,e):localStorage.removeItem(t)}catch{}}function rx(){if(typeof window!="undefined")try{const e=[];for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t);n&&(n.startsWith(py)||n.startsWith(fy))&&e.push(n)}for(const t of e)localStorage.removeItem(t)}catch{}}function VG(){if(typeof window!="undefined")try{const e=HG();if(!e)return;const t=`${PG}:${ku()}`;localStorage.getItem(t)!==e&&(rx(),localStorage.setItem(t,e))}catch{}}function YG({className:e}){const[t,n]=z.useState(()=>(VG(),GG())),[a,s]=z.useState(qG),[o,u]=z.useState(!1),[c,p]=z.useState(0),[f,m]=z.useState(null),[g,S]=z.useState(0),y=YA(),{data:k}=CG(),{showScrollDown:R,scrollContainerRef:A,anchorTo:x,followBottom:C,followTick:I,updateScrollDownVisibility:F}=IG(),P=z.useRef(null),U=z.useCallback(()=>{const ae=A.current,L=P.current;!ae||!L||x(L.offsetTop)},[A,x]),{typingMsg:X,startTyping:Y,streamTo:ee,finishStream:G,clearTyping:oe}=UG(I),{handleSendMessage:ue,handleRefresh:ye}=LG({clientTuid:a,setClientTuid:s,setMessages:n,setIsGenerating:u,onAnchorToNewMessage:U,startTyping:Y,clearTyping:oe,streamTo:ee,finishStream:G});z.useEffect(()=>{jG(t)},[t]),z.useEffect(()=>{$G(a)},[a]),z.useEffect(()=>{const ae=L=>{const Re=L.data;Re&&Re.type==="ALTIO_CLEAR_HISTORY"&&(rx(),ye(),p(ke=>ke+1))};return window.addEventListener("message",ae),()=>window.removeEventListener("message",ae)},[ye]),z.useEffect(()=>{const ae=A.current;if(!ae)return;const L=new ResizeObserver(()=>{S(ae.clientHeight)});return L.observe(ae),S(ae.clientHeight),()=>L.disconnect()},[A]);const fe=z.useRef(!1),[pe,Q]=z.useState(!1);z.useEffect(()=>{if(t.length===0){fe.current=!1,Q(!0);return}fe.current||Q(!1)},[t.length]),z.useLayoutEffect(()=>{if(fe.current||t.length===0)return;let ae=0,L=0;const Re=()=>{const ke=A.current;if((!ke||ke.clientHeight===0)&&L<60){L+=1,ae=requestAnimationFrame(Re);return}if(ke){const Ee=ke.style.scrollBehavior;ke.style.scrollBehavior="auto",ke.scrollTop=ke.scrollHeight,ae=requestAnimationFrame(()=>{ke.style.scrollBehavior=Ee,fe.current=!0,Q(!0)});return}fe.current=!0,Q(!0)};return Re(),()=>cancelAnimationFrame(ae)},[t.length,A]);const he=z.useMemo(()=>[t.length,o?1:0,X.shown.length].join("|"),[t.length,o,X.shown.length]);z.useEffect(()=>{F()},[he,F]);const Oe=()=>{ye(),p(ae=>ae+1)},Pe=(ae,L)=>{navigator.clipboard.writeText(L).then(()=>{m(ae),setTimeout(()=>m(null),2e3)})},w=z.useMemo(()=>{const ae=[];let L=0;for(;L<t.length;){const Re=t[L];if(Re.role==="user"){const ke=t[L+1];ae.push({user:Re,assistant:(ke==null?void 0:ke.role)==="assistant"?ke:null}),L+=(ke==null?void 0:ke.role)==="assistant"?2:1}else L++}return ae},[t]),te=t.length>0&&!pe;return ve.jsx("div",{className:Ln("relative h-full",e),children:ve.jsxs("div",{className:"relative flex h-full w-full flex-col overflow-hidden bg-white shadow-[-4px_0_16px_0_rgba(26,26,26,0.08)]",children:[ve.jsxs("div",{className:Ln("flex items-center justify-between border-b-[.5px] border-[#EAEAEA] bg-white px-[1.6rem]",y?"h-[56px]":"h-[48px]"),children:[ve.jsx("div",{className:"inline-block",children:ve.jsx(TC,{logo:"https://s3.ap-northeast-2.amazonaws.com/echoit.altio/official/logos/logo-widget.svg",className:"h-[16px] w-[55px]"})}),ve.jsx("div",{className:"flex h-[32px] w-[32px] cursor-pointer items-center justify-center rounded-lg border-[1px] border-[#EDEDED] bg-white",children:ve.jsx("button",{type:"button",onClick:Oe,className:"flex cursor-pointer items-center justify-center",children:ve.jsx(bT,{size:16,color:"#111D70"})})})]}),ve.jsx("div",{ref:A,onScroll:F,className:"scrollbar-widget relative flex min-h-0 flex-1 flex-col overflow-y-auto",style:{scrollbarWidth:"thin",scrollbarColor:"rgba(169, 169, 169, 0.3) transparent",visibility:te?"hidden":"visible"},children:ve.jsxs("div",{className:"flex flex-1 flex-col justify-between pt-[1.2rem]",children:[t.length===0?ve.jsx("div",{className:"flex flex-1 flex-col items-start justify-start px-[1.6rem]"}):ve.jsx("div",{className:Ln("flex flex-col gap-[3.6rem] px-[1.6rem] pb-[3.2rem]",te&&"invisible"),children:w.map((ae,L)=>{const Re=L===w.length-1,ke=ae.assistant;return ve.jsxs("div",{ref:Re?P:void 0,className:"flex flex-col gap-[2.4rem]",style:{minHeight:Re&&g>0?g-166:void 0},children:[ve.jsxs("div",{className:"group flex flex-col items-end gap-[1rem]",children:[ve.jsx("div",{className:Ln("max-w-[95%]","rounded-[2rem] bg-[#f8f8f8] px-[1.6rem] py-[1rem]","text-primary-900 text-[14px] leading-[24px] font-[400] tracking-[0.2px]","break-words whitespace-pre-wrap"),children:ae.user.content}),ve.jsx(VA,{label:"복사",align:"left",children:ve.jsx("button",{type:"button",onClick:()=>Pe(ae.user.id,ae.user.content),className:"flex cursor-pointer items-center gap-[0.3rem] rounded-[.8rem] p-[4px] text-[#070C2F] transition-opacity hover:bg-[#EEE] active:bg-[#E2E2E2]",children:f===ae.user.id?ve.jsx(Ic,{size:20,weight:"bold",className:"text-[#070C2F]"}):ve.jsx(Oc,{size:16,fontWeight:400})})})]}),ke&&ve.jsxs("div",{className:"group flex flex-col items-start gap-[1rem]",children:[ve.jsx("div",{className:Ln("max-w-[95%] text-[14px] [&_.markdown-container]:text-[14px]","break-words",ke.isError&&"text-[#FF3D3D]"),children:ke.isError?ke.content:ve.jsx($A,{content:ax(ke.content)})}),ve.jsx(VA,{label:"복사",align:"right",children:ve.jsx("button",{type:"button",onClick:()=>Pe(ke.id,ke.content),className:"flex cursor-pointer items-center gap-[0.3rem] rounded-[.8rem] p-[4px] text-[#070C2F] transition-opacity hover:bg-[#EEE] active:bg-[#E2E2E2]",children:f===ke.id?ve.jsx(Ic,{size:20,weight:"bold",className:"text-[#070C2F]"}):ve.jsx(Oc,{size:20,fontWeight:400})})})]}),Re&&!ke&&X.id&&ve.jsx("div",{className:"flex flex-col items-start",children:ve.jsx("div",{className:Ln("text-[14px] font-[400] break-words text-neutral-900 [&_.markdown-container]:text-[14px]","max-w-[95%]"),children:ve.jsx($A,{content:ax(X.shown)})})}),Re&&!ke&&o&&!X.id&&ve.jsx("div",{className:"flex w-fit items-center justify-center text-[14px] font-[400] whitespace-pre-line text-white",children:ve.jsxs("output",{className:"inline-flex items-center gap-[.6rem]","aria-label":"Loading",children:[ve.jsx("svg",{"aria-hidden":"true",className:"animate-pulse",width:"6",height:"6",viewBox:"0 0 6 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ve.jsx("path",{d:"M0 3C0 1.34315 1.34315 0 3 0C4.65685 0 6 1.34315 6 3C6 4.65685 4.65685 6 3 6C1.34315 6 0 4.65685 0 3Z",fill:"#000000",fillOpacity:"0.25"})}),ve.jsx("svg",{"aria-hidden":"true",className:"animate-pulse",width:"6",height:"6",viewBox:"0 0 6 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ve.jsx("path",{d:"M0 3C0 1.34315 1.34315 0 3 0C4.65685 0 6 1.34315 6 3C6 4.65685 4.65685 6 3 6C1.34315 6 0 4.65685 0 3Z",fill:"#000000",fillOpacity:"0.55"})}),ve.jsx("svg",{"aria-hidden":"true",className:"animate-pulse",width:"6",height:"6",viewBox:"0 0 6 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ve.jsx("path",{d:"M0 3C0 1.34315 1.34315 0 3 0C4.65685 0 6 1.34315 6 3C6 4.65685 4.65685 6 3 6C1.34315 6 0 4.65685 0 3Z",fill:"#000000"})})]})})]},ae.user.id)})}),ve.jsx("div",{className:"sticky bottom-0 left-0 z-[10000] w-full flex-shrink-0 bg-white px-[1.6rem]",children:ve.jsx("div",{style:{paddingBottom:"calc(20px + env(safe-area-inset-bottom, 0px))"},children:ve.jsx(ZA,{placeholder:"메시지를 입력해주세요.",isLoading:o,onSubmit:(ae,L)=>ue(ae,L)},c)})})]})}),R&&!te&&ve.jsx("div",{className:"pointer-events-none absolute bottom-[13rem] left-0 z-10 flex w-full justify-center",children:ve.jsx("button",{type:"button",onClick:()=>C(),className:Ln("pointer-events-auto flex h-[3.2rem] w-[3.2rem] cursor-pointer items-center justify-center rounded-full","border-[.8px] border-[#A9A9A9] bg-white shadow-[0_.2rem_1rem_0_rgba(218,218,218,0.50)] hover:bg-[#F9F9F9]"),"aria-label":"Scroll to bottom",children:ve.jsx(ET,{size:12,className:"text-[#A9A9A9]"})})})]})})}const XG='/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-900:#101010;--color-white:#fff;--font-weight-medium:500;--radius-lg:7.5px;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-700:#0c1550;--color-primary-900:#070c2f;--radius-full:9999px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-1\\/2{top:50%}.top-full{top:100%}.right-0{right:0}.bottom-0{bottom:0}.bottom-\\[13rem\\]{bottom:130px}.bottom-full{bottom:100%}.left-0{left:0}.left-1\\/2{left:50%}.left-full{left:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\\[9999\\]{z-index:9999}.z-\\[10000\\]{z-index:10000}.container{width:100%}@media(min-width:475px){.container{max-width:475px}}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.mx-\\[0\\.8rem\\]{margin-inline:8px}.my-\\[0\\.6rem\\]{margin-block:6px}.mt-\\[\\.8rem\\]{margin-top:8px}.mt-\\[0\\.4rem\\]{margin-top:4px}.mr-\\[0\\.6rem\\]{margin-right:6px}.mb-\\[0\\.4rem\\]{margin-bottom:4px}.ml-\\[\\.8rem\\]{margin-left:8px}.\\!inline{display:inline!important}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-\\[1\\.4rem\\]{height:14px}.h-\\[2rem\\]{height:20px}.h-\\[3\\.2rem\\]{height:32px}.h-\\[4\\.4rem\\]{height:44px}.h-\\[16px\\]{height:16px}.h-\\[32px\\]{height:32px}.h-\\[48px\\]{height:48px}.h-\\[56px\\]{height:56px}.h-full{height:100%}.min-h-0{min-height:0}.min-h-\\[50px\\]{min-height:50px}.w-\\[1\\.4rem\\]{width:14px}.w-\\[3\\.2rem\\]{width:32px}.w-\\[20rem\\]{width:200px}.w-\\[32px\\]{width:32px}.w-\\[55px\\]{width:55px}.w-\\[calc\\(100\\%-1\\.6rem\\)\\]{width:calc(100% - 16px)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[10rem\\]{max-width:100px}.max-w-\\[95\\%\\]{max-width:95%}.min-w-fit{min-width:fit-content}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-\\[\\.6rem\\]{gap:6px}.gap-\\[0\\.3rem\\]{gap:3px}.gap-\\[0\\.5rem\\]{gap:5px}.gap-\\[1\\.2rem\\]{gap:12px}.gap-\\[1rem\\]{gap:10px}.gap-\\[2\\.4rem\\]{gap:24px}.gap-\\[3\\.6rem\\]{gap:36px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded-\\[\\.6rem\\]{border-radius:6px}.rounded-\\[\\.8rem\\]{border-radius:8px}.rounded-\\[0\\.6rem\\]{border-radius:6px}.rounded-\\[1rem\\]{border-radius:10px}.rounded-\\[2rem\\]{border-radius:20px}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[\\.8px\\]{border-style:var(--tw-border-style);border-width:.8px}.border-\\[1px\\]{border-style:var(--tw-border-style);border-width:1px}.border-b-\\[\\.5px\\]{border-bottom-style:var(--tw-border-style);border-bottom-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#A9A9A9\\]{border-color:#a9a9a9}.border-\\[\\#EAEAEA\\]{border-color:#eaeaea}.border-\\[\\#EDEDED\\]{border-color:#ededed}.bg-\\[\\#0C1550\\]{background-color:#0c1550}.bg-\\[\\#EEE\\]{background-color:#eee}.bg-\\[\\#f8f8f8\\]{background-color:#f8f8f8}.bg-primary-700{background-color:var(--color-primary-700)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-left{object-position:left}.p-\\[1\\.2rem\\]{padding:12px}.p-\\[4px\\]{padding:4px}.px-\\[\\.6rem\\]{padding-inline:6px}.px-\\[0\\.8rem\\]{padding-inline:8px}.px-\\[1\\.6rem\\]{padding-inline:16px}.px-\\[1\\.8rem\\]{padding-inline:18px}.px-\\[1rem\\]{padding-inline:10px}.py-\\[\\.4rem\\],.py-\\[0\\.4rem\\]{padding-block:4px}.py-\\[1rem\\]{padding-block:10px}.pt-\\[1\\.2rem\\]{padding-top:12px}.pb-\\[\\.6rem\\]{padding-bottom:6px}.pb-\\[3\\.2rem\\]{padding-bottom:32px}.text-left{text-align:left}.text-\\[1\\.1rem\\]{font-size:11px}.text-\\[1\\.2rem\\]{font-size:12px}.text-\\[1\\.3rem\\]{font-size:13px}.text-\\[1\\.4rem\\]{font-size:14px}.text-\\[1rem\\]{font-size:10px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.leading-\\[2rem\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.font-\\[400\\]{--tw-font-weight:400;font-weight:400}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[0\\.2px\\]{--tw-tracking:.2px;letter-spacing:.2px}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#070C2F\\]{color:#070c2f}.text-\\[\\#828282\\]{color:#828282}.text-\\[\\#A9A9A9\\]{color:#a9a9a9}.text-\\[\\#FF3D3D\\]{color:#ff3d3d}.text-neutral-900{color:var(--color-neutral-900)}.text-primary-900{color:var(--color-primary-900)}.text-white{color:var(--color-white)}.placeholder-\\[\\#828282\\]::placeholder{color:#828282}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[-4px_0_16px_0_rgba\\(26\\,26\\,26\\,0\\.08\\)\\]{--tw-shadow:-4px 0 16px 0 var(--tw-shadow-color,#1a1a1a14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_\\.2rem_1rem_0_rgba\\(218\\,218\\,218\\,0\\.50\\)\\]{--tw-shadow:0 2px 10px 0 var(--tw-shadow-color,#dadada80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[2px_2px_5px_0_rgba\\(189\\,189\\,189\\,0\\.2\\)\\]{--tw-shadow:2px 2px 5px 0 var(--tw-shadow-color,#bdbdbd33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[2px_2px_10px_0_rgba\\(189\\,189\\,189\\,0\\.20\\)\\]{--tw-shadow:2px 2px 10px 0 var(--tw-shadow-color,#bdbdbd33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}@media(hover:hover){.hover\\:bg-\\[\\#EEE\\]:hover{background-color:#eee}.hover\\:bg-\\[\\#F9F9F9\\]:hover{background-color:#f9f9f9}.hover\\:bg-primary-900:hover{background-color:var(--color-primary-900)}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\\:bg-\\[\\#E2E2E2\\]:active{background-color:#e2e2e2}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&_\\.markdown-container\\]\\:text-\\[14px\\] .markdown-container{font-size:14px}.text-balance{text-wrap:balance}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#3e4b6833 transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#3e4b6833;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#3e4b6866}.scrollbar-widget::-webkit-scrollbar{width:3px}.scrollbar-widget::-webkit-scrollbar-track{background:0 0}.scrollbar-widget::-webkit-scrollbar-thumb{background-color:#a9a9a94d;border-radius:2px}.scrollbar-widget::-webkit-scrollbar-thumb:hover{background-color:#a9a9a980}.animate-fade-in{animation:.3s ease-in-out fadeIn}.animate-slide-up{animation:.3s ease-out slideUp}.animate-slide-down{animation:.3s ease-out slideDown}.animate-scale-in{animation:.2s ease-out scaleIn}.animate-bounce-in{animation:.5s ease-out bounceIn}}html,nav,div{scrollbar-width:thin;scrollbar-color:#3e4b6833 #f7f7f7}html::-webkit-scrollbar{background:#f7f7f7;border-radius:24px;width:4px}nav::-webkit-scrollbar{background:#f7f7f7;border-radius:24px;width:4px}div::-webkit-scrollbar{background:#f7f7f7;border-radius:24px;width:4px}html::-webkit-scrollbar-thumb{background:#3e4b6833;border-radius:24px}nav::-webkit-scrollbar-thumb{background:#3e4b6833;border-radius:24px}div::-webkit-scrollbar-thumb{background:#3e4b6833;border-radius:24px}input[type=password]::-ms-reveal{display:none}input[type=password]::-ms-clear{display:none}input[type=password]{-ms-text-security:disc}input::placeholder,textarea::placeholder{font-size:14px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--background);color:var(--color-neutral-900);scroll-behavior:smooth;font-size:10px;line-height:1.4}body{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}*{scroll-behavior:smooth}.scroll-container{scroll-behavior:smooth;contain:layout style paint;will-change:scroll-position}.scroll-content{contain:layout style paint;min-height:calc(100vh - 112px)}.overlay-scrollbar{scrollbar-width:none;-ms-overflow-style:none;overflow-y:auto}.overlay-scrollbar::-webkit-scrollbar{background:0 0;width:8px}.overlay-scrollbar::-webkit-scrollbar-track{background:0 0}.overlay-scrollbar::-webkit-scrollbar-thumb{background:#3e4b684d padding-box content-box;border:2px solid #0000;border-radius:4px}.overlay-scrollbar::-webkit-scrollbar-thumb:hover{background:#3e4b6880 padding-box content-box}.fixed-scrollbar{scrollbar-width:thin;scrollbar-color:#3e4b684d transparent;position:relative;overflow-y:auto}.fixed-scrollbar::-webkit-scrollbar{width:8px;position:absolute;top:0;bottom:0;right:0}.fixed-scrollbar::-webkit-scrollbar-track{background:0 0;width:8px;position:absolute;top:0;bottom:0;right:0}.fixed-scrollbar::-webkit-scrollbar-thumb{background:#3e4b684d;border-radius:4px;width:8px;position:absolute;right:0}@media only screen and (max-width:768px){html,body{height:100svh;overflow:hidden}}:root{--font-size-lg-p:16px;--line-height-lg-p:24px;--font-weight-lg-p:500;--font-size-base:14px;--line-height-base:1.4;--font-weight-base:400;--font-size-sm:12px;--line-height-sm:1.4;--font-weight-sm:400}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-dots:after{content:"";text-align:left;width:1.2em;animation:2.2s steps(4,end) infinite loadingDots;display:inline-block}@keyframes loadingDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.loading-text{color:#0000;background-image:linear-gradient(90deg,#00000026,#111827 25% 50%,#111827 75%,#00000026);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite loadingShimmer;display:inline-block;position:relative}@keyframes loadingShimmer{0%{background-position:100% 0}to{background-position:-200% 0}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2)format("woff2"),url(fonts/KaTeX_AMS-Regular.woff)format("woff"),url(fonts/KaTeX_AMS-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2)format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff)format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2)format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff)format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2)format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff)format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2)format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff)format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2)format("woff2"),url(fonts/KaTeX_Main-Bold.woff)format("woff"),url(fonts/KaTeX_Main-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2)format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff)format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2)format("woff2"),url(fonts/KaTeX_Main-Italic.woff)format("woff"),url(fonts/KaTeX_Main-Italic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2)format("woff2"),url(fonts/KaTeX_Main-Regular.woff)format("woff"),url(fonts/KaTeX_Main-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2)format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff)format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2)format("woff2"),url(fonts/KaTeX_Math-Italic.woff)format("woff"),url(fonts/KaTeX_Math-Italic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff)format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff)format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff)format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2)format("woff2"),url(fonts/KaTeX_Script-Regular.woff)format("woff"),url(fonts/KaTeX_Script-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size1-Regular.woff)format("woff"),url(fonts/KaTeX_Size1-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size2-Regular.woff)format("woff"),url(fonts/KaTeX_Size2-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size3-Regular.woff)format("woff"),url(fonts/KaTeX_Size3-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size4-Regular.woff)format("woff"),url(fonts/KaTeX_Size4-Regular.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2)format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff)format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.markdown-container{overflow-wrap:break-word;word-break:break-word;flex-direction:column;width:100%;min-width:0;max-width:100%;font-size:14px;line-height:16px;display:flex}.markdown-container h1{margin:15px 0 5px;font-size:24px;font-weight:700;line-height:1.2}.markdown-container h2{margin:13px 0 5px;font-size:20px;font-weight:700;line-height:1.2}.markdown-container h3{margin:1.2em 0 .5em;font-size:18px;font-weight:700;line-height:1.2}.markdown-container h4{margin:1em 0 .5em;font-size:14px;font-weight:600;line-height:1.2}.markdown-container h5,.markdown-container h6{margin:.8em 0 .5em;font-size:14px;font-weight:600;line-height:1.2}.markdown-container p{margin:8px 0;line-height:1.4}.markdown-container strong{font-weight:700}.markdown-container em{font-style:italic}.markdown-container img{border-radius:8px;width:100%;max-width:420px}.markdown-container hr{border:none;border-top:1px solid #ddd;margin:13px 0}.markdown-container a{color:#1665b6;text-decoration:none}.markdown-container a:hover{text-decoration:underline}.markdown-container .table-wrapper{max-width:100%;overflow-x:auto}.markdown-container table{border-collapse:collapse;table-layout:fixed;border:1px solid #ddd;width:100%;margin:1em 0}.markdown-container th,.markdown-container td{text-align:left;overflow-wrap:anywhere;word-break:break-word;border:1px solid #ddd;padding:8px 12px}.markdown-container th{background-color:#fafafa;font-weight:700}.code-block-container{max-width:100%;position:relative;overflow-x:auto}.code-block-container div{border:1px solid #ddd}.code-block-container:hover .copy-button{opacity:1}.copy-button{color:#fff;cursor:pointer;z-index:10;opacity:0;background:0 0;border:none;border-radius:4px;margin:0;padding:8px;transition:all .2s;position:absolute;top:12px;right:12px}.copy-button:hover{background:#eee}.copy-button img{width:20px;height:20px}.markdown-container blockquote{border-left:4px solid #ccc;margin:1em 0;padding-left:1em;font-style:italic}.markdown-container blockquote blockquote{border:none;margin:0;padding:0}.markdown-container blockquote p{margin:0;padding:4px 0}ul,ol{padding:0 16px;line-height:24px}.markdown-container ul{list-style-type:disc}.markdown-container ul ul{list-style-type:circle}.markdown-container ul ul ul{list-style-type:square}.markdown-container ol{list-style-type:decimal}.markdown-container li{margin:.25em 0}.markdown-container ul.contains-task-list{padding-left:0;list-style-type:none}.markdown-container .contains-task-list li{gap:8px;list-style-type:none;display:flex}.markdown-container .contains-task-list input[type=checkbox]{appearance:none;width:8px;height:14px}.markdown-container .contains-task-list input[type=checkbox]:not(:checked):before,.markdown-container .contains-task-list input[type=checkbox]:before{content:"✓";color:#4caf50}.markdown-container p code,.markdown-container blockquote code,.markdown-container li>code{color:#b76b01;background-color:#fafafa;border:1px solid #ddd;border-radius:4px;padding:0 .4em;font-size:.84em;display:inline-block}code{font-family:Pretendard,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.markdown-container .katex-display{background:#fafafa;border:1px solid #ddd;border-radius:.3em;padding:1em;overflow-x:auto}.markdown-container .katex .hangul_fallback{font-family:Pretendard,sans-serif;font-size:14px}@media only screen and (max-width:768px){.markdown-container p{margin:12px 0}.markdown-container table{table-layout:auto;width:max-content}}:host{color:var(--color-neutral-900);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:Pretendard,Pretendard Variable,-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:10px;line-height:1.4}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'.replace(/:root\b/g,":host"),KG="https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/static/pretendard-dynamic-subset.css";function WG(){if(typeof document=="undefined"||document.getElementById("altio-pretendard-font"))return;const e=document.createElement("link");e.id="altio-pretendard-font",e.rel="stylesheet",e.href=KG,document.head.appendChild(e)}function ZG(e){const t=e.attachShadow({mode:"open"}),n=document.createElement("style");return n.textContent=XG,t.appendChild(n),t}function QG(e,t={}){j4(t),WG();const n=document.createElement("div");n.style.width="100%",n.style.height="100%",e.appendChild(n);const a=ZG(n),s=document.createElement("div");s.setAttribute("style","width:100%;height:100%;overflow:hidden;background:#fff;"),a.appendChild(s);const o=y_.createRoot(s);return o.render(ve.jsx(pR,{children:ve.jsx(YG,{className:"h-full w-full"})})),{destroy(){o.unmount(),n.remove()}}}const hy={mount:QG,setConfig(e){j4(e)}};window.AltioWidget=hy,(()=>{const e=document.currentScript;if(!e||!e.hasAttribute("data-auto-init"))return;const t={},n=e.getAttribute("data-api-url"),a=e.getAttribute("data-agent-api-url"),s=e.getAttribute("data-db-env"),o=e.getAttribute("data-uid");n&&(t.apiUrl=n),a&&(t.agentApiUrl=a),s&&(t.dbEnv=s),o&&(t.uid=o);const u=()=>{const c=e.getAttribute("data-target");let p;if(c){const f=document.querySelector(c);if(!f)return;p=f}else p=document.createElement("div"),p.id="altio-chat-root",p.setAttribute("style","position:fixed;inset:0;width:100%;height:100%;"),document.body.appendChild(p);hy.mount(p,t)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u,{once:!0}):u()})();const JG=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"Experience secure internal data processing and flexible AI utilization with a private AI optimized for business.","app.title":"Altio - Your Private Edge","auth.action.get.started":"Get Started Now","auth.action.go.to.main":"Go to Main Page","auth.action.login":"Login","auth.action.login.button":"Sign In","auth.action.logout":"Logout","auth.action.signup.again":"Sign Up","auth.action.signup.link":"Sign Up","auth.action.signup.nav":"Sign Up","auth.email.label":"Email","auth.email.verification.check.inbox":"Please check the inbox of the email you used to sign up.","auth.email.verification.required.description":"Email verification has not been completed.","auth.email.verification.required.title":"Email Verification Required","auth.email.verification.resend":"Resend Verification Email","auth.email.verify.button.instruction":"You accessed this page via the verification button in the email.","auth.email.verifying":"Verifying account…","auth.forgot.password.email.placeholder":"Please enter the email registered with Altio.","auth.forgot.password.link":"Forgot Password","auth.forgot.password.no.email.label":"Didn't receive an email?","auth.forgot.password.resend":"Resend Password Reset Email","auth.forgot.password.send.button":"Send Password Reset Email","auth.forgot.password.sent.description":"A verification link has been sent to the email below.","auth.forgot.password.sent.email.label":"Sent Email Address","auth.forgot.password.sent.title":"Password Reset Email Sent","auth.login.keep.signed.in":"Keep me signed in","auth.login.no.account":"Don't have an account?","auth.logout.confirm":"Are you sure you want to log out?","auth.logout.description":"Logging out will end your current session.","auth.password.composition.error":"Password must include letters, numbers, and symbols.","auth.password.mismatch.error":"Passwords do not match.","auth.reset.password.button":"Reset Password","auth.reset.password.confirm.label":"Confirm New Password","auth.reset.password.placeholder":"Please enter the new password.","auth.reset.password.rule":"*Password must be 8–16 characters, using letters/numbers/symbols","auth.reset.password.success.description":"Your password has been successfully changed.","auth.reset.password.success.instruction":"Please log in again with your new password.","auth.reset.password.success.title":"Password Reset Complete","auth.signup.name.label":"Name","auth.signup.password.confirm.placeholder":"Confirm Password (8–16 characters, letters/numbers/symbols)","auth.signup.password.placeholder":"Password (8–16 characters, letters/numbers/symbols)","auth.signup.privacy.agreement":"(Required) Agree to Altio's Privacy Policy","auth.signup.send.verification.button":"Send Verification Email","auth.signup.terms.agreement":"(Required) Agree to Altio's Terms of Service","auth.signup.verification.expired.description":"The email verification period has expired.","auth.signup.verification.expired.instruction":"To continue, please sign up again.","auth.signup.verification.expired.title":"Email Verification Expired","auth.signup.verification.sent.description":"A verification link has been sent to the email below","auth.signup.welcome":"Let's start a new beginning together!","auth.toast.account.deleted.success":"Account deleted","auth.verify.email.instruction":"Please check your inbox and complete verification.","chat.action.regenerate":"Regenerate","chat.action.share":"Share Conversation","chat.feedback.negative":"Negative Feedback","chat.feedback.positive":"Positive Feedback","chat.generating":"Generating a response","chat.input.placeholder":"Write down whatever's on your mind","chat.thread.preparing":"Loading Altio…","chat.model.select":"Select Model","chat.room.deleted.error":"The chat room has been deleted and the page is no longer available.","chat.scroll.to.bottom":"Scroll to bottom","chat.textarea.max.rows":"22","common.action.cancel":"Cancel","common.action.change":"Change","common.action.confirm":"Confirm","common.action.contact.us":"Contact Us","common.action.copy":"Copy","common.action.create":"Create","common.action.delete":"Delete","common.action.edit":"Edit","common.action.more":"More","common.action.save":"Save","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"Loading...","conversation.action.new":"New Conversation","conversation.action.remove.from.project":"Remove from Project","conversation.action.rename":"Rename Conversation","conversation.delete.confirm":"Are you sure you want to delete this conversation?","conversation.delete.title":"Delete Conversation","conversation.delete.warning":"Deleted conversations cannot be recovered.","conversation.name.input.placeholder":"Enter conversation name","knowledge.label":"Internal Knowledge","knowledge.search.label":"Internal Search","landing.about.data.safety.part1":"Keep internal data safe and use it the way you want","landing.about.data.safety.part2":"leverage AI.","landing.about.description":"Altio is a Private AI optimized for the environment of businesses and organizations.","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"Close chat","landing.chat.cta":"Talk to us right now!","landing.chat.greeting":"Hello!","landing.chat.input.placeholder":"Ask whatever question comes to mind","landing.chat.message.empty.error":"Please enter a message.","landing.chat.question":"What would you like to know?","landing.chat.response.description":"Altio will answer right away.","landing.contact.company.label":"Company","landing.contact.company.placeholder":"Company name","landing.contact.description":"Do you have questions about Altio or want to learn more?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"Please enter your contact information.","landing.contact.interest.question":"What kind of help would you like to receive?","landing.contact.intro.part1":"Please select your interests and fill in the information,","landing.contact.intro.part2":"we will contact you as soon as possible.","landing.contact.message.description":"Please describe your inquiry in detail.","landing.contact.message.placeholder":"I'm considering adopting Altio and would like to consult about the specific installation process and costs. When would it be possible to meet?","landing.contact.name.placeholder":"John Doe","landing.contact.phone.label":"Phone","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"We collect your name, company, email, and phone number to provide smooth consultation for your inquiry.","landing.contact.privacy.description.part2":"The collected information will not be used for purposes other than the above, and will be immediately destroyed after responding.","landing.contact.privacy.error":"You must agree to the collection and use of personal information.","landing.contact.privacy.label":"Agree to Personal Information Collection and Use (Required)","landing.contact.send.button":"Send Inquiry","landing.contact.submitted.description":"Your inquiry has been successfully submitted.","landing.contact.submitted.promise":"We will respond as soon as possible.","landing.contact.submitted.thanks":"Thank you.","landing.contact.submitted.title":"Inquiry Received","landing.contact.title":"Contact Us","landing.contact.type.label":"Please select the type of inquiry. (Multiple selections allowed)","landing.cta.start":"Start right now!","landing.faq.contact.part1":"If you have any additional questions,","landing.faq.contact.part2":"please feel free to contact us anytime.","landing.faq.title":"FAQ","landing.feature.altitude.description":"Comprehensively analyzes complex data to understand the overall business flow and provides strategic insights.","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"Custom AI Integration","landing.feature.data.connection":"Internal Data Connection","landing.feature.intelligence.description":"All information is processed securely within the company. Responses and analysis based on internal data ensure both security and efficiency.","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"On-Premise Installation","landing.feature.originality.description":"Altio is flexibly applied to the characteristics of organizations and services. It can be customized as needed, from customer support to internal collaboration.","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"Secure AI Solutions","landing.feature.service.integration":"Apply to Service","landing.feature.tagline.part1":"See broadly, connect smartly,","landing.feature.tagline.part2":"and solve creatively","landing.feature.why":"Why","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"Hello,","landing.hero.subtitle":"With Altio, keep security and expand AI utilization.","landing.hero.tagline.connector":"with.","landing.hero.tagline.part1":"Data stays safe,","landing.integration.description.part1":"Without complex settings, the way you want","landing.integration.description.part2":"connect right away.","landing.integration.embed":"Embed Method","landing.integration.pick":"Pick,","landing.integration.widget":"Widget Method","landing.partner.prefix":"With","landing.social.proof":"Many companies are using Altio for their work.","landing.toast.code.copied":"Code has been copied.","layout.logo.alt":"Logo","layout.sidebar.close":"Close Sidebar","layout.sidebar.open":"Open Sidebar","layout.token.usage.label":"Token Usage :","layout.user.avatar.alt":"User Avatar","main.conversation.start.prompt":"What topic would you like to talk about?","main.conversation.start.title":"Shall we start a new conversation?","main.user.greeting.suffix":",","nav.project":"Project","nav.recent.conversations":"Recent Conversations","nav.settings":"Settings","project.action.navigate":"Go to Project","project.action.new":"New Project","project.action.rename":"Rename Project","project.delete.confirm":"Are you sure you want to delete this project?","project.delete.title":"Delete Project","project.delete.warning":"Deleted projects cannot be recovered.","project.list.empty":"No projects to navigate to","project.name.input.placeholder":"Enter project name","seo.about.description":"Learn more about our company and team.","seo.contact.description":"Get in touch with us for any inquiries.","seo.home.description":"Welcome to our website. Explore amazing content!","settings.account.delete.confirm":"Are you sure you want to delete your account?","settings.account.delete.description":"All data will be deleted and cannot be recovered.","settings.account.delete.title":"Delete Account","settings.account.delete.warning.part1":"Deleting your account will erase all saved data and usage history,","settings.account.delete.warning.part2":"and cannot be recovered.","settings.avatar.alt":"Profile","settings.avatar.change":"Change Image","settings.avatar.delete":"Delete Image","settings.build.label":"(Built:","settings.credits":"Altio Credits","settings.language.modal.title":"Language Settings","settings.language.select.label":"Please select the language to use.","settings.language.title":"Language Settings","settings.language.description":"Change the language used in Altio.","settings.password.change.title":"Change Password","settings.password.confirm.placeholder":"Confirm new password (8–16 characters, letters/numbers/symbols)","settings.password.current.label":"Current Password","settings.password.current.placeholder":"Please enter your current password.","settings.password.description":"Please change it periodically for security.","settings.password.label":"Password","settings.password.new.label":"New Password","settings.password.new.placeholder":"New password (8–16 characters, letters/numbers/symbols)","settings.privacy.policy":"Privacy Policy","settings.tab.account":"Account","settings.tab.service":"Service Info","settings.tab.support":"Customer Support","settings.terms.of.service":"Terms of Service","settings.updates":"Update News","settings.username.edit.placeholder":"Please enter your username","settings.username.edit.title":"Edit Username","settings.username.label":"Username","settings.username.length.error":"Name must be between 2 and 10 characters.","settings.version.label":"Version","share.message.load.error":"The shared message could not be loaded.","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"Open New Conversation","shortcuts.shift":"Shift","shortcuts.show":"Show Shortcuts","shortcuts.title":"Shortcuts","shortcuts.toggle.sidebar":"Toggle Sidebar","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"Email is empty.","auth.forgot.password.resend.success":"Password reset email has been sent.","auth.reset.password.duplicate.error":"You cannot use the same password as your current password.","auth.reset.password.invalid.link":"Invalid access. Please check the link in your email again.","auth.reset.password.new.label":"New Password","common.action.collapse":"Collapse","landing.contact.email.label":"Email","landing.contact.name.label":"Name","landing.feature.altitude.subtitle":"AI that sees the big picture","landing.feature.intelligence.subtitle":"AI that protects your data","landing.feature.originality.subtitle":"AI that adapts to you","landing.integration.embed.feature.1":"Seamlessly embed into specific pages or sections","landing.integration.embed.feature.2":"Context-aware responses tailored to the page","landing.integration.embed.feature.3":"Various configuration options and event support","landing.integration.embed.subtitle":"Embed the chatbot UI directly into your page","landing.integration.embed.tag.1":"#Inline Embed","landing.integration.embed.tag.2":"#Custom AI","landing.integration.embed.tag.3":"#Config Options","landing.integration.widget.feature.1":"Access anytime via a floating button in the bottom-right corner","landing.integration.widget.feature.2":"Consistent AI assistant experience across all pages","landing.integration.widget.feature.3":"Customizable design to match your brand","landing.integration.widget.subtitle":"Display Altio AI as a floating popup widget","landing.integration.widget.tag.1":"#Chatbot Widget","landing.integration.widget.tag.2":"#Accessibility","landing.integration.widget.tag.3":"#Custom UI","settings.avatar.manage":"Image Management","validation.contact.category.required":"Please select an inquiry type.","validation.contact.company.required":"Please enter your company name.","validation.contact.message.required":"Please enter your inquiry.","validation.contact.phone.maxlength":"Phone number must be 11 digits or less.","validation.contact.phone.numeric":"Phone number must contain numbers only.","validation.contact.phone.required":"Please enter your phone number.","validation.email.invalid":"Please enter a valid email address.","validation.email.required":"Please enter your email.","validation.name.required":"Please enter your name.","validation.password.confirm.required":"Please confirm your password.","validation.password.length":"Password must be between 8 and 16 characters.","validation.password.required":"Please enter your password.","validation.password.same.as.current":"Cannot use the same password as the current one."}},Symbol.toStringTag,{value:"Module"})),eq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"ビジネスに最適化されたプライベートAIで、安全な内部データ処理と柔軟なAI活用を体験してください。","app.title":"Altio - Your Private Edge","auth.action.get.started":"今すぐ始める","auth.action.go.to.main":"メインページへ移動","auth.action.login":"ログイン","auth.action.login.button":"ログインする","auth.action.logout":"ログアウト","auth.action.signup.again":"会員登録する","auth.action.signup.link":"会員登録","auth.action.signup.nav":"会員登録","auth.email.label":"メール","auth.email.verification.check.inbox":"登録時に入力したメールのメールボックスをご確認ください。","auth.email.verification.required.description":"メール認証が完了していません。","auth.email.verification.required.title":"メール認証が必要","auth.email.verification.resend":"認証メールを再送する","auth.email.verify.button.instruction":"メールの認証ボタンからアクセスされました。","auth.email.verifying":"アカウントを認証中…","auth.forgot.password.email.placeholder":"Altioに登録したメールアドレスを入力してください。","auth.forgot.password.link":"パスワードを忘れた方","auth.forgot.password.no.email.label":"メールが届かないですか?","auth.forgot.password.resend":"パスワードリセットメールを再送する","auth.forgot.password.send.button":"パスワードリセットメールを送る","auth.forgot.password.sent.description":"下記のメールアドレスに認証リンクが送信されました。","auth.forgot.password.sent.email.label":"送信済みメールアドレス","auth.forgot.password.sent.title":"パスワードリセットメール送信","auth.login.keep.signed.in":"ログイン状態を保持する","auth.login.no.account":"アカウントをお持ちでないですか?","auth.logout.confirm":"ログアウトしますか?","auth.logout.description":"ログアウトすると現在のセッションが終了します。","auth.password.composition.error":"パスワードは文字、数字、記号を含む必要があります。","auth.password.mismatch.error":"パスワードが一致しません。","auth.reset.password.button":"パスワードをリセットする","auth.reset.password.confirm.label":"新しいパスワードを確認","auth.reset.password.placeholder":"新しいパスワードを入力してください。","auth.reset.password.rule":"*パスワードは8〜16文字で、文字/数字/記号を使用","auth.reset.password.success.description":"パスワードが正常に変更されました。","auth.reset.password.success.instruction":"新しいパスワードで再度ログインしてください。","auth.reset.password.success.title":"パスワードリセット完了","auth.signup.name.label":"名前","auth.signup.password.confirm.placeholder":"パスワードを確認(8〜16文字、文字/数字/記号)","auth.signup.password.placeholder":"パスワード(8〜16文字、文字/数字/記号)","auth.signup.privacy.agreement":"(必須)Altio個人情報収集・利用への同意","auth.signup.send.verification.button":"認証メールを送信","auth.signup.terms.agreement":"(必須)Altio利用規約への同意","auth.signup.verification.expired.description":"メール認証の有効期限が切れました。","auth.signup.verification.expired.instruction":"引き続きご利用になるには、再度会員登録を行ってください。","auth.signup.verification.expired.title":"メール認証の有効期限切れ","auth.signup.verification.sent.description":"下記のメールアドレスに認証リンクが送信されました","auth.signup.welcome":"新しいスタートを一緒に始めましょう!","auth.toast.account.deleted.success":"アカウントが削除されました","auth.verify.email.instruction":"メールボックスをご確認の上、認証を完了してください。","chat.action.regenerate":"再実行","chat.action.share":"会話を共有","chat.feedback.negative":"ネガティブフィードバック","chat.feedback.positive":"ポジティブフィードバック","chat.generating":"回答を生成中です","chat.input.placeholder":"今思いついたことを書いてください","chat.thread.preparing":"Altio 準備中…","chat.model.select":"モデルを選択","chat.room.deleted.error":"チャットルームが削除されたため、ページを使用できません。","chat.scroll.to.bottom":"一番下にスクロール","chat.textarea.max.rows":"22","common.action.cancel":"キャンセル","common.action.change":"変更","common.action.confirm":"確認","common.action.contact.us":"お問い合わせ","common.action.copy":"コピー","common.action.create":"作成","common.action.delete":"削除","common.action.edit":"編集","common.action.more":"もっと見る","common.action.save":"保存","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"読み込み中...","conversation.action.new":"新しい会話","conversation.action.remove.from.project":"プロジェクトから削除","conversation.action.rename":"会話名を変更","conversation.delete.confirm":"会話を削除しますか?","conversation.delete.title":"会話を削除","conversation.delete.warning":"削除した会話は復元できません。","conversation.name.input.placeholder":"会話名を入力してください","knowledge.label":"社内知識","knowledge.search.label":"社内検索","landing.about.data.safety.part1":"内部データを安全に保ち、望む方法で","landing.about.data.safety.part2":"AIを活用してください。","landing.about.description":"Altioは企業や組織の環境に最適化されたプライベートAIです。","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"チャットを閉じる","landing.chat.cta":"今すぐ話しかけてみましょう!","landing.chat.greeting":"こんにちは!","landing.chat.input.placeholder":"今思い浮かんでいる質問を話してください","landing.chat.message.empty.error":"メッセージを入力してください。","landing.chat.question":"何を知りたいですか?","landing.chat.response.description":"Altioがすぐに回答します。","landing.contact.company.label":"会社","landing.contact.company.placeholder":"会社名","landing.contact.description":"Altioについてご質問がある、または詳しく知りたいですか?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"連絡先情報を入力してください。","landing.contact.interest.question":"どのようなサポートを受けたいですか?","landing.contact.intro.part1":"ご興味を選択して情報を入力していただければ、","landing.contact.intro.part2":"できるだけ早くご連絡いたします。","landing.contact.message.description":"お問い合わせ内容を詳しくお書きください。","landing.contact.message.placeholder":"Altioの導入を検討しており、具体的な設置プロセスと費用についてご相談したいです。いつミーティングが可能でしょうか?","landing.contact.name.placeholder":"山田太郎","landing.contact.phone.label":"連絡先","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"お問い合わせ内容に対してスムーズなご相談のため、氏名、会社、メール、携帯電話番号を収集します。","landing.contact.privacy.description.part2":"収集した情報は上記目的以外には使用せず、回答後直ちに廃棄します。","landing.contact.privacy.error":"個人情報の収集・利用に同意する必要があります。","landing.contact.privacy.label":"個人情報収集・利用への同意(必須)","landing.contact.send.button":"お問い合わせを送る","landing.contact.submitted.description":"お客様のお問い合わせが正常に受け付けられました。","landing.contact.submitted.promise":"できるだけ早くご回答いたします。","landing.contact.submitted.thanks":"ありがとうございます。","landing.contact.submitted.title":"お問い合わせ受付","landing.contact.title":"お問い合わせ","landing.contact.type.label":"お問い合わせの種類を選択してください。(複数選択可)","landing.cta.start":"今すぐ始めましょう!","landing.faq.contact.part1":"さらにご不明な点がございましたら、","landing.faq.contact.part2":"いつでもお気軽にお問い合わせください。","landing.faq.title":"よくある質問","landing.feature.altitude.description":"複雑なデータを総合的に分析してビジネス全体の流れを把握し、戦略的インサイトを提供します。","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"カスタムAIインテグレーション","landing.feature.data.connection":"内部データ接続","landing.feature.intelligence.description":"すべての情報は企業内部で安全に処理されます。内部データに基づく回答と分析により、セキュリティと効率性を同時に保証します。","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"オンプレミスインストール","landing.feature.originality.description":"Altioは組織とサービスの特性に合わせて柔軟に適用されます。カスタマーサポートから社内コラボレーションまで、必要な方法でカスタマイズできます。","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"セキュアAIソリューション","landing.feature.service.integration":"サービスに適用","landing.feature.tagline.part1":"広く見て、賢くつなげて、","landing.feature.tagline.part2":"独創的に解決する","landing.feature.why":"なぜ","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"こんにちは、","landing.hero.subtitle":"Altioと共に、セキュリティを守り、AI活用を拡大してください。","landing.hero.tagline.connector":"で。","landing.hero.tagline.part1":"データは安全に、","landing.integration.description.part1":"複雑な設定なしに、お望みの方法で","landing.integration.description.part2":"今すぐ接続してみてください。","landing.integration.embed":"埋め込み方式","landing.integration.pick":"選んで、","landing.integration.widget":"ウィジェット方式","landing.partner.prefix":"と共に","landing.social.proof":"多くの企業がAltioを業務に活用しています。","landing.toast.code.copied":"コードがコピーされました。","layout.logo.alt":"ロゴ","layout.sidebar.close":"サイドバーを閉じる","layout.sidebar.open":"サイドバーを開く","layout.token.usage.label":"トークン使用量 :","layout.user.avatar.alt":"ユーザーアバター","main.conversation.start.prompt":"どのようなテーマで話しましょうか?","main.conversation.start.title":"新しい会話を始めましょうか?","main.user.greeting.suffix":"さん、","nav.project":"プロジェクト","nav.recent.conversations":"最近の会話","nav.settings":"設定","project.action.navigate":"プロジェクトへ移動","project.action.new":"新しいプロジェクト","project.action.rename":"プロジェクト名を変更","project.delete.confirm":"プロジェクトを削除しますか?","project.delete.title":"プロジェクトを削除","project.delete.warning":"削除したプロジェクトは復元できません。","project.list.empty":"移動できるプロジェクトがありません","project.name.input.placeholder":"プロジェクト名を入力してください","seo.about.description":"私たちの会社とチームについてもっと知る。","seo.contact.description":"お問い合わせはこちら。","seo.home.description":"私たちのウェブサイトへようこそ。素晴らしいコンテンツを探索してください!","settings.account.delete.confirm":"アカウントを削除しますか?","settings.account.delete.description":"すべてのデータが削除され、復元できません。","settings.account.delete.title":"アカウント削除","settings.account.delete.warning.part1":"アカウントを削除すると、保存されたデータと利用履歴がすべて消え、","settings.account.delete.warning.part2":"復元することはできません。","settings.avatar.alt":"プロフィール","settings.avatar.change":"画像を変更","settings.avatar.delete":"画像を削除","settings.build.label":"(ビルド:","settings.credits":"Altio Credits","settings.language.modal.title":"言語設定","settings.language.select.label":"使用する言語を選択してください。","settings.language.title":"言語設定","settings.language.description":"Altioで使用する言語を変更します。","settings.password.change.title":"パスワードの変更","settings.password.confirm.placeholder":"新しいパスワードを確認(8〜16文字、文字/数字/記号使用)","settings.password.current.label":"現在のパスワード","settings.password.current.placeholder":"現在のパスワードを入力してください。","settings.password.description":"セキュリティのために定期的に変更してください。","settings.password.label":"パスワード","settings.password.new.label":"新しいパスワード","settings.password.new.placeholder":"新しいパスワード(8〜16文字、文字/数字/記号使用)","settings.privacy.policy":"プライバシーポリシー","settings.tab.account":"アカウント","settings.tab.service":"サービス情報","settings.tab.support":"お客様サポート","settings.terms.of.service":"利用規約","settings.updates":"アップデート情報","settings.username.edit.placeholder":"ユーザー名を入力してください","settings.username.edit.title":"ユーザー名を編集","settings.username.label":"ユーザー名","settings.username.length.error":"名前は2文字以上、最大10文字まで入力できます。","settings.version.label":"バージョン","share.message.load.error":"共有メッセージを読み込めませんでした。","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"新しい会話を開く","shortcuts.shift":"Shift","shortcuts.show":"ショートカットを表示","shortcuts.title":"ショートカット","shortcuts.toggle.sidebar":"サイドバーを切り替える","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"メールアドレスが空です。","auth.forgot.password.resend.success":"パスワードリセットメールが送信されました。","auth.reset.password.duplicate.error":"現在のパスワードと同じパスワードは使用できません。","auth.reset.password.invalid.link":"無効なアクセスです。メールのリンクを再確認してください。","auth.reset.password.new.label":"新しいパスワード","common.action.collapse":"閉じる","landing.contact.email.label":"メールアドレス","landing.contact.name.label":"お名前","landing.feature.altitude.subtitle":"大局を見るAI","landing.feature.intelligence.subtitle":"データを守るAI","landing.feature.originality.subtitle":"柔軟に変化するAI","landing.integration.embed.feature.1":"特定のページやセクションに自然に埋め込み","landing.integration.embed.feature.2":"ページのコンテキストに合わせたカスタム応答","landing.integration.embed.feature.3":"多様な設定オプションとイベントのサポート","landing.integration.embed.subtitle":"ページ内にチャットボットUIを直接埋め込む方式","landing.integration.embed.tag.1":"#ページ埋め込み型","landing.integration.embed.tag.2":"#カスタムAI","landing.integration.embed.tag.3":"#設定オプション","landing.integration.widget.feature.1":"右下のフローティングボタンからいつでもアクセス","landing.integration.widget.feature.2":"すべてのページで一貫したAIアシスタント体験","landing.integration.widget.feature.3":"ブランドに合わせたカスタムデザインを適用","landing.integration.widget.subtitle":"Altio AIをポップアップウィジェットとして表示する方式","landing.integration.widget.tag.1":"#チャットボットウィジェット","landing.integration.widget.tag.2":"#アクセシビリティ","landing.integration.widget.tag.3":"#カスタムUI","settings.avatar.manage":"画像管理","validation.contact.category.required":"お問い合わせの種類を選択してください。","validation.contact.company.required":"会社名を入力してください。","validation.contact.message.required":"お問い合わせ内容を入力してください。","validation.contact.phone.maxlength":"電話番号は11桁以下で入力してください。","validation.contact.phone.numeric":"電話番号は数字のみ入力可能です。","validation.contact.phone.required":"電話番号を入力してください。","validation.email.invalid":"正しいメールアドレスの形式で入力してください。","validation.email.required":"メールアドレスを入力してください。","validation.name.required":"名前を入力してください。","validation.password.confirm.required":"パスワードをもう一度入力してください。","validation.password.length":"パスワードは8文字以上16文字以下で入力してください。","validation.password.required":"パスワードを入力してください。","validation.password.same.as.current":"現在使用中のパスワードと同じです。"}},Symbol.toStringTag,{value:"Module"})),tq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"비즈니스에 최적화된 프라이빗 AI로 안전한 내부 데이터 처리와 유연한 AI 활용을 경험하세요.","app.title":"Altio - Your Private Edge","auth.action.get.started":"지금 시작하기","auth.action.go.to.main":"메인 페이지로 이동","auth.action.login":"로그인","auth.action.login.button":"로그인하기","auth.action.logout":"로그아웃","auth.action.signup.again":"회원가입하기","auth.action.signup.link":"회원가입","auth.action.signup.nav":"회원가입","auth.email.label":"이메일","auth.email.verification.check.inbox":"가입 시 입력한 이메일의 메일함을 확인해주세요.","auth.email.verification.required.description":"이메일 인증이 완료되지 않았습니다.","auth.email.verification.required.title":"이메일 인증 필요","auth.email.verification.resend":"인증 메일 다시 받기","auth.email.verify.button.instruction":"이메일의 인증 버튼을 통해 접근하셨습니다.","auth.email.verifying":"계정 인증 중…","auth.forgot.password.email.placeholder":"Altio에 가입된 이메일을 입력해주세요.","auth.forgot.password.link":"비밀번호 찾기","auth.forgot.password.no.email.label":"메일이 오지 않았나요?","auth.forgot.password.resend":"비밀번호 재설정 메일 다시 받기","auth.forgot.password.send.button":"비밀번호 재설정 이메일 보내기","auth.forgot.password.sent.description":"아래 이메일로 인증 링크가 발송되었습니다.","auth.forgot.password.sent.email.label":"발송된 이메일 주소","auth.forgot.password.sent.title":"비밀번호 재설정 메일 발송","auth.login.keep.signed.in":"로그인 유지하기","auth.login.no.account":"계정이 없으신가요?","auth.logout.confirm":"로그아웃 하시겠습니까?","auth.logout.description":"로그아웃하면 현재 세션이 종료됩니다.","auth.password.composition.error":"비밀번호는 문자, 숫자, 기호를 포함해야 합니다.","auth.password.mismatch.error":"비밀번호가 일치하지 않습니다.","auth.reset.password.button":"비밀번호 재설정하기","auth.reset.password.confirm.label":"새 비밀번호 확인","auth.reset.password.placeholder":"재설정할 비밀번호를 입력해주세요.","auth.reset.password.rule":"*비밀번호는 8~16자 이내, 문자/숫자/기호 사용","auth.reset.password.success.description":"비밀번호가 성공적으로 변경되었습니다.","auth.reset.password.success.instruction":"새 비밀번호로 다시 로그인해 주세요.","auth.reset.password.success.title":"비밀번호 재설정 완료","auth.signup.name.label":"이름","auth.signup.password.confirm.placeholder":"비밀번호 확인 (8~16자 이내, 문자/숫자/기호)","auth.signup.password.placeholder":"비밀번호 (8~16자 이내, 문자/숫자/기호)","auth.signup.privacy.agreement":"(필수) Altio 개인정보 수집 및 이용 동의","auth.signup.send.verification.button":"인증메일 발송","auth.signup.terms.agreement":"(필수) Altio 이용약관 동의","auth.signup.verification.expired.description":"이메일 인증 기한이 만료되었습니다.","auth.signup.verification.expired.instruction":"계속 이용하시려면 다시 회원가입을 진행해 주세요.","auth.signup.verification.expired.title":"이메일 인증 기한 만료","auth.signup.verification.sent.description":"아래 이메일로 인증 링크가 발송되었습니다","auth.signup.welcome":"새로운 시작을 함께해요!","auth.toast.account.deleted.success":"Account deleted","auth.verify.email.instruction":"메일함을 확인하고 인증을 완료해주세요.","chat.action.regenerate":"다시 실행","chat.action.share":"대화 공유","chat.feedback.negative":"부정적 피드백","chat.feedback.positive":"긍정적 피드백","chat.generating":"답변을 생성 중입니다","chat.input.placeholder":"지금 떠오르는 생각을 적어보세요","chat.thread.preparing":"Altio 준비 중…","chat.model.select":"모델 선택","chat.room.deleted.error":"대화방이 삭제되어 페이지를 사용할 수 없습니다.","chat.scroll.to.bottom":"Scroll to bottom","chat.textarea.max.rows":"22","common.action.cancel":"취소","common.action.change":"변경","common.action.confirm":"확인","common.action.contact.us":"문의하기","common.action.copy":"복사","common.action.create":"생성","common.action.delete":"삭제","common.action.edit":"수정","common.action.more":"더보기","common.action.save":"저장","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"로딩 중...","conversation.action.new":"새 대화","conversation.action.remove.from.project":"프로젝트에서 제거","conversation.action.rename":"대화 이름 변경","conversation.delete.confirm":"대화를 삭제하시겠습니까?","conversation.delete.title":"대화 삭제","conversation.delete.warning":"삭제한 대화는 복구할 수 없습니다.","conversation.name.input.placeholder":"대화 이름을 입력하세요","knowledge.label":"사내 지식","knowledge.search.label":"사내 검색","landing.about.data.safety.part1":"내부 데이터를 안전하게 지키고, 원하는 방식으로","landing.about.data.safety.part2":"AI를 활용하세요.","landing.about.description":"Altio는 기업과 조직의 환경에 최적화된 Private AI입니다.","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"Close chat","landing.chat.cta":"지금 바로 말을 걸어보세요!","landing.chat.greeting":"안녕하세요!","landing.chat.input.placeholder":"지금 떠오르는 질문을 말해보세요","landing.chat.message.empty.error":"메시지를 입력해주세요.","landing.chat.question":"무엇을 알고 싶으신가요?","landing.chat.response.description":"Altio가 곧바로 답합니다.","landing.contact.company.label":"회사","landing.contact.company.placeholder":"회사명","landing.contact.description":"Altio에 대해 궁금한 점이 있거나 더 자세히 알고 싶으신가요?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"연락처 정보를 입력해주세요.","landing.contact.interest.question":"에게 어떤 도움을 받고 싶으세요?","landing.contact.intro.part1":"관심사를 선택하고 정보를 입력해 주시면,","landing.contact.intro.part2":"최대한 빠르게 연락드리겠습니다.","landing.contact.message.description":"문의 내용을 자세히 적어주세요.","landing.contact.message.placeholder":"Altio 도입을 검토 중인데, 구체적인 설치 과정과 비용에 대해 상담받고 싶습니다. 언제 미팅이 가능할까요?","landing.contact.name.placeholder":"홍길동","landing.contact.phone.label":"연락처","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"문의하신 내용에 대한 원활한 상담을 위하여 이름, 회사, 이메일, 휴대폰 번호를 수집합니다.","landing.contact.privacy.description.part2":"수집한 정보는 위 목적 외 이용되지 않으며, 해당 답변 후 즉시 파기합니다.","landing.contact.privacy.error":"개인정보 수집 및 이용에 동의해야 합니다.","landing.contact.privacy.label":"개인정보 수집, 이용 동의(필수)","landing.contact.send.button":"문의 보내기","landing.contact.submitted.description":"고객님의 문의가 성공적으로 접수되었습니다.","landing.contact.submitted.promise":"최대한 빠른 시일 내에 답변드리겠습니다.","landing.contact.submitted.thanks":"감사합니다.","landing.contact.submitted.title":"문의 접수","landing.contact.title":"Contact Us","landing.contact.type.label":"문의 유형을 선택해주세요. (복수 선택 가능)","landing.cta.start":"지금 바로 시작해 보세요!","landing.faq.contact.part1":"추가로 궁금한 점이 있으시면,","landing.faq.contact.part2":"언제든 편하게 문의해주세요.","landing.faq.title":"FAQ","landing.feature.altitude.description":"복잡한 데이터를 종합적으로 분석하여 비즈니스의 전체적인 흐름을 파악하고 전략적 인사이트를 제공합니다.","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"Custom AI Integration","landing.feature.data.connection":"내부 데이터 연결","landing.feature.intelligence.description":"모든 정보는 기업 내부에서 안전하게 처리됩니다. 내부 데이터 기반으로한 답변과 분석으로, 보안과 효율을 동시에 보장합니다.","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"온프레미스 설치","landing.feature.originality.description":"Altio는 조직과 서비스의 특성에 맞게 유연하게 적용됩니다. 고객지원부터 내부 협업까지, 필요한 방식으로 커스터마이즈할 수 있습니다.","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"Secure AI Solutions","landing.feature.service.integration":"서비스에 적용","landing.feature.tagline.part1":"넓게 보고, 똑똑하게 연결하고,","landing.feature.tagline.part2":"독창적으로 해결하는","landing.feature.why":"Why","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"Hello,","landing.hero.subtitle":"Altio와 함께, 보안은 지키고 AI 활용은 확장하세요.","landing.hero.tagline.connector":"로.","landing.hero.tagline.part1":"데이터는 안전하게,","landing.integration.description.part1":"복잡한 설정 없이, 원하는 방식으로","landing.integration.description.part2":"바로 연결해보세요.","landing.integration.embed":"Embed 방식","landing.integration.pick":"Pick,","landing.integration.widget":"Widget 방식","landing.partner.prefix":"With","landing.social.proof":"여러 기업이 Altio를 업무에 활용하고 있습니다.","landing.toast.code.copied":"코드가 복사되었습니다.","layout.logo.alt":"Logo","layout.sidebar.close":"사이드바 닫기","layout.sidebar.open":"사이드바 열기","layout.token.usage.label":"토큰 사용량 :","layout.user.avatar.alt":"User Avatar","main.conversation.start.prompt":"어떤 주제로 이야기를 나눠볼까요?","main.conversation.start.title":"새로운 대화를 시작해볼까요?","main.user.greeting.suffix":"님,","nav.project":"프로젝트","nav.recent.conversations":"최근 대화","nav.settings":"설정","project.action.navigate":"프로젝트로 이동","project.action.new":"새 프로젝트","project.action.rename":"프로젝트 이름 변경","project.delete.confirm":"프로젝트를 삭제하시겠습니까?","project.delete.title":"프로젝트 삭제","project.delete.warning":"삭제한 프로젝트는 복구할 수 없습니다.","project.list.empty":"이동할 프로젝트가 없습니다","project.name.input.placeholder":"프로젝트 이름을 입력하세요","seo.about.description":"Learn more about our company and team.","seo.contact.description":"Get in touch with us for any inquiries.","seo.home.description":"Welcome to our website. Explore amazing content!","settings.account.delete.confirm":"계정을 삭제하시겠습니까?","settings.account.delete.description":"모든 데이터가 삭제되며, 복구할 수 없습니다.","settings.account.delete.title":"계정 삭제","settings.account.delete.warning.part1":"계정을 삭제하면 저장된 데이터와 이용 기록이 모두 사라지며,","settings.account.delete.warning.part2":"다시 복구할 수 없습니다.","settings.avatar.alt":"Profile","settings.avatar.change":"이미지 변경","settings.avatar.delete":"이미지 삭제","settings.build.label":"(Built:","settings.credits":"Altio Credits","settings.language.modal.title":"언어 설정","settings.language.select.label":"사용할 언어를 선택해주세요.","settings.language.title":"언어 설정","settings.language.description":"Altio에서 사용할 언어를 변경합니다.","settings.password.change.title":"비밀번호 변경","settings.password.confirm.placeholder":"새 비밀번호 확인 (8~16자 이내, 문자/숫자/기호 사용)","settings.password.current.label":"현재 비밀번호","settings.password.current.placeholder":"현재 비밀번호를 입력해주세요.","settings.password.description":"보안을 위해 주기적으로 변경해주세요.","settings.password.label":"비밀번호","settings.password.new.label":"새 비밀번호","settings.password.new.placeholder":"새 비밀번호 (8~16자 이내, 문자/숫자/기호 사용)","settings.privacy.policy":"개인정보 처리방침","settings.tab.account":"계정","settings.tab.service":"서비스 정보","settings.tab.support":"고객문의","settings.terms.of.service":"이용약관","settings.updates":"업데이트 소식","settings.username.edit.placeholder":"사용자 이름을 입력해주세요","settings.username.edit.title":"사용자 이름 수정","settings.username.label":"사용자 이름","settings.username.length.error":"이름은 2자 이상 최대 10자까지 입력 가능합니다.","settings.version.label":"Version","share.message.load.error":"The shared message could not be loaded.","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"새 대화 열기","shortcuts.shift":"Shift","shortcuts.show":"단축키 표시","shortcuts.title":"단축키","shortcuts.toggle.sidebar":"사이드바 토글","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"이메일이 비어 있습니다.","auth.forgot.password.resend.success":"비밀번호 재설정 메일이 전송되었습니다.","auth.reset.password.duplicate.error":"기존 비밀번호와 동일한 비밀번호는 사용할 수 없습니다.","auth.reset.password.invalid.link":"유효하지 않은 접근입니다. 이메일 링크를 다시 확인해주세요.","auth.reset.password.new.label":"새 비밀번호","common.action.collapse":"접기","landing.contact.email.label":"이메일","landing.contact.name.label":"이름","landing.feature.altitude.subtitle":"큰 그림을 보는 AI","landing.feature.intelligence.subtitle":"데이터를 지키는 AI","landing.feature.originality.subtitle":"맞춤형으로 변하는 AI","landing.integration.embed.feature.1":"특정 페이지나 섹션에 자연스럽게 삽입","landing.integration.embed.feature.2":"페이지 컨텍스트에 맞는 맞춤형 응답","landing.integration.embed.feature.3":"다양한 설정 옵션과 이벤트 지원","landing.integration.embed.subtitle":"페이지 안에 챗봇 UI를 직접 삽입하는 방식","landing.integration.embed.tag.1":"#페이지 내장형","landing.integration.embed.tag.2":"#맞춤형 AI","landing.integration.embed.tag.3":"#설정 옵션","landing.integration.widget.feature.1":"우하단 플로팅 버튼으로 언제든 접근","landing.integration.widget.feature.2":"모든 페이지에서 일관된 AI 어시스턴트 경험","landing.integration.widget.feature.3":"브랜드 맞춤형 디자인 적용","landing.integration.widget.subtitle":"Altio AI 위젯을 팝업 형태로 보여주는 방식","landing.integration.widget.tag.1":"#챗봇 버튼형","landing.integration.widget.tag.2":"#접근성","landing.integration.widget.tag.3":"#맞춤UI","settings.avatar.manage":"이미지 관리","validation.contact.category.required":"문의 유형을 선택해주세요.","validation.contact.company.required":"회사명을 입력해주세요.","validation.contact.message.required":"문의 내용을 입력해주세요.","validation.contact.phone.maxlength":"연락처는 11자리 이하로 입력해주세요.","validation.contact.phone.numeric":"연락처는 숫자만 입력 가능합니다.","validation.contact.phone.required":"연락처를 입력해주세요.","validation.email.invalid":"올바른 이메일 형식을 입력해주세요.","validation.email.required":"이메일을 입력해주세요.","validation.name.required":"이름을 입력해주세요.","validation.password.confirm.required":"비밀번호를 다시 한 번 입력해주세요.","validation.password.length":"비밀번호는 8자 이상 16자 이하로 입력해주세요.","validation.password.required":"비밀번호를 입력해주세요.","validation.password.same.as.current":"현재 사용중인 비밀번호와 동일합니다."}},Symbol.toStringTag,{value:"Module"})),nq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"สัมผัสการประมวลผลข้อมูลภายในที่ปลอดภัยและการใช้ AI ที่ยืดหยุ่น ด้วย AI ส่วนตัวที่ปรับให้เหมาะสมสำหรับธุรกิจ","app.title":"Altio - Your Private Edge","auth.action.get.started":"เริ่มต้นเลย","auth.action.go.to.main":"ไปที่หน้าหลัก","auth.action.login":"เข้าสู่ระบบ","auth.action.login.button":"เข้าสู่ระบบ","auth.action.logout":"ออกจากระบบ","auth.action.signup.again":"สมัครสมาชิก","auth.action.signup.link":"สมัครสมาชิก","auth.action.signup.nav":"สมัครสมาชิก","auth.email.label":"อีเมล","auth.email.verification.check.inbox":"กรุณาตรวจสอบกล่องจดหมายของอีเมลที่ใช้ลงทะเบียน","auth.email.verification.required.description":"การยืนยันอีเมลยังไม่เสร็จสมบูรณ์","auth.email.verification.required.title":"จำเป็นต้องยืนยันอีเมล","auth.email.verification.resend":"ส่งอีเมลยืนยันอีกครั้ง","auth.email.verify.button.instruction":"คุณเข้าถึงหน้านี้ผ่านปุ่มยืนยันในอีเมล","auth.email.verifying":"กำลังยืนยันบัญชี…","auth.forgot.password.email.placeholder":"กรุณาใส่อีเมลที่ลงทะเบียนกับ Altio","auth.forgot.password.link":"ลืมรหัสผ่าน","auth.forgot.password.no.email.label":"ไม่ได้รับอีเมล?","auth.forgot.password.resend":"ส่งอีเมลรีเซ็ตรหัสผ่านอีกครั้ง","auth.forgot.password.send.button":"ส่งอีเมลรีเซ็ตรหัสผ่าน","auth.forgot.password.sent.description":"ลิงก์ยืนยันถูกส่งไปยังอีเมลด้านล่างแล้ว","auth.forgot.password.sent.email.label":"ที่อยู่อีเมลที่ส่งไป","auth.forgot.password.sent.title":"ส่งอีเมลรีเซ็ตรหัสผ่านแล้ว","auth.login.keep.signed.in":"คงสถานะเข้าสู่ระบบ","auth.login.no.account":"ยังไม่มีบัญชี?","auth.logout.confirm":"คุณต้องการออกจากระบบหรือไม่?","auth.logout.description":"การออกจากระบบจะสิ้นสุดเซสชันปัจจุบันของคุณ","auth.password.composition.error":"รหัสผ่านต้องประกอบด้วยตัวอักษร ตัวเลข และสัญลักษณ์","auth.password.mismatch.error":"รหัสผ่านไม่ตรงกัน","auth.reset.password.button":"รีเซ็ตรหัสผ่าน","auth.reset.password.confirm.label":"ยืนยันรหัสผ่านใหม่","auth.reset.password.placeholder":"กรุณาใส่รหัสผ่านใหม่","auth.reset.password.rule":"*รหัสผ่านต้องมี 8-16 ตัวอักษร ใช้ตัวอักษร/ตัวเลข/สัญลักษณ์","auth.reset.password.success.description":"รหัสผ่านของคุณถูกเปลี่ยนเรียบร้อยแล้ว","auth.reset.password.success.instruction":"กรุณาเข้าสู่ระบบอีกครั้งด้วยรหัสผ่านใหม่","auth.reset.password.success.title":"รีเซ็ตรหัสผ่านสำเร็จ","auth.signup.name.label":"ชื่อ","auth.signup.password.confirm.placeholder":"ยืนยันรหัสผ่าน (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","auth.signup.password.placeholder":"รหัสผ่าน (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","auth.signup.privacy.agreement":"(จำเป็น) ยินยอมให้ Altio เก็บรวบรวมและใช้ข้อมูลส่วนบุคคล","auth.signup.send.verification.button":"ส่งอีเมลยืนยัน","auth.signup.terms.agreement":"(จำเป็น) ยินยอมข้อกำหนดการใช้งาน Altio","auth.signup.verification.expired.description":"ระยะเวลายืนยันอีเมลหมดอายุแล้ว","auth.signup.verification.expired.instruction":"หากต้องการใช้งานต่อ กรุณาลงทะเบียนใหม่","auth.signup.verification.expired.title":"หมดอายุการยืนยันอีเมล","auth.signup.verification.sent.description":"ลิงก์ยืนยันถูกส่งไปยังอีเมลด้านล่างแล้ว","auth.signup.welcome":"มาเริ่มต้นใหม่ด้วยกัน!","auth.toast.account.deleted.success":"ลบบัญชีแล้ว","auth.verify.email.instruction":"กรุณาตรวจสอบกล่องจดหมายและทำการยืนยันให้เสร็จสิ้น","chat.action.regenerate":"สร้างใหม่","chat.action.share":"แชร์การสนทนา","chat.feedback.negative":"ความคิดเห็นเชิงลบ","chat.feedback.positive":"ความคิดเห็นเชิงบวก","chat.generating":"กำลังสร้างคำตอบ","chat.input.placeholder":"เขียนสิ่งที่คุณคิดในตอนนี้","chat.thread.preparing":"Altio กำลังโหลด…","chat.model.select":"เลือกโมเดล","chat.room.deleted.error":"ห้องสนทนาถูกลบแล้ว ไม่สามารถใช้งานหน้านี้ได้","chat.scroll.to.bottom":"เลื่อนลงด้านล่าง","chat.textarea.max.rows":"22","common.action.cancel":"ยกเลิก","common.action.change":"เปลี่ยน","common.action.confirm":"ยืนยัน","common.action.contact.us":"ติดต่อเรา","common.action.copy":"คัดลอก","common.action.create":"สร้าง","common.action.delete":"ลบ","common.action.edit":"แก้ไข","common.action.more":"เพิ่มเติม","common.action.save":"บันทึก","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Copyright ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"กำลังโหลด...","conversation.action.new":"การสนทนาใหม่","conversation.action.remove.from.project":"ลบออกจากโปรเจกต์","conversation.action.rename":"เปลี่ยนชื่อการสนทนา","conversation.delete.confirm":"คุณต้องการลบการสนทนานี้หรือไม่?","conversation.delete.title":"ลบการสนทนา","conversation.delete.warning":"การสนทนาที่ลบแล้วไม่สามารถกู้คืนได้","conversation.name.input.placeholder":"ใส่ชื่อการสนทนา","knowledge.label":"ความรู้ภายใน","knowledge.search.label":"ค้นหาภายใน","landing.about.data.safety.part1":"รักษาข้อมูลภายในให้ปลอดภัยและใช้งานตามต้องการ","landing.about.data.safety.part2":"ใช้ประโยชน์จาก AI","landing.about.description":"Altio คือ AI ส่วนตัวที่ปรับให้เหมาะสมกับสภาพแวดล้อมของธุรกิจและองค์กร","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"ปิดแชท","landing.chat.cta":"ลองพูดคุยตอนนี้เลย!","landing.chat.greeting":"สวัสดี!","landing.chat.input.placeholder":"ถามคำถามที่อยู่ในใจของคุณ","landing.chat.message.empty.error":"กรุณาใส่ข้อความ","landing.chat.question":"คุณต้องการรู้อะไร?","landing.chat.response.description":"Altio จะตอบทันที","landing.contact.company.label":"บริษัท","landing.contact.company.placeholder":"ชื่อบริษัท","landing.contact.description":"มีคำถามเกี่ยวกับ Altio หรือต้องการเรียนรู้เพิ่มเติมหรือไม่?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"กรุณาใส่ข้อมูลติดต่อของคุณ","landing.contact.interest.question":"คุณต้องการความช่วยเหลือประเภทใด?","landing.contact.intro.part1":"กรุณาเลือกความสนใจและกรอกข้อมูล","landing.contact.intro.part2":"เราจะติดต่อกลับโดยเร็วที่สุด","landing.contact.message.description":"กรุณาอธิบายคำถามของคุณอย่างละเอียด","landing.contact.message.placeholder":"ฉันกำลังพิจารณานำ Altio มาใช้ และต้องการปรึกษาเกี่ยวกับขั้นตอนการติดตั้งและค่าใช้จ่าย เมื่อใดที่จะนัดประชุมได้?","landing.contact.name.placeholder":"สมชาย ใจดี","landing.contact.phone.label":"เบอร์โทร","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"เราเก็บรวบรวมชื่อ บริษัท อีเมล และเบอร์โทรศัพท์ของคุณเพื่อให้การปรึกษาเป็นไปอย่างราบรื่น","landing.contact.privacy.description.part2":"ข้อมูลที่เก็บรวบรวมจะไม่ถูกนำไปใช้เพื่อวัตถุประสงค์อื่น และจะถูกทำลายทันทีหลังจากตอบกลับ","landing.contact.privacy.error":"คุณต้องยินยอมให้เก็บรวบรวมและใช้ข้อมูลส่วนบุคคล","landing.contact.privacy.label":"ยินยอมให้เก็บรวบรวมและใช้ข้อมูลส่วนบุคคล (จำเป็น)","landing.contact.send.button":"ส่งคำถาม","landing.contact.submitted.description":"คำถามของคุณได้รับการส่งเรียบร้อยแล้ว","landing.contact.submitted.promise":"เราจะตอบกลับโดยเร็วที่สุด","landing.contact.submitted.thanks":"ขอบคุณ","landing.contact.submitted.title":"รับคำถามแล้ว","landing.contact.title":"ติดต่อเรา","landing.contact.type.label":"กรุณาเลือกประเภทคำถาม (เลือกได้หลายข้อ)","landing.cta.start":"เริ่มต้นเลยตอนนี้!","landing.faq.contact.part1":"หากมีคำถามเพิ่มเติม","landing.faq.contact.part2":"อย่าลังเลที่จะติดต่อเราได้ตลอดเวลา","landing.faq.title":"คำถามที่พบบ่อย","landing.feature.altitude.description":"วิเคราะห์ข้อมูลที่ซับซ้อนอย่างครอบคลุมเพื่อทำความเข้าใจกระแสธุรกิจโดยรวมและให้ข้อมูลเชิงกลยุทธ์","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"การผสานรวม AI แบบกำหนดเอง","landing.feature.data.connection":"การเชื่อมต่อข้อมูลภายใน","landing.feature.intelligence.description":"ข้อมูลทั้งหมดได้รับการประมวลผลอย่างปลอดภัยภายในบริษัท การตอบสนองและการวิเคราะห์โดยอิงจากข้อมูลภายในรับประกันทั้งความปลอดภัยและประสิทธิภาพ","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"การติดตั้งแบบ On-Premise","landing.feature.originality.description":"Altio ถูกนำมาใช้อย่างยืดหยุ่นตามลักษณะขององค์กรและบริการ สามารถปรับแต่งได้ตามต้องการ ตั้งแต่การสนับสนุนลูกค้าไปจนถึงการทำงานร่วมกันภายใน","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"โซลูชัน AI ที่ปลอดภัย","landing.feature.service.integration":"นำไปใช้กับบริการ","landing.feature.tagline.part1":"มองให้กว้าง เชื่อมต่ออย่างชาญฉลาด","landing.feature.tagline.part2":"และแก้ปัญหาอย่างสร้างสรรค์","landing.feature.why":"ทำไม","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"สวัสดี,","landing.hero.subtitle":"ด้วย Altio รักษาความปลอดภัยและขยายการใช้งาน AI","landing.hero.tagline.connector":"ด้วย","landing.hero.tagline.part1":"ข้อมูลปลอดภัย,","landing.integration.description.part1":"โดยไม่ต้องตั้งค่าที่ซับซ้อน ในแบบที่คุณต้องการ","landing.integration.description.part2":"เชื่อมต่อได้เลย","landing.integration.embed":"วิธีการฝัง","landing.integration.pick":"เลือก,","landing.integration.widget":"วิธีวิดเจ็ต","landing.partner.prefix":"กับ","landing.social.proof":"หลายบริษัทกำลังใช้ Altio ในการทำงาน","landing.toast.code.copied":"คัดลอกโค้ดแล้ว","layout.logo.alt":"โลโก้","layout.sidebar.close":"ปิดแถบด้านข้าง","layout.sidebar.open":"เปิดแถบด้านข้าง","layout.token.usage.label":"การใช้โทเค็น :","layout.user.avatar.alt":"รูปอวตารผู้ใช้","main.conversation.start.prompt":"คุณต้องการพูดคุยเรื่องอะไร?","main.conversation.start.title":"เริ่มต้นการสนทนาใหม่กันดีไหม?","main.user.greeting.suffix":",","nav.project":"โปรเจกต์","nav.recent.conversations":"การสนทนาล่าสุด","nav.settings":"การตั้งค่า","project.action.navigate":"ไปที่โปรเจกต์","project.action.new":"โปรเจกต์ใหม่","project.action.rename":"เปลี่ยนชื่อโปรเจกต์","project.delete.confirm":"คุณต้องการลบโปรเจกต์นี้หรือไม่?","project.delete.title":"ลบโปรเจกต์","project.delete.warning":"โปรเจกต์ที่ลบแล้วไม่สามารถกู้คืนได้","project.list.empty":"ไม่มีโปรเจกต์ที่จะไป","project.name.input.placeholder":"ใส่ชื่อโปรเจกต์","seo.about.description":"เรียนรู้เพิ่มเติมเกี่ยวกับบริษัทและทีมของเรา","seo.contact.description":"ติดต่อเราสำหรับข้อสงสัยใดๆ","seo.home.description":"ยินดีต้อนรับสู่เว็บไซต์ของเรา สำรวจเนื้อหาที่น่าทึ่ง!","settings.account.delete.confirm":"คุณต้องการลบบัญชีของคุณหรือไม่?","settings.account.delete.description":"ข้อมูลทั้งหมดจะถูกลบและไม่สามารถกู้คืนได้","settings.account.delete.title":"ลบบัญชี","settings.account.delete.warning.part1":"การลบบัญชีจะลบข้อมูลที่บันทึกไว้และประวัติการใช้งานทั้งหมด","settings.account.delete.warning.part2":"และไม่สามารถกู้คืนได้","settings.avatar.alt":"โปรไฟล์","settings.avatar.change":"เปลี่ยนรูปภาพ","settings.avatar.delete":"ลบรูปภาพ","settings.build.label":"(สร้างเมื่อ:","settings.credits":"Altio Credits","settings.language.modal.title":"การตั้งค่าภาษา","settings.language.select.label":"กรุณาเลือกภาษาที่จะใช้","settings.language.title":"การตั้งค่าภาษา","settings.language.description":"เปลี่ยนภาษาที่ใช้ใน Altio","settings.password.change.title":"เปลี่ยนรหัสผ่าน","settings.password.confirm.placeholder":"ยืนยันรหัสผ่านใหม่ (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","settings.password.current.label":"รหัสผ่านปัจจุบัน","settings.password.current.placeholder":"กรุณาใส่รหัสผ่านปัจจุบัน","settings.password.description":"กรุณาเปลี่ยนเป็นระยะเพื่อความปลอดภัย","settings.password.label":"รหัสผ่าน","settings.password.new.label":"รหัสผ่านใหม่","settings.password.new.placeholder":"รหัสผ่านใหม่ (8-16 ตัวอักษร ตัวอักษร/ตัวเลข/สัญลักษณ์)","settings.privacy.policy":"นโยบายความเป็นส่วนตัว","settings.tab.account":"บัญชี","settings.tab.service":"ข้อมูลบริการ","settings.tab.support":"ฝ่ายสนับสนุนลูกค้า","settings.terms.of.service":"ข้อกำหนดการใช้งาน","settings.updates":"ข่าวอัปเดต","settings.username.edit.placeholder":"กรุณาใส่ชื่อผู้ใช้","settings.username.edit.title":"แก้ไขชื่อผู้ใช้","settings.username.label":"ชื่อผู้ใช้","settings.username.length.error":"ชื่อต้องมีอย่างน้อย 2 ตัวอักษรและสูงสุด 10 ตัวอักษร","settings.version.label":"เวอร์ชัน","share.message.load.error":"ไม่สามารถโหลดข้อความที่แชร์ได้","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"เปิดการสนทนาใหม่","shortcuts.shift":"Shift","shortcuts.show":"แสดงทางลัด","shortcuts.title":"ทางลัด","shortcuts.toggle.sidebar":"สลับแถบด้านข้าง","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"อีเมลว่างเปล่า","auth.forgot.password.resend.success":"ส่งอีเมลรีเซ็ตรหัสผ่านแล้ว","auth.reset.password.duplicate.error":"คุณไม่สามารถใช้รหัสผ่านเดิมได้","auth.reset.password.invalid.link":"การเข้าถึงไม่ถูกต้อง โปรดตรวจสอบลิงก์ในอีเมลอีกครั้ง","auth.reset.password.new.label":"รหัสผ่านใหม่","common.action.collapse":"ยุบ","landing.contact.email.label":"อีเมล","landing.contact.name.label":"ชื่อ","landing.feature.altitude.subtitle":"AI ที่มองเห็นภาพรวม","landing.feature.intelligence.subtitle":"AI ที่ปกป้องข้อมูลของคุณ","landing.feature.originality.subtitle":"AI ที่ปรับตัวให้เข้ากับคุณ","landing.integration.embed.feature.1":"ฝังลงในหน้าหรือส่วนที่ต้องการได้อย่างราบรื่น","landing.integration.embed.feature.2":"การตอบสนองที่ปรับตามบริบทของหน้า","landing.integration.embed.feature.3":"รองรับตัวเลือกการตั้งค่าและอีเวนต์ที่หลากหลาย","landing.integration.embed.subtitle":"ฝัง UI แชทบอทโดยตรงในหน้าเพจ","landing.integration.embed.tag.1":"#ฝังในหน้าเพจ","landing.integration.embed.tag.2":"#AI ที่กำหนดเอง","landing.integration.embed.tag.3":"#ตัวเลือกการตั้งค่า","landing.integration.widget.feature.1":"เข้าถึงได้ตลอดเวลาผ่านปุ่มลอยที่มุมขวาล่าง","landing.integration.widget.feature.2":"ประสบการณ์ผู้ช่วย AI ที่สม่ำเสมอในทุกหน้า","landing.integration.widget.feature.3":"ออกแบบให้ตรงกับแบรนด์ของคุณ","landing.integration.widget.subtitle":"แสดง Altio AI เป็นวิดเจ็ตป๊อปอัปแบบลอย","landing.integration.widget.tag.1":"#วิดเจ็ตแชทบอท","landing.integration.widget.tag.2":"#การเข้าถึง","landing.integration.widget.tag.3":"#UI ที่กำหนดเอง","settings.avatar.manage":"จัดการรูปภาพ","validation.contact.category.required":"กรุณาเลือกประเภทการสอบถาม","validation.contact.company.required":"กรุณากรอกชื่อบริษัท","validation.contact.message.required":"กรุณากรอกข้อความสอบถาม","validation.contact.phone.maxlength":"หมายเลขโทรศัพท์ต้องไม่เกิน 11 หลัก","validation.contact.phone.numeric":"หมายเลขโทรศัพท์ต้องเป็นตัวเลขเท่านั้น","validation.contact.phone.required":"กรุณากรอกหมายเลขโทรศัพท์","validation.email.invalid":"กรุณากรอกรูปแบบอีเมลที่ถูกต้อง","validation.email.required":"กรุณากรอกอีเมล","validation.name.required":"กรุณากรอกชื่อ","validation.password.confirm.required":"กรุณายืนยันรหัสผ่าน","validation.password.length":"รหัสผ่านต้องมี 8-16 ตัวอักษร","validation.password.required":"กรุณากรอกรหัสผ่าน","validation.password.same.as.current":"ไม่สามารถใช้รหัสผ่านเดิมได้"}},Symbol.toStringTag,{value:"Module"})),aq=Object.freeze(Object.defineProperty({__proto__:null,default:{"app.description":"Trải nghiệm xử lý dữ liệu nội bộ an toàn và sử dụng AI linh hoạt với AI riêng tư được tối ưu hóa cho doanh nghiệp.","app.title":"Altio - Your Private Edge","auth.action.get.started":"Bắt đầu ngay","auth.action.go.to.main":"Đến trang chính","auth.action.login":"Đăng nhập","auth.action.login.button":"Đăng nhập","auth.action.logout":"Đăng xuất","auth.action.signup.again":"Đăng ký","auth.action.signup.link":"Đăng ký","auth.action.signup.nav":"Đăng ký","auth.email.label":"Email","auth.email.verification.check.inbox":"Vui lòng kiểm tra hộp thư của email bạn đã dùng để đăng ký.","auth.email.verification.required.description":"Xác minh email chưa hoàn tất.","auth.email.verification.required.title":"Yêu cầu xác minh email","auth.email.verification.resend":"Gửi lại email xác minh","auth.email.verify.button.instruction":"Bạn đã truy cập trang này qua nút xác minh trong email.","auth.email.verifying":"Đang xác minh tài khoản…","auth.forgot.password.email.placeholder":"Vui lòng nhập email đã đăng ký với Altio.","auth.forgot.password.link":"Quên mật khẩu","auth.forgot.password.no.email.label":"Chưa nhận được email?","auth.forgot.password.resend":"Gửi lại email đặt lại mật khẩu","auth.forgot.password.send.button":"Gửi email đặt lại mật khẩu","auth.forgot.password.sent.description":"Đường dẫn xác minh đã được gửi đến email bên dưới.","auth.forgot.password.sent.email.label":"Địa chỉ email đã gửi","auth.forgot.password.sent.title":"Đã gửi email đặt lại mật khẩu","auth.login.keep.signed.in":"Duy trì đăng nhập","auth.login.no.account":"Chưa có tài khoản?","auth.logout.confirm":"Bạn có muốn đăng xuất không?","auth.logout.description":"Đăng xuất sẽ kết thúc phiên hiện tại của bạn.","auth.password.composition.error":"Mật khẩu phải bao gồm chữ cái, số và ký hiệu.","auth.password.mismatch.error":"Mật khẩu không khớp.","auth.reset.password.button":"Đặt lại mật khẩu","auth.reset.password.confirm.label":"Xác nhận mật khẩu mới","auth.reset.password.placeholder":"Vui lòng nhập mật khẩu mới.","auth.reset.password.rule":"*Mật khẩu phải từ 8–16 ký tự, sử dụng chữ/số/ký hiệu","auth.reset.password.success.description":"Mật khẩu của bạn đã được thay đổi thành công.","auth.reset.password.success.instruction":"Vui lòng đăng nhập lại với mật khẩu mới.","auth.reset.password.success.title":"Đặt lại mật khẩu thành công","auth.signup.name.label":"Tên","auth.signup.password.confirm.placeholder":"Xác nhận mật khẩu (8–16 ký tự, chữ/số/ký hiệu)","auth.signup.password.placeholder":"Mật khẩu (8–16 ký tự, chữ/số/ký hiệu)","auth.signup.privacy.agreement":"(Bắt buộc) Đồng ý thu thập và sử dụng thông tin cá nhân của Altio","auth.signup.send.verification.button":"Gửi email xác minh","auth.signup.terms.agreement":"(Bắt buộc) Đồng ý với Điều khoản dịch vụ của Altio","auth.signup.verification.expired.description":"Thời hạn xác minh email đã hết.","auth.signup.verification.expired.instruction":"Để tiếp tục, vui lòng đăng ký lại.","auth.signup.verification.expired.title":"Hết hạn xác minh email","auth.signup.verification.sent.description":"Đường dẫn xác minh đã được gửi đến email bên dưới","auth.signup.welcome":"Hãy cùng bắt đầu một chương mới!","auth.toast.account.deleted.success":"Đã xóa tài khoản","auth.verify.email.instruction":"Vui lòng kiểm tra hộp thư và hoàn tất xác minh.","chat.action.regenerate":"Tạo lại","chat.action.share":"Chia sẻ cuộc trò chuyện","chat.feedback.negative":"Phản hồi tiêu cực","chat.feedback.positive":"Phản hồi tích cực","chat.generating":"Đang tạo câu trả lời","chat.input.placeholder":"Hãy viết ra những gì bạn đang nghĩ","chat.thread.preparing":"Altio đang tải…","chat.model.select":"Chọn mô hình","chat.room.deleted.error":"Phòng trò chuyện đã bị xóa và trang không còn khả dụng.","chat.scroll.to.bottom":"Cuộn xuống dưới","chat.textarea.max.rows":"22","common.action.cancel":"Hủy","common.action.change":"Thay đổi","common.action.confirm":"Xác nhận","common.action.contact.us":"Liên hệ chúng tôi","common.action.copy":"Sao chép","common.action.create":"Tạo","common.action.delete":"Xóa","common.action.edit":"Chỉnh sửa","common.action.more":"Xem thêm","common.action.save":"Lưu","common.ai":"AI","common.app.name":"Altio","common.company.name":"ECHOIT","common.footer.copyright":"Bản quyền ©","common.footer.rights.reserved":"Information Technology Co., LTD All Right Reserved.","common.google.tag.manager":"Google Tag Manager","common.loading":"Đang tải","conversation.action.new":"Cuộc trò chuyện mới","conversation.action.remove.from.project":"Xóa khỏi dự án","conversation.action.rename":"Đổi tên cuộc trò chuyện","conversation.delete.confirm":"Bạn có muốn xóa cuộc trò chuyện này không?","conversation.delete.title":"Xóa cuộc trò chuyện","conversation.delete.warning":"Cuộc trò chuyện đã xóa không thể phục hồi.","conversation.name.input.placeholder":"Nhập tên cuộc trò chuyện","knowledge.label":"Kiến thức nội bộ","knowledge.search.label":"Tìm kiếm nội bộ","landing.about.data.safety.part1":"Bảo vệ dữ liệu nội bộ an toàn và sử dụng theo cách bạn muốn","landing.about.data.safety.part2":"tận dụng AI.","landing.about.description":"Altio là AI riêng tư được tối ưu hóa cho môi trường doanh nghiệp và tổ chức.","landing.brand.tagline":"Altio, Your Private Edge","landing.chat.close":"Đóng chat","landing.chat.cta":"Hãy bắt chuyện ngay bây giờ!","landing.chat.greeting":"Xin chào!","landing.chat.input.placeholder":"Hãy hỏi bất kỳ câu hỏi nào bạn đang nghĩ đến","landing.chat.message.empty.error":"Vui lòng nhập tin nhắn.","landing.chat.question":"Bạn muốn biết điều gì?","landing.chat.response.description":"Altio sẽ trả lời ngay.","landing.contact.company.label":"Công ty","landing.contact.company.placeholder":"Tên công ty","landing.contact.description":"Bạn có câu hỏi về Altio hay muốn tìm hiểu thêm không?","landing.contact.email.placeholder":"altio@korea.co.kr","landing.contact.info.label":"Vui lòng nhập thông tin liên hệ.","landing.contact.interest.question":"Bạn muốn nhận được sự hỗ trợ gì?","landing.contact.intro.part1":"Vui lòng chọn lĩnh vực quan tâm và điền thông tin,","landing.contact.intro.part2":"chúng tôi sẽ liên hệ với bạn sớm nhất có thể.","landing.contact.message.description":"Vui lòng mô tả chi tiết nội dung yêu cầu.","landing.contact.message.placeholder":"Tôi đang cân nhắc triển khai Altio và muốn tư vấn về quy trình cài đặt cụ thể và chi phí. Khi nào có thể họp được?","landing.contact.name.placeholder":"Nguyễn Văn A","landing.contact.phone.label":"Số điện thoại","landing.contact.phone.placeholder":"01012345678","landing.contact.privacy.description.part1":"Chúng tôi thu thập tên, công ty, email và số điện thoại của bạn để tư vấn thuận tiện cho yêu cầu của bạn.","landing.contact.privacy.description.part2":"Thông tin thu thập sẽ không được sử dụng ngoài mục đích trên và sẽ được hủy ngay sau khi phản hồi.","landing.contact.privacy.error":"Bạn phải đồng ý với việc thu thập và sử dụng thông tin cá nhân.","landing.contact.privacy.label":"Đồng ý thu thập và sử dụng thông tin cá nhân (Bắt buộc)","landing.contact.send.button":"Gửi yêu cầu","landing.contact.submitted.description":"Yêu cầu của bạn đã được gửi thành công.","landing.contact.submitted.promise":"Chúng tôi sẽ phản hồi sớm nhất có thể.","landing.contact.submitted.thanks":"Cảm ơn bạn.","landing.contact.submitted.title":"Đã nhận yêu cầu","landing.contact.title":"Liên hệ chúng tôi","landing.contact.type.label":"Vui lòng chọn loại yêu cầu. (Có thể chọn nhiều)","landing.cta.start":"Bắt đầu ngay bây giờ!","landing.faq.contact.part1":"Nếu bạn có thêm câu hỏi,","landing.faq.contact.part2":"vui lòng liên hệ với chúng tôi bất cứ lúc nào.","landing.faq.title":"Câu hỏi thường gặp","landing.feature.altitude.description":"Phân tích toàn diện dữ liệu phức tạp để hiểu luồng kinh doanh tổng thể và cung cấp thông tin chiến lược.","landing.feature.altitude.label":"Altitude","landing.feature.code.label":"Code","landing.feature.custom.ai":"Tích hợp AI tùy chỉnh","landing.feature.data.connection":"Kết nối dữ liệu nội bộ","landing.feature.intelligence.description":"Tất cả thông tin được xử lý an toàn trong nội bộ công ty. Các câu trả lời và phân tích dựa trên dữ liệu nội bộ đảm bảo cả bảo mật và hiệu quả.","landing.feature.intelligence.label":"Intelligence","landing.feature.on.premise":"Cài đặt On-Premise","landing.feature.originality.description":"Altio được áp dụng linh hoạt theo đặc tính của tổ chức và dịch vụ. Có thể tùy chỉnh theo nhu cầu, từ hỗ trợ khách hàng đến cộng tác nội bộ.","landing.feature.originality.label":"Originality","landing.feature.private.edge":"Your Private Edge","landing.feature.secure.ai":"Giải pháp AI bảo mật","landing.feature.service.integration":"Áp dụng vào dịch vụ","landing.feature.tagline.part1":"Nhìn rộng, kết nối thông minh,","landing.feature.tagline.part2":"và giải quyết sáng tạo","landing.feature.why":"Tại sao","landing.footer.company.part1":"Information Technology Co.,","landing.footer.company.part2":"LTD All Right Reserved.","landing.greeting":"Xin chào,","landing.hero.subtitle":"Cùng với Altio, giữ vững bảo mật và mở rộng sử dụng AI.","landing.hero.tagline.connector":"với.","landing.hero.tagline.part1":"Dữ liệu an toàn,","landing.integration.description.part1":"Không cần cài đặt phức tạp, theo cách bạn muốn","landing.integration.description.part2":"kết nối ngay.","landing.integration.embed":"Phương thức nhúng","landing.integration.pick":"Chọn,","landing.integration.widget":"Phương thức widget","landing.partner.prefix":"Với","landing.social.proof":"Nhiều doanh nghiệp đang sử dụng Altio trong công việc.","landing.toast.code.copied":"Đã sao chép mã.","layout.logo.alt":"Logo","layout.sidebar.close":"Đóng thanh bên","layout.sidebar.open":"Mở thanh bên","layout.token.usage.label":"Lượng token sử dụng :","layout.user.avatar.alt":"Ảnh đại diện người dùng","main.conversation.start.prompt":"Bạn muốn trò chuyện về chủ đề gì?","main.conversation.start.title":"Hãy bắt đầu một cuộc trò chuyện mới nhé?","main.user.greeting.suffix":",","nav.project":"Dự án","nav.recent.conversations":"Cuộc trò chuyện gần đây","nav.settings":"Cài đặt","project.action.navigate":"Đến dự án","project.action.new":"Dự án mới","project.action.rename":"Đổi tên dự án","project.delete.confirm":"Bạn có muốn xóa dự án này không?","project.delete.title":"Xóa dự án","project.delete.warning":"Dự án đã xóa không thể phục hồi.","project.list.empty":"Không có dự án để điều hướng","project.name.input.placeholder":"Nhập tên dự án","seo.about.description":"Tìm hiểu thêm về công ty và đội ngũ của chúng tôi.","seo.contact.description":"Liên hệ với chúng tôi cho bất kỳ thắc mắc nào.","seo.home.description":"Chào mừng đến với trang web của chúng tôi. Khám phá nội dung tuyệt vời!","settings.account.delete.confirm":"Bạn có muốn xóa tài khoản không?","settings.account.delete.description":"Tất cả dữ liệu sẽ bị xóa và không thể phục hồi.","settings.account.delete.title":"Xóa tài khoản","settings.account.delete.warning.part1":"Xóa tài khoản sẽ xóa tất cả dữ liệu đã lưu và lịch sử sử dụng,","settings.account.delete.warning.part2":"và không thể phục hồi.","settings.avatar.alt":"Hồ sơ","settings.avatar.change":"Thay đổi ảnh","settings.avatar.delete":"Xóa ảnh","settings.build.label":"(Phiên bản:","settings.credits":"Altio Credits","settings.language.modal.title":"Cài đặt ngôn ngữ","settings.language.select.label":"Vui lòng chọn ngôn ngữ muốn sử dụng.","settings.language.title":"Cài đặt ngôn ngữ","settings.language.description":"Thay đổi ngôn ngữ sử dụng trong Altio.","settings.password.change.title":"Đổi mật khẩu","settings.password.confirm.placeholder":"Xác nhận mật khẩu mới (8–16 ký tự, chữ/số/ký hiệu)","settings.password.current.label":"Mật khẩu hiện tại","settings.password.current.placeholder":"Vui lòng nhập mật khẩu hiện tại.","settings.password.description":"Vui lòng thay đổi định kỳ để bảo mật.","settings.password.label":"Mật khẩu","settings.password.new.label":"Mật khẩu mới","settings.password.new.placeholder":"Mật khẩu mới (8–16 ký tự, chữ/số/ký hiệu)","settings.privacy.policy":"Chính sách quyền riêng tư","settings.tab.account":"Tài khoản","settings.tab.service":"Thông tin dịch vụ","settings.tab.support":"Hỗ trợ khách hàng","settings.terms.of.service":"Điều khoản dịch vụ","settings.updates":"Tin tức cập nhật","settings.username.edit.placeholder":"Vui lòng nhập tên người dùng","settings.username.edit.title":"Chỉnh sửa tên người dùng","settings.username.label":"Tên người dùng","settings.username.length.error":"Tên phải từ 2 đến 10 ký tự.","settings.version.label":"Phiên bản","share.message.load.error":"Không thể tải tin nhắn được chia sẻ.","shortcuts.ctrl":"Ctrl","shortcuts.new.conversation":"Mở cuộc trò chuyện mới","shortcuts.shift":"Shift","shortcuts.show":"Hiển thị phím tắt","shortcuts.title":"Phím tắt","shortcuts.toggle.sidebar":"Bật/tắt thanh bên","// NEW KEYS":"=== Các keys được thêm mới / Newly added keys ===","auth.forgot.password.email.empty":"Email trống.","auth.forgot.password.resend.success":"Email đặt lại mật khẩu đã được gửi.","auth.reset.password.duplicate.error":"Bạn không thể dùng mật khẩu giống mật khẩu hiện tại.","auth.reset.password.invalid.link":"Truy cập không hợp lệ. Vui lòng kiểm tra lại đường dẫn trong email.","auth.reset.password.new.label":"Mật khẩu mới","common.action.collapse":"Thu gọn","landing.contact.email.label":"Email","landing.contact.name.label":"Họ và tên","landing.feature.altitude.subtitle":"AI nhìn thấy bức tranh toàn cảnh","landing.feature.intelligence.subtitle":"AI bảo vệ dữ liệu của bạn","landing.feature.originality.subtitle":"AI thích nghi với bạn","landing.integration.embed.feature.1":"Nhúng liền mạch vào các trang hoặc phần cụ thể","landing.integration.embed.feature.2":"Phản hồi phù hợp với nội dung của trang","landing.integration.embed.feature.3":"Hỗ trợ nhiều tùy chọn cấu hình và sự kiện","landing.integration.embed.subtitle":"Nhúng giao diện chatbot trực tiếp vào trang","landing.integration.embed.tag.1":"#Nhúng trong trang","landing.integration.embed.tag.2":"#AI tùy chỉnh","landing.integration.embed.tag.3":"#Tùy chọn cấu hình","landing.integration.widget.feature.1":"Truy cập bất cứ lúc nào qua nút nổi ở góc dưới bên phải","landing.integration.widget.feature.2":"Trải nghiệm AI nhất quán trên mọi trang","landing.integration.widget.feature.3":"Thiết kế tùy chỉnh phù hợp với thương hiệu","landing.integration.widget.subtitle":"Hiển thị Altio AI dạng cửa sổ popup nổi","landing.integration.widget.tag.1":"#Widget chatbot","landing.integration.widget.tag.2":"#Tiếp cận","landing.integration.widget.tag.3":"#Giao diện tùy chỉnh","settings.avatar.manage":"Quản lý hình ảnh","validation.contact.category.required":"Vui lòng chọn loại yêu cầu.","validation.contact.company.required":"Vui lòng nhập tên công ty.","validation.contact.message.required":"Vui lòng nhập nội dung yêu cầu.","validation.contact.phone.maxlength":"Số điện thoại không được quá 11 chữ số.","validation.contact.phone.numeric":"Số điện thoại chỉ được nhập số.","validation.contact.phone.required":"Vui lòng nhập số điện thoại.","validation.email.invalid":"Vui lòng nhập đúng định dạng email.","validation.email.required":"Vui lòng nhập email.","validation.name.required":"Vui lòng nhập họ và tên.","validation.password.confirm.required":"Vui lòng nhập lại mật khẩu.","validation.password.length":"Mật khẩu phải từ 8 đến 16 ký tự.","validation.password.required":"Vui lòng nhập mật khẩu.","validation.password.same.as.current":"Không thể dùng mật khẩu giống mật khẩu hiện tại."}},Symbol.toStringTag,{value:"Module"}));return hy})();
|
package/package.json
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "altio-chat",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Altio embeddable chat widget — single-file, Shadow-DOM isolated, loaded via <script> from a CDN.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"files": [
|
|
7
|
-
"dist/widget.js",
|
|
8
|
-
"index.d.ts"
|
|
9
|
-
],
|
|
10
|
-
"main": "dist/widget.js",
|
|
11
|
-
"types": "./index.d.ts",
|
|
12
|
-
"unpkg": "dist/widget.js",
|
|
13
|
-
"jsdelivr": "dist/widget.js",
|
|
14
|
-
"exports": {
|
|
15
|
-
".": {
|
|
16
|
-
"types": "./index.d.ts",
|
|
17
|
-
"default": "./dist/widget.js"
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"publishConfig": {
|
|
21
|
-
"access": "public"
|
|
22
|
-
},
|
|
23
|
-
"scripts": {
|
|
24
|
-
"dev": "vite",
|
|
25
|
-
"build": "tsc --noEmit && vite build",
|
|
26
|
-
"build:only": "vite build",
|
|
27
|
-
"typecheck": "tsc --noEmit",
|
|
28
|
-
"preview": "vite preview",
|
|
29
|
-
"prepublishOnly": "pnpm build"
|
|
30
|
-
},
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"@phosphor-icons/react": "^2.1.10",
|
|
33
|
-
"@tanstack/react-query": "^5.90.2",
|
|
34
|
-
"axios": "^1.12.2",
|
|
35
|
-
"clsx": "^2.1.1",
|
|
36
|
-
"katex": "^0.16.25",
|
|
37
|
-
"react": "19.1.2",
|
|
38
|
-
"react-cookie": "^8.0.1",
|
|
39
|
-
"react-dom": "19.1.2",
|
|
40
|
-
"react-markdown": "^10.1.0",
|
|
41
|
-
"react-syntax-highlighter": "^16.1.0",
|
|
42
|
-
"rehype-katex": "^7.0.1",
|
|
43
|
-
"rehype-raw": "^7.0.0",
|
|
44
|
-
"remark-gfm": "^4.0.1",
|
|
45
|
-
"remark-math": "^6.0.0",
|
|
46
|
-
"tailwind-merge": "^3.3.1",
|
|
47
|
-
"zustand": "^5.0.8"
|
|
48
|
-
},
|
|
49
|
-
"devDependencies": {
|
|
50
|
-
"@tailwindcss/postcss": "^4",
|
|
51
|
-
"@types/react": "^19",
|
|
52
|
-
"@types/react-dom": "^19",
|
|
53
|
-
"@types/react-syntax-highlighter": "^15.5.13",
|
|
54
|
-
"@vitejs/plugin-react": "^4.3.4",
|
|
55
|
-
"postcss": "^8.5.6",
|
|
56
|
-
"tailwindcss": "^4",
|
|
57
|
-
"typescript": "^5",
|
|
58
|
-
"vite": "^6.0.0"
|
|
59
|
-
},
|
|
60
|
-
"pnpm": {
|
|
61
|
-
"onlyBuiltDependencies": [
|
|
62
|
-
"esbuild"
|
|
63
|
-
]
|
|
64
|
-
}
|
|
65
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "altio-chat",
|
|
3
|
+
"version": "1.0.10",
|
|
4
|
+
"description": "Altio embeddable chat widget — single-file, Shadow-DOM isolated, loaded via <script> from a CDN.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist/widget.js",
|
|
8
|
+
"index.d.ts"
|
|
9
|
+
],
|
|
10
|
+
"main": "dist/widget.js",
|
|
11
|
+
"types": "./index.d.ts",
|
|
12
|
+
"unpkg": "dist/widget.js",
|
|
13
|
+
"jsdelivr": "dist/widget.js",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./index.d.ts",
|
|
17
|
+
"default": "./dist/widget.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"dev": "vite",
|
|
25
|
+
"build": "tsc --noEmit && vite build",
|
|
26
|
+
"build:only": "vite build",
|
|
27
|
+
"typecheck": "tsc --noEmit",
|
|
28
|
+
"preview": "vite preview",
|
|
29
|
+
"prepublishOnly": "pnpm build"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@phosphor-icons/react": "^2.1.10",
|
|
33
|
+
"@tanstack/react-query": "^5.90.2",
|
|
34
|
+
"axios": "^1.12.2",
|
|
35
|
+
"clsx": "^2.1.1",
|
|
36
|
+
"katex": "^0.16.25",
|
|
37
|
+
"react": "19.1.2",
|
|
38
|
+
"react-cookie": "^8.0.1",
|
|
39
|
+
"react-dom": "19.1.2",
|
|
40
|
+
"react-markdown": "^10.1.0",
|
|
41
|
+
"react-syntax-highlighter": "^16.1.0",
|
|
42
|
+
"rehype-katex": "^7.0.1",
|
|
43
|
+
"rehype-raw": "^7.0.0",
|
|
44
|
+
"remark-gfm": "^4.0.1",
|
|
45
|
+
"remark-math": "^6.0.0",
|
|
46
|
+
"tailwind-merge": "^3.3.1",
|
|
47
|
+
"zustand": "^5.0.8"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@tailwindcss/postcss": "^4",
|
|
51
|
+
"@types/react": "^19",
|
|
52
|
+
"@types/react-dom": "^19",
|
|
53
|
+
"@types/react-syntax-highlighter": "^15.5.13",
|
|
54
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
55
|
+
"postcss": "^8.5.6",
|
|
56
|
+
"tailwindcss": "^4",
|
|
57
|
+
"typescript": "^5",
|
|
58
|
+
"vite": "^6.0.0"
|
|
59
|
+
},
|
|
60
|
+
"pnpm": {
|
|
61
|
+
"onlyBuiltDependencies": [
|
|
62
|
+
"esbuild"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
}
|